Где указывается, следует ли разрешать идентификаторы Unicode в реализации Haskell?

Я хотел написать некоторый образовательный код на Haskell с символами Unicode (не латинскими) в идентификаторах. (Чтобы идентификаторы выглядели красиво и естественно для носителей естественного языка, отличного от английского, который не использует латинские символы в своем написании.) Итак, я решил найти подходящую реализацию Haskell, которая позволила бы это.

Но где эта функция указана в спецификации языка? Как я могу ссылаться на эту функцию при поиске соответствующей реализации? (И какие реализации Haskell, как известно, на самом деле поддерживают идентификаторы Unicode?)

Оказалось, что одна реализация Haskell действительно принимала мой код с идентификаторами Unicode, тогда как другая не принимала его. Я бы хотел, чтобы был способ формализовать это требование моего кода, возможно, в форме переключения языковых функций, чтобы, если я или кто-то другой попытается запустить мой код, сразу станет ясно, не хватает ли в его реализации требуемой функции, и, следовательно, он должен искать другую. (Для этой функции может быть также вики-страница - «Идентификаторы Unicode», на которой будет перечислено, какие из существующих реализаций поддерживают ее, чтобы можно было знать, куда идти, если она понадобится.)

(Кстати, я добавили тег "синтаксис" к этому вопросу, но я на самом деле считаю, что это проблема уровня лексирования, более низкого уровня, чем синтаксис языка. Есть ли здесь тег для характеристик уровня лексирования языка , а не особенности синтаксической спецификации языка?)

9
задан imz -- Ivan Zakharyaschev 3 April 2011 в 13:05
поделиться