News for hackers. Stuff that matters.
Re:The Failure of Lisp? A Reply To Brandon Werner by blasdel on Friday September 19, 2008 @01:40AM (#308989)
Other languages don't necessarily need 'real macro systems'

Lisp does, not just because it is so hopelessly low-level (for FP), but also because once you're using s-exprs it's hard to restrain anyone from mogrifying functions.

In a suitable language like Haskell where all functions are composed, using functional composition for everything instead of low-level fiddling with "statements as data" makes a shit-ton of sense. In Haskell you can also use supercompilation to resolve as much of the graph as possible at run time. No need for macros.

Don't think that other language communities want the warts from your language, just because you are so enthusiastic about them.

Re:The Failure of Lisp? A Reply To Brandon Werner by brlewis on Friday September 19, 2008 @09:28AM (#309216)
To be honest I wasn't thinking of Haskell when I mentioned "other languages". Haskell has less need for macros for the reasons you mentioned. Lazy evaluation also makes macros unnecessary for creating your own conditionals. For eager-evaluation languages, or languages without such concise syntax for functional composition, macros fill a real need.
Re:The Failure of Lisp? A Reply To Brandon Werner by rkts on Friday September 19, 2008 @01:06PM (#309391)
How would you do this in Haskell? http://news.ycombinator.com/item?id=222189
Re:The Failure of Lisp? A Reply To Brandon Werner by dlweinreb on Saturday September 20, 2008 @08:21PM (#310147)
By the way (this is a serious question), what software products have been produced that were written in Haskell?
Re:The Failure of Lisp? A Reply To Brandon Werner by silentbicycle on Sunday September 21, 2008 @10:39AM (#310392)
Besides the Glasgow Haskell Compiler (which probably doesn't count, for your purposes, but it's a good example of a large and complex program), the best example is probably Darcs (http://darcs.net/), a distributed version control system with a powerful patch composition system.

There are further answers from the Haskell wiki here: http://haskell.org/haskellwiki/Haskell_in_practice