Content tagged with: DSL
Since Groovy 2.0, the Groovy language offers the ability to type check your code at compile time. Type checking is a nice feature for people who come from a strongly typed language world and do not feel comfortable with dynamic typing. On the other hand, Groovy is also a perfect match when it comes to writing Domain Specific Languages (DSL). It becomes even more interesting if you know that you can combine strategies in order to provide the user with a statically checked DSLs.
Nemerle is one of the very few languages that can be extended by developers. Nemerle macros allow extending language syntax and automate routine operations that developers face every day and cannot solve by using traditional techniques to achieve reusability. Also, we will discuss DSL oriented and language oriented programming.
This is an introduction to JetBrains Meta Programming System (MPS). Learn how to create several Java language extensions, play a bit with the existing ones, show several handy DSLs, build a web application and then put all the pieces together so you can get a complete picture of what’s in MPS for you and your projects.
Hammurabi is a rule engine written in Scala that tries to leverage the features of this language making it particularly suitable to implement extremely readable internal Domain Specific Languages. What makes Hammurabi different from all other rule engines is that, despite its rules are written directly in the host language, they are also easily understandable even by non technical persons.
This session describes the current thinking about emergent design, discovering design in code. The hazard of Big Design Up Front in software is that you don’t yet know what you don’t know, and design decisions made too early are just speculations without facts. Emergent design techniques allow you to wait until the last responsible moment to make design decisions.
Hadoop is a MapReduce framework that has literally sprung into the vernacular of “big data” developers everywhere. But coding to the raw Hadoop APIs can be a real chore. Data analysts can express what they want in more English-like vocabularies, but it seems the Hadoop APIs require us to be the translator to a less comprehensible functional and data-centric DSL.
Xtext is a framework for development of programming languages and domain specific languages. It covers all aspects of a complete language infrastructure, from parsers, over linker, compiler or interpreter to fully-blown top-notch Eclipse IDE integration. Xtext makes it easy to create domain specific languages (DSL). Xtext 2.0 adds some critical features that allow developers to create robust and flexible DSL. This video highlight the new features in Xtext 2.0 including the new Xtend template language, the ability to embed expressions into your DSL and a new refactoring framework.
Domain specific languages have been the Next Big Thing for years now, but they have quietly started penetrating the development world. This talk covers language techniques in Java, Groovy, and Ruby on how and why to create DSLs. This session of the last Jazoon conference demonstrates with motivation for converting APIs into DSLs, and various patterns, anti-patterns, and best practices for how to achieve the optimum effect. This talk also covers the very important topic of implicit context, and how language constructs can allow you to write less verbose and …
SLs are becoming more & more popular, allowing developers to express their intent more precisely & with less syntactic noise. DSLs can be built on top of a host language (like Java or Ruby), which are referred to as “internal DSLs”. External DSLs are far more flexible in terms of language design: you can define any desired grammar, you can define domain specific constraints & error messages, & you can process the DSL in a concise manner because it can either be interpreted or transformed into the code of any …
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.