ZH version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
92% Positive
Analyzed from 615 words in the discussion.
Trending Topics
#lisp#ruby#macros#smalltalk#code#object#more#functional#operations#expressions

Discussion (21 Comments)Read Original on HackerNews
Other imperative languages that support functional code either make you do things imperatively to get the "logical" ordering of functional operations like I feel Lisp pushes you to do, or they do something like Ruby where things can be chained left to right in a "single" statement even for operations that were not thought of ahead of time by the creators of opaque data structures you later need to operate on. (Everything is a user-extensible object like Ruby, unified function call syntax in D, extension methods in C#, or pipelines of structured objects in PowerShell.)
https://docs.racket-lang.org/threading/introduction.html
Put the macros back! It would be so cool!
> Matz has said as much. He’s described Ruby’s design as starting from a simple Lisp, stripping out macros and s-expressions, then adding an object system, blocks, and Smalltalk-style methods. The features most Rubyists fall in love with aren’t the object-oriented ones. They’re the functional ones, dressed in friendlier clothes.
But yeah, macros and S-expressions make it easier to write your own DSLs.
(Matz speaking at the LL2 conference some 20+ years ago)
Nothing I would love more than a Ruby with a Common-Lisp like compiler and runtime. Unboxed types, native compilation, partial compilation, live image (Ruby has this but "faster Rubies" like Crystal don't), etc...
Also I'm working on a DSL/Macros that give me more Ruby-esque quality of life things in Lisp.
https://www.youtube.com/watch?v=Qc7HmhrgTuQ