How do you prototype a nice language?
a year ago
- #Programming Languages
- #Software Development
- #Prototyping
- 作者过去一个月一直在开发一种代码CAD语言的原型,在语法、解析器和求值器方面取得了进展。
- 目前的演示效果平平,类似于游戏编程或硬件工程中的基础示例。
- 目标是实现软件hygge(舒适感):即时加载、零崩溃和舒适的用户体验。
- 正在探索双向编辑的概念,允许通过图形界面和源代码两种方式操作几何体。
- 原型开发中的挑战包括在最小可行产品和忽视缺陷之间取得平衡。
- 首次从零构建语言,在变量绑定、函数解析和求值机制方面遇到挑战。
- 发现Nystrom的《Crafting Interpreters》很有帮助,同时使用Clojure的tools.analyzer进行数据处理。
- 考虑过但最终放弃使用Tree-sitter进行解析,选择了熟悉的Instaparse等工具。
- 正在探索语言实现与编辑器工具链统一化的方法。
- 寻找已有编程语言中支持第一方LSP和双向编辑的参考案例。
- 提及了Gleam、Lady Deirdre、Roslyn和ClojureStorm等多种资源工具。
- 分享了个人兴趣领域,包括语言设计、3D打印和政府效率问题等阅读内容。