목록All (11)
HASKELL
1. Warning messages * * * * * * * * Warning: Multiple files use the same module name: * Paths_h99 found at the following paths * C:\Users\k\OneDrive\study\myhs\h99\.stack-work\dist\29cc6475\build\autogen\Paths_h99.hs (h99:lib) * C:\Users\k\OneDrive\study\myhs\h99\.stack-work\dist\29cc6475\build\h99-exe\autogen\Paths_h99.hs (h99:exe:h99-exe) * * * * * * * * Vscode 에서 Haskelly plugin 을 사용하고 있는데, s..
1. Windows 10 에 Haskell 을 설치하는 방법 두 가지 Windows 10 에서 Haskell 을 설치하는 방법은 두 가지다. a. Haskell Platform 을 설치하는 방법 b. Haskell Stack 으로 Haskell 을 설치하는 방법 첫 번째 방법은 편하지만, 인터넷을 검색해보면 Haskell stack 으로 Haskell 을 설치하라는 글들이 보인다. Haskell 프로젝트를 직접 생성하고 필요한 package 들을 직접 설정하는 과정을 겪어야지 Haskell 프로그래밍에 대해서 더 잘 알 수 있다는 것이 요지인 것 같다. 여기서 더 잘 알 수 있다는 표현을 풀어 설명하자면, 그 의미는 다음과 같다. Haskell 언어도 다른 언어들처럼 버전이란 것이 있다. 예를 들면, p..
Function composition, 여러 가지 복잡한 경우의 타입 정리 -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- I. `(.)(.)` -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- Haskell function composition, type of (.)(.) and how it's presented -- https://stackoverflow.com/questions/16202289/haskell-function-composition-type-of-and-how-its-presented -- https://stackoverflow.com/questions/39207345/how-to-understa..
I. Install Haskell by Stack 1. Stack 을 다운로드, 설치 - Home - The Haskell Tool Stack (haskellstack.org) - WIndows 64-bit installer 다운로드, 설치(Haskell 설치를 원하는 폴더에) - 'config.yaml' 파일 하나 만들고 다음을 추가 local-programs-path: D:\HaskellStack\programs - 이렇게 하면 Haskell이 C 드라이브 AppData 등의 여러 곳에 산만하게 설치되지 않고, 원하는 폴더 내에 Haskell 파일 모두 한 곳에 모을 수 있다. C 드라이브 용량이 적고, 지저분해지면 PC가 느려질 수 있으니, D: 드라이브나 USB에 portable 하게 만드는 의미..
Docker for Haskell 1. Official haskell image in Docker Hub Haskell programming language(Haskell platform or Stack)를 설치하고 Emacs+Intero까지 설치할 수는 있다. 그러나 다른 곳의 다른 PC에서 Haskell programming을 하려면 다시 그 과정을 반복해야 한다. 시간도 오래 걸리고 무척 귀찮고 성가신 작업이다. 이 과정을 좀 쉽게 할 수 없을까? 항상 그런 생각을 해오다가 Docker란 것에 관심을 갖게 되었다. 위와 같이 command line에 입력하면 바로 ghci REPL 프롬프트가 뜨면서 haskell을 실행할 수 있게 된다. 간단하게 ghci REPL 에서 연습할 수 있지만, proje..
Haskell project setting - cabal file Haskell project 생성하고 난 후에 코딩을 했다. 그리고 stack build, stack exec 을 하면 결과가 출력된다. 그런데 Main.hs 파일 외에 다른 파일들을 만들고, 그 파일들을 Main.hs에서 import 하려면 어떻게 해야 할까? 그냥 아무런 작업을 안 해도 자동으로 잘 될까? 어차피 stack new 이란 명령으로 만든 프로젝트니까, 그 안에서 여러 파일들이 자동으로 연결될까? 그렇지 않다. 만들어진 프로젝트를 살펴보면, .cabal 이란 파일이 있다. 만들었던 프로젝트의 이름이 myproject였다면, myproject.cabal 이란 파일이 만들어져 있다. 내용을 유심히 뜯어보면, (1) Main.hs..
How to Uninstall Old GHC 내문서에 `stack new my-haskell`이라고 입력하여 Haskell project를 생성하였다. 그러면 시스템 환경변수에 설정하였던 `STACK_ROOT`에 있는 `config.yaml` 파일에 미리 정해놓은 것처럼 `local-programs-path: D:\HaskellStack\programs` 폴더에 뭔가 잔뜩 오랜 시간에 걸쳐 설치가 된다. Emacs를 설치하고 Intero까지 설치하였다면, 꽤 오랫동안 멈추어 있는 Emacs 창에 당황스럽기까지 하다. 뭔가 화면에 출력되면서, 설치되는 progress라도 보여주면 좋을 텐데. 이렇게 내문서에 stack new 명령으로 만든 haskell project는 local project이다. 만일 ..
Haskell stack: global vs. project 1. Project stack new 명령으로 project folder를 만든 후에 stack ghci 명령을 실행하였다. 아직 ghc가 설치되지 않아서 이를 설치하되, "Preparing to install GHC to an isolated location. This will not interfere with any system-level installation."이라는 메시지를 띄우면서 project에 한정되도록 설치를 한다는 메시지가 뜬다. PS C:\Documents> stack new hsproj Downloading template "new-template" to create project "hsproj" in hsproj\ .....
Haskell Project Management MOOC 강좌를 듣고 함수를 만들면서 Haskell 언어에 대해 아주 조금 알게 되었다. 그런데 Java언어에서 Intellij가 그러하듯 project 를 어떻게 관리하는지는 전혀 모르고 있다는 사실을 깨닫게 되었다. [ Hugs ]로 처음 연습하다가 한계가 있어서 Haskell Platform을 설치하여 연습을 하였는데, 그렇게 해서는 어떻게 Haskell에서 project와 package가 관리되는지 초보자로서 생각해본 적이 없다는 것이었다. 하지만 Haskell stack으로 설치를 몇 번이고 반복하면서, stack으로 local project에 package를 설치하면서, stack command를 설치하면서 project라는 개념에 대해 생각이 ..
Haskell Lectures 1. MOOC and University Courses * [ EdX, Introduction to Functional Programming (by Erik Meijer) ](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0) ; 프로그램의 창시자거나 참여했던 분께 직접 강의를 받는다는 것은 참 굉장한 일. COURSERA 강의를 검색해보면 Scala 언어의 창시자인 Martin Odersky 본인이 직접 강의하는 것들이 몇 개 있다. 위 EdX course 역시 Haskell 언어 개발과 연관된 Erik Meijer란 분이 강의를 진행하는데, 강의를 들으면서 코드를 어떻게 이해하고 ..