hebigo
hebigo copied to clipboard
蛇語(HEH-bee-go): An indentation-based skin for Hissp.
Hissp's target Python subset only has expressions. Python's comprehension syntax (being expressions) already works in theory. Loop-equivalents (for/while) are fairly easy to implement using higher-order functions, though `while` gets awkward...
Hebigo will automatically expand Python reserved words to qualified macros. But we'll want some more "reserved" words than this. We also don't want them to conflict with normal Python identifiers....
See #2. Jupyter makes this weirdly awkward in a venv. It wants global kernelspecs. Install that if you want, but that seems like overkill when trying out a REPL in...
While parsing a bracketed expression, we could recursively switch back to the base Hebigo parser when encountering a macro character that Python doesn't use, like `!`, until we finish the...
Python allows a semicolon for joining statements on one line, so there's precedent. It's mostly considered bad style in production code, but is useful for shell commands, although the inability...
3.10 got a new statement type for pattern matching. Too bad it wasn't an expression or we could just put it in brackets. But Lisp macros are easily powerful enough...
Hissp already has this capability for Lissp.
We might need a REPL first. #2. Lissp has doctests.
Devs who already know Python are Hebigo's primary audience. Should be in the docs. We'll need docs first #28.
Some notes from a private chat with @brandonwillard who seems to think this would help with tooling. Hebigo uses Python's expression syntax (but not statements), so that would have to...