-
large-records
Library to support efficient compilation of large records (linear in the number of record fields)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
bytestring
An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data.
-
text-icu
This package provides the Haskell Data.Text.ICU library, for performing complex manipulation of Unicode text.
Cool. I added a few features (#30, #31) to superrecord that I needed in order to synthesise the record type from JSON at runtime, so I'd probably have to wait until those are ported to give it a try (unfortunately rather swamped at the moment so can't find the time to port those features myself right now).
Also: maybe you already knew GHC.Generics instances had superlinear compilation time, but betcha you didn't know even normal records themselves had superlinear compilation time. At least I didn't know until Edsko's super-recent investigation (resulting in yet-unreleased https://github.com/well-typed/large-records)
Idiomatic bindings to the Lua reference implementation are tricky: https://github.com/amethyst/rlua/issues/172#issuecomment-616975763
Interestingly, things get easier in some sense when you try to interoperate with C++, as more Rust features have an analogue there. See cxx and autocxx.
Initial PR to expose a C API for hyper (for usage in a curl backend): https://github.com/hyperium/hyper/pull/2278
amazonka is a bit of a minefield despite being listed as the only AWS library by SOTU
regex-tdfa, a very popular library, is buggy (e.g. here) despite claiming that "This regex-tdfa package implements, correctly, POSIX extended regular expressions [and your OS likely doesn't]"; its bugs very likely won't be fixed despite the fact that the library is still maintained
If you need fast Double rendering you can get a significant improvement by using double-conversion or the Ryu branch of bytestring. Again, you'd expect that "how to show a floating-point number quickly" would be a solved problem, but it's not.
text-icu occasionally breaks horribly and nondeterministically (1, 2) despite being praised by SOTU
Yeah, it is certainly advisable to e.g. avoid setjmp/longjmp as in the Lua example above (this was the main reason for the release of Rust 1.24.1). But even for "Rust-aware" C, one has to write a lot of boilerplate. For example, with bindgen, the go-to tool to create bindings to C headers, one has to write (unsafe) wrapper functions which
Try jrec. I threw away the sorting and it typechecks much faster now.