- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
3 applications of "indexed composition" as a language design principle
Fri, 2009-01-16, 10:18
All,
At this blog entry i describe an idea for the auto-generation of some pretty cool extensions to for/do comprehensions. i have built some sample applications in Scala+Lift to explore the ideas on 3 non-trivial examples: relations, graphs and processes. There are goodies -- proposals and ideas around which to have discussion and debate -- at every level.
Best wishes,
--greg
--
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105
+1 206.650.3740
http://biosimilarity.blogspot.com
At this blog entry i describe an idea for the auto-generation of some pretty cool extensions to for/do comprehensions. i have built some sample applications in Scala+Lift to explore the ideas on 3 non-trivial examples: relations, graphs and processes. There are goodies -- proposals and ideas around which to have discussion and debate -- at every level.
- language design
- is indexed composition a good language feature
- is a better feature when restricted to DSL generation
- domain specific ideas that fall out of this analysis
- would SQL-like languages benefit from a richer 'notion of collection' if the corresponding connectives could be generated
- would SQL-like languages benefit from a lazier evaluation strategy
- would a compositional graph description language be better suited to various applications than, say GraphML
- would a query on graphs as a basic feature of the language be a useful feature
- would a process language that enables the use of codes of processes as channels and data be pragmatically useful
- would a process language that enables search on processes on the basis of structure and behavior be useful
- application generation possibilities
- essentially i am hand building Lift wrappers around parsers i'm auto-generating from BNFC -- i'm pretty sure the whole procedure can be automated directly from the BNFC grammar -- i can imagine a Lift application generator for this context and would love to work with someone to make a simple prototype
Best wishes,
--greg
--
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105
+1 206.650.3740
http://biosimilarity.blogspot.com