2 ms·
But I can use custom DSLs using macros in Rust or template Haskell. In Lean 4 you can even add grammar to the Lean parser. I feel like the good parts of lisps
by vatsachak 2mo ago
But I can use custom DSLs using macros in Rust or template Haskell. In Lean 4 you can even add grammar to the Lean parser.
I feel like the good parts of lisps have been adopted by typed languages...
- so-cal-schemer 2mo agoAbsolutely. You can thank Lisp for paving the way. And in a way, those languages are part of the extended family.
- deleted 2mo ago[deleted]
- so-cal-schemer 2mo agoThe difference is in complexity. McCarthy has said Lisp was not initially patterned on the lambda calculus, but he borrowed its syntax. Much later at MIT, after teaching a predecessor to 6.001 on LC, GJS and his student GLS distilled Lisp to a language that had the semantics of LC plus extensions for mutation and IO to make it practical, creating the elegant minimalist language Scheme. Macros were used to make tighter, neater, more expressive code. https://wiki.c2.com/?LambdaCalculus https://wiki.c2.com/?LambdaCalculus https://research.scheme.org/lambda-papers/ https://research.scheme.org/lambda-papers/ Someone please correct this bold statement: Every advancement in programming languages since then can be implemented in Scheme. (See the explosion of experiments using Racket -- typed variants as example.) It was politics, inertia/"tech debt", established tastes, and ego/NIH that lead to the farrago of languages (partially derived from Lisp) that we have nowadays, but none are as simple, flexible, and versatile as Scheme/Racket.