4 ms·
> The macro system is primitive Is there a better macro system in any other lisp? I am curious. I find Common Lisp macro system to be magical.
by z3phyr 8y ago
> The macro system is primitive
Is there a better macro system in any other lisp? I am curious. I find Common Lisp macro system to be magical.
- mruts 8y agoI find scheme’s hygienic macro system or racket’s insanely powerful macro system to be more advanced and easier to use correctly. None of the gensym and hygiene problems you have with CL.
- lispm 8y ago> None of the gensym and hygiene problems you have with CL. Doesn't matter much. Practically Common Lisp's macros are great to use.
- mruts 8y agoAre they better than scheme? I’m skeptical. PS: I know you probably know more and CL and Lisp Machines than anyone else on HN. But do you think CL macros are better than Scheme macros? If so, I would be genuinely interested in why (I know you have more experience with Lisp than I could ever have, do I think your opinion would be valuable to this discussion)
- lispm 8y agoWhat does 'better' even mean? For what? Which of the dozen of Scheme macro systems? Macros are a tool and over the past decades literally zillions of procedural macros have been written in Common Lisp. Somehow people managed to do that. Without 'hygienic' macros. Without rule-based macros. Scheme has seen a lot of research in that area and that's great. Common Lisp is more concerned with core language stability. Having a single macro system, which might have an older but careful design, still has some advantage: basically all code in Common Lisp uses the same macro system and all tools need to support only one macro system. Most of the time it gets the job done. It's like asking whether a carbon bicycle frame is better than a steel one. Depends. If one is travelling, the steel one is possibly more robust and easier to repair. It might not include the latest research in lightweight materials, though.
- deleted 8y ago[deleted]