понедельник, 14 февраля 2011 г.

Gtk2 и Haskell

Будем считать, что вы уже скачали Gtk2-Bundle и распаковали его в c:\gtk. Также вы прописал в переменной окружения PATH пути: c:\gtk\bin;c:\gtk\lib. Теперь необходимо установить gtk2hs-buildtools, который в свою очередь потребует установит пакет alex:
cabal install alex
Пакет alex собирается в %APPDATA%\cabal\bin, и поэтому этот путь также нужно включить в список PATH.
Теперь можно поставить gtk2hs-buildtools:
cabal install gtk2hs-buildtools
А теперь можно поставить и gtk:
cabal install gtk
Подождите несколько минут... и скомпилируйте вот этот код, чтобы удостовериться, что всё прошло нормально (x.hs назовем этот файл):
module Main where
import Graphics.UI.Gtk
main::IO()
main = do
        initGUI
        window <- windowNew
        l <- labelNew (Just "GTK2")
        containerAdd window l
        onDestroy window mainQuit
        widgetShowAll window
        mainGUI
Проверьте этот код в режиме интерпретации и в режиме компиляции:
ghci x.hs 
ghc --make x.hs -o test
test
Заметка: при запуске программы в режиме интерпретации может вылетать ошибка unknown symbol `_cairo_surface_destroy'. Дискуссия по этой проблеме ведется здесь и тут.
Отмечу, что у меня при установленной ghc-6.12.3+gtk-2.22 вылетала эта ошибка. Однако, при использовании Haskell Platform 2010 + gtk-2.18 накладок не возникло (связку Haskell Platform 2010 + gtk-2.22 проверю позже).

четверг, 10 февраля 2011 г.

Отвлекаемся - проверка орфографии в Eclipse

Самый простой способ - использовать словари ASpell:

mkdir d:\eclipse\dict
cd d:\eclipse\dict
aspell dump master en | iconv -f koi8-r -t utf-8 > en.dict
aspell dump master ru | awk -F/ '{print $1}' | iconv -f koi8-r -t utf-8 > ru.dict
cat en.dict ru.dict > en-ru.dict



Созданный словарь можно установить так: идем в Window -> Preferences... и выбираем раздел General -> Editors -> Text Editors -> Spelling. После этого добавляем словарь (поле User defined dictionary).

Готовый файлик словаря можно взять здесь. В этом файле по одному слову на строку. Словарик хоть неполный, но достаточный.  Дополнить его несложно - нужно дописать недостающие слова в конец файла (ну или в середину, а можно и в начало).

По мотивам:http://www.simplecoding.org/proverka-orfografii-v-eclipse.html

среда, 9 февраля 2011 г.

Eclipse и Haskell

Внимание! Статья старая и уже неактуальная! Если вы ищете IDE для Haskell, то прочитайте Заметки об IDEшках для Haskell.

Что вы получите, прочитав этот текст: элементарно, вы получите Eclipse, способный работать с языком Haskell.



Моя конфигурация:
  • Eclipse Helios: 3.6.1
  • GHC: 6.12.3
  • msys, msysDTK;
  • MinGW (попробуйте последнюю версию). Желательно заполучить именно MinGW, под Cygwin не соберется необходимый пакет - network.
  • Windows Vista Home Premium SP2 32bit
Ставим на загрузку Eclipse Helios (если у вас его ещё нет) и в это время выполняем следующие команды:

git clone git://github.com/JPMoresmau/scion.git
cd scion
cabal update
cabal install cabal-install (может не сработать! - не беда)
cabal install happy
cabal install HUnit
cabal install QuickCheck
cabal install network


cabal install -fcabal_1_8


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

  • ошибка линковки, при которой сборщик будет ругаться на библиотеку network. Решение: попробуйте переустановить ghc и пересобрать все пакеты с использованием MinGW + msys.
  • при установке scion cabal.exe ругается фразой permission denied. На эту ошибку можно не обращать внимания. Возможно, cabal.exe просто бесправная программа. Возьмите собранный сервер в папке dist/build.

git clone git://github.com/JPMoresmau/eclipsefp.git

Запустим Eclipse и установим модуль Multi Project Import/Export для чего добавим адрес
http://eclipse-tools.sourceforge.net/updates/ в список адресов, по которым Eclipse будет искать модули (меню Help->Install Software...->Add.). После того, как Eclipse скачает список модулей, доступных по этому адресу, найдем в этом списке модуль с нужным именем и установим его.


Экспортируем все проекты из ранее созданной командой git директории eclipsefp, воспользовавшись File->Import->Other->Multiple projects.


Собираем все, что экспортировали (если не соберется выделите все проекты и нажмите Refresh, после чего продолжите сборку. Если это не поможет, попробуйте вот этот патч).


Заходим Run->Run Configurations...->Eclipse Application. Создаем новую конфигурацию (называем её Haskell, например). Оставляем настройки по умолчанию и жмем на кнопку Run. После этого откроется новое окно. Подождите... Может быть потребуется вручную указать расположение Scion-сервера (Windows->Preferences->Haskell->Scion and Cabal):





Хочу заметить, этот мануал не исключение и второй раз не проверялся :)

По мотивам:
http://www.haskell.org/pipermail/beginners/2010-April/004028.html
http://eclipsefp.sourceforge.net/build.html
http://trac.haskell.org/network/ticket/20
http://neilmitchell.blogspot.com/2010/12/installing-haskell-network-library-on.html

Может пригодиться: