Skip to content

derrickturk/dsl-talk

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 

Found in Translation

Domain Specific Languages for Simple, Composable Systems

Quick, what's MMXVII minus MCMLXXXVIII? (It's XXIX.) The right notation can make the difference between an intractable challenge and a simple solution. Designing a new notation to reflect the fundamental structure of a problem is one of the most powerful, and underused, tools in our technical toolkits.

With the recent (on a historical timescale) advent of the digital computer, humankind can now make these new and useful notations executable. This talk explores the power of designing and implementing domain-specific languages (DSLs) as components of technical software systems. DSLs excel in helping us build open-ended, configurable, explorable systems by allowing users to compose tailored vocabularies into larger structures.

As a case study, we'll see an expression language designed to help a client turn their Monte Carlo portfolio simulation from a rigid tool for reporting specific hard-coded metrics to a flexible system for answering open-ended questions: "what's the probability of achieving our cashflow goals over the next five years?"

We'll also discuss the whys and why-nots of choosing to implement DSLs, some guidance on design and implementation strategy, and some fundamental ideas and off-the-shelf tools which can make implementation simpler.

(c) 2017 dwt | terminus data science, LLC
Presentation material is licensed under the Creative Commons CC-BY-NC 4.0 license (free for non-commercial use with attribution); all code samples are licensed under the MIT license (free for commercial or non-commercial use).

About

Found In Translation: Domain Specific Languages for Simple, Composable Systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published