User loginNavigation |
DSLInside Software Factories
This interview with Steve Cook is hepful in trying to understand what's behind the hype about software factories and DSLs.
[a domain specific language] tends to look like boxes and arrows on a screen. It’s a graphical modelling language with metadata underneath; and very importantly, metadata that’s domain specific. So if your domain is that of a business process, then the metadata is recognisable XML that describes business processes with tags that will say ‘process’ or ‘activity’, or whatever. It will be customised to your job. By Ehud Lamm at 2005-03-17 13:34 | DSL | Software Engineering | 5 comments | other blogs | 6239 reads
JavaScript and domain specific Languages
Interesting sounding projects...
Embedded InterpretersThis is a tutorial on using type-indexed embedding projection pairs when writing interpreters in statically-typed functional languages. The method allows (higher-order) values in the interpreting language to be embedded in the interpreted language and values from the interpreted language may be projected back into the interpreting one. This is particularly useful when adding command-line interfaces or scripting languages to applications written in functional languages. We first describe the basic idea and show how it may be extended to languages with recursive types and applied to elementary meta-programming. We then show how the method combines with Filinski's continuation-based monadic reflection operations to define an extensional version of the call-by-value monadic translation and hence to allow values to be mapped bidirectionally between the levels of an interpreter for a functional language parameterized by an arbitrary monad. Finally, we show how SML functions may be embedded into, and projected from, an interpreter for an asynchronous pi-calculus via an extensional variant of a standard translation from lambda into pi. Another paper from Nick Benton. Like the previous one this paper is dense and detailed, but this time there are some useful practical techniques that may come handy next time you build a DSL in a functional language. By Ehud Lamm at 2005-02-25 19:32 | DSL | Functional | Implementation | Meta-Programming | 10 comments | other blogs | 14650 reads
Region Streams: Functional Macroprogramming for Sensor NetworksThis paper presents the design of a functional macroprogramming language for sensor networks, called Regiment. The essential data model in Regiment is based on region streams, which represent spatially distributed,time-varying collections of node state. A region stream might represent the set of sensor values across all nodes in an area or the aggregation of sensor values within that area. Regiment is a purely functional language, which gives the compiler considerable leeway in terms of realizing region stream operations across sensor nodes and exploiting redundancy within the network. The operations on region streams include fold and map. The language uses monads to represent time varying values. I know nothing about sensor networks (this paper is from DMSN 2004: the First Workshop on Data Management for Sensor Networks) so I can't judge how useful this project really is. Notice that Regiment isn't implemented yet. Only a highly restricted (dynamically typed) subset is. DSL-specific editors
A bite size insight on Don Box's blog,
Could I use the new VS XML Editor to edit XHTML and WordML? Absolutely. By Ehud Lamm at 2005-01-06 18:19 | DSL | login or register to post comments | other blogs | 4516 reads
Logix: Multi-Language Programming
Also advertized as Lisp-in-Python, Logix seems like an interesting project.
Logix provides syntax extension mechanisms (i.e., macros) that support language extension and encourage the use of embedded DSLs. Languages can be encapsulated as objects, users can switch between them dynamically, etc. Some call this sort of thing "language oriented programming"... Grady Booch: Microsoft and Domain Specific Languages
Grady Booch's contribution to the discussion on UML vs. DSLs.
Along the way we learn about UML specialization mechanisms, UML profiles, and Grady's opinions as regards tool vs. language issues. By Ehud Lamm at 2004-12-04 10:22 | DSL | OOP | Software Engineering | login or register to post comments | other blogs | 5377 reads
Jon Udell: interview with Ward Cunningham and Jack Greenfield
Jon Udell's interview with Ward Cunningham and Jack Greenfield might help understand Microsoft's methodology of software factories and DSLs.
The interview is available as a 54 minute MP3 file. The notion of language as abstraction mechanism and explanation of the part played by DSLs appear towards the second half of the conversation. By Ehud Lamm at 2004-11-24 20:35 | DSL | OOP | Software Engineering | login or register to post comments | other blogs | 6577 reads
Skribe 1.2b released(via comp.lang.scheme) Erick Gallesio and Manuel Serrano have announced the release of version 1.2b of Skribe, a document processing language based on Scheme. From the home page:
What language enthusiast/researcher hasn't chafed at the language design of TeX? You should especially check out some of their cool examples. By Dave Herman at 2004-11-18 03:00 | DSL | Functional | Implementation | 19 comments | other blogs | 97528 reads
Calculemus 2005via OCaml The Calculemus 2005 Symposium on July 18-19, 2005 will explore the mission of the Calculemus project: The scientific and technological goal...is the design of a new generation of mathematical software systems and computer-aided verification tools based on the integration of the deduction and the computational power of Deduction Systems and Computer Algebra Systems respectively. Both Deduction Systems and Computer Algebra Systems are receiving growing attention from industry and academia. On the one hand, Mathematical Software Systems have been commercially very successful in recent years....On the other hand, the use of formal methods in hardware and software development has made Deduction Systems indispensable not least because of the complexity and sheer size of the reasoning tasks involved. In spite of these successes there is still need for improvement as many application domains still fall outside the scope of existing Deduction Systems and Computer Algebra Systems. For instance, the scope of Computer Algebra Systems (CASs) could be significantly enhanced by adding deductive reasoning power. In fact this lack of expressivity together with the unsolved problem of correctness prohibit large classes of applications. Deduction systems (DSs), which - on the other hand - provide such an expressivity, as well as the guarantee of correctness, still lack computational power as they are not suited to directly carry out algebraic or numerical calculations. This severely restricts their scope of application in mathematics and - more importantly - in engineering applications. Earlier we discussed the Axiom CAS. |
Browse archives
Active forum topics |
Recent comments
23 weeks 11 hours ago
23 weeks 15 hours ago
23 weeks 15 hours ago
45 weeks 1 day ago
49 weeks 3 days ago
51 weeks 23 hours ago
51 weeks 23 hours ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago