How do you prototype a nice language?
a year ago
- #Programming Languages
- #Software Development
- #Prototyping
- Author has been prototyping a codeCAD language for the past month, making progress in grammar, parser, and evaluation.
- Current demos are underwhelming, akin to basic examples in game programming or hardware engineering.
- The goal is software hygge: instant loading, no crashes, and a comfortable user experience.
- Bidirectional editing is an idea being explored, allowing manipulation of geometry both graphically and through source code.
- Prototyping challenges include balancing between minimal viable product and ignoring flaws.
- First-time building a language from grammar, with challenges in binding, function resolution, and evaluation.
- Found 'Crafting Interpreters' by Nystrom useful, alongside Clojure tools.analyzer for data processing.
- Considering but decided against Tree-sitter for parsing, opting for familiar tools like Instaparse.
- Exploring unified approaches for language implementation with integrated editor tooling.
- Looking for prior art in programming languages with first-party LSP support and bidirectional editing.
- Mentions various resources and tools like Gleam, Lady Deirdre, Roslyn, and ClojureStorm.
- Shares personal interests and readings, including language design, 3D printing, and government inefficiency.