cleff
cleff copied to clipboard
Fast and concise extensible effects
Can it be written? :thinking:
`cleff` just needs bumps of upper versions of `base` and `template-haskell` to build with 9.4.1. Unfortunately the story for `cleff-plugin` seems to be more complicated due to removal of derived...
Disclaimer: this isn't supposed to be an attack. It looks to me that it'd be better to join forces and make effectful happen (or improve its shortcomings if there are...
For any function ```hs f :: Eff es ~> Eff (es' ++ es) ``` we can have an alternative version of ```hs f_ :: Suffix es es' => Eff es...
`interpose` currrently has the "local" semantics of swapping handlers. That is, effects introduced outside of the scope of `interpose` will not have their dependency handlers swapped. This allows us to...
`Writer` is probably the strangest "classical" effect, in the sense that it is both mutable (`tell`) and scoped (`listen` and `pass`). This means we have 3 distinct semantics for `listen`:...
For any effect `e`, one can define instances for ```haskell class Static e where type StaticEnv e :: Type -- Only env access & IO is possible staticInterpret :: (StaticIO,...
Is it possible to implement a function: `toEffWithExtraTop :: Handling esSend anything es => Eff (e : esSend) ~> Eff (e : es)`? Since there's `toEff` for converting from `Eff...
I'm unsure if I'd have the time, but a potential 1.0 should: 1) minimize unsoundness; #15 should be done away with 2) have inference friendly API variants (#20) 3) decide...
If we return a `toEff`'d action directly out of an interpreter, such as something like this: ```haskell type SomeEs = ... data Evil :: Effect where Evil :: m a...