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

    Mikel Evins

    mikelevins.github.io · Personal blog · on HN since 2021

    Mikel Evins writes about REPL-driven programming, Lisp, Apple design history, and programming as teaching.

    Visit blogHN submissions
    ProgrammingLanguages & Compilers
    What HN says

    Commenters recommend his REPL-driven programming post, praising its distinction between merely having a REPL and supporting REPL-driven development.

    Stats for nerds
    16HN people shared it
    7linked in comments
    520story points
    Jul 2026last shared
    2021people per year2026

    Top posts on HN

    1. 1
      On Repl-Driven Programming
      14 people · 498 points · first shared 2021 · 206 comments on HN
    2. 2
      On Repl-Driven Programming
      1 person · 15 points · first shared 2021 · 4 comments on HN
    3. 3
      Reimagining Apple's Bauhaus OS (2021)
      3 people · 7 points · first shared 2022 · 4 comments on HN
    4. 4
      2021 01 04 art is not optional
      1 person · first shared 2022
    5. 5
      2020 02 03 programming as teaching
      1 person · first shared 2021

    What HN people wrote when they linked it

    • mikelevinsApr 2022

      I wrote a blog post entitled "Art is not optional" (https://mikelevins.github.io/posts/2021-01-04-art-is-not-optional/) that is in part about this: I don't think people usually choose to be artists. I think they mostly just are, like it or not. In terms of personality psychology, they're "creatives"--that is, people that score extremely high in trait openness.

      Like you, I write because I must. I don't choose to write. It just happens. I can choose whether or not to put pen to paper or finger to keyboard, but I can't choose not to create the stuff that I write.

      If I'm stuck somewhere with no writing utensils, I write anyway, constructing stories and lyrics and essays and explanations in my head, storing it up as best I can for when I can write it all down. It isn't even mostly in words. Most of my thoughts are visual-spatial, and only get translated into words when I have writing utensils.

      I make pictures, too, and songs, and software. Similarly, I don't decide to do it or choose to do it; it just happens all the time, like it or not. If I don't have any tools to work with, that doesn't make it stop. It just makes it inconvenient, and it means that a large amount of what I create is likely to be lost before I can get it transcribed. I don't lose it all. The especially memorable bits stick, which means that doing without tools for transcription has benefits. It filters out the less memorable stuff.

      My openness score is in something like 97th percentile, so somewhere around…

    • linguaeOct 2024

      I sympathize, but unfortunately Tim Cook's stewardship of the Mac, from the embrace of soldered RAM and even storage throughout the Mac lineup, to the increasing annoyances of macOS either in the name of security (e.g., notarization, the popups that request permission to read user directories, which is really annoying when using LLVM's debugger in modern macOS) or to help advertise Apple's subscription services, have harmed the Mac experience. The issue of soldered RAM and storage in particular pushed me back to Windows after more than 15 years of using Macs (which is a shame since Apple's ARM hardware is awesome when it comes to performance and energy consumption); the last time I used Windows as my daily-driver OS was during the XP era. Unfortunately I don't like any of the mainstream desktop operating systems; Windows is annoying and loves to get in the way, macOS is becoming increasingly annoying with each release and is also tied to hardware with massive prices for RAM and storage upgrades with no DIY options like in the past, and the Linux desktop has a Sisyphean development cycle with so much churn. Instead of working on refining the user experience and polishing applications like LibreOffice to make them more competitive to Microsoft Office, it seems like every few years there are major infrastructure changes that require major code changes or even rewrites.

      I'm quite disillusioned with desktop computing in general. Microsoft and Google are leading the way with…

    • pcr910303Apr 2022

      I’ve never did anything serious with Common Lisp, but my light experience on it was that

      - the idea that almost all language constructs are user-implementable with macros is quite impressive (but I don’t buy the argument that “real” macros are only able in s-exprs)

      - and the REPL-driven development model was a really beautiful and seamless experience.

      But… every time I try to use it on some code, I find too many warts and inconsistencies that I just didn’t want to spend too much effort in making it work. It’s a beautiful language in it’s own ways, but the other parts are too ugly (to me, of course).

      I’m fine with it being a lisp or not; I just want a clean language with macros baked in (and becomes the basis of most language features), and with a REPL-driven development model as a first class citizen (with interactive restarts and all).

      Unfortunately it seems a pipe dream… so I’m stuck here.

      [0]: https://mikelevins.github.io/posts/2020-12-18-repl-driven/

    • sundarurfriendJun 2023

      One of the other comments in this thread links to: https://mikelevins.github.io/posts/2020-12-18-repl-driven/ which makes a distinction between "having a REPL" and "supporting repl-driven programming". Modern languages which have a REPL generally don't support the sort of repl-driven programming they refer to. Julia's Revise.jl [1] supports one way of repl-driven programming, and it is in fact the recommended way of doing Julia, but from my understanding it's still very different from the Lisp ways.

      [1] https://timholy.github.io/Revise.jl/stable/

    • vindarelJul 2026

      the python debugger is cool but is an inferior experience. It isn't only about a REPL, but about the editing experience, and about the language being thought from the ground up for long-living programs. See: https://mikelevins.github.io/posts/2020-12-18-repl-driven/

    • schemescapeDec 2023

      Not exactly what you asked for but, if you have time, I would recommend looking at Practical Common Lisp:

      https://gigamonkeys.com/book/

      And also this blog post (which is a much smaller time commitment):

      https://mikelevins.github.io/posts/2020-12-18-repl-driven/

    Related

    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
    Peter Seibelgigamonkeys.com328 people

    Practical Common Lisp (2005)

    Peter Seibel
    Personal · last shared 2026
    Lisp Journeylisp-journey.gitlab.io38 people

    Hacker News now runs on top of Common Lisp

    Lisp Journey
    Personal · last shared 2026
    Richard Gabrieldreamsongs.com353 people

    The Art of Lisp and Writing (2003)

    Richard Gabriel
    Personal · last shared 2026
    Spritely Institutespritely.institute57 people

    A Scheme Primer

    Spritely Institute
    Company · last shared 2026
    Rainer Joswiglispm.de21 people

    Ergonomics of the Symbolics Lisp Machine

    Rainer Joswig
    Personal · last shared 2025
    Michael Malismalisper.me63 people

    An Algorithm for Passing Programming Interviews (2020)

    Michael Malis
    Personal · last shared 2026
    Inconvergentinconvergent.net42 people

    On generative algorithms

    Inconvergent
    Personal · last shared 2025