Запитання з тегом «stm»

3
Чому для деяких функціональних мов потрібна транзакційна пам'ять програмного забезпечення?
Функціональні мови, за визначенням, не повинні підтримувати змінні стану. Чому тоді Haskell, Clojure та інші забезпечують реалізацію транзакційної пам'яті програмного забезпечення (STM)? Чи існує конфлікт між двома підходами?

1
Приклад комбінованості пам'яті транзакційної програми
Однією з головних переваг транзакційної пам'яті програмного забезпечення, яка завжди згадується, є компостування та модульність. Для отримання більших компонентів можна комбінувати різні фрагменти. У програмах на основі блокування це часто не так. Я шукаю простий приклад, що ілюструє це фактичним кодом. Я вважаю за краще приклад у Clojure, але Haskell …
11 haskell  clojure  stm 

1
Доступ до історії `ref 'у Clojure
Документація реф показує: варіант макс-історії і станів , які «рефов накопичувати історію динамічно по мірі необхідності для угоди з лічених вимог.» Я бачу, що в REPL є історія, але я не бачу, як знайти попередні значення посилання: user=> (def the-world (ref "hello" :min-history 10)) #'user/the-world user=> (do (dosync (ref-set the-world …
9 clojure  stm 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.