As functional programming because more mainstream - developers are leaning
more and more on immutability - with tools like immutable.js. However there
exists perfectly good solutions inside of JS with Object.seal &
Object.freeze.

I propose making a short syntax to allow for creating of sealed/frozen
objects that looks like this:

```js
{| foo: 1 |} // same as Object.seal({ foo: 1 })
{# foo: 1 #} // same as Object.freeze({ foo: 1 })

[| 1, 2, 3 |] // same as Object.seal([ 1, 2, 3 ])
[# 1, 2, 3 #] // same as Object.freeze([ 1, 2, 3 ])

// Deep frozen objects becomes a case of using frozen notation all the way
down:
{# foo: {# bar: 1 #} #} // same as Object.freeze({ foo: Object.freeze({
bar: 1 }) })
[# [# 1, 2 #], [# 3, 4 #] #] // same as
Object.freeze([Object.freeze([1,2]), Object.freeze([3, 4]])
```

This short syntax allows for a much more expressive way of writing/reading
sealed & frozen objects. I look forward to a discussion about this.
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to