Lambda the Ultimate

inactiveTopic First-class Attribute Grammars
started 8/1/2002; 3:35:43 AM - last post 8/2/2002; 2:56:03 AM
jon fernquest - First-class Attribute Grammars  blueArrow
8/1/2002; 3:35:43 AM (reads: 1892, responses: 3)
First-class Attribute Grammars
Seeks to improve attribute grammars so they can be more easily used in the rapid proto-typing of Domain Specific Languages. Attribute grammars are not in widespread use:

This may be due to restrictions imposed by attribute definition languages, which are often less flexible than general purpose functional programming languages. Such general languages tend to yield descriptions that are compact, but they lack the dedicated structuring mechanisms of attribute grammars. In this paper we initiate a systematic study of such structuring mechanisms, by giving them a compositional semantics. The semantics is expressed in the vocabulary of functional programming. Our semantics thus opens the way towards combining the powerful structuring mechanisms for attribute grammars with the flexibility of a general purpose programming language.

Attribute grammars provide the foundation for Intentional Programming in two detailed overviews: Intentional Programming: A Host of Language Features, Intentional Programming Talk at the British Computer Society. From the Program Transformation Wiki. Also see Omniscium's FAQ Aspects from Aspect Oriented Programming are discussed in these two papers as well as this prior LTU post.

Posted to DSL by jon fernquest on 8/1/02; 3:40:11 AM

Ehud Lamm - Re: First-class Attribute Grammars  blueArrow
8/1/2002; 4:26:31 AM (reads: 783, responses: 0)
Looking at the FAQ I now remember that not only is IP mostly obvious stuff it is also patented technology. Yuck.

scruzia - Re: First-class Attribute Grammars  blueArrow
8/1/2002; 9:45:38 AM (reads: 764, responses: 0)
Oh, yeah. Now I recall my April comment about it ... "Perhaps the stupid patents killed it".

jon fernquest - Re: First-class Attribute Grammars  blueArrow
8/2/2002; 2:56:03 AM (reads: 726, responses: 0)
> Looking at the FAQ I now remember that not only is IP mostly
> obvious stuff it is also patented technology. Yuck.

The patents in the FAQ make interesting reading. What sort of program would violate the patent?

Like Knuth says you shouldn't be able to patent a mathematical theorem, it's kind of like patenting nature. If functional languages start getting used then programs will be more like mathematical theorems which shouldn't be patentable.

The multi-language of .NET has great potential. I hope Microsoft actually gets people to start using functional languages then they would be sort of redeemed in my eyes, but right now .NET is just a Java look alike contest and not so interesting. With C# and VB.NET history just repeats itself.... but generating incompatibilities along the way. Perhaps Microsoft can put its monopoly power to good use and bring formal methods and research into the mainstream.

If Microsoft uses its patents as a cudgle then it will definitely be 1984!

The Aspect-Oriented Compilers paper you posted had an EOPL-like clarity to it. Putting together a sort of web anthology of papers and tutorials that extend EOPL, dealing with topics that EOPL doesn't cover in languages it doesn't use like Haskell and ML, but using the same simple examples and style would be cool.