Извините за простоту этого вопроса, но я не нашел другого вопроса, касающегося моей проблемы. Я установил haskell и лексах, затем выполнил "cabal install nat" для установки библиотеки натуральных чисел. Библиотека выглядит так, как будто она была установлена в "/Users/jstanford/Library/Haskell/ghc-7.0.4/lib/nat-0.2/lib"
Я создал рабочую область и пакет в лексах и обновил свои настройки, чтобы посмотреть:
/Library/Frameworks/GHC.framework /Users/jstanford/Library/Haskell /Users/jstanford/.leksah-0.10/packageSources
для исходников пакетов и оставил значение по умолчанию ~/.leksah-0.10/packageSources для распаковки пакетов клики.
Я взял первые фрагменты кода из «Жемчужины дизайна функциональных алгоритмов», поэтому мой код выглядит так:
-----------------------------------------------------------------------------
--
-- 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 смог найти импорт для \ и Array, но не смог найти Nat. Любые указатели на то, как найти импорт? Компилятор также жалуется на accumArray(V). Я подозреваю, что V на самом деле не должна быть заглавной буквой V, а скорее каким-то символом, похожим на V. Руководство по этому вопросу также будет очень признательно!