Meta Programming System Language Oriented Programming environment
jetbrains.com
jetbrains.com
To translate their calculator tutorial (http://www.jetbrains.com/mps/docs/tutorial.html), in Common Lisp you would write a little macro "define-calculator" that then lets you write something like this:
(define-calculator java-and-php-hours
(input java-hours :label "Java hours")
(input php-hours :label "PHP hours")
(output (+ (* java-hours 10)
(* php-hours 5))
:label "Total"))
It would be based on some library (e.g. common-qt) that provides GUI primitives.So.. Common Lisp? I just read the article about the stupidity in file systems. In it the author laments the old adage about history repeating itself. He coins the anecdote, there are no new engineering problems, just new engineers solving old problems.
I can imagine this MPS product being incredibly useful... but we have had this technology for nearly 40 years in some for another of Lisp. And most Lispers would agree that extending the program language and semantics to the domain is a very productive way of writing reliable and maintainable software.
I am curious though what makes MPS superior exactly? Seems more complicated than Lisp, but I'm no MPS expert. Can anyone enlighten us?
It still seems to me that everyone, eventually, implements Lisp in one way or another (or at least some small part of it).
edit: grammar corrections
I remember in 2006-2007 I've tried MPS, back then it looked too complicated, I hope that now guys from JetBrains have improved the documentation.
Is anyone seriously using a language workbench tool? If so, what are you experiences with it?