1. 5

  2. 19

    This article is a bunch of concept name-dropping and strong but unsupported assertions without a lot of explanation. It was hard to tell whether any of the explanations were correct because none of them were precise enough to be falsifiable.

    For a much better explanation of categories, see Category Theory for Programmers.

    1. 4

      The author has published versions three distinct version of that for Haskell, Scala, and Ocaml. Very nice.

    2. 8

      Pretty incoherent writeup running out to some marketing…

      1. 6

        But Functional Programming lacks Categories !!


        So where are you gonna put your schema? Nowhere good, that’s for sure. Frustrated, developers have been leaving Haskell for Idris and other languages that at least have some type support, if not ‘schema’.

        Ah yes, the great Haskell to Idris migration of 2019, spurred on by…umm…lack of database tooling. Yes. All those great Idris CRUD apps, because a database that you haven’t given full-strength dependently typed bindings is really a database you haven’t appreciated at all.

        I’m kinda sad this article didn’t bring up F* now. CRUD apps in F* would be entertaining.

        OCAML tried to build something called a Categorical Abstract Machine (CAM) but it was too inflexible.

        Nevermind, that probably explains the leaving F* out. OCaml descendant; still too inflexible for real world, database-oriented, extremely mathy programming.

        A CAM is a bit of an Eldritch creature that is (1) part database (2) part operating system and (3) part programming language.

        Isn’t this literally The Oberon System (or also kinda Smalltalk)? MUMPS also could probably hit all these cleanly. Mainframes also like to mesh databases & filesystems.

        1. 7

          This is some tremendous clickbait holy shit. I have no idea what point this article makes because I’m not going to click anything with a title like this. It’s at the same level as something like “10 crazy things you never knew about Linux”.

          1. 4

            Submission of an article like this is a good way to get informed contrary opinions for those who may have the benefit of enough domain knowledge to spot the mistakes. There were no comments on HN at the time of this posting, but within 12 hours some very good response here.

          2. 3

            I enjoy this article because it reads like someone ingested a bunch of illegal substances before reading random tutorials and then published their notes.

            1. 2

              You can actually parallelize existing Haskell code very easily imho.

              check out rpar, rseq, parList, parMap, parBuffer

              For me, the problem is knowing how to apply this effectively.

              1. 2

                Great AI generated recruitment article.

                1. 2

                  I flagged as spam. You can too.