User loginNavigation |
archivesA Typed, Compositional Logic for a Stack-Based Abstract Machine
A Typed, Compositional Logic for a Stack-Based Abstract Machine. Nick Benton. MSR-TR-2005-84. June 2005.
We define a compositional program logic in the style of Floyd and Hoare for a simple, typed, stack-based abstract machine with unstructured control flow, global variables and mutually recursive procedure calls. Notable features of the logic include a careful treatment of auxiliary variables and quantification and the use of substructural typing to permit local, modular reasoning about program fragments. Semantic soundness is established using an interpretation of types and assertions defined by orthogonality with respect to sets of contexts. By Ehud Lamm at 2005-07-02 09:14 | Implementation | Semantics | Type Theory | 2 comments | other blogs | 9523 reads
Language Workbenches: The Killer-App for Domain Specific Languages?
(via the LtU DG)
Martin Fowler writes,
Most new ideas in software developments are really new variations on old ideas. This article describes one of these, the growing idea of a class of tools that I call Language Workbenches - examples of which include Intentional Software, JetBrains's Meta Programming System, and Microsoft's Software Factories. These tools take an old style of development - which I call language oriented programming and use IDE tooling in a bid to make language oriented programming a viable approach. Although I'm not enough of a prognosticator to say whether they will succeed in their ambition, I do think that these tools are some of the most interesting things on the horizon of software development. Interesting enough to write this essay to try to explain, at least in outline, how they work and the main issues around their future usefulness. When I was learning to program, we simply called these things good programming... Seriously, much as I like DSLs and am happy to see more people think about the role of language design in software design, I think it is important to stress that good sofware design comes from familiarity with a large set of techniques. Language oriented techniques are useuful, but they aren't a panacea. They deserve wider recognition, being almost totally unknown in the wider programming community compared to other techniques (e.g., patterns), but shouldn't promise more than they can deliver. I vaguely remember a long "tutorial" we linked to a couple of years ago about becoming a professional programmer, which included language design along with other techniques one must master. If this rings any bells, please post the link since I don't remember any more deatils... By Ehud Lamm at 2005-07-02 09:34 | DSL | Software Engineering | 5 comments | other blogs | 12969 reads
Behaviour: Using CSS selectors to apply Javascript functionality
An amusing library that lets you use CSS selectors to specify elements to add javascript events to.
The terms pattern matching, and declartive programming come mind. You can also think about it as an embedded DSL. I came across Behaviour via this simple example which shows the style of programming the library leads to. By Ehud Lamm at 2005-07-02 12:04 | DSL | Logic/Declarative | 18 comments | other blogs | 98323 reads
|
Browse archivesActive forum topics |
Recent comments
22 weeks 3 hours ago
22 weeks 7 hours ago
22 weeks 7 hours ago
44 weeks 1 day ago
48 weeks 3 days ago
50 weeks 15 hours ago
50 weeks 15 hours ago
1 year 4 days ago
1 year 5 weeks ago
1 year 5 weeks ago