InfoQ Homepage Domain Specific Languages Content on InfoQ
-
Interview: Jay Phillips on Adhearsion and VoIP
In this interview recorded at RubyFringe, Jay Phillips talks about VoIP, Asterisk and how his framework Adhearsion makes it easy to write voice applications.
-
Presentation: Ruby.rewrite(Ruby)
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.
-
Article: Writing A Texual DSL Using 'OSLO'
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.
-
External DSLs: Success and Failure Factors
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.
-
How a Modeling Language Should Look Like and where UML Stands with Regard to this?
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.
-
Martin Fowler on Oslo
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.
-
The Ioke JVM Language: The power of Lisp and Ruby with an intuitive syntax
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.
-
LLVM and Ruby Roundup: llvmruby, yarv2llvm and regexpllvm, Rubinius
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.
-
Is Groovy a Better Choice Than Java for Creating Internal DSLs?
JVM-compatible languages such as Scala, Groovy and JRuby are recently gaining more popularity for developing Domain Specific Languages (DSLs). But are they better suited to creating internal DSLs than the Java programming language? Venkat Subramaniam explains why "Essence over ceremony" and "Metaprogramming" features in a dynamic language like Groovy help in developing internal DSLs.
-
Fluent NHibernate
Fluent NHibernate is an API for creating NHibernate mappings programmatically instead of XML configuration files. Its goal is to reduce the difficulties faced when incorporating NHibernate in a project by providing improved readability, testing capabilities, and compile time safety.
-
Interview: Guy Steele on Programming Languages
Floyd Marinescu, co-founder of InfoQ, interviewed Guy Steele, a Sun Fellow working for the Programming Language Research Group at Sun, about programming languages, the lessons to be learned from the past and what to expect from the future.
-
Article: Beyond SOA, a New Type of Framework for Dynamic Business Applications - Part II
In the second part of their article, Vasile and Michael explore the architecture of Dynamic Business Application as a possible standard architecture for server-side applications. The authors note that in this architecture concepts like SOA play a minor role while components like BPM engines, schedulers, messaging have a definite role.
-
Article: Domain Specific Languages in Erlang
Erlang is mostly known for reliability and for its concurrency and scalability concepts. But did you know that Erlang is a language well suited for writing DSLs? Dennis Byrne shows you how.
-
Article: Best Practices for Model-Driven Software Development
Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article, experienced MDD practitioners pass on some best practices based on the experiences gathered over years of development.
-
Einstein: an Experimental 4GL for SOA
SOA implementation typically requires usage of multiple technologies for implementing different SOA aspects. Such implementation is a daunting task, requiring, at a minimum, understanding different technologies, involved in typical SOA implementation. One of the possible solutions to this complexity is developing Domain Specific programming languages for SOA.