attoparsec-conduit
wai-conduit
attoparsec-conduit | wai-conduit | |
---|---|---|
3 | 10 | |
893 | 831 | |
- | 0.4% | |
5.3 | 8.7 | |
19 days ago | 8 days ago | |
Haskell | Haskell | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
attoparsec-conduit
-
Ask HN: What resources do you recommend for learning Haskell?
Working through Learn You A Haskell is a good start.
After that, I honestly think you'll get the best bang-for-buck by reading library-specific tutorials. If you play with enough of the libraries the rest of the language more or less falls into place.
Conduit is a pretty ok streaming library, and has good documentation: https://github.com/snoyberg/conduit#readme
Lens gives you a lot of useful features that more or less correspond to stuff like Getters and Setters in something like Java, and the tutorials for it get into some helpful details about writing Haskell code: https://hackage.haskell.org/package/lens
Otherwise it's basically a lot of "just build shit, and don't be afraid to feel confused" and it'll fall into place.
- Conduit question - what is "a single input value"?
-
Parallel streaming in Haskell: Part 1 – Fast, efficient, and fun
> makes me think that there aren't any conduits that have more data than can fit in memory on a single machine
Just because you can dedup a conduit doesn't mean you have to. We use conduits for streaming gigabytes-large files while staying within megabytes of memory use – ensuring that is one of the main selling points of libraries like conduit: https://github.com/snoyberg/conduit#readme
wai-conduit
-
Crypton is forked from cryptonite with the original authors permission
found some context https://github.com/yesodweb/wai/pull/931
-
Rust's Poor Composability
Yes. Not because of the developer, but because of how extremely flexible and dynamic the Lisp-family languages are. The power and joy of Lisp is in how it's almost a meta-language, so every project can become its own EDSL. The most famous (infamous?) example of this is Vacietis[2], which is a Common Lisp library that allows C code to be imported directly(!!).
[0] IIRC the Yesod framework's Warp does well on benchmarks, and when you look at code like https://github.com/yesodweb/wai/blob/master/warp/Network/Wai... you can see the lengths they had to go through to work around the choice of implementation language.
[1] Go has a garbage collector, but exposes the stack/heap distinction more directly than Haskell, so it's easier to write allocation-free code in hot paths.
[2] https://github.com/vsedach/Vacietis
-
I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned
My $3/mo vultr box can handle HN loads easily when using a fast backend (I've settled on https://github.com/yesodweb/wai based apps - the only thing that has worked well for me so far).
-
[ANNOUNCE] GHC 9.2.2 is now available!
What kind of metrics do you derive "ton of stuff" from? It seems like the largest blocker is Cryptonite. It's unreasonable to let a handful of packages keep back Nightly. You can now run Warp without it. How does your list of essential blockers for 9.2 look like?
- List of upcoming breaking changes
- After a decade, warp finally replaced a lookup table with x - 48
-
simple backend like express or oak in js world
No, Wai is the common abstraction, sort of like connect. Warp is one (only AFAIK) server implementation of it. Both Wai and Warp are developed along side with Yesod, you can find their source code here https://github.com/yesodweb/wai
-
Beginner friendly Haskell Open Source projects?
WAI
What are some alternatives?
shell-conduit - Write shell scripts with Conduit
tar-conduit - Conduit based tar extraction mechanism
conduit-combinators - Type classes for mapping, folding, and traversing monomorphic containers
conduit-audio - Use conduit to process/manipulate/convert audio
cryptonite-conduit - conduit bridge for cryptonite
couchdb-conduit - Couch DB client library
servant - Servat is a Haskell DSL for describing, serving, querying, mocking, documenting web applications and more!
binary-conduit - binary serialization interface for conduit
hreq-conduit - A type dependent highlevel HTTP client library inspired by servant-client.
csv-conduit - Flexible, fast and constant-space CSV library for Haskell using conduits
crypto-conduit - Conduit interface for cryptographic operations (from crypto-api).