aeson
wai-conduit
Our great sponsors
aeson | wai-conduit | |
---|---|---|
9 | 10 | |
1,225 | 807 | |
0.5% | 0.6% | |
7.0 | 8.9 | |
5 days ago | 25 days ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" 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.
aeson
-
Haskell adoption is higher than I expected, what can we do to get it to top 10 languages.
Don't get me wrong, we figured it all out, and currently we use Aeson fork as we needed this: https://github.com/haskell/aeson/pull/926, as the default behaviour didn't work with Swift, and I wasn't sure if it's worth spending any time completing it...
- kodimensional :: Avoiding space leaks at all costs
-
How would aeson redesign FromJSON without intermediate Value?
Simdjson-based Hermes is able to decode JSON significantly faster while still using an intermediate representation: https://github.com/haskell/aeson/pull/923
- List of upcoming breaking changes
-
The aeson vulnerability has been fixed in aeson-2.0.1.0
Ah, I see you are working on this already, thank you: https://github.com/haskell/aeson/pull/883
-
Text Maintainers: text-utf8 migration discussion - Haskell Foundation
Similar scan is already in aeson https://github.com/haskell/aeson/blob/master/src/Data/Aeson/Parser/Internal.hs#L322-L335 where the unsafeDecodeASCII is used I mentioned in my previous comment.
-
High-performance JSON codec
I'd be curious to see the benchmarks with the cffi flag enabled. aeson by default uses Haskell instead of C and this results in a pretty massive slowdown - the benchmark in that PR shows FFI being 12x faster.
Well, the aeson’s ffi code is written by me: https://github.com/haskell/aeson/commit/2f24e555d86a36fdda6d4cad79976004b382ab3b
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.
-
I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned
I switched backends a bunch of times because everything I tried (Go stdlib HTTP, Tornado, etc.) kept getting taken out whenever I would hit the front page, either due to CPU overload or some sort of resource leak. I ended up using Warp+Wai+Servant (https://github.com/yesodweb/wai) and it has been smooth sailing since then off my $3/mo VPS. It can take thousands of req/sec without flinching (which is higher than what you see from top of HN - that maxes out at a few hundred req/s).
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
-
simple backend like express or oak in js world
Is this the correct repo? https://github.com/yesodweb/wai
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?
aeson-coerce
alternative-vector - Use vectors with many and some, instead of lists
aeson-utils - Utilities for working with aeson.
aeson-applicative - define To/From JSON instances from one applicative definition
tmp-postgres - Create temporary postgres instances
req - An HTTP client library
android-lint-summary - Prettier display of Android Lint issues
gc-monitoring-wai - a wai application to show `GHC.Stats.GCStats`
attoparsec-conduit - A streaming data library
jsaddle - JavaScript interface that works with GHCJS or GHC
aeson-lens - Lens of Aeson
inquire