항상 언급되는 소프트웨어 트랜잭션 메모리의 주요 장점 중 하나는 구성 성 및 모듈성입니다. 더 큰 부품을 생산하기 위해 다른 조각을 결합 할 수 있습니다. 잠금 기반 프로그램에서는 종종 그렇지 않습니다. 실제 코드로 이것을 보여주는 간단한 예제를 찾고 있습니다. Clojure의 예제를 선호하지만 Haskell도 좋습니다. 예제에 쉽게 구성 할 수없는 일부 잠금 …
ref에 대한 문서 는 : max-history 옵션을 보여 주며 "읽기 요구를 처리하는 데 필요한대로 기록을 동적으로 누적합니다"라고 말합니다. REPL에 히스토리가 있음을 알 수 있지만 이전 참조 값을 찾는 방법을 알 수 없습니다. user=> (def the-world (ref "hello" :min-history 10)) #'user/the-world user=> (do (dosync (ref-set the-world "better")) @the-world) "better" user=> (let …