제96회 명상
그래서 나는 줄곧 자신이 리스트가 무엇인지, 어떻게 구축되었는지 물었다. 그리고 나는 리스트가 마치 물질의 인코딩 상태, 순수한 기하학적 추상적인 공간, 하나의 상하문 소유자, 하나의 리스트류에서 각종 리스트가 조작되는 별자리 중의 어떤 유형의 상하문 소유자처럼 어떤 절차에서 조작할 수 있다는 것을 갑자기 깨달았다. 그 본질은 이렇게 간단하고 깊다.그 자체는 존재하지도 않고 특수한 것도 아니다. 이것은 일종의 사상, 추리의 공간, 그리고 우리의 추리가 함수 사이에서 어떻게 전달되는지, 순수한 함수 간의 거래를 묘사한다. 함수로서 부작용의 공간을 정의하고 논리를 분리하며 편견이 없고 부작용 중의 흔한 모델을 실현했다. 그들은 어떻게 대수적 성격을 가지는가.모든 것을 실현하고 프로젝트 간의 평등을 유지하다.
공간의 명세서:
이것들은 대수가 정의한 연산, 등가이다.등등, 결과를 한 함수에서 다른 함수로 전달하려는 생각을 보자.그것은 마치 폐쇄된 회로처럼 도미노 골패의 벽돌처럼 한 점부터 머리에 도미노 골패가 있고 나머지는 꼬리가 하나씩 떨어진다.이것이 바로 내가 목록의 개념을 이해하는 방식이다. 사실은 일부 목록의 나머지 구성원을 계산하는 개념이다.
하나의 목록, 하나의 단일 체인 테이블, 이것은 데이터 구조로 거의 유사한 조작으로 정의되고,monad는 외부 변수를 다음 함수의 결과에 연결하는 추가 유형 변수
a
를 가지고 있다.적어도 그렇습니다.이제서야 나는 이 방정식의 오른쪽을 깨달았다. 이 하스켈 표현식 자체는 두 개의 자 표현식으로 이루어져 있고 오른쪽의 표현식은 실제로는
Div
나누기 (/)
함수로 두 개의 자 표현식으로 나뉘어져 있다.이것도 지능적인 학습 보조 도구인 것 같다. 어떤 숫자를 나누는 동작이 두 숫자를 같게 하기 때문에 이런 상황에서 두 표현식의 이른바 크기는 비슷한가?Mona is a female, and sometimes male, given name and a surname of multiple origins.
그런데 입력 출력 리스트는요?나는 지금까지 입력/출력 자체, 그것이 어떻게 작동하는지 진정으로 탐구한 적이 없다. 나의 주의력은 주로 그 옆에 있는 리스트를 관찰하는 것이다. 나는 단지 입력/출력이 입력/출력을 의미하고 리스트 생물을 계속 스캔하는 것을 받아들일 뿐이다.
그러나 더 많은 문제가 있다. 나는 우리가 머릿속에서, 의식 속에서, 이 주의력 범위 내에서 우리가 파악한 단어가 실제로는 단자 단어에 집중되고 진정한 단자 단어는 그 옆에 있으며, 심지어는 대문자로 쓰여진, I/O에 집중되어 있다는 것을 알고 싶다.
이것은 매우 재미있어 보인다.
(>>=) :: IO a -> (a -> IO b) -> IO b
Woah, so(>>=)
는 어떤 유형의 기호입니다. 일원 조작문을 여는 열쇠는 한 곳을 열면 얻을 수 없고 당신의 주의력이 언제 어디에 있는지 알 수 있습니다. 그래서 (>>=)
는 하나의 유형의 기호입니다. 하나의 추가 의미가 있습니다. 마치 큰비가 우리 지붕 위에 내리는 것처럼 키보드를 누르는 소리가 없는 곳이 없습니다. 일종의 IO 조작입니다.우리는 단지 하나의 이름, 당신의 이름, 하나의 이름, 또는 하나의 단어, 또는 하나의 문자열, 앨리스, 하나의 문자열, 예를 들어 Al, AI, 또는 어떤 문자 a를 불러야 한다. IO로 지정한 이벤트, 그리고 유일한 표지부호에 모든 것을 열어 놓는다.그러나haskell 비키는 말했다.
Now,
x >>= f
is the action that first performs the actionx
, and captures its result, passing it tof
, which then computes a second action to be performed. That action is then carried out, and its result is the result of the overall computation.
그런데 지금 모나스가 뭐가 그리 대단한지 궁금해요.왜 그들은 이렇게 실현하기 어려운가. 단지 변화의 가치, 시스템 내의 상태, 연쇄적인 기하학적 과정을 전달했기 때문에 유사한 대상은 실제로 어느 곳에서든 축소가 더욱 쉬워지고 갑자기 이렇게 자연스럽고 순수해졌기 때문이다.순수한 공민으로서 일원 조작은 부작용을 포함하고 시간, 시간 흐름에 더욱 민감한 것 같다.
While programs may describe impure effects and actions outside Haskell, they can still be combined and processed ("assembled") purely, inside Haskell, creating a pure Haskell value - a computation action description that describes an impure calculation. That is how Monads in Haskell help keep the pure and the impure apart.
Reference
이 문제에 관하여(제96회 명상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dooygoy/96th-meditation-on-monads-5221텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)