From: Pascal Costanza
Subject: Martin Fowler...
Date: 
Message-ID: <5n29lhFfuf2rU1@mid.individual.net>
...explains Lisp. It's a bit long-winded, but I think the explanation is 
very much to the point.

See http://www.infoq.com/presentations/domain-specific-languages

Sidenote: Yes, it's not really about Lisp. However, what I find 
remarkable is that he mentions Lisp without going into defense mode. He 
makes a little fun of it, but not much. The joke is actually rather 
respectful.

I think this is a good sign.


Pascal

-- 
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

From: Rainer Joswig
Subject: Re: Martin Fowler...
Date: 
Message-ID: <joswig-C8FB1B.23582209102007@news-europe.giganews.com>
In article <··············@mid.individual.net>,
 Pascal Costanza <··@p-cos.net> wrote:

> ...explains Lisp. It's a bit long-winded, but I think the explanation is 
> very much to the point.
> 
> See http://www.infoq.com/presentations/domain-specific-languages
> 
> Sidenote: Yes, it's not really about Lisp. However, what I find 
> remarkable is that he mentions Lisp without going into defense mode. He 
> makes a little fun of it, but not much. The joke is actually rather 
> respectful.
> 
> I think this is a good sign.
> 
> 
> Pascal

The company he works for gives talks about DSLs. They try
to explain DSL ideas. I've seen another talk (on
Google Video, IIRC) by somebody from that company.
Also mentioned Lisp. They don't seem to use Lisp
or have any Lisp first-hand experience,
but seem to have picked up something from somewhere.

Though I have the feeling that the whole DSL stuff
is very shallow. It is very much focused on relatively
simple syntax tricks and data formatting.
But what about integrating whole paradigms
(rules, logic, constraints, frames, nets, ...)?


Old style Lisp stuff (if you don't want to buy (used) Lisp books,
then stop reading now):

  Artificial Intelligence Programming (now in a second edition)
  (with Chris Riesbeck, Drew McDermott, and James Meehan),
  Hillsdale NJ: Lawrence Erlbaum Associates (1980, 1987)

Or from stuff like Babylon:
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/expert/systems/babylon/
  hristaller, Th., Di Primio, F., Vo�, A.(eds.), The AI Workbench BABYLON,
  Academic Press 1992
  EMA-XPS: http://www.ibiblio.org/pub/linux/devel/ai/

Techniques form old Expert System software will be reinvented,
like the rule systems (CLIPS, LISA, ...) reinvented the
older rule systems (ART, ...) ...

-- 
http://lispm.dyndns.org
From: Pascal Costanza
Subject: Re: Martin Fowler...
Date: 
Message-ID: <5n3c2pFg05msU1@mid.individual.net>
Rainer Joswig wrote:
> In article <··············@mid.individual.net>,
>  Pascal Costanza <··@p-cos.net> wrote:
> 
>> ...explains Lisp. It's a bit long-winded, but I think the explanation is 
>> very much to the point.
>>
>> See http://www.infoq.com/presentations/domain-specific-languages
>>
>> Sidenote: Yes, it's not really about Lisp. However, what I find 
>> remarkable is that he mentions Lisp without going into defense mode. He 
>> makes a little fun of it, but not much. The joke is actually rather 
>> respectful.
>>
>> I think this is a good sign.
>>
>>
>> Pascal
> 
> The company he works for gives talks about DSLs. They try
> to explain DSL ideas. I've seen another talk (on
> Google Video, IIRC) by somebody from that company.
> Also mentioned Lisp. They don't seem to use Lisp
> or have any Lisp first-hand experience,
> but seem to have picked up something from somewhere.
> 
> Though I have the feeling that the whole DSL stuff
> is very shallow. It is very much focused on relatively
> simple syntax tricks and data formatting.
> But what about integrating whole paradigms
> (rules, logic, constraints, frames, nets, ...)?

I'm not saying that what they are doing is a fundamental breakthrough, 
but given how slow the world progresses, this is a nice small step in 
the right direction...

> Old style Lisp stuff (if you don't want to buy (used) Lisp books,
> then stop reading now):
> 
>   Artificial Intelligence Programming (now in a second edition)
>   (with Chris Riesbeck, Drew McDermott, and James Meehan),
>   Hillsdale NJ: Lawrence Erlbaum Associates (1980, 1987)

This looks like a cool book - thanks for the link!

Pascal

-- 
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
From: Ralf Mattes
Subject: Re: Martin Fowler...
Date: 
Message-ID: <fei0cd$h1f$1@news01.versatel.de>
On Wed, 10 Oct 2007 09:08:09 +0200, Pascal Costanza wrote:

 Old style Lisp stuff (if you don't want to buy (used) Lisp books,
>> then stop reading now):
>> 
>>   Artificial Intelligence Programming (now in a second edition)
>>   (with Chris Riesbeck, Drew McDermott, and James Meehan),
>>   Hillsdale NJ: Lawrence Erlbaum Associates (1980, 1987)
> 
> This looks like a cool book - thanks for the link!

It is - fun reading. BTW, thanks to Rainer for his occasional postings
of these "old" bibliographic references. So far they have all been
valuable.

 Cheers, RalfD

> Pascal
>
From: Frode Vatvedt Fjeld
Subject: Re: Martin Fowler...
Date: 
Message-ID: <2hr6k3th4g.fsf@vserver.cs.uit.no>
Pascal Costanza <··@p-cos.net> writes:

> >> See http://www.infoq.com/presentations/domain-specific-languages

> I'm not saying that what they are doing is a fundamental
> breakthrough, but given how slow the world progresses, this is a
> nice small step in the right direction...

To me it looks something like the 1000th attempt to remove the parens
from lisp. For what reason, I will never understand.

-- 
Frode Vatvedt Fjeld
From: Kamen TOMOV
Subject: Re: Martin Fowler...
Date: 
Message-ID: <ufy0j2m0h.fsf@cybuild.com>
On Wed, Oct 10 2007, Pascal Costanza wrote:

> I'm not saying that what they are doing is a fundamental
> breakthrough, but given how slow the world progresses, this is a
> nice small step in the right direction...

Is it in the right direction? IMO his talk is a step *over* the right
solution. It aims at attracting ppl's attention towards "sophisticated
tools" that generate general purpose language code for the purpose of
DSLs. In short he praises code generators.

Code generators is what the latest fad in software engineering is and
the Java fad facilitates the tool vendors. The Java world and IBM in
particular calls them tools. These tools are used throughout the whole
development process. One uses a tool to draw graphical building blocks
(that for example represent a business process) and then presses a
button to generate the sceletion code. Beside for modeling such tools
are used in the build process, for testing and so on.

Fowler uses the advantages of Lisp to show the benefit of the internal
DSLs, but only as means to introduce the idea of sophisticated
tooling. According to him that "goes beyonds these two things
(internal and external DSLs)".

The so called "sophisticated tools" have one huge advantage over
internal DSLs. They sell "industry solutions" of big names.

Regards,

-- 
�����
From: Raffael Cavallaro
Subject: Re: Martin Fowler...
Date: 
Message-ID: <2007101014040216807-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2007-10-10 08:26:54 -0400, Kamen TOMOV <·····@cybuild.com> said:

> Fowler uses the advantages of Lisp to show the benefit of the internal
> DSLs, but only as means to introduce the idea of sophisticated
> tooling. According to him that "goes beyonds these two things
> (internal and external DSLs)".
> 
> The so called "sophisticated tools" have one huge advantage over
> internal DSLs. They sell "industry solutions" of big names.

Worse still sadly, one of the "sophisticated tools" he praises is based 
on software patents guaranteeing vendor lock-in to anyone who uses it:

<http://money.cnn.com/2007/08/27/technology/intentional_software.biz2/index.htm>
(the 

last 3 paragraphs)

This is from Intentional Software, Charles Simonyi's company. I've also 
heard grumbling on an MIT mailing list that some of the patented 
technology (especially the key idea of distinct surface syntaxes for an 
underlying syntax-independent tree representation of the program) has 
significant prior art.

Fowler himself is chief scientist of one of the companies he praises, 
ThoughtWorks, who have their own offering. They've moved through Java, 
C#, and are now on to Ruby according to Wikipedia.

Make no mistake though, lisp is mentioned merely to dismiss it, not to 
praise it to young programmers. The intention is to move people toward 
the proprietary "software workbench" tools that Intentional and 
ThoughtWorks are hawking. If he got his audience to really understood 
what lisp is really all about there would be no customers for the 
"software workbench" tools.
From: Robert Uhl
Subject: Re: Martin Fowler...
Date: 
Message-ID: <m38x649lk6.fsf@latakia.dyndns.org>
Raffael Cavallaro <················@pas-d'espam-s'il-vous-plait-mac.com>
writes:
>
> Make no mistake though, lisp is mentioned merely to dismiss it, not to
> praise it to young programmers. The intention is to move people toward
> the proprietary "software workbench" tools that Intentional and
> ThoughtWorks are hawking. If he got his audience to really understood
> what lisp is really all about there would be no customers for the
> "software workbench" tools.

Of course, it was proprietary software vendors which doomed Lisp--maybe
they can kill Java too?  That'd be a Good Thing IMHO.

-- 
Robert Uhl <http://public.xdi.org/=ruhl>
It goes against the grain of modern education to teach children to
program.  What fun is there in making plans, acquiring discipline in
organising thoughts, devoting attention to detail and learning to be
self-critical?                --Alan Perlis, Epigrams in Programming
From: Raffael Cavallaro
Subject: Re: Martin Fowler...
Date: 
Message-ID: <2007101517591177923-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2007-10-15 16:20:41 -0400, Robert Uhl <·········@NOSPAMgmail.com> said:

> Of course, it was proprietary software vendors which doomed Lisp--maybe
> they can kill Java too?  That'd be a Good Thing IMHO.

You are not alone in that opinion. ;^)
From: Kamen TOMOV
Subject: Re: Martin Fowler...
Date: 
Message-ID: <uhcksj9os.fsf@cybuild.com>
On Mon, Oct 15 2007, Robert Uhl wrote:

> Of course, it was proprietary software vendors which doomed Lisp--maybe
> they can kill Java too?  That'd be a Good Thing IMHO.

I wouldn't be so sure. Imagine you not only have access to the magical
predicate better-p (like our green wizard) but also have the power to
call The Function.

         (let ((last-big-ty 'fire))
	   (defun get-next-big-technology ()
	     (let ((ty-fad (get-some-technology-fad)))
	       (if (eql last-big-ty (better-p ty-fad last-big-ty)) 
		   (setq last-big-ty ty-fad) 
		   last-big-ty))))


-- 
�����
From: Dimiter "malkia" Stanev
Subject: Re: Martin Fowler...
Date: 
Message-ID: <5n4uivFfuq38U1@mid.individual.net>
Well, for example in a game company, you would want to give your 
designers ability to program (code) in a lanaguge, but with lots of 
restraints - such restraints that would not screw your memory, or the 
script is trackable (or undoable - for example MAYA's MEL script is 
undoable on nearly every action).

Sometimes the simplest form of CSV is enough, but sometimes more is needed.

So usually the game companies are using either home brewed script 
language, or something else (Lua, AngelScript, even TCL).

A TCL version for example was used in Metal Gear Solid for describing 
the levels in the Metal Gear Solid game - setting traps, actors, and 
giving them different attributes.

Off course you can do it in Lisp, but you can't learn lisp in 21 days, 
as Peter Norvig said, you can't even learn it in 10 years.

So that said, there is application of DSL's.

Kamen TOMOV wrote:
> On Wed, Oct 10 2007, Pascal Costanza wrote:
> 
>> I'm not saying that what they are doing is a fundamental
>> breakthrough, but given how slow the world progresses, this is a
>> nice small step in the right direction...
> 
> Is it in the right direction? IMO his talk is a step *over* the right
> solution. It aims at attracting ppl's attention towards "sophisticated
> tools" that generate general purpose language code for the purpose of
> DSLs. In short he praises code generators.
> 
> Code generators is what the latest fad in software engineering is and
> the Java fad facilitates the tool vendors. The Java world and IBM in
> particular calls them tools. These tools are used throughout the whole
> development process. One uses a tool to draw graphical building blocks
> (that for example represent a business process) and then presses a
> button to generate the sceletion code. Beside for modeling such tools
> are used in the build process, for testing and so on.
> 
> Fowler uses the advantages of Lisp to show the benefit of the internal
> DSLs, but only as means to introduce the idea of sophisticated
> tooling. According to him that "goes beyonds these two things
> (internal and external DSLs)".
> 
> The so called "sophisticated tools" have one huge advantage over
> internal DSLs. They sell "industry solutions" of big names.
> 
> Regards,
> 
From: Rainer Joswig
Subject: Re: Martin Fowler...
Date: 
Message-ID: <joswig-2ABAF4.23581110102007@news-europe.giganews.com>
In article <··············@mid.individual.net>,
 "Dimiter \"malkia\" Stanev" <······@gmail.com> wrote:

> Well, for example in a game company, you would want to give your 
> designers ability to program (code) in a lanaguge, but with lots of 
> restraints - such restraints that would not screw your memory, or the 
> script is trackable (or undoable - for example MAYA's MEL script is 
> undoable on nearly every action).
> 
> Sometimes the simplest form of CSV is enough, but sometimes more is needed.
> 
> So usually the game companies are using either home brewed script 
> language, or something else (Lua, AngelScript, even TCL).
> 
> A TCL version for example was used in Metal Gear Solid for describing 
> the levels in the Metal Gear Solid game - setting traps, actors, and 
> giving them different attributes.
> 
> Off course you can do it in Lisp, but you can't learn lisp in 21 days, 
> as Peter Norvig said, you can't even learn it in 10 years.

I agree that there are lot of people who should get a simplified
language.

BUT, I think that too often one
gets poor languages, while users could cope with a better
one. I find it disturbing that too many applications are
written at the core in a static low-level language and then
some poor language added on top. There are only few applications
that are opened for its users and provide a powerful
extension language. In even fewer cases the implementation
and extension language are the same.

Users are kept stupid and away from the software:
They should not customize the software or work
at the core of the software. I hate that. I think that's
wrong. Even if the user has the source code it often
does not help - since they need to understand the source
code and be able to effectively extend it.

Peter Norvig's comment is more about programmers wanting
to understand all of Common Lisp and more.
You can take simplied Lisp dialects.
There are several extension or scripting languages based on Lisp.
For example Autolisp or some Scheme variants.

Then there is Logo - a simple Lisp dialect without parentheses.

Apple prototyped much of AppleScript in Lisp. There was
an implementation called Sk8Script embedded in a multimedia
authoring environment.

OpenMusic uses a graphical version of Lisp.

I still think that for many applications (say, in CAD, Music, ...),
Common Lisp as an extension language would be fine.
Lot's of ordinary people were able to do useful and cool
stuff with Macintosh Common Lisp - it needs to have
an accessible environment and useful documentation.
I can even think that an office package written
in Lisp could effectively extended by users. People
are doing amazing things with Emacs.

There are many bright programmers out there. They can use
Common Lisp. But I also think that there are 
very bright application users who are able (or
would be able) to use Common Lisp, though they are more
interested in developing domain-level solutions.
They'd use it, if it fits into their mental model and
if it gives them power.

> 
> So that said, there is application of DSL's.
> 
> Kamen TOMOV wrote:
> > On Wed, Oct 10 2007, Pascal Costanza wrote:
> > 
> >> I'm not saying that what they are doing is a fundamental
> >> breakthrough, but given how slow the world progresses, this is a
> >> nice small step in the right direction...
> > 
> > Is it in the right direction? IMO his talk is a step *over* the right
> > solution. It aims at attracting ppl's attention towards "sophisticated
> > tools" that generate general purpose language code for the purpose of
> > DSLs. In short he praises code generators.
> > 
> > Code generators is what the latest fad in software engineering is and
> > the Java fad facilitates the tool vendors. The Java world and IBM in
> > particular calls them tools. These tools are used throughout the whole
> > development process. One uses a tool to draw graphical building blocks
> > (that for example represent a business process) and then presses a
> > button to generate the sceletion code. Beside for modeling such tools
> > are used in the build process, for testing and so on.
> > 
> > Fowler uses the advantages of Lisp to show the benefit of the internal
> > DSLs, but only as means to introduce the idea of sophisticated
> > tooling. According to him that "goes beyonds these two things
> > (internal and external DSLs)".
> > 
> > The so called "sophisticated tools" have one huge advantage over
> > internal DSLs. They sell "industry solutions" of big names.
> > 
> > Regards,
> >
From: Kamen TOMOV
Subject: Re: Martin Fowler...
Date: 
Message-ID: <utzoy62t6.fsf@cybuild.com>
On Thu, Oct 11 2007, Dimiter \"malkia\" Stanev wrote:

> ...
>
> So usually the game companies are using either home brewed script
> language, or something else (Lua, AngelScript, even TCL).
>
> ...
>
> Off course you can do it in Lisp, but you can't learn lisp in 21
> days, as Peter Norvig said, you can't even learn it in 10 years.
>
> So that said, there is application of DSL's.

Undoubtedly DSLs have their use.

The thing is one don't have to learn Lisp to program in a Lisp based
DSL. Macros are your friends.

-- 
�����