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

Add to/from functions using Boehm-Berarducci encodings #126

Open
jwiegley opened this issue Aug 28, 2014 · 3 comments
Open

Add to/from functions using Boehm-Berarducci encodings #126

jwiegley opened this issue Aug 28, 2014 · 3 comments

Comments

@jwiegley
Copy link
Contributor

This would allow simple-conduit and other streaming representations (machines, conduit, io-streams) to interoperate with the pipes library.

I would like for simple-conduit to serve as both a "starter kit" for users interested in the pipes idea, and as a substitute for those who don't need the additional feature (i.e., a "no frills" option), since it offers excellent performance, simpler types, and directly employs function composition and application. I've also formally proven the category and type class laws, so it fits well into pipes' philosophical atmosphere of correctness-first.

Key to this would be a way to seamlessly integrate simple-conduit, which should be possible with such translation functions on on a Boehm-Berarducci encoding (which is what simple-conduit uses under the hood).

@Gabriella439
Copy link
Owner

One minor thing: is it okay if this functionality goes in pipes-extras? The main reason is that I am trying to stay underneath 150 exported names for pipes (the threshold after which Haddock creates an alphabetical index).

@jwiegley
Copy link
Contributor Author

jwiegley commented Sep 3, 2014

@Gabriel439 Certainly, that does sound more appropriate.

@Gabriella439
Copy link
Owner

Okay, I finally got around to adding these to pipes-extras. You can find the diff here:

Gabriella439/Haskell-Pipes-Extras-Library@95b3346

Take a look at that and let me know if that works for you.

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

2 participants