-
Notifications
You must be signed in to change notification settings - Fork 83
Description
Naively I tried liftBaseWith in a Snap action but inner writeText produces no effect at all.
I'm not sure I used MonadBaseControl correctly, but I failed to find a user side example on Github (as there're only instance impl. hits).
And quoting fpco/unliftio#17 (comment)
Continuation-based monads cannot have instances of MonadUnliftIO, the same as MonadBaseControl and MonadMask.
Am I right to see Snap as a "continuation-based" monad? If so, is the MonadBaseControl instance flawed or wrong at all?
Basically, I need to escape from Snap into nested IO, to run some scripting code leveraging STM, where I want to perform writeText etc. by the scripts to generate proper http payload. Ideally I want to wrap the full set of Snap API available for scripting, how can I do that?
I'd like to contribute some new public API if that's lacking and doable, but need some guidance and esp. a confirmation before heading that way.