Как я могу установить приглашение GHCi на символ лямбды в Windows?

Я хочу иметь символ лямбда (λ) в качестве своего приглашения в GHCi (7.8) в Windows 7, поэтому я установил свой .ghci файл как

:set +m
:set prompt  "λ: "
:set prompt2 " | "

И я установил свой консольный шрифт в Lucida Console, так как он должен поддерживать Unicode, но когда я загружаю GHCi, это выглядит так:

no lambda!

Как я могу заставить Windows правильно распознать символ λ?

Ответ 1

На самом деле это довольно простое исправление, просто запустите следующую команду перед запуском GHCi:

> chcp.com 65001

Это устанавливает кодировку Window на кодовую страницу 65001, которая позволяет отображать λ надлежащим образом:

enter image description here

Это также позволит отображать много других символов Юникода в cmd.exe и других оболочках Windows (таких как Cygwin bash), но поддержка Unicode в Windows по-прежнему не идеальна, а некоторые шрифты не поддерживают многие из персонажей. К счастью, λ является поддерживаемым символом, поэтому у всех может быть классическое приглашение GHCi.

Ответ 2

Использование > chcp.com 65001 работало с ghci, но открыв другие текстовые файлы с помощью vim, после установки этой кодовой страницы вернул искаженный текст.

Добавьте следующее к %USERPROFILE%\.ghci. Вместо того, чтобы изменять кодовую страницу, вы можете использовать лямбда с кодировкой Unicode \x03BB:

:set prompt  "\x03BB: "

Если %USERPROFILE%\.ghci не существует, создайте его перед внесением изменений.