alma
alma copied to clipboard
ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage
**Visitors** can help do dynamic dispatch on a Qtree. They provide a laid-back way to just match on structures rather writing out the conditionals explicitly. Example: counting statements in the...
We've known for ages that with the `{{{Q.Infix @ op}}}` mechanism, we want data to flow from the type system to the parser (as in, after parsing that unquote, the...
Call the command `spy`, to continue the 007 theme. It would have two major parts: a linter, and a refactoring tool. ## linter Called with `spy --lint script.007`, the tool...
A _tail call_ is any call in "last position" in a routine. Although, they could be to any other routine, in this issue let's first focus on recursive tail calls....
...from which variables on the stack can be manipulated, and the program can be resumed with all the stack intact/modified, either before the exception or after, or somewhere else in...
I was happy to be able to produce a SEND + MORE = MONEY solver in 007 that tube runs in less than 5 seconds. But it would look much...
From https://github.com/masak/007/issues/313#issuecomment-401594975: > Guess we need to write `once` as a macro. I'm not currently clever enough to realize whether we have the primitives available to express `once` as a...
We have function calls and macro calls, function operators and macro operators... why not statement forms that get invoked at runtime? Why only macro statements? macro statement:given(expr, pblock) is parsed(/...
Specifically, these three: ``` 𝕊 if 𝔼; 𝕊 for 𝔼; 𝕊 while 𝔼; ``` and optionally this one: ``` 𝕊 if 𝔼 for 𝔼; ``` Though the need for that...