5 ms·
While I love Clojure, these ideas already existed in other languages. For example, Mozart/Oz basically integrates all major paradigms [1]. It's a bit of a trag
by nextos 4y ago
While I love Clojure, these ideas already existed in other languages. For example, Mozart/Oz basically integrates all major paradigms [1].
It's a bit of a tragedy it has been mostly abandoned. I wish a Lisp, such as Clojure, emulated Mozart/Oz semantics.
[1] https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
- gsinclair 4y agoLink looks great; thank you.
- cloogshicer 4y agoHoly crap, that figure 2, showing all the programming paradigms and how they relate to each other is incredible.
- nextos 4y agoThe extended version of this is the book Concepts, Techniques, and Models of Computer Programming [1], which is just incredibly good. There's also a summary poster [2]. Actually, CTM was in Rich Hickey's reading list when he designed Clojure [3]. [1] https://www.info.ucl.ac.be/~pvr/book.html https://www.info.ucl.ac.be/~pvr/book.html [2] https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng201.pdf https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng201.pdf [3] https://www.goodreads.com/list/show/137472.Rich_Hickey_s_Clojure_Bookshelf https://www.goodreads.com/list/show/137472.Rich_Hickey_s_Clo...
- cloogshicer 4y agoThank you for the recommendation!
- mncharity 4y ago> Mozart/Oz [...] a bit of a tragedy it has been mostly abandoned Agreed. But wow the documentation was a mess. So much language progress these last decades has been around increasing minimum expectations for ecosystem. Poplog (integrated CommonLisp, prolog, ML, an a C-like; 1980's) is another on my list of roads regrettably not taken. Killed by commercialization. Which also zombied CL.
- marcle 4y agoWaldek Hebisch, who is the maintainer for the Fricas computer algebra software, also maintains a 64-bit version of Poplog for amd64/x86_64: https://github.com/hebisch/poplog https://github.com/hebisch/poplog https://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html https://www.cs.bham.ac.uk/research/projects/poplog/freepoplo...
- lispm 4y agoBasically any Expert System Shell in Lisp in the 80s/90s was a multi-paradigm programming system (ART, KEE, KnowledgeCraft, KnowledgeWorks, Babylon, and many others). There were also a bunch of functional/relational languages like Relfun, AP5 in Lisp. There are/were also a multitude logic/relational languages in Lisp.
- mncharity 4y agoIf you had a unix, and didn't have several hundred to thousand (adjusted) dollars, in the mid to late 1980's and early 1990's, there was... very little. Gcc and CMUCL eventually existed and later became usable. My very fuzzy recollection is Poplog was available early on and cheapish but barriered (have your academic department negotiate with ours for a site license), then commercial. Over those years, I repeatedly searched for an environment to live in, and repeatedly came up empty. And repeatedly thought: Poplog could own this space, could be the obvious no-competition language choice for non-commercial non-proprietary development... but is trading that potentially massive impact for unicorn dreams and subsistence funding. Imagine a different mid 1990's, with gcc, and then python and perl and C++, struggling TCL-like to gain traction against a widespread active accessible portable powerful poplog/CL/ML tooling and community.
- undershirt 4y agoWow that paper has a cool footnote about the “empty paradigm”: > Of course, many of these paradigms are useless in practice, such as the empty paradigm (no concepts)[1] or paradigms with only one concept. > [1]: Similar reasoning explains why Baskin-Robbins has exactly 31 flavors of ice cream. We postulate that they have only 5 flavors, which gives 2^5 − 1 = 31 combinations with at least one flavor. The 32nd combination is the empty flavor. The taste of the empty flavor is an open research question.
- eyelidlessness 4y agoI don’t remember whether it was Rod or Todd, but “unflavored [iced milk] for me!” was in fact a Simpsons gag.