3 ms·
> Lisp shepherds you into building your own language. the feeling of the racket community is that you build a DSL or DSLs in your code all the time, in any lan
by nikofeyn 7y ago
> Lisp shepherds you into building your own language.
the feeling of the racket community is that you build a DSL or DSLs in your code all the time, in any language, so why not take it seriously and codify your DSLs?
- sbergot 7y agoMy personal feeling about this is that shared base language mecanisms such as functions, classes, control structure, interfaces imports, properties etc allow you to reason locally about some files. You don't need to read the whole library in order to understand one piece of it. With macros this goes out of the window. You have to read all the custom macros before you can understand what is their behavior. With haskell the same issue exists with complex monad stacks and control libraries like lens. The ability to analyse a tiny piece of a big system is a major factor in building those in a manageable way.
- wtetzner 7y agoThe beauty of macros is that you can just expand them in-place and read the expanded code. Of course, for really complex macros the expanded code might be hard to read, but I guess that means "write nice macros".