더 높은 수준의 기능 프로그래밍으로 발전하는 방법 [닫기]


12

먼저이 질문에 대한 올바른 장소가 아니라면 사과드립니다 .th.CS가 올바른 곳이 아니라고 생각합니다.

나는 함수형 프로그래밍을 정말 좋아하고 F #에서 중급 수준의 사람이라고 생각하고 Haskell의 기본 개념을 다소 잘 이해합니다. 그렇습니다. Monad가 무엇인지 아는 것처럼 알고 있습니다.

이제 저는 이것을 다음 단계로 나아가고 펑터와 물건에 관한 모든 이야기가 무엇인지 이해하고 싶습니다. 어디서부터 시작해야할지 모르겠습니다.

Lambda Calculus에 대해 읽어보십시오. 카테고리 이론? 둘 다 조금 알고 있으며 이것이 깨달음에 대한 올바른 / 빠른 방법이라고 생각하지 않습니다.

어쩌면 당신은 그것에 대한 힌트를 줄 수 있습니다.

추신 : 나는 수학을 두려워하지 않으며 운동에 쉽게 좌절하지 않지만 코드를 내려 놓을 수있는 소개 / 텍스트를 선호합니다. 이러한 방식으로 피드백을 한 번에 얻을 수 있습니다.

답변:


6

F #은 좋은 시작입니다. Haskell을 계속 사용하고 람다 미적분을 자세히 읽고 위에서 언급 한 Lambda 논문을 읽으십시오 .

하이브리드 언어 (Clojure, Scala, OCaml, ...)를 사용하면 OO 배경에서 온 경우 쉽게 이해하는 데 도움이 될 수 있지만 기능적인 프로 마이징 사고 방식을 실제로 이해하려면 오히려 진짜 (Haskell, Lisp, ...).


감사합니다-물론 F # (생산 코드에서 이것을 사용할 수 있습니다 ...)을 고수하고 더 많은 haskell을 배우려고 노력할 것입니다-그러나 haskell의 콘솔 응용 프로그램 이외의 다른 일을하기가 어렵 기 때문에 어렵습니다. (아직). -Scheme은 좋을지도 모르지만 (Lisp에서 짧은 에피소드를 한 번 보았지만) OCaml은 F #과 거의 동일합니다.
Carsten

@ CarstenKönig : UI에 대한 걱정없이 할 수있는 매우 흥미로운 프로젝트가 많이 있습니다. 좋은 옵션은 프로그래밍 언어로 작업하는 것입니다. Haskell에서 간단한 Scheme 또는 Prolog 인터프리터를 작성하는 것은 훌륭한 연습이며 명령 행에서 행복하게 살아갑니다.
Tikhon Jelvis

4

시간이 고급 스러우면이 세 권의 책을 읽는 것이 좋습니다.

이 세 권의 책은 기능 프로그래밍에 대한 일반적인 이해를 풍부하게합니다.


ATM 시간은 문제가되지 않습니다-어쨌든 저녁에 에너지를 찾으면 시간이 좀 걸릴 것입니다 ... 느리지 만 정상적으로 읽을 수 있습니다. 물론 그런 종류의 책들과 함께 제 페이스는 크롤링 속도가 느려질 것입니다 ... 감사합니다 (슬프게도 마지막 책이 인쇄되지 않은 것 같습니다 ... 화면에서 읽을 수 없습니다)
Carsten

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.