2015-07-23 24 views
5

Ghci'de Writer monad'ı denemek istiyorum. here numaralı telefondan tavsiye edildiği gibi, GHC ve paketleri yönetmek için yalnızca yığın kullanıyorum ve global bir kurulumdan kaçındım.Yalnızca yığın kullanıldığında paketler nasıl gizlenebilir?

stack setup 
mkdir lyah && cd lyah 
stack new 
stack install mtl 
stack ghci 
ghci> import Control.Monad.Writer 
Could not find module ‘Control.Monad.Writer’ 
It is a member of the hidden package ‘mtl-2.1.3.1’. 

ben ön yığını ghc-pkg/gizlemek paketleri göstermek için kullanıldığını anlıyorum ama burada devam etmek nasıl emin değilim: taze Ubuntu 15.04 itibaren

yığını yükledikten sonra, yüklemek mtl paketini 'göster'.

cevap

10

.Calal dosyasını stack new düzenleyin ve bölümünü build-depends bölümüne ekleyin ve ekleyin. Dosyanın bu kısmı aşağıdaki gibi görünmelidir:

build-depends:  base >= 4.7 && < 5 
        , mtl 

Sonra bir stack buildstack ghci önce yapmak.

Bu arada, kitaplıkları yüklemek için stack install'u kullanmayın - yalnızca ikili dosyaları kopyalamak için bir kısayoldur. Örneğin. stack install hlint ilk önce paketi oluşturacak ve sonuçta oluşan ikili dosyayı ~/.local/bin/'a kopyalayacaktır. Bunun yerine, her zaman paketleri yukarıda gösterildiği gibi .cabal dosyasına ekleyin ve stack build'u yükleyin, böylece yüklensin.

İlgili konular