하스켈을 활용한 프로그래밍 기초원리 학습
This project is maintained by prologma
“하스켈 프로그래밍 배우기”는 ‘프로그래밍, 수리논리, 수학은 하나다’ 라는 주제하에 진행되는 강좌 시리즈의 첫번째 강좌이며, 하스켈 프로그래밍을 먼저 소개하는 이유는 다음과 같습니다.
다루는 내용은 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 조건으로 무료 공개된 Miran Lipovača의 Learn You a Haskell for Great Good!을 기본으로 하면서 다음 자료를 참조한 내용을 담고 있습니다.
함께 제공되는 주피터 노트북은 James Brock의 learn-you-a-haskell-notebook을 포크(fork)한 것을 기본틀로 사용합니다.
프로그래밍 초보자에게는 목차에서 안내하는 챕터별 링크에 연결된 HTML 강의노트를 읽으면서 Repl.it 사이트에서 실습하는 방식이 가장 간단합니다.
Repl.it에서 하스켈 프로그래밍하기 동영상 참조할 것
주의사항: 아래에서 언급하는 바인더(Binder) 서버 가 제공하는 주피터 노트북을 활용하여 실습을 진행할 수도 있음. 하지만 바인더 서버에서 수정한 내용은 저장되지 않음에 주의할 것.
주의사항: 아래 추천 환경은 비초보자용입니다. 초보자가 아니더라도 도커(Docker)와 Visual Studio Code의 조합을 처음 접하는 경우 많이 생소하고, 또 설치 및 설정 과정이 어려울 수 있습니다. 하지만 프로그래밍에 관심이 많다면 상식적으로 알고 있어야 하는 내용입니다. 조금 어렵더라도 검색을 통해 확인하면서 시도해보세요.
먼저, 깃허브 원격저장소(repository)를 PC에 복제하여 도커(Docker) 이미지와 함께 활용할 것을 추천합니다.
깃허브 원격저장소 복제하기
git clone https://github.com/prologma/learn-you-a-hakell.git
cd learn-you-a-haskell
도커 이미지 설치
docker run --rm -p 8888:8888 -v $PWD/notebooks:/home/jovyan/work --name learn-you-a-haskell crosscompass/ihaskell-notebook:latest jupyter lab --LabApp.token=''
위 과정을 마친 후 크롬 브라우저 등을 이용하여 다음 주소 http://localhost:8888
방문한 후 work
디렉토리를 열면 주피터 노트북을 사용할 수 있음.
또한 Visual Studio Code를 도커 이미지에 연결하여 주피터 노트북 내용을 따라 학습할 수 있음.
참고자료에 개발환경설정과 활용법에 대한 구체적인 설명이 들어 있음.
도커 이미지 활용이 어렵거나 제공되는 주피터 노트북을 단순히 실행해 보고자 한다면 mybinder.org에서 제공하는 아래 바인더(Binder) 서버를 이용할 수 있습니다.
주의사항: 바인더(Binder) 서버에서 제공하는 주피터 노트북을 이용하여 하스켈 코드를 실행할 수는 있지만 실행 결과나 변경 사항이 저장되지는 않음. 주피터 노트북을 수정한 후 저장하려면 앞서 추천한 도커 이미지 활용법을 사용해야 함.
제공되는 바인더(Binder)의 서버와 도커 이미지는 James Brock의 learn-you-a-haskell-notebook에서 제공한 것을 활용합니다. 주피터 노트북 서버에 사용되는 하스켈 해석기는 GHCi를 Jupyter Project에 적용한 Andrew Gibiansky의 IHaskell입니다. Learn You a Haskell for Great Good! 책을 무료로 공개한 Miran Lipovača를 포함하여 세 사람에게 무한한 감사를 드립니다.