Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZIO-like monad & transformer #114

Closed
bbarker opened this issue May 29, 2019 · 5 comments
Closed

ZIO-like monad & transformer #114

bbarker opened this issue May 29, 2019 · 5 comments

Comments

@bbarker
Copy link

bbarker commented May 29, 2019

Similar to how RWST/RWS are present in this repository, I'm wondering if something like ZIO might be a good fit here - or as a separate repository?

See this short discussion.

Since it would likely need to depend on Aff, so that might be a reason to create a separate project, though I suppose the core type might still be useful for many SPA-like synchronous projects meant to run in the browser without the Aff dependency.

Now the easy part (hard part?): I suppose it could be called ZIO, but alternatively it could be called Trio after the analogue in Haskell, or named similar to RWST:

REA: Reader / Error || Either / A || Aff? - I guess this depends on the eventual architecture/implementation, though.

@hdgarrood
Copy link
Contributor

It sounds like something which would be great to have, but I don't think it needs to be in core. I think a separate project is probably the best way forward. Have you seen purescript-rave by the way?

@garyb
Copy link
Member

garyb commented May 29, 2019

I don't think it can be implemented on top of Aff exactly, since polymorphic error handling would need to be done there. @natefaubion is the man to talk to, I think he basically has a picture in his head of how it would work, but hasn't had the time / built up the energy to face working on the internals again. 😉

@bbarker
Copy link
Author

bbarker commented May 29, 2019

It sounds like something which would be great to have, but I don't think it needs to be in core.

👍

Have you seen purescript-rave by the way?

Rave looks like a great starting point in any case. (Incidentally I had cloned it to first try out spago but had no idea what it was in that context!)

I don't think it can be implemented on top of Aff exactly, since polymorphic error handling would need to be done there. @natefaubion is the man to talk to, I think he basically has a picture in his head of how it would work, but hasn't had the time / built up the energy to face working on the internals again

Understandable! Well I'm happy to know about Rave - I'll close this, but maybe link to any of my findings on Rave after I get a chance to use it.

@bbarker bbarker closed this as completed May 29, 2019
@natefaubion
Copy link
Contributor

purescript-contrib/purescript-aff#137 for some discussion.

@garyb
Copy link
Member

garyb commented May 29, 2019

Ah thanks, I did glance at the issues but I guess I was looking for the wrong keyword.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants