Magnus Christerson demonstrates using a domain workbench to develop an electronics domain language - its key concepts, how they are defined, the semantic model – and a building access permit example showing the phases from concept to code.
Guillaume Laforge explains what makes Groovy to be better suited to create a DSL: closures, meta-programming, operator overloading, named arguments, a concise and expressive syntax, demonstrating how to write a DSL in Groovy.
Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Most of the presentation consists of Don Box doing hands-on code writing demoing some of M’s features and latest changes of the language.
In this talk recorded at FutureRuby, Collin Miller explains the problems of encoding programs as text and takes a look at promising solutions such as Intentional Programming.
What is better, a generic solution or a specific one? Stefan Tilkov’s answer is “It depends.” He compares XML vs HTML, DSM-UML, Internal-External DSL, SOAP-REST, and others, outlining the advantages and disadvantages of each solution, showing that there is no certain answer to an architect’s quest to solve his problem, but there are some guidelines helping along the way.
Ola Bini makes an introduction to DSLs explaining what they are and aren’t, what they are useful for, how to implement an internal/external DSL in Java and why are DSLs and Ruby so related.
Amanda Laucher talks about Oslo and its tools, Intellipad, M.exe – the M Compiler, MB.exe – MGrammar Compiler, and how they can be used to create a DSL. She demonstrates the creation of a demo DSL in Oslo.
Venkat Subramaniam explains what DSLs are good for, then he demos the creation of a DSL in Java, starting with a grammar and a parser, with an emphasis on useful patterns to be used along the way.
This presentation examines the properties that make Erlang a great language for building Domain Specific Languages. - powerful parsing capabilities, runtime evaluation, and pattern matching are a few covered in this session. Along the way you may learn a thing or two about functional and concurrent programming.
Martin Fowler talks about ThoughtWorks's experience with using Ruby on client projects for the past three years, and the creation of a Ruby-based product 'Mingle'.
Paul Hudak explores the question whether the elegance of functional programming is a good match for the aesthetics of art? Is it possible that artists could benefit from using functional languages in their work? In addition to the creative process, can functional languages assist artists in other ways? We will explore many of these issues in the context of the visual, musical, and performing arts.