Live data from Hacker News

Why Lisp is Awesome

atomized.org

41–50 of 62 posts

Re: Why Lisp is Awesome

#41
post #37
post #28

Earlier quoted context omitted.

That's why Lisp was called 'AI assembler'. Literally hundreds of higher-level languages have been implemented on top of Lisp. One of those has been integrated into Common Lisp: CLOS, a high-level object-oriented language for programming dynamic systems, with meta-programming capabilities.

Most of these "high-level" languages are more of "extensions" (CLOS certainly feels like an extension) or alternative lispish languages than bona fide DSLs with DS constraints (that can be used for DS optimizations). The S-expression syntax feels foreign/messy in many domains.

Languages on top of Lisp can be all from extensions, to languages with their own syntax, parser, compiler, ...

Examples for "high-level" languages on top of Lisp:

Macsyma, Axiom, Refine, AP5, RacerPro, CycL, NESL, Reduce, PVS, the original ML, ...

For a Lisp-like example see PDDL (Planning Domain Definition Language):

    (define (domain hanoi-domain)
            (:requirements :equality)
            (:predicates (disk ?x) (smaller ?x ?y) (on ?x ?y) (clear ?x))
            (:action move-disk
             :parameters (?disk ?below-disk ?new-below-disk)
             :precondition (and (disk ?disk)
                                (smaller ?disk ?new-below-disk)
                                (not (= ?new-below-disk ?below-disk))
                                (not (= ?new-below-disk ?disk))
                                (not (= ?below-disk ?disk))
                                (on ?disk ?below-disk)
                                (clear ?disk)
                                (clear ?new-below-disk))
             :effect (and (clear ?below-disk)
                          (on ?disk ?new-below-disk)
                          (not (on ?disk ?below-disk))
                          (not (clear ?new-below-disk)))))
Tools like these are widely used in logistics domains, one of the domains where Lisp has been widely used. There is a competition between planning systems and PDDL is being used to describe the problems.

For a non-s-expression domain specific language on top of Lisp see for example PWGL. It uses a graphical language. Also Macsyma/Maxima, and many many many others.

Re: Why Lisp is Awesome

#42
post #35

Earlier quoted context omitted.

First time I went to New Mexico I saw some Kachini dolls. They looked, well, awesome. After a few days or so, I saw many, many more Kachina dolls, such that I could start seeing differences in quality. Those first ones I saw? They really weren't all that awesome. They were actually sort of crappy, once I saw some truly awesome handiwork. Whether or not something inspires awe really does depend on previous experience.

how are the Niagara falls less awesome on the 8.Jan 2010 compared to 7.Jan.2010?

You are misunderstanding his point. Lisp used to be awesome because it implemented feature X. That is, show people feature X in Lisp, and they would be impressed because nothing else did X.

Now, everything does X. Showing someone Lisp doing X will get the response of 'So what?'. Therefore, Lisp is no longer awesome because of feature X.

Re: Why Lisp is Awesome

#43
post #3

Earlier quoted context omitted.

See the HN-famous books "Structure and Interpretation of Computer Programs," "Paradigms of Artificial Intelligence Programming," and "On Lisp." The claim is that Lisp is a language at a higher level of abstraction. You will have to study hard to be able to appreciate that level, but it cannot be explained in another way. Imagine explaining Calculus to a high school Physics student. You're likely to get back: "But I c…

Dude... that is a very good analogy! point well taken.

Also, it's worth noting that all three books implement a subset of Prolog (in Lisp). Prolog is another language which sounds really bizarre, but can be incredibly powerful. It's less general purpose than Lisp, though - essentially, it works by searching for answers that fulfill all criteria you specify, backtracking to (lazily) generate alternative answers as needed. It's conceptually really cool, and is great for prototyping certain kinds of problems. Some of the literature is also quite good, particularly _The Art of Prolog_ by Sterling & Shapiro.

Re: Why Lisp is Awesome

#44
post #9

This isn't why Lisp is awesome. This is why Lisp was awesome, back 50 years ago. Every single one of these features has since been adopted by mainstream scripting languages. What still sets Lisp apart is its metalinguistic capability - macros (hygienic or not).

[deleted]

Re: Why Lisp is Awesome

#45
post #9

This isn't why Lisp is awesome. This is why Lisp was awesome, back 50 years ago. Every single one of these features has since been adopted by mainstream scripting languages. What still sets Lisp apart is its metalinguistic capability - macros (hygienic or not).

You are absolutely right, every single feature has been adopted except - macros (which is bloody enough to stay Lisp wonderland).

Errr, and maybe the best OO system ever designed. And maybe awesome metaobject protocol beneath it. And also amazingly powerful condition system. And, Turing complete type system. Optionally dynamically scoped variables. Runtime modifiable parser/reader? And, fun stuff like pretty fast continuations as a library - regularly used in production. Image based development and wonderfully easy deployment as well. Plus everything tunable/inspectable at runtime. Great development environment - Emacs (VS is a retarded child). Also - now, there is quite a lot of production ready libraries. Understand - real libraries written purely in Lisp, not pathetic wrappers over C libs. Anything else? Yes - it's still bloody fast when needed.

In next 20 years - most languages won't have half of these powerful features, which had Lisp 10 and more years ago.

Re: Why Lisp is Awesome

#46
post #34

Earlier quoted context omitted.

Not really. Inspiring awe is a property based on when you see it. If you could demo an iphone to someone in 1970 it would be awesome; if you demo it to someone in 2015 it would be an old iphone. Green is forever.

a Porsche from 1970 is still awesome. There are many things that have timeless qualities. Every time I hear 'The Man Machine' from Kraftwerk I think how awesome it is. 'The Grand Canyon is awesome' - how does that depend on WHEN I see it. As long as there is a Grand Canyon, it is awesome. It is of no concern if there are things less or more awesome. The Grand Canyon is just 'awesome'. Lisp has for some people also ti…

I can not think of a more clearly terrible example than Geology!

The Grand Canyon is in no way exempt from time -- millions of years ago it was just another unremarkable course of the Colorado River, and millions of years from now it will have eroded to nothingness. The Himalayas used to be an unremarkable coastline, and the Appalachians hills were once taller than Everest is now.

Re: Why Lisp is Awesome

#47
post #35

Earlier quoted context omitted.

First time I went to New Mexico I saw some Kachini dolls. They looked, well, awesome. After a few days or so, I saw many, many more Kachina dolls, such that I could start seeing differences in quality. Those first ones I saw? They really weren't all that awesome. They were actually sort of crappy, once I saw some truly awesome handiwork. Whether or not something inspires awe really does depend on previous experience.

how are the Niagara falls less awesome on the 8.Jan 2010 compared to 7.Jan.2010?

You're thinking way too small -- It's much more obvious if you'd use geological timescales to compare geological features.

Re: Why Lisp is Awesome

#48
post #42
post #35

Earlier quoted context omitted.

how are the Niagara falls less awesome on the 8.Jan 2010 compared to 7.Jan.2010?

You are misunderstanding his point. Lisp used to be awesome because it implemented feature X. That is, show people feature X in Lisp, and they would be impressed because nothing else did X . Now, everything does X. Showing someone Lisp doing X will get the response of 'So what?'. Therefore, Lisp is no longer awesome because of feature X.

You are misunderstanding the original point. Lisp has certain qualities that are rare, designed in a special way and work together in special ways.

Almost none of the mainstream scripting languages uses simple code as data as Lisp does. Not Ruby. Not Python. Not PHP. Not JavaScript.

None of them have the roots in a meta-circular interpreter that fits on a page.

http://arcfn.com/2008/07/maxwells-equations-of-software-exam...

None of those allow me to write symbolic computations in a simple and straight forward way like I can do it in Lisp.

I find that awesome.

Re: Why Lisp is Awesome

#49
post #46
post #34

Earlier quoted context omitted.

a Porsche from 1970 is still awesome. There are many things that have timeless qualities. Every time I hear 'The Man Machine' from Kraftwerk I think how awesome it is. 'The Grand Canyon is awesome' - how does that depend on WHEN I see it. As long as there is a Grand Canyon, it is awesome. It is of no concern if there are things less or more awesome. The Grand Canyon is just 'awesome'. Lisp has for some people also ti…

I can not think of a more clearly terrible example than Geology! The Grand Canyon is in no way exempt from time -- millions of years ago it was just another unremarkable course of the Colorado River, and millions of years from now it will have eroded to nothingness. The Himalayas used to be an unremarkable coastline, and the Appalachians hills were once taller than Everest is now.

Awesome is an impression by a person that makes an observation. Millions ago the earth had no Grand Canyon (and thus could not be observed) and millions years ago there were no observers that could be impressed by something.

As long as there is a GRAND CANYON (a label for an observable geological feature given by man) the GRAND CANYON will be awesome. Your father found the Grand Canyon awesome and and your children will find it awesome, too. For us humans the Grand Canyon, as long it is there and as long we are there, is 'awesome'.

'Awesome' is an impression that humans have of something. It has nothing to do with geological timescales.

Re: Why Lisp is Awesome

#50
post #47
post #35

Earlier quoted context omitted.

how are the Niagara falls less awesome on the 8.Jan 2010 compared to 7.Jan.2010?

You're thinking way too small -- It's much more obvious if you'd use geological timescales to compare geological features.

Why should I do that? I'm a human. I find things I see awesome. I find all large 'falls' awesome. If the thing wasn't there a million years ago, who cares? I wasn't there also. But I'm here and some thing in the world can be observed by me as awesome. There are things that I might not find awesome after some years and there are other things that I find awesome for many years. Even if it is superseded by some newer stuff. The original iPod (I have one) is still awesome. It is a design classic. Timeless.
Post reply on HN