Hasty Briefsbeta

双语

Representing Heterogeneous Data (2023)

8 months ago
  • #type-systems
  • #game-development
  • #programming-languages
  • 作者正在将一种动态类型的游戏脚本语言转换为静态类型,重点关注简洁性和熟悉度。
  • 异构数据表示是一个关键问题,涉及可选数据和不同形式的数据处理。
  • 讨论了处理异构数据的多种方法:空值、变体类型、无标签联合、求和类型以及子类型。
  • 作者倾向于在其语言中使用求和类型,但发现模式匹配语法对于命令式语言不够直观。
  • 提出了一种受Pascal变体记录启发的替代方案,允许特定情况字段并通过运行时检查确保安全性。
  • 该方案将共享字段和特定情况字段结合在单一结构中,平衡了简洁性与安全性。
  • 考虑了流式类型化,但认为其过于复杂,不符合该语言追求简单可预测行为的目标。