На днях разгребал архивы закаченных файлов и среди прочего были обнаружены несколько статей
- http://www.nestor.minsk.by/sr/2003/07/30710.html
- http://local.joelonsoftware.com/wiki/Опасности_обучения_на_Java
- http://local.joelonsoftware.com/wiki/А_ваш_язык_программирования_так_может%3Fa
Сложно не заинтересоваться.
В то же время, неподалеку была обнаружена книжка Харольд Абельсон, Джеральд Джей Сассман Структура и интерпретация компьютерных программ. Английский вариант:http://mitpress.mit.edu/sicp/full-text/book/book.html. Книжка, вообще говоря, и не совсем про лисп, но примеры на Scheme. Хороший способ совместить приятное с полезным.
В чем же дело? Нам нужна реализация той самой Scheme, на которой написаны примеры в книжке. Вот она: http://mitpress.mit.edu/sicp/scheme/index.html Скачиваем, устанавливаем заботливо собранный и для пользователей Windows бинарник http://www.gnu.org/software/mit-scheme/. Там же рядом PDF - версии документации. После установки, конечно, прописываем C:\Program Files\MIT-GNU Scheme\bin\ в PATH.
Конечно, это все теперь нужно прикрутить к Emacs (а как же без этого?!). Тут все уже написано: http://xtalk.msk.su/~ott/ru/writings/emacs-devenv/EmacsScheme.html#xscheme.. Итак, нам нужен Xscheme. Он входит в стандартный комплект Emacs, конечно, можно взять и версию http://www.gnu.org/software/mit-scheme/, но она едва ли новее. Выглядит не сложно. Нужно лишь запустить процесс Scheme. В самом приложении (Scheme.exe) про существование Windows не очень в курсе, т.к. путь поиска по band-файла all.com по умолчанию \scheme\lib. Кхм, ладно смотрим документацию. Решение: использовать переменную окружения MITSCHEME_LIBRARY_PATH со значением, например C:\Program Files\MIT-GNU Scheme\lib.
Наконец, M-x start-scheme успешно запущен. Но в созданном буфере scheme никакого процесса scheme нет, хотя некая консоль в соседнем окне запустилась. Возвращаемся на http://www.gnu.org/software/mit-scheme/ (прикидывая, оформить это как вопрос или уж сразу баг-репорт, в конце-концов, кому придет в голову тестировать все это в Windows?:)). А там, тем временем, относительно использования xscheme и emacs черным по белому написано: This doesn't work on Windows or OS/2.
Ладно, все же в комплекте MIT/GNU Scheme идет emacs-подобный редактор Edwin. Но разве Windows проще Linux?
Я использую Quack и MzCheme. Всё это стоит на винде, особых проблем с установкой не было.
ОтветитьУдалитьЕсли ты пробуешь установить линуксовую программу на винде, то конечно у тебя будут проблемы :-).
MIT Scheme практически мертва. для начала я бы рекомендовал plt scheme, в ее составе есть подробная документация, включая книгу how to design programs, и богатый набор библиотек, в том числе и для изучения схемы по различным курсам
ОтветитьУдалитьЛинуксовую? Она позиционируется как кроссплатформенная. PLT Scheme - похоже то что нужно. Quack и MzCheme действительно хорошо дружат. Еще удалось подружить Scheme48 и slime48.
ОтветитьУдалитьЕдинственная проблема в Quack и MzCheme - то что (не напутать бы с терминологией) при запуске процесса в буфере *scheme* этот буфер создается в отдельном фрейме. Конечно, можно вручную закрыть тот фрейм, разделить окно основного (и единственного к этому времени) фрейма на 2 окна, в нижнем окне открыть буфер *scheme*, а в верхнем редактировать и запускать на исполнение *.scm - файл, но это все вручную...
ОтветитьУдалитьВи не поверите, но с запуском MSWord под линуксом проблем ещё больше.
ОтветитьУдалитьНу MSWord даже не пытается быть кроссплатформенным, скорее уж наоборот. Но unix-софт всяко проще портировать подо все на свете. Консоль - она и в Африке консоль. Не использовать абсолютных путей, да native api.
ОтветитьУдалить