함수형 프로그래밍과 PLT 서클에서 "대수학"이라는 용어를 여러 번 들었습니다. 특히 토론이 객체, 코 모나드, 렌즈 등에 관한 것입니다. 이 용어를 인터넷으로 검색하면 이러한 구조에 대한 수학적 설명을 제공하는 페이지가 나와 있으며, 이는 거의 이해할 수없는 내용입니다. 프로그래밍 맥락에서 대수학이 무엇을 의미하는지, 그 의미가 무엇이며, 객체와 코모 나와 어떻게 관련되는지 설명해 …
나는 카테고리 이론에서 모나드에 대해 읽었습니다. 모나드의 한 정의는 한 쌍의 인접 펑터를 사용합니다. 모나드는 이러한 펑터를 사용하는 왕복으로 정의됩니다. 명백하게 부속은 범주 이론에서 매우 중요하지만, 부속 펑터 측면에서 Haskell 모나드에 대한 설명은 보지 못했습니다. 누군가 그것에 대해 생각 했습니까?
State monad는 Product (Left-Functor) 및 Reader (Right-Representable)로 분해 할 수 있습니다. Continuation Monad를 분해하는 방법이 있습니까? 아래 코드는 확인을 입력하지 않는 내 시도입니다. -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, InstanceSigs, TypeSynonymInstances #-} type (<-:) o i = i -> o -- I …
Applicativetypeclass을 나타내는 LAX monoidal 펑 해당 입력 기능의 범주에 직교 monoidal 구조를 유지. 다시 말해서, (,)단일체 구조 를 형성하는 표준 동 형사상이 주어지면 : -- Implementations left to the motivated reader assoc_fwd :: ((a, b), c) -> (a, (b, c)) assoc_bwd :: (a, (b, c)) -> ((a, b), c) lunit_fwd …