Я ищу функциональную библиотеку с постоянными структурами данных. Мне нужны только вложенные массивы и словари. Есть несколько функциональных библиотек javascript , но они не ориентированы на неизменяемость. Я хочу иметь возможность писать
var dict = makeDictionary({
'foo': 1;
'bar': {
'ely': 2;
}
});
var newDict = dict.assoc('foo', 42).assoc('bar', 'tender', 30).dissoc('bar', 'ely');
assert.eq dict.bar.ely, 2; // unchanged
assert.eq newDict.bar.tender, 30; // added
assert.eq newDict.bar.ely, undefined; // removed
Хотя подчеркивание в некоторых случаях приближается, особенно с массивами, оно изменяет аргументы словаря. Я также мог бы использовать clojurescript , но я бы предпочел более легкий -весовой подход.