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

Unicode 在解释器中使用特殊字符的MIT方案,unicode,character-encoding,scheme,lisp,mit-scheme,Unicode,Character Encoding,Scheme,Lisp,Mit Scheme,我正在使用麻省理工学院的计划,并希望能够做到以下几点: ;Illegal character: #\U+80 ;To continue, call RESTART with an option number: ; (RESTART 1) => Return to read-eval-print level 1 (定义π3.14159265) 没有这样的编码错误: ;Illegal character: #\U+80 ;To continue, call RESTART with an o

我正在使用麻省理工学院的计划,并希望能够做到以下几点:

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

没有这样的编码错误:

;Illegal character: #\U+80
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1
麻省理工学院的方案,但它似乎不支持unicode的代码,这是我期待做的。结果是ISO-8859-1(MIT方案中使用的编码)中没有任何希腊字母,这是一个遗憾

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

  • 将所有代码写入文本文件,并使用内置的unicode支持将unicode字符中的
    读取为代码
  • 重写整个解释器以接受unicode名称
  • 使用允许Unicode名称的不同lisp实现

  • 迫不及待地想听到堆栈溢出器的声音

    你当然可以在guile、gambit、scm和chicken中使用unicode符号。

    和Racket(测试了语言
    !Racket
    !r5rs
    、和
    !r6rs
    )我可能不应该出于非学术目的使用麻省理工学院的方案。