¿Se llama a la parte "else" de orElse
cuando se reintenta una transacción debido a otra transacción escribiendo a TVar
que se leyó, o solo cuando se llama explícitamente retry
?Haskell: TVar: orElse
11
A
Respuesta
10
Si tiene
OrElse a b
continuación b
solamente se ejecuta si retry
se llama explícitamente en a
. De lo contrario, orElse
esencialmente se volvería no determinista. (La reutilización de las transacciones que realiza el tiempo de ejecución de STM es transparente y no debe afectar el resultado de ningún cálculo).
Cuestiones relacionadas
- 1. Haskell: ¿Cómo funciona TVar?
- 2. Diferencia entre TVAR y TMVar
- 3. AndAlso/OrElse en VBA
- 4. O frente a OrElse
- 5. Eficiencia de PartialFunction orElse
- 6. cómo añadir un finalizador en un TVAR
- 7. algoritmo de unificar en Haskell
- 8. ¿Cuándo es "O" mejor que "OrElse"?
- 9. Excepción utilizando los métodos de expresión OrElse y AndAlso
- 10. (OrElse and Or) and (AndAlso and And) - ¿Cuándo usar?
- 11. ¿Debo usar siempre los operadores AndAlso y OrElse?
- 12. Escribir un intérprete Haskell en Haskell
- 13. ¿Por qué no hay un método orElse en PartialFunction que acepta una función total?
- 14. ¿Sintaxis de Scala para acceder a la propiedad de una opción en línea y encadenar "OrElse"?
- 15. Haskell "excepciones"
- 16. Haskell principiante
- 17. en Haskell
- 18. Haskell mochila
- 19. Haskell FlatMap
- 20. Haskell Depuración
- 21. Haskell IF
- 22. ¿Haskell Embeddable?
- 23. Haskell "Aplicar"?
- 24. Haskell typeclass
- 25. haskell sorting
- 26. Haskell ncurses
- 27. Haskell Interactive
- 28. forzando haskell-indent-mode sobre haskell-indentation-mode en haskell-mode 2.7?
- 29. Creando un Haskell REPL dentro de una aplicación Haskell
- 30. Autocompletado de Haskell en Emacs usando el modo haskell