In this interview filmed at QCon SF 2008, Lennart Augustsson talks about writing DSLs in Haskell, presenting the advantages offered by the language. In that context, he talks about embedded DSLs, static and dynamic languages, syntax and semantics, monads and many other related topics.
This article proposes a new Message Type Architecture to help manage the message formats in a SOA. The approach based on two related DSLs, one for the Enterprise Data Model and one for the Message Types, promotes reuse and helps aligning the Data and SOA governance processes.
In this presentation filmed during OOPSLA 2008, Janos Sztipanovits attempts to tackle the complexity of large scale systems integration. Software, systems and control engineering converge in such systems, raising the integration challenges and demanding a new approach to model-based design.
In this presentation filmed during QCon London 2008, Markus Voelter tried to convince the audience that writing a textual external DSL is fairly straightforward and simple. He took them through the steps needed to create a textual DSL from defining the grammar to processing a domain model.
In this interview recorded at RubyFringe, Jay Phillips talks about VoIP, Asterisk and how his framework Adhearsion makes it easy to write voice applications.
In the beginning of last year, Ehud Lamm launched on Lamba the Ultimate a thread about programming languages predictions for 2008. Several subjects popped up: concurrency, functional programming, future of Java, Ruby, C++, and many others… What really happened in 2008 and what are the prospects for 2009? Bloggers have addressed these questions on demand of James Iry, echoing at last year thread.
Meta Programming System (MPS), a new Language Oriented Programming tool from JetBrains, allows the developers to extend programming languages as well as create Domain Specific Languages (DSLs) for enterprise applications. JetBrains development team recently announced the release of beta version of MPS software.
In this RubyFringe talk, Reginald Braithwaite shows how to write Ruby that reads, writes, and rewrites Ruby. The demos include extending the Ruby language with conditional expressions, new forms of evaluation such as call-by-name and call-by-need, and more.
As key part the Oslo tools is a language for modeling textual DSLs (MGrammar). This article is an an attempt to try and use MGrammar to write a small parser that can interpret dates expressed in natural language.
Given the growing interest in Domain Specific Languages, Michael Feathers provides some reflections on external DSLs, their advantages and pitfalls as well as possible success and failure factors that he believes to be function of far more than the technology.
Based on the book Domain Specific Modeling by S. Kelly and J.-P. Tolvanen, the author of Learning Lisp blog exposed some thoughts on how a modeling language should look like and where UML stands with regard to this. While it appears that UML doesn’t provide enough precision and high enough level of abstraction, another blogger suggests a different approach that may allow its successful use in MDD.
For many years Martin Fowler has been in the forefront of software engineering. He is often given credit for popularizing techniques such as refactoring and dependency injection. Lately he has been evangelizing domain specific languages, so of course Oslo piqued his interest.
Ola Bini, a core JRuby developer and author of the book Practical JRuby on Rails Projects, has been developing a new language for the JVM called Ioke. This strongly typed, extremely dynamic, prototype based object oriented language aims to give developers the same kind of power they get with Lisp and Ruby, combined with a nice, small, regular syntax.
Based on their vision to deliver on the promise of model-driven development in SOA where business users, SOA architects and developers will be able to use the modeling tools to collaborate on composite applications, Microsoft has recently made several announcements about its modeling strategy.
The llvmruby project provides Ruby bindings for LLVM. Yarv2llvm is a project built with llvmruby which translates Ruby 1.9 opcodes to LLVM bitcode, which can be compiled down to native code, using LLVM's JIT functionality. Also: the Rubinius VM, currently rewritten using C++, now also comes with LLVM.