Programming Power Paradox
summary
Claim: moving between levels is power, not high‑level syntax alone. A new DSL called Paradox domain specification language generates TypeScript and Haskell, a working Node web app via Paradox Node generator, and shares runtime validations between browser forms, API, and PostgreSQL constraints. Demo builds a CRUD app for “sandos” and users with role‑based permissions, filesystem overrides for custom endpoints and UI, pure spec with no IO permitted, and planned migration diffs; demo succeeds without AI.
AI-written summary · about
chapters (22)
- 0:00Introduction to the Programming Power Paradox
- 1:04Defining programming power and its paradox
- 2:53The compiler versus application development axis
- 8:09Limitations of current automation approaches
- 10:21The paradox of compiler-insider application development
- 12:09Introducing Paradox as a solution
- 14:56Live demonstration of Paradox types
- 17:17Generating TypeScript from Paradox specifications
- 18:01Building a working application with Paradox Node
- 20:21Adding user roles and permissions
- 22:32Customizing UI with illuminations
- 29:32Extending the application with multi-phase development
- 32:01Overriding generated components by convention
- 36:49Generating frontend and backend code
- 41:28Resolving the paradox with Paradox's approach
- 42:31Handling data persistence and migrations
- 43:57Tradeoffs in automating lower-level tools
- 46:06Configuring and layering generators
- 47:31Paradox as a domain specification language
- 48:14Parameterizing Paradox files for different environments
- 49:21Future potential and community feedback
- 52:50Closing remarks and Q&A
related talks
32mTour of language landscape
01h 01mThree Unlikely Successful Features of D
40mTBA: Developer experience stuff?
56mThe Tale of Troy
38mType-level interfaces in Haskell & Rust: pragmatic type-level programming
26mPest: Building a Language Server
36mThe language that isn't
28m"Making a Programming Language for 3D Design"
