установить Windows для пакета Haskell Frp?

Я пытался установить пакет реактивного банана в Windows, но без особого успеха. Кажется, он знает о пакетах, но не работает при установке. Любые подсказки?

>cabal install Reactive
Resolving dependencies...
...
cabal: Error: some packages failed to install:
category-extras-0.53.5 failed during the building phase. The exception was:
ExitFailure 1
reactive-0.11.5 depends on category-extras-0.53.5 which failed to install.

>cabal install category-extras
Resolving dependencies...
Configuring category-extras-0.53.5...
...
cabal: Error: some packages failed to install:
category-extras-0.53.5 failed during the building phase. The exception was:
ExitFailure 1

>cabal install reactive-banana-wx
Resolving dependencies...
Downloading monads-tf-0.1.0.0...
Warning: monads-tf.cabal: A package using 'cabal-version: >=1.2.3' must use
section syntax. See the Cabal user guide for details.
...
setup.exe: wx-config: does not exist
cabal: Error: some packages failed to install:
reactive-banana-wx-0.3.0.1 depends on wxcore-0.12.1.7 which failed to install.
wx-0.12.1.6 depends on wxcore-0.12.1.7 which failed to install.
wxcore-0.12.1.7 failed during the configure step. The exception was:
ExitFailure 1

etc...

Хорошо, я установил все wx-материалы - сделал несколько шагов. wx-config, затем wxWidgets, затем установите части Haskell (wx, wxcore, reactive-banana.wx). Но базовый Reactive и дополнительные категории по-прежнему терпят неудачу, как указано выше. - шаг 39 из 99 категории-дополнительно не выполняется:

[39 of 99] Compiling Control.Monad.Either ( src\Control\Monad\Either.hs, dist\bu
ild\Control\Monad\Either.o )

src\Control\Monad\Either.hs:44:10:
    Duplicate instance declarations:
      instance Monad (Either e)
        -- Defined at src\Control\Monad\Either.hs:44:10-25
      instance Monad (Either e) -- Defined in Control.Monad.Instances

src\Control\Monad\Either.hs:49:10:
    Duplicate instance declarations:
      instance Applicative (Either e)
        -- Defined at src\Control\Monad\Either.hs:49:10-31
      instance Applicative (Either e) -- Defined in Control.Applicative

src\Control\Monad\Either.hs:53:10:
    Duplicate instance declarations:
      instance MonadFix (Either e)
        -- Defined at src\Control\Monad\Either.hs:53:10-28
      instance MonadFix (Either e) -- Defined in Control.Monad.Fix
cabal: Error: some packages failed to install:
category-extras-0.53.5 failed during the building phase. The exception was:
ExitFailure 1

Обновление:

Я нахожу вселенную Wx для Haskell немного запутанной. Существует множество заметок по этому поводу и описаний проблем с wx и wxHaskell в Windows, в некоторых предложениях требуются старые версии GHC и т. д. Код не совместим с текущими компиляторами MSoft, поэтому требуется установка других компиляторов и т. д. В целом довольно разочаровывает меня после нескольких часов тыкания в него. Я установил wx-config, wxPack, wxWidgets, затем wxHaskell, а затем из cabal wx & wxcore; все сообщил об успехе - все равно не получилось (wxmsw28_gcc.dll не найден, хотя в библиотеке есть). Их первоначальные тесты (образцы/контроли...) терпят неудачу. Все ссылки на примеры и многие другие не работают на страницах wxWidgets и wxHaskell. После перезагрузки (?!) он, кажется, запускает некоторые тесты, так что теперь я надеюсь на успех.

Я надеялся на волшебный опыт установки apt-get.

Для FRP -- Примеры FRP (в лексах) дают массу: Ссылки назначения не найдены для... сообщений об ошибках, но пока что запускаются.

В целом, по моему опыту, кажется, что wxHaskell и FRP не очень просты в использовании в Windows. Определенно не то, что я бы назначил классу, чтобы попробовать в качестве хорошего примера простоты и полезности Haskell! :-)

Я ценю всю сложность и работу, связанную с этими пакетами, и не хочу жаловаться - просто отчет об опыте. Возможно, пакеты wxHaskell широко не используются или ..??


person guthrie    schedule 11.07.2011    source источник
comment
Похоже, вам нужен wx-config, который, вероятно, является частью wxWindows?   -  person alternative    schedule 11.07.2011
comment
Хорошо, я установил все wx-материалы - сделал несколько шагов. wx-config, затем wxWidgets, затем установите части Haskell (wx, wxcore, reactive-banana.wx). Но базовый Reactive и дополнительные категории по-прежнему терпят неудачу, как указано выше.   -  person guthrie    schedule 12.07.2011


Ответы (2)


Обратите внимание, что вы должны включить «банан» в «реактивный банан». :-)

cabal install reactive-banana
cabal install reactive-banana-wx

Другими словами, Reactive — это не тот пакет, который вы ищете, а reactive-banana. (Пакет Reactive — это более старый эксперимент Конала Эллиотта с аналогичными целями, но в нем есть несколько системных ошибок, и теперь он немного подгнил.)

person Heinrich Apfelmus    schedule 12.07.2011
comment
Спасибо - это исправлено! Похоже, есть проблемы с установкой другого пакета (см. Выше), рад их избежать. - person guthrie; 12.07.2011
comment
Примечание: аналогичная ошибка устраняется с помощью apt-get install libwxgtk2.8-dev в моем Debian. - person Vi.; 31.10.2011

Похоже, здесь находится порт wx-config для Windows. Я был бы удивлен, если бы его еще не было в wx-core. У вас установлена ​​библиотека WX c? Он нужен — пакет Haskell — это просто привязки к библиотеке C.

person Thomas M. DuBuisson    schedule 11.07.2011
comment
Я думаю, что нашел бинарный файл для загрузки на sourceforge - странно, что он не упоминается на их домашней странице (!). ссылка Добавление wx -config, на который вы указали, не имеет никакого значения. - person guthrie; 12.07.2011
comment
@guthrie, тогда скомпилируй сам? Я думаю, это то, что они рекомендуют в любом случае - person alternative; 12.07.2011