alma
alma copied to clipboard
ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage
``` $ bin/007 -e='func infix:(low, high) { [] }; say(1 .. 2)' Could not parse program ``` Pretty sure parsing of `postfix:` is messing with the custom operator here. But...
Basically this comment: https://github.com/masak/007/issues/479#issuecomment-480468932 I'd use the swap example as a test case. It would be interesting to time this with #334, or at least to deeply consider the consequences...
This would obviate #238, or at least provide a serious contender/complement. * *Reading slices*. From what I can see in the Python REPL, a Python slice is a `list` when...
I think I just stumbled over our first slang. I started with thinking up a way to `is parsed` reduction ops: ``` macro term:reduce(op: Q::Infix, terms: Q::Expr[]) is parsed(/ "["...
I took a closer look at Dylan last week, especially getting all the way through [this tutorial](https://opendylan.org/documentation/intro-dylan/) (which I found great, especially as it relates Dylan to other languages; although...
"But @masak", I hear you object, "007's grammar is mutable!" Why, yes. It is. There's no way a yacc grammar is going to capture that. (Pretty sure there ain't.) Heck,...
tbd example with `is parsed` hex numbers tbd no need to do this for synthetic Qnodes (?) tbd possible uses in other issues: Refactoring tools, that syntax highlighter
All three should be built-in functions, including `sort`, so that other `Iterable` types (such as `Range`) can be passed in. See https://github.com/claes-magnus/007-boxify/pull/1#discussion_r235722005 for more discussion/rationale. (Need to think a little...
I discovered this one as I was working on #498. The problem is we catch absolutely _all_ parameter mismatches, including "legitimate" ones which happen long after we've made the call...
(Filed while staring at #176.) I like [the way it works in JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce). Specifically, you need to _either_ provide an "initial value", or make sure the list is nonempty. If...