슷하지만 데이터베이스로 단 monoid 에서 카테고리의 endofunctors,무엇을 깨달음?

cs.stackexchange https://cs.stackexchange.com/questions/128627

문제

용서 단어를 재생합니다.I'm a little 에 대한 혼란 의 주장하고 따라서 질문입니다.

배경: 나는 모으로 카테고리의 이론을 이해하는 이론적 토대의 다양한 범주 구조 그리고 그들의 관련성을 프로그래밍(FP).그것은 보인다(나)"중 하나는 영예로운 보석"의 교차로에서 고양이와 FP 은 이 문의:

A monad is just a monoid in the category of endofunctors

는 무엇입 큰 거래 이에 대한 관찰과 프로그래밍 방식/디자인 의미는?원 sigfpe 그리고 많은 텍스트에 FP 하는 것을 의미하는 것으로 보인 mindblowingness 이 개념이지만 아마도 나는 볼 수 없는 미묘함을 언급했습니다.

여기에는 방법은 내가 이해하기:

알가 monoid 할 수 있게 추정할 수 있습니다 사실 내에서의 작업 지도 감소 설정하는 연관성을 운영할 수 있습 split/combine 산에서 임의의 주문 즉, (a1+a2)+a3 == a1+(a2+a3).그것은 또한 허용 한하여 배포에 걸쳐 기계 및 높이기 위해 병렬화.(따라서,저는 정신에서 이동 theoretical construct -> computer science understanding -> practical problem solving.)

분명 (의 결과로 공부하고 고양이)보을 사용해가 monoidal 구조물의 종류에 endofunctors.그러나,의미가 무엇을 그릴 수 있을 것이고 어떤 프로그래밍/design/engineering 영향을 때 우리는 코딩과 함께 이러한 정신 모델?

여기 나의 해석:

  • 이론적 시사점: 모든 계산 가능한 문제들의 마음에서는 monoidal 에 있습니다.
    • 이것은 정상인가요?그렇다면,내가 이해할 수 있는 깨달음.그것은 다른 관점에서 이해하는 개념/구조의 계산 가능한 문제는 없을 것이 명백한 경우에서 나오는 단 Turing/Lambda 모델의 계산 및 제가 평화롭게 살 수 있습니다.
    • 거기 당신은 그것을 할 수 있습니다!
  • 실용적 시사점: 그것은 단순히 제공하는 경우 do-표기 스타일의 프로그래밍이 가능한가요?는 경우,일 monoidal 할 수 있습니다 감사의 존재 do/for 구조일/스칼라.그것이 무엇입니까?는 경우에도 우리는 우리 것에 대해서는 전혀 알지 못하 monoidal 토대로,우리는 필요가 없 invokemonoidalness 이 주장하기 때문에 바인딩 >>=flatMap 구문을 정의하는 연관.그래서 무엇이 있나요?거나 그와 더 foldability 의 생성하고 monadic 는 간접 깨달음 되고 있는 언급을까?

질문(s): 나는 무엇을 놓치까요?그것은 단순히 는 사실을 사용해 일반화 monoids 될 수 있습니다 결합 어떤 순서로 유사하지도 줄이 같은 작업 monoids?지 않는 방법에 대해 알고 monoidal 성 도움 향상 코드/디자인에서 어떤 방법이 있을까?What's 의 좋은 예를 전후하여 이러한 차이(대해 알고 전에 사용해/monoidality 후)?

도움이 되었습니까?

해결책

이 대답은 정확히 일치하지 않을 수 있습니다 당신이 무엇을 찾고 있습니다.즉,내 생각에는 아마도 이것의 중요성을 묘사되고 있 overemphasised 니다 여기에.인용

슷하지만 데이터베이스에서 X 는 다 monoid 에서 카테고리의 endofunctors X

가에서 원래 Mac 인 카테고리에 대한 수학자 작업, 그것으로 나타납니다 도움이 되는 직관에 대한 정의되었는 혼자 보일 수 있는 아주 익숙하지 않은 처음이다.에 의해 특징으로 monoid 에서 특정 monoidal 카테고리,독자는 주어지는 대안 관점입니다.참고로 장을 사용해 실제로는 앞에 장 monoidal 카테고리:이 말은 도움이 되,오히려 보다 정확한(그것은 정확한만 나중에).

견적이었 다음을 고쳐 제 Iry 의 악명 높은 기사 간단한 불완전하고 대부분 잘못된 역사의 프로그래밍 언어.

슷하지만 데이터베이스로 단 monoid 에서 카테고리의 endofunctors,무엇이 문제인가요?

시의 맥락으로,그것은 문서에서,그것을 즐겁게.견적문 밈에서 프로그래밍 지역 사회,주로하기 때문에 그것은 재미있는 보다 중요한 통찰력을 위한 프로그래밍(하지만 그것 또한 봉사를 자랑의 호기심 기능적 프로그래머,그들의 놀라운 세계로 범주 이론).저는 이 묘사하는 동안,유용하고 흥미로운,더 중요하다고 상상할 수도 중 하나로서 인기를 얻고 있습니다.

그러나,이것은 말할 수 없이 어떤 통찰력을 얻은 것이 특징.첫째,내게는 것을 지적하는 동안,프레젠테이션의 사으로 곱하고 단위는 명확하게 암시 monoid 당신이 지적으로는,Kleisli 프레젠테이션으로 묶고 돌아 작업하지 않습니다.그것은 Kleisli 프레젠테이션에서 일반적인 기능적인 프로그래밍,그래서 확실히 특성으로 monoid 이 더 재미있는 이러한 관점에서.

이론적인 관점에서,하나의 통찰력이 실제로 많은 천연 구조물로서 컴퓨터과학과(수학)에 monoidal.의 관점에서 사용해(특히 그들의 관계 데카르트 operadsLawvere 이론),monoidal 구조에 해당하는 대체 구조(동등하게,성분구조).대체는 유비쿼터스 컴퓨터 과학에서(예를 들어,캡처를 피하고 대체에서 이론 형식 또는 접목 나무의).을 사용해 단지 하나 더 많은 예입니다.

는 동안 이해를 공식적으로 문서에서 질문을하지 않을 수 있습 깨달음이 있는,내가 그것이 깨달음을 이해하는 다른 관점에서 사용해로,그것은 당신이 볼 수있는 다른 방법을 사용해 사용될 수 있습(예:컨테이너로 설명,대수적 구조를 설명하는 멀티 구성 시스템,etc.).하기 어려울 수 있습니다 감사합 얼마나 자주 그들은 팝업이 필요없이 볼 수있는 다른 조명에는 그들이 볼 수 있습니다.에서 이러한 의미로 사용해 monoids 은 단 하나의 관점(그리고 아마도 가장 깨달음).

마지막으로 있는 동안 사용해 자신은 다름 아닌 아주 유용한에서는 순수형 프로그래밍 일반적으로,나는 확실하지 않다는 관점으로 사용해로 monoids 도움이 per se.나는 생각 Kleisli 관점에서 일어나는 이와 동등한 대부분의 관점니다 여기에.

요약에서 이 응답이 될 수 있는 작은 실망:나는 생각하지 않는 이해 관계가 모든 도움이 되는 깨달음이 실질적으로(즉을 위한 프로그래밍).그러나,그것은 유용한 관점을 염두에두고,다른 사람과 함께,고려할 때 사용해 이론적으로 설명합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top