この質問の単純さを間違えても、私の問題を解決した別の質問は見つかりませんでした。私はhaskellとleksahをインストールしてから、自然数libをインストールするために "cabal install nat"を実行しました。 libは "/Users/jstanford/Library/Haskell/ghc-7.0.4/lib/nat-0.2/lib"にインストールされているようです。cabalをインストールした後でhaskellにlibをインポートする
私はleksahで作業スペースとパッケージを作成し、私のprefsを更新しましたで検索する:パッケージソースの
/Library/Frameworks/GHC.framework /ユーザ/ jstanford /ライブラリ/ハスケル /Users/jstanford/.leksah-0.10/packageSources
および/〜デフォルトのままに.leksah-0.10 /パッケージソースを解凍するためのパッケージソース。
私のコードは次のようになりますので、私は、「機能のアルゴリズムデザインの真珠」からのコードの最初のスニペットをつかん:
-----------------------------------------------------------------------------
--
-- Module : Main
-- Copyright :
-- License : AllRightsReserved
--
-- Maintainer :
-- Stability :
-- Portability :
--
-- |
--
-----------------------------------------------------------------------------
module Main (
main
) where
import Data.List ((\\))
import GHC.Arr (accumArray, elems, Array(..))
minfree :: [Nat] -> Nat
minfree xs = head([0 ..])\\ xs
search :: Array Int Bool -> Int
search = length takeWhile id . elems
checklist :: [Int] -> Array Int Bool
checklist xs = accumArray(V) False (0,n)
(zip (filter (<= n) xs) (repeat True))
where n = length xs
main = (
minfree[0, 2, 5]
)
Leksahは\と配列のための輸入を見つけることができたことはできませんが、ナットを見つける。どのようにインポートを見つけるための任意のポインター?コンパイラは、accumArray(V)についても不平を言います。私はVが本当に大文字のVではなく、むしろVのようないくつかのシンボルであると考えています。それについてのガイダンスも非常に高く評価されます!
パッケージの依存関係にnatを追加する必要がありました。この質問はまた助けになりました:http://stackoverflow.com/questions/4170426/importing-haskell-modules – jxstanford