Skip to content

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

License

Notifications You must be signed in to change notification settings

derrickturk/dsl-talk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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