2023年4月1日 星期六

Haskell的函數庫和沙盒

 Haskell 管理 package 和編譯專案的軟體 cabal,以前有沙盒功能,建立沙盒環境後,自己的專案所引入的函數庫不會污染到別的地方,只在自己的專案有用。現在這功能已經拿掉了。為何呢?


因為現在 cabal 安裝套件 (package),只是將 package 編譯,個別的專案並不能直接引入使用,package 還是處於隱藏的狀態。必須先用 cabal init 產生專案,在產生的 .cabal 檔中
build-depends: 後面指定才行,多個 package 用逗號分開。這時在程式碼中用 import 引入才有作用。如果想在這專案環境下用 ghci ,必須用 cabal repl 指令。cabal init 需要 git 程式來產生 license 檔,所以 terminal 中必須有 git 指令才行。

沒有留言: