Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

From the intro:

"PLOT sports a more conventional-looking syntax than classic Lisp."

Must... not... dismiss out-of-hand!

(Historically, attempts to give Lisp a more conventional syntax have been made of fail)



This is true. But David Moon is fairly famous, having worked on Lisp, CLOS, Dylan (http://en.wikipedia.org/wiki/David_Moon) and he was immortalized in the hacker koan:

(From http://catb.org/jargon/html/koans.html)

One day a student came to Moon and said, "I understand how to make a better garbage collector. We must keep a reference count of the pointers to each of the cons." Moon patiently told the student the following story:

"One day a student came to Moon and said, 'I understand how to make a better garbage collector...'"

So I'm inclined to give him the benefit of the doubt, at least for now. ;-)

edit: fixed typo in quote


Tietelman was also famous and ran his own Lisp machine company, InterLisp, and probably had wads of cash and the social clout to push whatever he wanted. His Lisp with English-like syntax had a Futile And Ill Life.


> We must keep a reference count of the pointers to each of the cans."

CONS


"each cons" wasn't a typo...


Take a look at some examples: http://users.rcn.com/david-moon/PLOT/page-5.html

Norvig as pointed out that Python can end up looking like Lisp with the parenthesis replaced with indentations (http://norvig.com/python-lisp.html). I think this comes even closer.


CMU/Apple Dylan; they wasted a perfectly good CLOS successor and a kickass user-interface framework not to mention a great type-system, on a non-Lisp syntax. The rest, as they say, was history. An obscure and long forgotten history.

Lisp doesn't like to be dressed up.


Lisp doesn't like to be dressed up.

I think the real problem is that people who understand Lisp understand that Lisp programs are Lisp data structures, and want them to look that way. People who don't get it won't be drawn to the language for its unconventional object system or condition handling. People who are won't be scared off by unconventional syntax.


I don't understand why they'd throw up everything in the air just because they screwed up the syntax. Wouldn't it have been easy to make a proper s-expression front-end to the environment and keep the rest of the good stuff?


Dylan started with an s-expression syntax. For several years, it looked like Scheme with CLOS bolted on top. The language eventually switched to a conventional infix notation. It actually looks pretty good to my s-expression-addled eyes, except that "end" blocks explicitly describe the block being ended, e.g., "end if", "end class", "end function". (To any Dylan experts in the audience: if that's optional, feel free to correct me.)

Dylan has not exactly failed, since it still has an active development team which makes regular releases, but it has not achieved popularity. Dylan has macros, a real condition system, and a CLOS-type object system --- a way better feature list than Ruby's or Python's, IMO.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: