Annaia Danvers

Results 31 comments of Annaia Danvers

FWIW, re: "other Lisps", Racket defaults to one-space. I suspect the reason is that simply this would be the default in any list form. `'(1 3 4)` would be done...

FWIW, I actually like having the full range for things like the UnnecessaryParens check, because then I can even pinpoint which parens character it is in cases of nested parens...

I'm thinking `def syntax` will essentially just be a resugaring of `define-syntax + syntax-rules`, possibly with an optional clause for defining syntax literals. Perhaps it could expand with syntax-parameter definitions...

I think literal keyword reservation could possibly be handled with a seperate macro, `def literal`, that would just expand to the syntax-parameter form, with an optional (or even mandatory) custom...

The reason we have the literals defined as syntax-parameters everywhere at the moment is that you need to be able to export them as part of the module, or else...

Cool. I guess only the ones actually redefined inside macros (like the carry/cry etc.) actually need to be parameters then?

Huh. Well, something to look at refactoring then, perhaps.

https://github.com/jarcane/heresy/commit/4125ecaf950e2aabaddbd6f7a06181908af507d3 implements `def macroset` as a shortcut for `define-syntax + syntax-rules`. I've left out the ability to define new literal keywords, I think for now it's just safer that way....

It's undocumented yet, but `def macroset` now allows defining local literals. It was necessary for `maybe-do` and the new monadic `do>`.

Also, `heresy.scrbl` is about 1,000 lines now, might be time to start considering refactoring it into multiple files.