Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure - Ferreira, André Martins (2012)
Neste trabalho é proposta uma nova função primitiva, retry-transaction, para o sistema de Memória Transacional de Software (STM) de Clojure. STM é vista por muitos pesquisadores como uma possível forma de simplificar programação concorrente. Porém, uma ausência em muitos sistemas de STM é uma forma de conciliar código a ser executado na STM com código que deve bloquear. Este trabalho se baseia numa proposta originalmente para a STM de Haskell. São apresentados para contextualizar a proposta: a linguagem de programação Clojure; estruturas de dados puramente funcionais para facilitar a escrita de código funcional, que é um requisito da STM de Clojure; o conceito de STM; como é realizado STM em Clojure. Em seguida é apresentada a proposta central deste trabalho, que diz respeito a uma nova função para a STM, retry-transaction, que permite a escrita de código bloqueante utilizando a STM.