InfoQ Homepage Domain Specific Languages Content on InfoQ
-
On the Way to DSLs for Non-programmers
The authors share insights from their experience building DSLs for business people.
-
Why I've Come to Prefer Fluent APIs Over Other Kinds of DSLs
John Slaby discusses the reasons why he prefers fluent APIs and examine, through examples, the many different ways that Fluent APIs can be used to help produce better solutions than external DSLs.
-
Write Your Lisp in Scala
Stefan Chis demos building a Lisp dialect in Scala, covering: parsing code, defining data types and functions, evaluating expressions, implementing higher order functions.
-
Enso: Composing DSL Interpreters, Languages & Aspects
William Cook introduces Enso, an external language workbench with both graphical and textual editing capabilities.
-
Haskell at Barclays: Exotic Tools for Exotic Trades
Tim Williams describes one of the world's largest commercial Haskell deployments (Barclays) and shares some experiences and insights gained using Haskell to build domain specific languages.
-
Building a Language for Spreadsheet Refactoring
Felienne Hermans introduces BumbleBee, a refactoring and metaprogramming spreadsheets tool based on a DSL that can perform transformations against spreadsheet formulas.
-
Plugging the Users in - Extend Your Application with Pluggable Groovy DSL
Baruch Sadogursky discusses creating DSLs which support plugins written both in Groovy or Java, addressing good public API design practices, security, and classpath isolation.
-
A Relational Exploration of the Chomsky Hierarchy
Friedman and Byrd explain how to encode deterministic and non-deterministic finite automata, push-down automata, and Turing Machines in miniKanren, a DSL for relational (pure logic) programming.
-
Turtle Graphics in Groovy - Extending Groovy with DSL techniques
Jim Driscoll shows how to create Napili, a small program accepting user scripts to control a turtle using GroovyShell, the Binding, overriding behavior with set/getVariable and invokeMethod, and more.
-
Thinking DSLs for Massive Visualization
Leo Meyerovich introduces Superconductor, a browser-based language for massive interactive visualizations using end-to-end parallel DSLs and a synthesis DSL for parallel layout.
-
Leveraging Groovy for Capturing Business Rules
Paul King illustrates various DSLs written in Groovy, highlighting several logic solving APIs and looks at the pros and cons of the various approaches (including tool support, flexibility, lock-in).
-
Creating Groovy DSLs that Developers Can Actually Use
Guillaume Laforge and Paul King show how to leverage Groovy to build a Mars rover controlling DSL, including metaprogramming techniques and integration mechanisms.