2015-12-03 21 views
8

Buduję prosty skrypt z runhaskell i próbuję użyć FastString z ghc-7.10.2. Po prostu:Jak mogę odkryć bibliotekę GHC za pomocą Runhaskell

import FastString 

main = putStrLn "Hello SO" 

uruchomienie go z runhaskell Main.hs skutkuje błędem:

Main.hs:1:8: 
    Could not find module ‘FastString’ 
    It is a member of the hidden package ‘ghc-7.10.2’. 
    Use -v to see a list of the files searched for. 

wiem, że mogę zbudować go z cabal i określić ghc jako uzależnienia, ale naprawdę trzeba to zrobić z runhaskell.

Jak mogę odkryć bibliotekę GHC przy użyciu runhaskell?

Odpowiedz

5

TL; DR:

$ ghc-pkg expose ghc 

No runhaskell jest po prostu otoki wokół runghc i runghc jest w zasadzie ghc. Wszystkie mają te same reguły: mogą importować tylko pakiety ze skonfigurowanej bazy danych.

Używając ghc-pkg describe {package-name}, można uzyskać informacje o określonym pakiecie. Istotna jest tu pole exposed:

$ ghc-pkg describe ghc | grep expose 
exposed: False 
exposed-modules: 

Jak widać, pakiet nie jest narażony (a więc jest ukryty). Korzystanie ghc-pkg expose, można go odkryć:

$ ghc-pkg expose ghc 

Należy pamiętać, że trzeba uprawnienia jeśli zmieniając ustawienia swojej szerokiej bazy danych systemu pakietów.

Powiązane problemy