-
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
I built up a map of "where to go next and how far left" and flood-filled it starting from the end and looking at plausible neighbours for each step until convergence, which ended up being super useful for Part 2 since I got it "for free":
https://github.com/cronin101/AdventOfCode/blob/master/2022/D...
Day 13 on the other hand is something I'm far less ashamed of and really lets Haskell shine, it basically didn't need any code at all. I just defined how to parse an equivalent data representation, how it was sorted Eq/Ord typeclass (following the brief), and used `compare` to do the lifting.
instance Eq PacketData where
The library itself is fine. The problem I see is twisting JS/TS in to a language it is not.
JS simply does not lend itself to currying, data-last signatures, piping, and pattern matching like an ML family language does. And as you can tell by the Ramda typings, neither does the TS type system. [0]
You will forever fight an uphill battle against every single tutorial and piece of documentation and colleague when going down this path. I don't think the effort is worth it.
0 - https://github.com/DefinitelyTyped/DefinitelyTyped/blob/dc9b...
Pipes and pattern matching have been proposed to JS.
https://github.com/tc39/proposal-pipeline-operator
https://github.com/tc39/proposal-pattern-matching
As much as I like these concepts, I'd be hesitant about adding them to the language. At what point does a language support too many paradigms?
In contrast, take the recently stage-3'd Iterator Helpers[0]. These build on top of the language by using methods that already exists in other parts. It feels natural and is more of the same.
0 - https://github.com/tc39/proposal-iterator-helpers#implementa...