3 ms·
> The drawback is that building an AST now requires a symbol table Well, yes and no. During AST building a binding expression resolves as an untyped polyadic e
by owlstuffing 7mo ago
> The drawback is that building an AST now requires a symbol table
Well, yes and no. During AST building a binding expression resolves as an untyped polyadic expression. Only later during the compiler's type attribution phase does a binding expression's structure resolve based on the operand types.
https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#operator-precedence https://github.com/manifold-systems/manifold/tree/master/man...
> in typical code you don’t have the case of constant values so often.
Agreed. It's not really useful with inlined expressions:
Schedule contacts.select(contactId) inputForm.getDateTime()
but if you write it like:
var plumber = contacts.select(contactId)
var date = inputForm.getDateTime()
var building = findLocation(warehouse)
Schedule plumber on date at building
But, honestly, I can't say I personally use it that way ;)
Initially, I wrote it as a science extension to Java: https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-science https://github.com/manifold-systems/manifold/tree/master/man...