Eric Niebler wrote:
I hadn't even considered the notion of a type system for a DSEL, but it
makes perfect sense. Unfortunately, the only tutorial I found for van
Wijngaarden grammars is here:
http://homepages.cwi.nl/~steven/vw.html
Perhaps it's because I'm tired, but I'm not making heads or tails of it
at the moment. Can you point me to a gentler introduction?
(Way back when I started with expression templates, I thought that
calling them an "embedded language" was just a cute metaphor, but much
can be gained from taking the serious view that these really *are*
languages, deserving of grammars, semantic actions, ... type systems,
too. Once we fully embrace that view, there's decades worth of
programming language theory we can leverage.)
and:Joel Falcou wrote:
Eric Niebler a ?crit :
> (Way back when I started with expression templates, I thought that
> calling them an "embedded language" was just a cute metaphor, but much
> can be gained from taking the serious view that these really *are*
> languages, deserving of grammars, semantic actions, ... type systems,
> too. Once we fully embrace that view, there's decades worth of
> programming language theory we can leverage.)
>
You just have described parts of my research plans ;)
My current work try to get a way using ET and Concept in C++ to have a
condensed way to describe operationnal and/or denotanionnal semantic for
C++ DSEL. Guess I'll indeed have to swallow up this typing system rules
myself.
Ivan : Thanks for the references.
VWG was invented for and used to define Algol68. Personally, I find it
easiest to understand a formal system when I have a worked out example
in front of me. If you're the same way, I suggest starting with: