DSLs, Code Generation, and New Domains for Ruby
summary
Claims that internal DSLs can generate native code for embedded and numerical work and shows two working toolchains: aren (four DSLs, ERB‑based templating, used to generate UML/ECOR and production code for BMWs) and red shift (DSL for hybrid automata that code‑generates a C extension, uses a 4th‑order Runge‑Kutta integrator, builds in <1s then loads in ~0.25s, performance near Simulink). Also describes cgen (automated C struct, accessors, marshalling, inheritance) and unmet needs: an animation DSL and an efficient packet‑handler DSL.
AI-written summary · about
chapters (17)
- 0:00Intro
- 2:46Metamodel builder
- 4:59Metamodel usage
- 5:33Model builder #1: instantiate the classes
- 6:06Model builder #2: use the DSL
- 7:04Model builder notes
- 8:03Template DSL
- 12:13Hybrid systems
- 14:48What's hybrid about these?
- 20:23So, how does a programmer get involved in this?
- 23:34What's happening?
- 24:20DSL techniques
- 24:52Code generation techniques
- 29:15Cgen output fragment
- 30:05RedShift advert...
- 32:19Wanted: 2 DSLs w/Code gen
- 33:27Packet DSL
related talks
44mDSLs go Concrete
01h 10mDomain Specific Languages: Molding Ruby
37mRuby ate my DSL!
25mMore DSL, Less Pain
53mDomain Specifc Languages
07mNew Ideas: Automated Engineering of Metamorphic Testing Environments for Domain-Specific Languages
46mGrammar a BNF like Ruby DSL Parsing
36ms/regex/DSLs/: What Regex Teaches Us About DSL Design
