> New operators — !, //, %%, =~, |>, .new(), and more
Reactive operators — :=, ~=, ~> as language syntax
I my mind, this is such common mistake in language design. For people familiar with the language, adding just-one-more operator is very enticing: it's succinct and avoids naming things. But do that a few times and the language becomes a cryptic mess where everything has a random !,*,#,$,# attached somewhere. Looking at you JavaScript and C++. It can get even worse when operators can be defined in userland like in Haskell. Props to Python for keeping it mostly at bay.
This is cool. I enjoy seeing these kinds of projects, thanks for sharing it and thanks for making it.
There has been so much innovation over the years around transpilers/compilers to JS, it makes me wonder what a programming paradigm of à la carte first class language functionality could look like and how it might interoperate. A system in which I might grab Haskell type syntax, Clojure list comprehensions and JS arrow functions, all together, and all working just fine.
Probably want to break up files into more granular chunks, probably more like next gen polyglot notebooks beyond a cell per language and more like custom languages composed of features in any given cell.
The system could be made to translate between functionality based on editor preference. Like python list comprehensions? Read my Clojure comprehension in that syntax.
I know this would not perfectly map, as some language functionality is more powerful than others. Still interesting to think about.
> New operators — !, //, %%, =~, |>, .new(), and more Reactive operators — :=, ~=, ~> as language syntax
I my mind, this is such common mistake in language design. For people familiar with the language, adding just-one-more operator is very enticing: it's succinct and avoids naming things. But do that a few times and the language becomes a cryptic mess where everything has a random !,*,#,$,# attached somewhere. Looking at you JavaScript and C++. It can get even worse when operators can be defined in userland like in Haskell. Props to Python for keeping it mostly at bay.
This is cool. I enjoy seeing these kinds of projects, thanks for sharing it and thanks for making it.
There has been so much innovation over the years around transpilers/compilers to JS, it makes me wonder what a programming paradigm of à la carte first class language functionality could look like and how it might interoperate. A system in which I might grab Haskell type syntax, Clojure list comprehensions and JS arrow functions, all together, and all working just fine.
Probably want to break up files into more granular chunks, probably more like next gen polyglot notebooks beyond a cell per language and more like custom languages composed of features in any given cell.
The system could be made to translate between functionality based on editor preference. Like python list comprehensions? Read my Clojure comprehension in that syntax.
I know this would not perfectly map, as some language functionality is more powerful than others. Still interesting to think about.