Составные атомарные -подобные операции

Я хочу составить операции, которые могут дать сбой, но есть способ отката.

Например, -внешний вызов для бронирования номера в отеле и внешний вызов для снятия средств с кредитной карты. Оба эти вызова могут завершиться неудачно, например, если номеров не осталось, недействительная кредитная карта. У обоих есть способы отката -отмены гостиничного номера, отмены списания кредита.

  1. Есть ли название для этого типа (ненастоящего )атомного. Всякий раз, когда я ищу транзакцию haskell, я получаю STM.
  2. Есть ли абстракция, способ их составления или библиотека на хаскеле или любом другом языке?

Мне кажется, вы могли бы написать монаду Atomic T, которая будет отслеживать эти операции и откатывать их в случае исключения.

Изменить:

Эти операции могут быть IOоперациями. Если бы операции были только операциями с памятью, как предполагают два ответа, STM было бы достаточно.

Например, бронирование отелей будет осуществляться через HTTP-запросы. Операции с базой данных, такие как вставка записей через сокеты.

В реальном мире для необратимых операций существует льготный период, прежде чем операция будет выполнена -, например.платежи по кредитным картам и бронирование отелей могут быть произведены в конце дня, поэтому можно отменить бронирование до этого времени.

5
задан user1138184 12 July 2012 в 20:32
поделиться