<https://github.com/47deg/helios/blob/master/helio...
# arrow
j
https://github.com/47deg/helios/blob/master/helios-parser/src/main/kotlin/helios/parser/Parser.kt this looks like an arrow-kt json parser. I'm not yet sure what im looking for to understand how this diverges from a kotlin minimal effort.
r
This is a port of the Jawn Parser
low level FP libs use whatever is faster because their use case is unknown so we tend to optimize for performance wherever we can
s
It’s an Kotlin FP Arrow based Json parser. Like @raulraja mentioned it’s based on a port of Jawn, which is a very optimized Json parser.
Helios uses `Encode`/`Decode` typeclasses to parse between
Json
and your domain which can automatically be generated for
data class
, we’ll have better and more advanced support there with arrow-meta later.
It also has support for a powerful Json DSL that supports “dot syntax” similar to JS to work with Json in an immutable way.
Hope that provides some more info on what Helios is about 😉
j
https://github.com/0xCopy/json-lazy-autobean/blob/master/src/main/java/com/colinalworth/gwt/beans/shared/ShallowSplittable.java this one is boss. i might be slightly biased since i wrote it. but i understand the various tradeoffs.
im of the impression that the combinators demo i saw (link later) is close to elegant, but the combinator library doesn't build/host right now
i'm more interested in seeing "excessively arrow-kt" than the particulars of a json parsing strategy
r
@jimn if you are interested in benchmarking that against jawn we can provide an alternative parser
Helios parser infrastructure is based on a type class you can implement for other parsers.