User loginNavigation |
DSLCOLA BrainfuckFrom the Software Architecture Group at the Hasso Plattner Institut:
Previously: COLA and Open, extensible object models; via neuraxon77. By msimoni at 2008-05-01 07:58 | DSL | Implementation | Meta-Programming | 3 comments | other blogs | 2596 reads
Chris Crawford's 9 Breakthroughs
Surprisingly, many of the ideas are about languages - either the programming languages used to program the games, or the language interfaces provided to users. Applied Metamodelling: A Foundation for Language Driven DevelopmentApplied Metamodelling: A Foundation for Language Driven Development (2004) An excerpt:
In software engineering circles the term "language driven development" is synonymous with "language oriented programming", a term which LtU members are more familiar with (thanks to Martin Ward's article Language Oriented Programming which first appeared in 1994, and then Martin Fowler's essays on the topic). The book hasn't appeared on the radar here on LtU, despite 41 citations. I suspect this is due in part to only one citation at Citeseer, and the lack of cross-talk between computer scientists and software engineers. There are a lot of similarities between the XMF language (discussion at LtU) and that of the Katahdin language (discussion at LtU). Other related discussions here at LtU, include Language Workbenches: The Killer App for DSLs - about the essay by Martin Fowler, Ralph Johnson: Language workbenches - a response to Fowler's essay, XActium - Lightweight Language Engineering? - which discusses an essay about a previous version of XMF, Generating Interpreters? , Language Oriented Programming - discusses an essay by Jetbrain's Sergey Dmitriev, "Language Oriented Programming" Meta Programming System - discussion of the Jetbrain MPS system, The DSL, MDA, UML thing again... - an older discussion on the relationship between DSLs and MDA. (Disclaimer: Some may notice that I am mentioned on the XMF web site, but this is just because I subjected their XMF language to a number of grueling challenges which they passed with flying colors: see the language snippets in the documentation. I have no affiliation with their company.) By cdiggins at 2008-03-07 19:07 | DSL | Meta-Programming | Software Engineering | 17 comments | other blogs | 5412 reads
The little b language: shared models built from reusable parts
Yet another biological DSL. As usual, it is best to start by looking at some sample models. CUFP write-upA write-up of the Commercial Users of Functional Programming meeting held this October is available, for those of us who didn't attend. The write-up is well written and thought provoking (it was written by Jeremy Gibbons, so that's not a surprise). The goal of the Commercial Users of Functional Programming series of workshops is to build a community for users of functional programming languages and technology. This, the fourth workshop in the series, drew 104 registered participants (and apparently more than a handful of casual observers). It is often observed that functional programming is most widely used for language related projects (DSLs, static analysis tools and the like). Part of the reason is surely cultural. People working on projects of this type are more familiar with functional programming than people working in other domains. But it seems that it may be worthwhile to discuss the other reasons that make functional languages suitable for this type of work. There are plenty of reasons, many of them previously discussed here (e.g., Scheme's uniform syntax, hygiene, DSELs), but perhaps the issue is worth revisiting, seeing as this remains the killer application for functional programming, even taking into account the other types of project described in the workshop. By Ehud Lamm at 2007-12-12 02:47 | DSL | Functional | Teaching & Learning | 20 comments | other blogs | 3356 reads
NEXCEL, a Deductive SpreadsheetNEXCEL, a Deductive Spreadsheet, Iliano Cervesato. 2006.
This is a neat paper about using Datalog-style relations to extend spreadsheets with some deductive database features. It seems like Datalog represents a real sweet spot in the design space for logic programming -- I've seen a lot of people put it to effective use. By neelk at 2007-11-10 17:12 | DSL | Logic/Declarative | login or register to post comments | other blogs | 2644 reads
Technometria: Google Web ToolkitPhil Windley Technometria podcast is dedicated to the Google Web Toolkit. The guest on the show is Bruce Johnson a Tech Lead of GWT. The show is very good, and more technical than usual. Many themes that are near and dear to LtU are discussed. Here are some pointers: Bruce talks at length about the advantages of compiling from Java to JS, many of which arise from Java's static typing. He mainly talks about optimizations, but also about how static typing helps with tools in general (IDEs etc.). This was a subject of long and stormy debates here in the past. The advantages, from a software engineering standpoint, of building in Java vs. JS are discussed. This is directly related to the ongoing discusison here on the new programming-in-the-large features added to JS2. I wonder if someone will write a compiler from Java/GWT to JS2 at some point, which will enable projects to move to JS2 and jump ship on Java all together. Bruce mentions that since JS isn't class-based, and thus doesn't directly support the OO style many people are used to, there are many ways of translating common OO idioms into JS. This is, of course, the same type of dilemma the Scheme community has about many high level features. Cast as a question on OOP support the questions becomes is it better to provide language constructs that allow various libraries to add OO support in different ways, or to provide language support for a specific style. The same can be asked about a variety of features and programming styles, of course. Finally, Bruce mentions that as far as he knows no one thought about something like GWT before they did. Well, I for one, and I don't think I was the only one, talked many times (probably on LtU) about Javascript as a VM/assembly language of the browser, clearly thinking about JS as a target language. I admint I wasn't thinking aobut compiling Java... But then, I am not into writing Java, so why would I think about Java as the source language... By Ehud Lamm at 2007-10-29 04:53 | Cross language runtimes | DSL | Implementation | Javascript | 15 comments | other blogs | 4100 reads
The End of an Architectural Era (It’s Time for a Complete Rewrite)The End of an Architectural Era (It’s Time for a Complete Rewrite). Michael Stonebraker, Samuel Madden, Daniel J. Abadi, Stavros Harizopoulos, Nabil Hachem, Pat Helland. VLDB 2007. A not directly PL-related paper about a new database architecture, but the authors provide some interesting and possibly controversial perspectives:
The somewhat performance-focused abstract:
A critical comment by Amazon's CTO, Werner Vogels. By msimoni at 2007-10-19 13:46 | DSL | Implementation | Logic/Declarative | Ruby | 22 comments | other blogs | 7838 reads
binpac: A yacc for Writing Application Protocol Parsersbinpac: A yacc for Writing Application Protocol Parsers. R. Pang, V. Paxson, R. Sommer, and L. Peterson. ACM Internet Measurement Conference. October 2006.
Binpac nicely abstracts away issues such as large numbers of concurrent, asynchronous parsing processes and protocol specifics (such as HTTP's chunked encoding). A parser for a large part of HTTP is presented in the paper and fits on half a page. The authors have also written parsers for CIFS/SMB, DCE/RPC, DNS, NCP, and Sun/RPC. By msimoni at 2007-10-17 19:42 | DSL | Implementation | Parallel/Distributed | 3 comments | other blogs | 4212 reads
Jon Udell on CoScripterThe web site description of CoScripter:
Jon's discussion emphasizes the DSL perspective (and end-user programming). The community dynamics enabled by exposing a DSL seem to me the interesting aspect of this discussion. Yet another example you can use when arguing in favor of textual, user accessible, DSLs. By Ehud Lamm at 2007-09-06 23:33 | DSL | login or register to post comments | other blogs | 1750 reads
|
Browse archivesActive forum topics |