최근에 큰 코드 덩어리를 리팩토링하고 Linq 쿼리로 대체했습니다.
언어 바이어스 제거-Linq는 기본적으로 일련의 데이터에서 작동하는 일련의 맵 / 필터 및 감소 작업입니다.
이것은 내가 이론적으로 이것을 얼마나 멀리 할 수 있을까 생각하게했다. 전체 코드베이스를 일련의 (또는 단일) 맵 / 필터 및 축소 작업으로 다시 작성할 수 있습니까?
불행히도 유용한 작업을 수행하기 위해 돈을 지불하기 때문에 더 이상 실험을 할 수 없었지만 재구성 할 수없는 코드 구조는 생각할 수 없습니다. 부작용 코드는 모나드를 통해 처리 할 수 있습니다. 출력조차도 기본적으로 메모리 주소를 화면 주소에 매핑합니다.
Linq 쿼리로 (이론적으로) 다시 쓸 수없는 것이 있습니까?
: 나무는 여기를 참조하십시오 stackoverflow.com/questions/250377/...
—
blueberryfields
나는 항상 "감소"가 튜링 완료를 보장하기에 충분하다고 생각했다. Linq에 대한 구현이 기능적 구현을 얼마나 가깝게 따르는 지 확신 할 수 없습니다.
—
블루 베리 필드
나는 모른다. 그러나 대략적인 경험의 규칙은 누구나 자신의 모든 코드를 작성하는 것을 고려할 때 튜링이 완료된다는 것입니다. 그러나 튜링을 완료하는 것은 그리 흥미롭지 않습니다.
—
psr
나는 psr에 동의합니다. 이 질문에 대한 올바른 답변은 Turing 완전성을 해결해야한다고 생각합니다. 증거는 이러한 작업 만 사용하여 튜링 머신을 구현하려고 시도 할 수 있습니다.
—
Rob