하스켈 프로그래밍 배우기

하스켈을 활용한 프로그래밍 기초원리 학습

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)한 것을 기본틀로 사용합니다.

목차

  1. 하스켈 언어 소개
  2. 하스켈 프로그래밍 시작하기
  3. 유형과 유형클래스(Types and Typeclasses)
  4. 함수의 구문(Syntax in Functions)
  5. 재귀와 귀납(Recursion and Induction)(준비중)
  6. 고계함수(Higher-order Functions)(준비중)

학습 및 프로그래밍 환경

초보자용 환경

프로그래밍 초보자에게는 목차에서 안내하는 챕터별 링크에 연결된 HTML 강의노트를 읽으면서 Repl.it 사이트에서 실습하는 방식이 가장 간단합니다.

추천 환경

주의사항: 아래 추천 환경은 비초보자용입니다. 초보자가 아니더라도 도커(Docker)와 Visual Studio Code의 조합을 처음 접하는 경우 많이 생소하고, 또 설치 및 설정 과정이 어려울 수 있습니다. 하지만 프로그래밍에 관심이 많다면 상식적으로 알고 있어야 하는 내용입니다. 조금 어렵더라도 검색을 통해 확인하면서 시도해보세요.

먼저, 깃허브 원격저장소(repository)를 PC에 복제하여 도커(Docker) 이미지와 함께 활용할 것을 추천합니다.

도커 이미지 활용이 어렵거나 제공되는 주피터 노트북을 단순히 실행해 보고자 한다면 mybinder.org에서 제공하는 아래 바인더(Binder) 서버를 이용할 수 있습니다.

도커, 주피터 노트북, Visual Studio Code 소개, 설치 및 사용 관련 참고자료

감사의 말(Acknowledgement)

제공되는 바인더(Binder)의 서버와 도커 이미지는 James Brock의 learn-you-a-haskell-notebook에서 제공한 것을 활용합니다. 주피터 노트북 서버에 사용되는 하스켈 해석기는 GHCi를 Jupyter Project에 적용한 Andrew Gibiansky의 IHaskell입니다. Learn You a Haskell for Great Good! 책을 무료로 공개한 Miran Lipovača를 포함하여 세 사람에게 무한한 감사를 드립니다.