transient-haskell / transient

A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state)
MIT License
630 stars 28 forks source link

when a exception handler does not match with the exception type, the exception stop backtracking #77

Closed agocorona closed 5 years ago

agocorona commented 5 years ago

This code does not backtrack to the first handler:

main= keep $ do
  onException \(e :: ErrorCall) -> liftIO $ print e
  onException \(e :: SomeConcreteException) -> liftIO $ print e
  error "err"
  return()