PureScript имеет строковые, числовые и логические значения JavaScript, которые уже являются неизменяемыми. Кроме того, PureScript имеет Array и Object, но предоставляет только определенные операции.
Когда вы обновляете объект в PureScript, вы копируете поля, кроме того, которое вы обновляете.
Конкатенация массивов выглядит примерно так:
function concatArray (xs) {
return function (ys) {
if (xs.length === 0) return ys;
if (ys.length === 0) return xs;
return xs.concat(ys);
};
};
В PureScript есть дополнительные способы определения данных, которые (обычно) компилируются в Object, но также не раскрывают способы их изменения.
Но используя FFI можно написать код, который изменяет все ваши данные PureScript. Вы должны быть осторожны при написании привязок FFI.