calambrac on Mar 29, 2009 | parent | favorite | on: David Moon’s Programming Language for Old Timers
Is there an implementation available anywhere to play with? Or is this still in the design and discussion phase? I’d love to play around with this, it seems like a clear, solid distillation of a lot of ideas.
joubert on Mar 29, 2009 [-]
When David presented this during the ILC last week at MIT, he said this is simply a hobby and experiment and that he doesn’t have plans to release an implementation.
jrockway on Mar 29, 2009 [-]
He also said that if someone wants to implement it, they should. He just doesn’t want to be that someone, since he can’t spend enough time on it to get it right.
At least you won’t be sued for building it. Not by him anyway.
“ PLOT emphasizes cleanliness, flexibility, and extensibility. PLOT sports a more conventional-looking syntax than classic Lisp. It is, of course, fully object-oriented. Perhaps the most interesting feature of PLOT is that the syntax is totally user-definable.
How can this be a dialect of Lisp, you say, if it does not have S-Expressions, does not have NIL, does not have conses, does not have atoms, and does not have a simple parenthesized Polish prefix syntax?
I say it is a dialect of Lisp because it uses a fully dynamic memory model, fully dynamic typing, a resident program semantics (although separate compilation is possible), fully powerful macros (but hygienic!), and because (almost) everything about the language is defined in the language itself. It has the same extreme flexibility and extensibility, and the same minimum of nonsense that gets in your way, that have always been hallmarks of Lisp. It has the important things about Lisp while jettisoning the things that in my opinion were mistakes from the beginning.
Obviously this language owes a lot to Scheme, Dylan, Common Lisp, Python, Java, and a few others. There is a remarkable amount of convergence with Ruby, considering that I hadn’t seen Ruby when I first did this. But as compared with Ruby, PLOT has macros, has my preferred non-class-centric model of methods, and is designed to be compiled. “
Also, some slides about its macros.