Haskellでreactiveをインストールできない
このサイトの「sinwave.hs」をいうのを実行してみたくて、Haskellを導入してみた際の質問です。
http://maoe.hatenadiary.jp/entry/20100123/1264225964
どうもreactiveというライブラリが必要みたいなので、
$ cabal install reactive
とインストールしてみようとしたのですが、
以下のようなエラーが出てしまいました。
Warning: --root-cmd is no longer supported, see
https://github.com/haskell/cabal/issues/3353 (if you didn't type --root-cmd,
comment out root-cmd in your ~/.cabal/config file)
Resolving dependencies...
Configuring reactive-0.5.0.1...
Building reactive-0.5.0.1...
Failed to install reactive-0.5.0.1
Build log ( /Users/kamesho/.cabal/logs/ghc-8.2.1/reactive-0.5.0.1-CYwyF7YDHygLOkFL84NpWM.log ):
cabal: Entering directory '/var/folders/2f/936bl12n26n3jhgrqwdmbyvc0000gn/T/cabal-tmp-5107/reactive-0.5.0.1'
Configuring reactive-0.5.0.1...
Preprocessing library for reactive-0.5.0.1..
Building library for reactive-0.5.0.1..
src/Data/SFuture.hs:4:16: warning:
-fglasgow-exts is deprecated: Use individual extensions instead
|
4 | {-# OPTIONS_GHC -fglasgow-exts #-}
| ^^^^^^^^^^^^^^^^
src/Data/Reactive.hs:6:16: warning:
-fglasgow-exts is deprecated: Use individual extensions instead
|
6 | {-# OPTIONS_GHC -fglasgow-exts #-}
| ^^^^^^^^^^^^^^^^
[1 of 4] Compiling Data.Fun ( src/Data/Fun.hs, dist/build/Data/Fun.o )
[2 of 4] Compiling Data.Future ( src/Data/Future.hs, dist/build/Data/Future.o )
src/Data/Future.hs:58:1: warning: [-Wunused-imports]
The import of ‘Control.Applicative’ is redundant
except perhaps to import instances from ‘Control.Applicative’
To import instances alone, use: import Control.Applicative()
|
58 | import Control.Applicative
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
src/Data/Future.hs:108:11: warning: [-Wunused-do-bind]
A do-notation statement discarded a result of type
‘ghc-prim-0.5.1.0:GHC.Types.Any’
Suppress this warning by saying
‘_ <- forever $ threadDelay maxBound’
|
108 | forever $ threadDelay maxBound
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/Data/Future.hs:123:17: warning: [-Wunused-do-bind]
A do-notation statement discarded a result of type ‘ThreadId’
Suppress this warning by saying ‘_ <- forkIO $ mka >>= sink’
|
123 | forkIO $ mka >>= sink
| ^^^^^^^^^^^^^^^^^^^^^
[3 of 4] Compiling Data.Reactive ( src/Data/Reactive.hs, dist/build/Data/Reactive.o )
src/Data/Reactive.hs:223:10: error:
• No instance for (Alternative Event)
arising from the superclasses of an instance declaration
• In the instance declaration for ‘MonadPlus Event’
|
223 | instance MonadPlus Event where { mzero = mempty; mplus = mappend }
| ^^^^^^^^^^^^^^^
cabal: Leaving directory '/var/folders/2f/936bl12n26n3jhgrqwdmbyvc0000gn/T/cabal-tmp-5107/reactive-0.5.0.1'
cabal: Error: some packages failed to install:
reactive-0.5.0.1-CYwyF7YDHygLOkFL84NpWM failed during the building phase. The
exception was:
ExitFailure 1
コードの中にエラーがあるようですが、これではどうしようもなさそうだったので、今度は直接reactiveのコードをダウンロードしてインストールしようと試みました。
まず下のサイトにアクセスして、0.5.0.1のtar.gzをダウンロードします。
https://hackage.haskell.org/package/reactive
そして、展開したディレクトリ内で以下のコマンドを入力します。
$ runhaskell Setup.lhs configure
すると、以下のような出力になって、configureがうまくいきません。
Configuring reactive-0.5.0.1...
Setup.lhs: Encountered missing dependencies:
TypeCompose >=0.6.7
TypeComposeというライブラリのバージョンが小さいのかと思ってTypeComposeのバージョンを確認してみましたが、以下のような感じで、バージョンにも問題ないように見えます。
$ cabal list --installed
(~省略~)
* TypeCompose
Synopsis: Type composition classes & instances
Default available version: 0.9.12
Installed versions: 0.9.12
Homepage: https://github.com/conal/TypeCompose
License: BSD3
何分Haskellを触るのが初めてなもので、いまいちライブラリのインストール方法などが掴みきれてない状態です。
どうしたらreactiveをインストールする事が出来るでしょうか?
ちなみに今の環境は以下の通りです。
パソコン:MacBook Air (13-inch, Early 2014)
OS:macOS Sierra Ver. 10.12.6
cabal:
cabal-install version 2.0.0.0
compiled using version 2.0.0.2 of the Cabal library
足りない情報があればぜひお伝えください。よろしくお願いします。