Windows установить для пакета Haskell Frp? - PullRequest
2 голосов
/ 11 июля 2011

Я пытался установить реактивный пакет бананов на 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, реактивный-banana.wx).Но базовые Reactive и Category-Extras по-прежнему не работают, как указано выше.- шаг 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 install.

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

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

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

Ответы [ 2 ]

6 голосов
/ 12 июля 2011

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

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

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

1 голос
/ 11 июля 2011

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

...