edx 의 FP101.x (Introduction to Functional Programming) 수업 중 4 번째 챕터입니다. 이번시간엔 모나드를 배웁니다. 네. 올것이 왔습니다. 간단한 파서를 구현하는 것 부터 시작해 보겠습니다. What is a Parser Parser (파서) 란 텍스트 조각을 분석하여 syntaxtic structure 를 만들어 내는 프로그램(코드)를 말합니다. 많은 프로그램들이 자신만의 파서를 가지고 있습니다. GHC 는 haskell , UNIX 는 shell … Continue reading Haskell (FP101.x) – Chapter 4
Haskell (FP101.x) – Chapter 3
edx 의 FP101.x (Introduction to Functional Programming) 수업 중 3 번째 챕터입니다. 하스켈에서 repetition (반복) 은 recursion 을 통해 표현됩니다. 간단한 재귀부터 시작해서 mutual recursion 까지 알아보고, Higher order function (특히 fold) 에 대해 배운 뒤 적용을 위해 church numerals 를 구현해보고, 마지막으로 간단한 문자열 전송기를 모델링 해 보겠습니다. Tail call? recursion 을 주로 사용한다면 … Continue reading Haskell (FP101.x) – Chapter 3
Haskell (FP101.x) – Chapter 2
edx 의 FP101.x (Introduction to Functional Programming) 수업 중 2 번째 챕터입니다. 이번시간엔 list comprehension 을 배웁니다. 수학에서는 집합의 원소를 이용해 새로운 집합을 만들 때 사용하는데요, In mathematics, the comprehension notion can be used to construct new sets from old sets. 비슷하게 하스켈에선 컬렉션에다 사용 할 수 있죠. In Haskell, a similar comprehension notion can … Continue reading Haskell (FP101.x) – Chapter 2
Haskell (FP101.x) – Chapter 1
edx 의 FP101.x (Introduction to Functional Programming) 수업 중 1 번째 챕터입니다. 먼저 이 글은 edx 의 FP101.x (Introduction to Functional Programming) 수업을 기반으로 작성되었음을 알려드립니다. 시작에 앞서서, 하스켈을 설치하려면 Haskell Platform 을 설치하신 후 터미널에서 ghci 를 입력하면 됩니다. 하스켈 플랫폼은 하스켈 구현체로 Glasgow Haskell Compiler, GHC 를 포함하고 있습니다. ghci 를 입력하면 하스켈 인터프리터를 … Continue reading Haskell (FP101.x) – Chapter 1
Algorithm Design & Analysis 6 – Hash Table, Universal Hashing, Bloom filters
Coursera 에서 제공하는 Stanford 대학교의 Algorithm Design & Analysis 수업 중 6 번째 챕터입니다. Hash Table 해시 테이블의 연산은 key 를 이용해 이런 작업들을 한다. (1) insert: add new record (2) delete: delete existing record (2) lookup: check for a particular record 가끔 사람들이 dictionary 라 부르기도 하는데, 해시테이블은 알파벳 순서같은 특정 order 로 데이터를 … Continue reading Algorithm Design & Analysis 6 – Hash Table, Universal Hashing, Bloom filters

