Our great sponsors
-
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.
-
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).
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
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