HASKELL
Haskell project setting - cabal file 본문
Haskell project setting - cabal file
Haskell project 생성하고 난 후에 코딩을 했다. 그리고 stack build, stack exec <project name>을 하면 결과가 출력된다. 그런데 Main.hs 파일 외에 다른 파일들을 만들고, 그 파일들을 Main.hs에서 import 하려면 어떻게 해야 할까? 그냥 아무런 작업을 안 해도 자동으로 잘 될까? 어차피 stack new <project name> 이란 명령으로 만든 프로젝트니까, 그 안에서 여러 파일들이 자동으로 연결될까? 그렇지 않다.
만들어진 프로젝트를 살펴보면, <project name>.cabal 이란 파일이 있다. 만들었던 프로젝트의 이름이 myproject였다면, myproject.cabal 이란 파일이 만들어져 있다. 내용을 유심히 뜯어보면, (1) Main.hs 란 파일이 app 폴더에 있는 프로젝트를 실행하는 main 파일이라는 것, (2) library는 src에 있고 프로젝트에 사용되는 module 은 Lib 라는 이름의 하나의 module 뿐이라는 것 등을 알 수 있다.
library
exposed-modules:
Lib -- Lib 모듈을 노출시켜 프로젝트가 이용할 수 있게 하겠다.
other-modules:
Paths_myhs
hs-source-dirs:
src -- library 파일들은 src 폴더에 있다.
build-depends:
base >=4.7 && <5
default-language: Haskell2010
executable myhs-exe
main-is: Main.hs -- Main.hs 파일이 프로젝트의 중심 파일이다.
other-modules:
Paths_myhs
hs-source-dirs:
app -- Main.hs 파일은 app 폴더에 있다.
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
base >=4.7 && <5
, myhs -- built-in base package와 myhs(자신)을 참고해서 build 해라.
default-language: Haskell2010
'Environment' 카테고리의 다른 글
Emacs + Haskell-Mode (0) | 2020.11.23 |
---|---|
Docker for haskell (0) | 2019.03.19 |
How to Uninstall Old GHC (0) | 2019.01.11 |
Haskell Stack: Golbal vs. Project (0) | 2018.09.16 |
HaskellDevEnv: Project Management (0) | 2018.09.04 |
Comments