Your Program as a Transpiler: Applying Compiler Design to Everyday Programming
summary
Explains how techniques from compiler and transpiler implementation (language design, translation pipelines) can be applied to everyday programming problems and to projects like Drools and jBPM. Discusses concrete lessons and design patterns from language implementation that clarify technologies such as GraalVM and Quarkus and shows examples encountered while working on Drools and jBPM.
AI-written summary · about
chapters (38)
- 0:00Intro
- 3:07Motivation (cont'd)
- 3:41Goals
- 4:32Transpilers vs. Compilers
- 5:31Are transpilers simpler than compilers?
- 7:46Compiler-like workflows
- 9:16Function Orchestration
- 10:03Solution: Roll your own YAML format
- 10:30Alternate Solution
- 11:29Bonuses for choosing BPMN
- 12:40What's a compilation phase?
- 12:59Configuring the application
- 13:35Data Transformation Pipeline
- 13:58Example: BPMN Execution
- 14:35Example: BPMN Visualization
- 14:54Read BPMN into a Data Structure
- 15:24BPMN: From Tree to Graph
- 16:54Compiling a programming language
- 17:59Example. A Configuration File
- 18:22Example. Produce a Report
- 19:03Example. A Workflow Engine
- 19:32Compilation Phases
- 20:22Phase vs Pass
- 22:35Workflow Phases: Evaluation
- 23:22Workflow Phases: Layout
- 23:39Data Structures
- 23:57Pattern Matching
- 24:25The Poor Man's Alternatives
- 25:13Visitor Pattern
- 25:47Workflow Evaluation
- 27:06Workflow Layout
- 28:07The Killer App
- 29:19The Submarine Initiative
- 30:44Native Image: Restrictions
- 31:45Drools DRL
- 32:34Startup Time
- 33:13Take Aways
- 33:45Resources
related talks
40mYour Program as a Transpiler: Applying Compiler Design to Everyday Programming
59mPrinciples of Programming Language Translators
39mYour Program as a Transpiler
44mLet's talk about transpilers
02h 37mA Practical Introduction to Compilation
59mSupercompilation, Partial Evaluation, Futamura Projections and How GraalVM Will Save the World
08mpart7 – Ted Neward
30mLet's talk about transpilers!
