'2015/08'에 해당되는 글 2건

  1. 2015.08.31 하스켈 프로그래밍 스터디 계획
  2. 2015.08.31 하스켈 프로그래밍(Haskell) 커뮤니티

첫번째 하스켈 프로그래밍 스터디 계획


펜실베이나 대학(Univ. of Pennsylvania)의 스테파니 웨어릭(Stephanie Weirich) 교수의 CIS 552 고급 프로그래밍 강의 자료를 가지고 하스켈 프로그래밍 스터디를 진행한다.


목차


  1. 소개
  2. 리스트와 퍼스트 클래스 함수
  3. 고차원 프로그래밍 패턴
  4. 타입 클래스
  5. 모나드 소개
  6. 상태 모나드
  7. 임의의 모나드와 입출력
  8. 모나드를 사용한 파싱 [1,2]
  9. 퀵체크(QuickCheck) [1,2]
  10. 모나드 변환
  11. 동시성을 제공하는 모나드 [1,2]
  12. 순수 함수 자료 구조
  13. 일반화된 엘지브레익 데이터타입(Generalized Algebraic Datatypes)
  14. 타입을 유지하는 추상 구문
  15. 타입 리플렉션(Type Reflection) [1,2]

참고 강의 사이트
  • http://www.seas.upenn.edu/~cis552/11fa/schedule.html



Posted by lazyswamp :

하스켈 프로그래밍(Haskell) 커뮤니티를 시작하며.


1994년 대학원에 들어가서 처음 함수형 프로그래밍 언어 하스켈(Haskell, www.haskell.org)을 접하고 여러 잡다한 프로그래밍을 통해 그 이상한 매력에 끌리게 되었다. 마치 결벽증 환자처럼 "순수함"을 유지하려고 애쓰는 모습도 희한했고, 그러면서도 남들이 하는 일을, 똑같이, 조금 과장해서 말하자면, 더 잘 할 수 있는 것도 멋있었다. 그 매력에 끌려 한때는 모든 다른 프로그래밍 언어는 삼류고, 다 필요없고, 오직 하스켈만 절대 지존이고 유일한 프로그래밍 언어라고 생각했던 적도 있었다. 물론 착각이고. 


20년이 지난 오늘 주변에서 하스켈에 대해 관심있는 사람들이 몇몇 있다. 아직은 학교에 있는 학생들이 대부분인 것 같고 L모 회사에 근무하는 사람도 관심을 가지고 있더라. 그리고 몇 주 전에 참가한 어느 세미나에서 "모나드(Monad)"에 대한 설명을 듣는데 개인적으로 너무 마음에 들지 않았다. 하스켈의 악명 높은 주제이긴 하지만 다른 식으로 얘기할 수 있지 않았을까 생각했다. 하스켈이 유일 무이한 프로그래밍 언어는 아니라는 것을 잘 알고 있지만, "순수함"을 잃지 않으려는 이 대범한 노력을 누가 또 할 수 있을까 생각할 때마다 하스켈 프로그래밍을 하던 학생 시절에 그랬던 것 처럼 가슴이 뛰기도 한다. 그리고 "순수함"을 유지하는 하스켈에 "순수함"을 잃어버린 다른 프로그래밍 언어들이 지향해야하는 모습이 담겨 있다는 생각까지 하게 되면, 하스켈 프로그래밍을 배우는 것은 단지 하스켈 언어만을 배우는 것이 아니라는 생각이 강하게 든다.


이러한 생각을 하다보니 하스켈 프로그래밍 커뮤니티가 하나쯤은 있어도 되겠다는 생각이 문득 들었다. 먼저, 하스켈에서 배운대로, 특별한 개발 목적이 있어서가 아니라 그냥 재미삼아 하스켈 언어를 배우는 스터디 모임을 가지고 커뮤니티를 시작해보려 한다. 이 커뮤니티가 활성화되면 하스켈에 적용된 최신 프로그래밍언어 기술에 대해서 논의하고, 나아가서 상용 목적으로 하스켈을 응용하는 사례에 대해 살펴보는 장으로 발전하기를 기대해본다.


2015/8/31


K. Choi


Posted by lazyswamp :