-
Calling linked lists Haskell's "primary data structure" seems off-base to me. Yes, there's String, yes, there's built-in syntax for List... but there's also everything in containers, and vector is pretty easy to use in practice, though it would probably be good for more learning material to mention it more prominently.
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
Another good practice to prevent runtime exceptions is to avoid partial functions like head and tail. One way to ensure that one doesn't accidentally slip in is to use an alternative prelude (e.g. relude) that doesn't export them by default. Another alternative is to use hlint to warn about them (and then import their safe counterparts instead).
-
There's been a 3rd party NewRelic library since the end of 2019 by the great people at NoRedInk: https://github.com/NoRedInk/tracing-newrelic