作者
Tom Davies <todavies5(at)gmail(dot)com>
状态
已拒绝
类型
标准跟踪
创建时间
2023年6月1日

EEP 63: 轻量级 UTF-8 二进制字符串字面量和模式 #

摘要 #

本 EEP 提议为 UTF-8 二进制字符串字面量和模式引入新的语法,使其与列表字符串保持一致。

列表字符串(即由 Unicode 码位列表表示的字符串)具有方便的语法:"这是我的字符串",但 UTF-8 编码的二进制字符串的相应语法则较为繁琐:<<"这是我的字符串"/utf8>>

在此,我们为 UTF-8 二进制字符串字面量提出一种轻量级的替代语法

Str = b"This is my string".

和模式

case Str of
  b"This is my string" -> ok;
  _ -> error
end.

实现概要 #

在编译和 shell 求值早期,新语法将被解糖为相应的现有语法,例如,b"这是我的字符串" 将被重写为 <<"这是我的字符串"/utf8>>

参考实现 #

待定

向后兼容性 #

新语法在旧版本中无效,因此不会影响现有代码。

新语法的实现将纯粹通过早期的重写步骤进行,因此将在后续编译器阶段之前被解糖为现有表示。这意味着字节码不受影响,但调试/AST 数据将反映新的源表示。

版权 #

本文档置于公共领域或 CC0-1.0-通用许可之下,以更宽松者为准。