fp type-safe & user-friendly한 Regex Builder 만들기 이 lazy evaluation을 통한 dscription과 evaluation의 분리라는 개념은 스칼라에서 흔히 사용하는 여러 패턴에서 발견할 수 있다. ADT와 interpreter를 이용한 domain modeling도 description과 evaluation을 분리하는 디자인 패턴 중 하나라고 볼 수 있다. 그래서 ADT를 쉽게 생성하고 다루기 위한 DSL을 함께 만들어줄 수 있다.... scalafpADTregexADT [TIL] 2월 22일 스트림의 중간연산(823p) 정렬 - sorted() (824p) sorted()는 지정된 Comparator(정렬기준)로 스트림을 정렬한다. → sorted()는 Comparator 인터페이스에 구현된 메서드를 이용해서 정렬 기준을 제공할 수 있다. 스트림 요소의 기본 정렬 기준(Comparable)으로 정렬한다. → 스트림의 요소가 Comparable을 구현한 클래스여야 한다. Strea... TILfp스트림TIL FP(Functional Programming) - 함수 함수는 두 집합 사이의 관계를 설명하는 수학적 개념 입니다. 수학에서의 함수는 집합간의 관계를 설명하는 것이기 때문에 함수는 언제나 정확 합니다. 그러나 프로그래밍은 모종의 이유(?) 로 인해 지금 실행하는 함수 단위에서가 아닌 다른 곳에서도 데이터에 접근하여 정의역을 바꿔 버릴수도 있습니다. 순수함수 입니다. 정의역 : number 집합(타입)에 포함된 두 원소 a, b 입니다. 위의 함수... fpJavaScript함수형프로그래밍모나드JavaScript PBT로 FP 법칙 확인해보기 - Applicative applicative 특질은 그 이름이 시사하는 것처럼 unit + map2 말고도 unit + apply 를 기본수단으로 가지도록 할 수도 있다. 이 사실은 곧 map2는 unit과 apply를 이용해서 구현할 수 있고, apply 또한 unit과 map2를 이용해서 구현할 수 있다는 것을 뜻한다. map2(unit(()), fa)((_, a) => a) == fa map2(fa, unit... fparrowApplicativekotlinkotestpbtApplicative 2021.1.20 TIL 동일한 입력을 넣으면 동일한 출력을 하는 함수로 생각을 했었는데, 이런 함수라도 사이드 이펙트가 있을 수 있기에 좀 더 구체적인 순수함수의 정의에 대하여 생각하며 내린 결론은 "매개변수에만 의존하는 값을 반환하는 함수" 라고 생각을 했다. 하지만 Swift언어 자체가 멀티 패러다임을 지원하는 언어이고 대다수의 개발자가 OOP, POP를 더 많이 사용하기 때문에 모든 함수를 순수하게 만다는 것... fpswift함수형프로그래밍fp
type-safe & user-friendly한 Regex Builder 만들기 이 lazy evaluation을 통한 dscription과 evaluation의 분리라는 개념은 스칼라에서 흔히 사용하는 여러 패턴에서 발견할 수 있다. ADT와 interpreter를 이용한 domain modeling도 description과 evaluation을 분리하는 디자인 패턴 중 하나라고 볼 수 있다. 그래서 ADT를 쉽게 생성하고 다루기 위한 DSL을 함께 만들어줄 수 있다.... scalafpADTregexADT [TIL] 2월 22일 스트림의 중간연산(823p) 정렬 - sorted() (824p) sorted()는 지정된 Comparator(정렬기준)로 스트림을 정렬한다. → sorted()는 Comparator 인터페이스에 구현된 메서드를 이용해서 정렬 기준을 제공할 수 있다. 스트림 요소의 기본 정렬 기준(Comparable)으로 정렬한다. → 스트림의 요소가 Comparable을 구현한 클래스여야 한다. Strea... TILfp스트림TIL FP(Functional Programming) - 함수 함수는 두 집합 사이의 관계를 설명하는 수학적 개념 입니다. 수학에서의 함수는 집합간의 관계를 설명하는 것이기 때문에 함수는 언제나 정확 합니다. 그러나 프로그래밍은 모종의 이유(?) 로 인해 지금 실행하는 함수 단위에서가 아닌 다른 곳에서도 데이터에 접근하여 정의역을 바꿔 버릴수도 있습니다. 순수함수 입니다. 정의역 : number 집합(타입)에 포함된 두 원소 a, b 입니다. 위의 함수... fpJavaScript함수형프로그래밍모나드JavaScript PBT로 FP 법칙 확인해보기 - Applicative applicative 특질은 그 이름이 시사하는 것처럼 unit + map2 말고도 unit + apply 를 기본수단으로 가지도록 할 수도 있다. 이 사실은 곧 map2는 unit과 apply를 이용해서 구현할 수 있고, apply 또한 unit과 map2를 이용해서 구현할 수 있다는 것을 뜻한다. map2(unit(()), fa)((_, a) => a) == fa map2(fa, unit... fparrowApplicativekotlinkotestpbtApplicative 2021.1.20 TIL 동일한 입력을 넣으면 동일한 출력을 하는 함수로 생각을 했었는데, 이런 함수라도 사이드 이펙트가 있을 수 있기에 좀 더 구체적인 순수함수의 정의에 대하여 생각하며 내린 결론은 "매개변수에만 의존하는 값을 반환하는 함수" 라고 생각을 했다. 하지만 Swift언어 자체가 멀티 패러다임을 지원하는 언어이고 대다수의 개발자가 OOP, POP를 더 많이 사용하기 때문에 모든 함수를 순수하게 만다는 것... fpswift함수형프로그래밍fp