Environment
HaskellDevEnv: Project Management
__main__
2018. 9. 4. 23:36
Haskell Project Management
MOOC 강좌를 듣고 함수를 만들면서 Haskell 언어에 대해 아주 조금 알게 되었다. 그런데 Java언어에서 Intellij가 그러하듯 project 를 어떻게 관리하는지는 전혀 모르고 있다는 사실을 깨닫게 되었다. [ Hugs ]로 처음 연습하다가 한계가 있어서 Haskell Platform을 설치하여 연습을 하였는데, 그렇게 해서는 어떻게 Haskell에서 project와 package가 관리되는지 초보자로서 생각해본 적이 없다는 것이었다. 하지만 Haskell stack으로 설치를 몇 번이고 반복하면서, stack으로 local project에 package를 설치하면서, stack command를 설치하면서 project라는 개념에 대해 생각이 들기 시작했다. 소위 CLI 라는 것인데, 뭔가 Haskell로 만들어보고자 한다면, 이런 CLI 에 익숙해지는 것이 필요하리라 생각된다.
stack new my_project
cd my_project
stack setup
stack build
stack exec my_project-exe
Haskell stack이란 것이 package manager인 것 같다. Cabal이란 것보다 조금 더 진보한 것. 그런데 [ Understanding stack’s model and avoiding its biggest gotcha ]라는 글을 읽어보니 개념이 많은 혼동이 생긴다. (TODO: 정확히 stack이란 것이 무엇인지?)