Coursera 의 Functional Programming In Scala 수업 중 4 번째 챕터입니다. Types and Pattern Matching Functions as Objects In fact function values are treated as objects in Scala trait Function1[A, B] { def apply(x: A): B } 결국, function 은 apply 메소드를 가진 오브젝트다. 예를 들어서 (x: Int) => x * x 는 다음과 같이 Function1 … Continue reading Functional Programming in Scala – 4
Functional Programming in Scala – 3
Coursera 의 Functional Programming In Scala 수업 중 3 번째 챕터입니다. 3.1 Class Hierarchies Abstract Classes abstract class 는 다른 언어의 그것과 같다. abstract class IntSet { def contains(x: Int): Boolean def incl(x: Int): IntSet } object EmptySet extends IntSet { def contains(x: Int) = false def incl(x: Int) = new NonEmptySet(x, EmptySet, EmptySet) } class … Continue reading Functional Programming in Scala – 3
Functional Programming in Scala – 2
Coursera 의 Functional Programming In Scala 수업 중 2 번째 챕터입니다. 2.1 Higher-Order Functions Higher-Order Functions Functional PL 에서는 함수를 first-class 로 다루는데, 이는 함수를 파라미터로 넘기거나 결과로 리턴할 수 있다는 소리다. 이렇게 함수를 파라미터로 받거나, 혹은 함수를 리턴하는 함수를 Higher order functions 라 부른다. Function Types type A => B is the type of a … Continue reading Functional Programming in Scala – 2
Functional Programming in Scala – 1
Coursera 의 Functional Programming In Scala 수업 중 1 번째 챕터입니다. h3 id="1-1-programming-paradigms">1.1 Programming Paradigms Imperative Programming modifying mutable variables using assignment and control str such as if-then-else, loop break, continue, return 절차적인 프로그래밍은 폰 노이만 구조랑 비슷한데, Mutable var = memory cells variable deferences = load instructions var assignment = store instruction control structure = … Continue reading Functional Programming in Scala – 1
Haskell (FP101.x) – Poor Man’s Concurrency Monad
edx 의 FP101.x (Introduction to Functional Programming) 수업 중 10 번째 챕터입니다. FP 101x 의 최종 보스입니다. Rose Tree 는 거들뿐 Koen Claessen 가 1999년에 발표한 Poor Man’s Concurrenc Monad 를 배경으로 하는 과제인데, 언어에 primitive 추가 없이 concurrency 를 모델링 하는 방법을 보여줍니다. Continuation 먼저 용어부터 정의하고 가면, continuation 은 실행 가능한 computation 입니다. 필요할 … Continue reading Haskell (FP101.x) – Poor Man’s Concurrency Monad

