MIT 方案在解释器中使用特殊字符

问题描述 投票:0回答:1

我正在使用麻省理工学院的方案,并且希望能够做这样的事情:

(define π 3.14159265)

没有这样的编码错误:

;Illegal character: #\U+80
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1

麻省理工学院方案确实有Unicode支持,但似乎它在代码中不支持unicode,这正是我想要做的。事实证明,ISO-8859-1(MIT方案中使用的编码)里面没有任何希腊字母,这是一个遗憾。

可能有效但不是很好的解决方案:

  1. 将我的所有代码写入文本文件,并使用内置的 unicode 支持将 unicode 字符中的
    read
    作为代码。
  2. 重写整个解释器以接受 unicode 名称
  3. 使用允许 Unicode 名称的不同 Lisp 实现。
unicode character-encoding scheme lisp mit-scheme
1个回答
2
投票

你肯定可以在 guile、gambit、scm 和 Chicken 中使用 unicode 符号。

© www.soinside.com 2019 - 2024. All rights reserved.