Haskell Arrow

haskell arrow에서 가장 유사한 개념을 Javascript 에서 찾는다면 Promise가 되겠다. Promise에서 넘겨받은걸 .then(f)로 연쇄하여 오류를 크게 줄이면서 가독성 좋은 코딩이 가능해진다. Haskell 에는 훨씬 종류가 많은 arrow가 있는데 그 설명은 […]

Haskell 에서 Fold

정리해보려니 기존에 정리된게 거의 없었다. 쓰기전에는 정리가 어느정도 되어있을줄 알았는데 아니었고 추후 보완해야 할 수준이다. Haskell에서 foldr를 비롯한 함수들은 Fold 누산기의 기능을 하는데 reduce 방식의 누산기보다 많은 기능을 내포하고 있다. […]

Delegation

Delegate의 표기방식 객체를 변수처럼 사용하여 이벤트를 처리한다.이와 유사하게 클로저(함수형 프로그래밍의 개념)는 함수를 변수처럼 사용한다. Objective-C 로 작성하는 Cocoa Framework 는 델리게이트로 이벤트 처리를 한다. Legacy 코드가 아직 수요가 있어 몇가지는 […]

haskell Maybe monad

haskell 학습자는 모나드라걸 알아야한다. 이는 설명이 쉽지않고 많은 사람들이 haskell을 포기하게 만드는 요인중 하나이고 아마도 가장 대표적인 원인일 것이다. 그러나 모나드 개념은 다른 언어에서 다 도입해서 사용하고 있다. map, filter […]

Lazy evaluation

lazy evaluation은 최종 확정된 값이 입력되었을때 계산하라는 의미이며 함수형으로 구현된다. 일일이 계산을 다 하면 컴퓨터 내에서 자원낭비가 예상될 경우에 사용한다. 기본원리는 커링이고 함수형 구현을 위해 람다나 콜백을 이용한다.아래 코드는 리스프에서 […]

함수의 커링

※ 2023년 9월 현재 바쁜일이 많아 설명만 일단 쓰고 추후에 소스코드를 보완합니다. 함수는 모든 매개변수가 만족되어야 정상입력되어 작동한다. 그러나 값의 일부만 입력하고도 오류가 되지 않는 방법이 있다.curring은 값의 일부만 전달하고 […]

ios에서 구동되는 알파인 리눅스

안드로이드 기기에서는 비교적 일찍이 termux 라는 터미널 에뮬레이터가 있어서 리눅스 기반의 안드로이드에서 터미널을 작동시킬수 있었지만 오랜 기간 ios에서는 터미널 에뮬레이터가 없었다가 최근에야 알파인 리눅스(Alpine Linux)가 iSH라는 앱으로 나왔고 터미널에서 리눅스 […]

함수형 프로그래밍에 관한 몇가지 정리

함수형 프로그래밍이 소개된건 이미 오래 지났는데 최근에는 함수형 없이는 제대로된 개발을 할 수 없을정도로 주요 개발도구들의 언어에서 도입하여 사용하게 해주고 있는 형편이다. 이제 함수형을 사용하지 않고는 프로그래밍이나 개발을 한다고 말할수 […]

트랙패드 충전상태 인식문제 해결

애플 트랙패드는 편리하지만 간간히 문제를 일으킬 때가 있다.구입한지 한달만에 배터리 부풀어오름 문제로 배터리를 교체해야 했다.배터리가 부풀어오르는 문제는 트랙패드를 완충에서 방전까지 적극적으로 사용한다면 배터리가 충전과 방전을 반복하면서 부풀어오르는 문제를 해결하게 된다. […]