What was the inspiration to create yet another compile to JS language?
There's also a few language features I couldn't find anywhere else that I wanted to try out (my % operator, ad hoc exception classes, some pattern matching features like coercion and "match" inside a pattern to define sub-patterns, the each operator, some features of the macro system that I have yet to document, etc.)
It's kind of fun, really.
> Earl Grey's % operator can be used to easily build HTML, DOM, virtual DOM, and other things:
tag.xyz %
property = value
child1
child2
Will produce the data structure: {tags = {"tag", ".xyz"}
props = {property = value}
children = {child1, child2}}
as an instance of the ENode class. Then, transformer functions can process the data structure to generate HTML or other things, e.g. require: /html
html(thing)
==> <tag class="xyz" property="value">child1child2</tag>