Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    M

    Metamodular

    metamodular.com · Personal blog · on HN since 2014

    Metamodular is Robert Strandh's site on Common Lisp, covering the SICL implementation, fast generic dispatch, and Lisp operating system designs.

    Visit blogHN submissions
    Languages & CompilersSystems & Performance
    What HN says

    HN links it for Lisp OS specifications and CLOS dispatch papers, and commenters discuss them in terms of Lisp machines and Lisp performance.

    Stats for nerds
    22HN people shared it
    12linked in comments
    512story points
    Aug 2025last shared
    2015people per year2025

    Top posts on HN

    1. 1
      Lisp Operating System (2015)
      3 people · 173 points · first shared 2019 · 61 comments on HN
    2. 2
      LispOS: Specification of a Lisp operating system (2013) [pdf]
      4 people · 141 points · first shared 2017 · 50 comments on HN
    3. 3
      Closos: Specification of a Lisp operating system (2013) [pdf]
      1 person · 93 points · first shared 2019 · 22 comments on HN
    4. 4
      Modular C: Reusable and Maintainable Code Using the C Language (1994) [pdf]
      1 person · 92 points · first shared 2019 · 30 comments on HN
    5. 5
      What is wrong with Lisp?
      2 people · 4 points · first shared 2017 · 1 comments on HN
    6. 6
      Method for fast generic dispatch in Common Lisp, used in the SICL implementation [pdf]
      2 people · 4 points · first shared 2019 · Discussion on HN
    7. 7
      Developer Productivity Differences
      1 person · 3 points · first shared 2019 · Discussion on HN
    8. 8
      Resolving metastability issues during bootstrapping CLOS [pdf]
      1 person · 1 points · first shared 2024 · Discussion on HN
    9. 9
      The Psychology of Learning
      1 person · 1 points · first shared 2014 · Discussion on HN
    10. 10
      Call site optimization.pdf
      3 people · first shared 2021

    What HN people wrote when they linked it

    • drmeisterFeb 2019

      A growing group of us are implementing Clasp (https://github.com/clasp-developers/clasp) - a new Common Lisp that uses Robert Strandh's Cleavir compiler, interoperates with C++ and uses LLVM as the backend. Clasp is the foundation of Cando - a programming environment for the development of molecular devices (https://www.youtube.com/watch?v=mbdXeRBbgDM&feature=youtu.be). Robert Strandh is an exceptionally clear thinker and a fantastic programmer. I can't count the times that Robert has implemented changes to the Cleavir compiler source code and without him being able to test it (long story) passed it to me and it ran flawlessly in Clasp. I implemented his fast generic function solution within Clasp based on another of his papers (http://metamodular.com/generic-dispatch.pdf). Edit: Basically - if Robert writes it up in a paper - I want to have the implementation.

      Once we develop molecular robots - they are going to implement LispOS. :-)

    • pfdietzNov 2022

      CLOS is currently slower, but there are some cool ideas floating around to greatly speed it up. The roadblock has been CLOS's dynamism: everything needs to be redefinable at run time, even the classes. But it's possible for an implementation to get high efficiency even with that, using separate code snippets that are reached by a single branch (although I don't know if any CL implementation does this yet):

      http://metamodular.com/SICL/call-site-optimization.pdf

      (I think a modern version of Common Lisp would take this idea and run with it, making most or all built-in functions generic.)

      CLOS really shines when it comes to problems that benefit from method combination, which allows one to decompose computations into reusable nuggets that can be reassembled using multiple inheritance.

    • louaiMay 2021

      Macro expansion is done in the host environment, not the target environment. You can compile the macro definition to a function taking a form and an environment. This would be something you arrange for within your compiler.

      CLTL2 specifies a function `parse-macro ` which is available in most implementations. Portably you can call it using the `trivial-cltl2` package:

      https://github.com/Zulu-Inuoe/trivial-cltl2

      Robert Strandh has written both papers and code for handling environments:

      http://metamodular.com/SICL/environments.pdf
      http://metamodular.com/clostrum.pdf

    • tokenroveMay 2015

      Features like generic dispatch in Common Lisp result in similar amounts of dynamism; methods and classes can be defined and redefined at any time so a lot of work goes into making that fast; see for example http://metamodular.com/generic-dispatch.pdf

      Also similar to Kernel#set_trace_func, CL has TRACE (http://www.lispworks.com/documentation/lw61/CLHS/Body/m_tracec.htm) but unlike generic dispatch, that's not expected to be fast.

    • v9vAug 2025

      Maybe not applicable for the XR platform here, but you could add introspection capabilities not present in Linux, a la Genera letting the developer hotpatch driver-level code, or get all processes running on a shared address space which lets processes pass pointers around instead of the Unix model of serializing/deserializing data for communication (http://metamodular.com/Common-Lisp/lispos.html)

    • moonchildSep 2022

      Python is not call-by-reference. If it were, we would expect 2 to be printed below, but it is not:

      >>> def f(x):
      ... x = 2
      >>> x = 1
      >>> f(x)
      >>> x
      1

      One might refer to r as being referentially transparent, or immutable (I don't know if it is--I am assuming). I would refer to python as using uniform reference semantics - http://metamodular.com/common-lisp-semantics.html

    Related

    Faré Rideaufare.livejournal.com37 people

    Why I haven't jumped ship from Common Lisp to Racket just yet

    Faré Rideau
    Personal · last shared 2024
    Andrea Coralloakrl.sdf.org19 people

    The original magic Emacs garbage collection hack (2019)

    Andrea Corallo
    Personal · last shared 2024
    Plasmasturmplasmasturm.org29 people

    Tree traversal without recursion: the tree as a state machine (2007)

    Plasmasturm
    Personal · last shared 2026
    axisofevalaxisofeval.blogspot.com57 people

    Common Lisp's block / return-from and unwind-protect

    axisofeval
    Personal · last shared 2025
    Coalton Blogcoalton-lang.github.io40 people

    Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

    Coalton Blog
    Company · last shared 2026
    Beets Blogbeets.io49 people

    We’re pretty happy with SQLite and not urgently interested in a fancier DBMS

    Beets Blog
    Company · last shared 2025
    Existential Typeexistentialtype.wordpress.com157 people

    Haskell Is Exceptionally Unsafe (2012)

    Existential Type
    Personal · last shared 2026
    Martin Cracauermedium.com/@martincracauer20 people

    Software Development at 1 Hz

    Martin Cracauer
    Personal · last shared 2023