Hasty Briefsbeta

Bilingual

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.