gilch / hissp

It's Python with a Lissp.
https://gitter.im/hissp-lang/community
Apache License 2.0
364 stars 9 forks source link

Make synexpand recursive #222

Closed gilch closed 1 year ago

gilch commented 1 year ago

It now walks the tree, making the mini-language expressions available inside larger forms with a single reader macro. Also fixed some bugs.

Continuation of #220. This macro is a generalization of Arc's ssyntax, and is at least as powerful, although it does require a reader macro to turn it on. It's pretty much a prefix concatenative language in its own right.

Still experimental, although I'm currently pretty happy with where it ended up. It's probably not tested thoroughly enough, so I may still need to fix bugs and I may adjust features as I gain experience with it. The helper _rewrite macro could maybe be made public somehow. It might act like a more powerful -<>>. It would need a cleaner interface first. Not clear if that's necessary given the public macros that use it though.