User loginNavigation |
DSLA Semantic Model for Graphical User InterfacesNick Benton and Neel Krishnaswami, ICFP'11, A Semantic Model for Graphical User Interfaces:
This is an application of their (more squiggly) LICS'11 submission, Ultrametric Semantics of Reactive Programs. In both these cases, I find appealing the fact the semantic model led to a type system and a language that was tricky to find. By Ohad Kammar at 2011-09-10 20:25 | DSL | Fun | Functional | Paradigms | Semantics | Theory | 5 comments | other blogs | 9724 reads
Why I invented Kinetic Rule Language (KRL)?Phil Windley whose blog posts on his startup Kynetx I sometimes mention here, since the company's product is built around a DSL, posted a nice item on reasons for designing a DSL. While partly about why people should go ahead and learn KRL, the post discusses some of the business advantages for building a product around a DSL, and some of the reasons for using and building DSLs that we here take for granted but not everyone else is cognizant of. Scripting with TypesA nice presentation on Practical Haskell Programming: Scripting with Types from Don Stewart. By Ehud Lamm at 2011-02-07 02:56 | DSL | Fun | Functional | login or register to post comments | other blogs | 5206 reads
Macros that Work TogetherMacros that Work Together - Compile-Time Bindings, Partial Expansion, and Definition Contexts, Matthew Flatt, Ryan Culpepper, David Darais, and Robert Bruce Findler. Under consideration for publication in J. Functional Programming.
A good description of Racket's rocket science tools for growing languages. By Manuel J. Simoni at 2011-02-03 14:25 | DSL | Meta-Programming | Semantics | login or register to post comments | other blogs | 5945 reads
Semi-implicit batched remote code execution as stagingOleg Kiselyov has just posted another amazing work: Semi-implicit batched remote code execution as staging.
Here's an example piece of Chourai code, for deleting albums whose rating is below 5 among the first n albums of an album database (called "large") hosted by the server.
let delete_low_rating n =
let rec loop album i =
let t = guard (app2 lt (app get_rating album) (int 5))
(fun () -> app delete_album album) in
if i >= n then force t else
loop (app next_album album) (succ i)
in loop (app get_album (string "large")) 0;;
Amazingly, By Manuel J. Simoni at 2010-12-08 18:38 | DSL | Meta-Programming | Parallel/Distributed | 24 comments | other blogs | 6914 reads
Pure and Declarative Syntax Definition: Paradise Lost and Regained, Onward 2010Pure and Declarative Syntax Definition: Paradise Lost and Regained by Lennart C. L. Kats, Eelco Visser, Guido Wachsmuth from Delft
I haven't compared this version with the Onward 2010 version, but they look essentially the same. It seems timely to post this paper, considering the other recent story Yacc is dead. There is not a whole lot to argue against in this paper, since we all "know" the other approaches aren't as elegant and only resort to them for specific reasons such as efficiency. Yet, this is the first paper I know of that tries to state the argument to software engineers. For example, the Dragon Book, in every single edition, effectively brushes these topics aside. In particular, the Dragon Book does not even mention scannerless parsing as a technique, and instead only explains the "advantages" of using a scanner. Unfortunately, the authors of this paper don't consider other design proposals, either, such as Van Wyk's context-aware scanners from GPCE 2007. It is examples like these that made me wish the paper was a bit more robust in its analysis; the examples seem focused on the author's previous work. If you are not familiar with the author's previous work in this area, the paper covers it in the references. It includes Martin Bravenboer's work on modular Eclipse IDE support for AspectJ. By Z-Bo at 2010-11-29 17:19 | Critiques | DSL | History | Implementation | Software Engineering | 16 comments | other blogs | 7858 reads
Sawzall Language Open SourcedGoogle open sources Szl - compiler and runtime for Sawzall Language:
The original paper from Rob Pike et al. Turning down the LAMP: Software specialization for the cloudSeveral years ago, a reading group I was in read about the Flux OSKit Project, which aimed to provide a modular basis for operating systems. One of the topics of discussion was the possibility of, and possible benefits of, an application-specific OS. (For example, the fearful spectre of EmacsOS was raised.) Today, I ran across "Turning down the LAMP: Software specialization for the cloud", which actually makes a pretty strong case for the idea on a virtual machine infrastructure,
As one example,
On the other hand, I suspect that this "unashamedly academic" idea may already be advancing into the commercial arena, if I am correctly reading between the lines of the VMware vFabric tc ServerTM marketing material. By Tommy McGuire at 2010-10-04 19:29 | DSL | General | Implementation | Software Engineering | 8 comments | other blogs | 6334 reads
Software Development with Code MapsRobert DeLine, Gina Venolia, and Kael Rowan, "Software Development with Code Maps", Communications of the ACM, Vol. 53 No. 8, Pages 48-54, 10.1145/1787234.1787250
Although the focus of this article is largely on "Code Map as UI", there are hints of the possibility that we might eventually see "Code Map as Language Element" (for example, the comment that "An important lesson from the Oahu research is that developers assign meaning to the spatial layout of the code. Code Canvas therefore takes a mixed initiative approach to layout. The user is able to place any box on the map through direct manipulation..."). The same ideas will of course be familiar to anyone who has worked with environments like Simulink, which provide a combination of diagrammatic structuring and textual definition of algorithms. But in the past such environments have only really been found in specific application domains -- control systems and signal processing in the case of Simulink -- while the Code Map idea seems targeted at more general-purpose software development. Is the complexity of large software systems pushing us towards a situation in which graphical structures like Code Maps will become a common part of the syntax of general-purpose programming languages? By Allan McInnes at 2010-09-30 10:12 | DSL | Software Engineering | 28 comments | other blogs | 6776 reads
Fortifying MacrosFortifying Macros. Ryan Culpepper, Matthias Felleisen, ICFP 2010.
Presents By Manuel J. Simoni at 2010-09-11 05:23 | DSL | Meta-Programming | 19 comments | other blogs | 8376 reads
|
Browse archivesActive forum topics |