Re: LISP diploma project idea





Adrian DOZSA wrote:
On Feb 26, 7:56 pm, Ken Tilton <kentil...@xxxxxxxxx> wrote:

Adrian DOZSA wrote:

On Feb 26, 12:57 pm, Ken Tilton <kentil...@xxxxxxxxx> wrote:

What is language oriented programming? Do you mean /natural language/?

Language oriented programming is a style of programming in which,
rather than solving problems in general-purpose programming languages,
the programmer creates one or more domain-specific programming
languages for the problem first and solves the problem in those
languages.

Additional links:

Language Oriented Programming: The Next Programming Paradigm
by Sergey Dmitriev, CEO of JetBrains
http://www.onboard.jetbrains.com/is1/articles/04/10/lop/mps.pdf

"I have begun development of a universal platform (the
Meta Programming System) for designing domainspecific
languages along with their supporting tools and
environments. It will allow programmers to define
languages as easily as they can write programs today.
The platform will fully support LOP, giving programmers
the freedom to use the most suitable language for each
part of their programs,..."

Someone needs to write a snappy "rule" for this sort of thing.

Yeah, I had heard of "intentional programming". This is just too funny.
The paper offers nothing higher level than a "Collection DSL". Good
lord, this is where we began with OO. Hey, look at my shapes class! So
expect the same result: whenever anyone goes to write a program
superfast, they will never find a DSL (nor an OO hierarchy) that is Just
Right, so:

"If there are no appropriate DSLs for your problem, then
you create ones that fit your problem."

Great! Ooops! I need to create an editor, too! Why?

"The problem is that text editors are stupid and don't
know how to work with the underlying graph structure
of programs."

PWUAUHAHAHAHAHAHAA. The man knows nothing of Lisp.

"As features are added
to the language, it becomes increasingly difficult to add
new extensions without making the language ambiguous.
We would need to invent more types of brackets,
operators, keywords, rules of ordering, nesting, etc.
Language designers spend enormous amounts of time
thinking about text syntax and trying to find new ways
to extend it.
If we are going to make creating languages easy, we
need to separate the representation and storage of the
program from the program itself."

Is someone solving the wrong problem? Well, I think he is planning on
selling his solution:

"We need some sort of editor for our
languages. But we don't want a generic editor; experience
has shown that generic editors aren't as usable as we
want them to be. We want writing models to be fast, so
we want specialized editors tailored to our language
concepts."

And we then learn he is working on a generic graphical programming
environment for building DSLs. Move over, Emacs!

Anyway, if your professor is a big LOP fan then you could get in big
trouble by turning in a one sentence paper: "LOP reinvents Lisp." Hmmm,
maybe you could back it up with a Collection DSL. Ooops, that reinvents
LOOP. Hey, how about "Lisp as a prototyping environment for DSLs". You
could do it this way: "Of course no one would really want to program in
Lisp, but for quick prototyping of DSLs the orderly syntax makes text a
viable editing front-end and destructuring-bind means we get to skip the
parser, too, allowing us to focus on semantics yadda yadda yadda..." ie,
You do not have to rub it in their noses.

LOP is the single most common mistake in language evolution: taking a
good idea and making it into its own language or process. One thing
encouraging that is that you just can't do truly new things (in all but
one language) /without/ making a new language. But with Lisp you do not
stop to make a DSL, you just create a macro here and a macro there and
keep on programming. A DSL emerges from the process when lazy
programmers tire of writing/maintaining boilerplate.

Well, that's my view from the cheap seats anyway.

kzo

--
Well, I've wrestled with reality for 35 years, Doctor, and
I'm happy to state I finally won out over it.
-- Elwood P. Dowd

In this world, you must be oh so smart or oh so pleasant.
-- Elwood's Mom


I totally agree with you. On every forum/newsgroup lispers share the
same point. But don't be so hush,...

hush as an adjective? Ok, google offers "hush money". I think perhaps this usage is closer to an abbreviation of "hush-hush"? I give it points for creativity, take away more points for preciousness.

>... they are only trying to simulate the
power of Lisp macros on a different platform/language and create a
process of developing a custom made language. Overall it's a good
thing because they finally realize that Abelson and Sussman's
"stratified design" (from SICP) or the more recent language embedded
DSLs are the way to do complex software.

Nice speech. So why the hell ask for ideas for profound thesis topics involving both Lisp and LOP? That's like saying I want to do a paper about powered flight and one of my interests is in making hot-air balloon travel less susceptible to wind direction.



This ("Lisp as a prototyping environment for DSLs") would be a nice
idea, but it's nothing new; it's only a "i told you so" paper.


Oh, you took me seriously. A lot of people make that mistake. No, I was just trying to keep you from pissing off your professor, that is death. You could do a totally rocking DSL thing with Lisp. It lets you sidestep the hurdles faced by crappy implementation languages and Just Do A DSL. The fascinating question is the one I raised in the last post: will LOP come to grief on the same rocks that wrecked OO and kept it from being a Big Win? Doing a Collection DSL is a frickin joke: of /course/ that will be reusable. Did the author think having a Collection DSL was a paradigm shift? Lessee a DSL that does not map onto programming, one that maps onto funeral home management. And is reusable. Bzzt. That is the exact same problem OO failed at, and DSLs are the same as OO only worse, because they are trying to express the whole shebang, not just the class hierarchy.

kt


--
Well, I've wrestled with reality for 35 years, Doctor, and
I'm happy to state I finally won out over it.
-- Elwood P. Dowd

In this world, you must be oh so smart or oh so pleasant.
-- Elwood's Mom
.



Relevant Pages

  • Re: Computer Algebra Algorithms
    ... If you want to learn CAS, learn lisp because that is what the ... The parser could be written in C or any other language. ... I would consider that such a minor aspect of a programming ... generally prefer righting there numeric algorithms in Maple and MATLAB ...
    (sci.math.symbolic)
  • Why should I care about Lisp and Scheme?
    ... Foreword to the book "Essentials of Programming Languages". ... It's an imaginary conversation between a newbie and a hacker. ... Why should I care about Lisp and Scheme? ... language, the result would be a Lisp interpreter. ...
    (comp.lang.scheme)
  • Re: F#
    ... Why did they take Lisp? ... properties of the language are only a part of the picture. ... If the favored programming style of a certain language ... Knowing a success story only tells me that other people ...
    (comp.lang.functional)
  • [ANN] 2nd European Lisp & Scheme Workshop
    ... Pascal Costanza, Programming Technology Lab, Vrije Universiteit Brussel ... Lisp has a tradition of providing a fruitful basis for language design ... and suggestions for breakout groups that discuss the opportunities Lisp ...
    (comp.lang.lisp)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)