HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jonesjames

no profile record

comments

jonesjames
·12 anni fa·discuss
That's because the magic is a lie.

I have this book. I've also worked on many Scheme systems and the internals of CMUCL. I was once a Lisp weenie.

The things that made Lisp special are not so special today. Basic things like garbage collection or dynamic typing exist everywhere. The more esoteric things, like CLOS, are esoteric for a reason (they are very difficult to use and impossible to master). The one feature that people still hype has always been a double-edged sword: macros. Scheme entirely ran away from the macros that Common Lisp has, and for good reason. But Scheme still has not developed a hygienic replacement that is equally powerful (and easy to use). They never will. It's been decades now.

The problem with macros and pet DSLs is that the best advice for using them is: don't. They can subtly alter the semantics of your code, and they conflate run-time vs compile-time. Not many people can elegantly weave through all these dimensions at once and not make a disaster. Homoiconicity has been oversold. The practice of CONSing everywhere is just awful, and slow. It's not the '80s anymore. CONS doesn't make sense today.

When you have first-class functions, closures and GC, you have the best things from Scheme/Lisp.