Hasty Briefsbeta

双语

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打印和政府效率问题等阅读内容。