순수함수에서 비순수 함수를 쓸려면 써야지
그러니까 부수효과가 어디서 생기는건가요
그리고 부수효과를 극복하는 방법은 모나드 뿐인가요?
입출력은 전부 부수효과 딸려옴
예 그건 들어서 아는데 대략 어디서 생기는지 궁금해서요
입력은 말할것도 없고 출력은 버퍼에 쓰기를 해야해서 생길수밖에 없음
안써도 콜백으로 여차저차하면 할수야 있을걸 존나 불편하겠지만
효과를 꼭 모나드타입으로 다룰필요는 없는거같은데
효과를 타입에 가두고 합성은 열어두는게 모나드가 젤 편해서 그런가봄
ㅇㅇ 걍 모나드가 엄청편함 그래서 비동기쪽도 다들 모나드 쓰는듯
그 모나드 타입으로 뽑으면 comprehension 문법? 하스켈 do 같은거 되는 언어에서 그냥 코드 날로먹는게 되는것도 그렇고
위에 비동기 모나드로 돌린거를 지극히 땔1감의 관점에서 바라보면 ES7 async 문법이 되는거고
https://wiki.haskell.org/Comparison_of_functional_programming_languages모나드는 부수 효과를 표현하는 방법 중 하나고, 기능이 아니라 수학 개념이나 프로그래밍 기법에 가까움.부수 효과를 표현하는 다른 방법으로는 uniqueness type이란 것도 있겠고, 부수 효과를 나타내는 리스트를 제공할 수 있어도 문제 없겠지.
순수함수에서 비순수 함수를 쓸려면 써야지
그러니까 부수효과가 어디서 생기는건가요
그리고 부수효과를 극복하는 방법은 모나드 뿐인가요?
입출력은 전부 부수효과 딸려옴
예 그건 들어서 아는데 대략 어디서 생기는지 궁금해서요
입력은 말할것도 없고 출력은 버퍼에 쓰기를 해야해서 생길수밖에 없음
안써도 콜백으로 여차저차하면 할수야 있을걸 존나 불편하겠지만
효과를 꼭 모나드타입으로 다룰필요는 없는거같은데
효과를 타입에 가두고 합성은 열어두는게 모나드가 젤 편해서 그런가봄
ㅇㅇ 걍 모나드가 엄청편함 그래서 비동기쪽도 다들 모나드 쓰는듯
그 모나드 타입으로 뽑으면 comprehension 문법? 하스켈 do 같은거 되는 언어에서 그냥 코드 날로먹는게 되는것도 그렇고
위에 비동기 모나드로 돌린거를 지극히 땔1감의 관점에서 바라보면 ES7 async 문법이 되는거고
https://wiki.haskell.org/Comparison_of_functional_programming_languages
모나드는 부수 효과를 표현하는 방법 중 하나고, 기능이 아니라 수학 개념이나 프로그래밍 기법에 가까움.
부수 효과를 표현하는 다른 방법으로는 uniqueness type이란 것도 있겠고, 부수 효과를 나타내는 리스트를 제공할 수 있어도 문제 없겠지.