2016-07-03 8 views
1

я использую схему MIT, и хотел бы быть в состоянии сделать что-то вроде этого:MIT Scheme с использованием специальных символов в интерпретаторе

(define π 3.14159265)

Не имея ошибку кодирования, как это:

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

MIT Scheme does have Unicode support, но похоже, что он не поддерживает unicode в коде, что я и ищу. Оказывается, ISO-8859-1 (кодировка, используемая в MIT Scheme) не содержит в себе никаких греческих букв, что очень жаль.

решения, которые могли бы работать, но не очень хорошо:

  1. Дать все мои кода в текстовые файлы и с помощью встроенного в поддержку юникода, чтобы read в символы Юникода как код.
  2. Переписывание всего интерпретатора для приема имен Unicode
  3. Использование другой реализации lisp, которая позволяет использовать имена Unicode.

Не могу дождаться, чтобы услышать от переполнения стека!

ответ

2

Вы можете использовать символы unicode в guile, gambit, scm и chicken точно.

+1

И в Racket (протестированы языки '#! Racket',' #! R5rs' и '#! R6rs') – Sylwester

+0

В любом случае, я, вероятно, не должен использовать MIT-Scheme для неакадемических целей. –