3 ms·
I do get your point, Nick, but I'm not sure I agree. Dylan, Nim, and other programming languages that try to have Lisp's macro facilities (which are the main re
by qwertyuiop924 10y ago
I do get your point, Nick, but I'm not sure I agree. Dylan, Nim, and other programming languages that try to have Lisp's macro facilities (which are the main reason we stick to the sexpr code format) may be nice to program in, but they're am absolute pain to metaprogram in. Just look at Nim's procedural macros, for crying out loud!
Also, many of us lispers like the regularity and simplicity of syntax that sexprs allow (no syntax, no precedence).
OTOH, a more direct sexpr mapping might work, a la wisp.
Seriously, if your main object to lisp is the syntax, wisp may be something you want to try.
- nickpsecurity 10y agoAnother thing to consider is how often people need to write macros. The vast majority of programmers will just use base language and libraries. The libraries contain the macros. Advanced programmers can create the macro libraries. This provides the massive benefit on adoption for regular programming without the drawback of metaprogramming. Further, the macro language might even use s-expr syntax that prettier language is converted to in first pass of parsing. So, instead of paren language as default, it's an ALGOL-like language as default with syntax extensions or mods being made for macro work. In reverse of of lispers normally do it. Re WISP. Looks better but still prefix. The prefix notation is the problem as it's designed to be easy for computers & compiler writers, not humans reading it.
- qwertyuiop924 10y agoYeah, that's closer to the WISP model, which works well, as opposed to what Dylan and Nim did. As for the lack of infix in WISP, IIRC WISP supports use with SRFI-105 (a part of another project to introduce a different syntax to Scheme, SRFI-110, aka readable), which provides exactly this.