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
    C

    call-with-current-continuation.org

    call-with-current-continuation.org · Personal blog · on HN since 2007

    Personal site of a programmer writing about Scheme, Forth, concurrent logic languages and small compilers, plus older essays and rants.

    Visit blogHN submissions
    Languages & CompilersProgrammingRetro Computing
    What HN says

    HN commenters link it for its Forth essays and an old rant about X's clipboard and ICCCM, treating it as a source of classic programming texts.

    Stats for nerds
    42HN people shared it
    30linked in comments
    861story points
    May 2025last shared
    2007people per year2025

    Top posts on HN

    1. 1
      Fleng 22 (concurrent logic programming)
      8 people · 195 points · first shared 2021 · 13 comments on HN
    2. 2
      Thoughts on Forth Programming
      5 people · 160 points · first shared 2019 · 90 comments on HN
    3. 3
      Strand Programming Language
      3 people · 118 points · first shared 2021 · 28 comments on HN
    4. 4
      Bones: A simple Scheme compiler for x86_64 systems
      4 people · 107 points · first shared 2014 · 10 comments on HN
    5. 5
      The joy of concurrent logic programming
      2 people · 99 points · first shared 2021 · 23 comments on HN
    6. 6
      The Brutalist Programming Manifesto
      1 person · 68 points · first shared 2024 · 88 comments on HN
    7. 7
      MicroFLENG – concurrent logic programming for CP/M, C64 and the “uxn” VM
      1 person · 47 points · first shared 2022 · 4 comments on HN
    8. 8
      I hate the X11 ICCCM selection system
      2 people · 36 points · first shared 2019 · 33 comments on HN
    9. 9
      UF – A Traditional Forth for Varvara
      3 people · 5 points · first shared 2022 · 1 comments on HN
    10. 10
      MA – a single-window clone of Plan9's Acme editor in Tcl/TK
      1 person · 5 points · first shared 2016 · 1 comments on HN

    What HN people wrote when they linked it

    • gmlSep 2007

      I recently did this, as in about a month ago, I became interested in learning Lisp. I started with a bunch of things. First I tried to get various working environments going like:

      Emacs + Slime + SBCL

      Emacs + Quack + PLT Scheme

      I also tried DrScheme (which is a great learning environment).

      Not knowing what i'd really need I also did some searching and discovered a few books:

      http://mitpress.mit.edu/sicp/

      http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html

      http://www.gigamonkeys.com/book/

      i also purchased the little schemer. I learned various interesting things from these different sources.

      1. practical common lisp was essentially useless to me since i'd already been kind of feeling sold on using scheme and had very little interest in common lisp. what it DID teach me was how datastructures in lisp are created under the hood (or how one might go about implementing them). from this perspective it was very nice and helpful when understading, car, cdr and mapcar. although i wish i'd had a nice example of implementing a scheme in C.

      2. reading The Little Schemer, has been the single most satisfying read of my entire computing life. so much so
      that i bought The Seasoned Schemer and The Reasoned Schemer
      without hesitation at price. this book will teach you to "think lisp" if you can just make it through the first book you will honestly know everything you need to about the lisp mindset and be ready to actually write useful code and no be shocked or…

    • alexwennerbergJan 2023

      Here are some great resources on Forth:

      http://www.call-with-current-continuation.org/articles/forth.txt

      https://git.sr.ht/~vdupras/duskos/tree/master/fs/doc/design/simple.txt

      https://www.youtube.com/watch?v=9TJuOwy4aGA

      Let me quote the first essay at length:

      > Writing "good" Forth code is very hard, or at least what I consider good
      Forth code, which may be different from what others consider good. Forth
      has been called a "write only language", but only because it requires
      an additional effort to simplify your code to a point where everything
      becomes obvious. This is an art, it is a moment of transcendence, which
      I don't claim to have ever reached, but sometimes I get a glimpse of it,
      an inkling of the fact that if I would work very hard on this, it will
      become so simple, so heavily factored, using such obvious and clear names
      that everything just falls into place. It is this moment that programmers
      experience every once in a while, where a short, simple piece of code
      just does what it is supposed to do, without any extra baggage, easily
      understandable. To achieve it in Forth is much harder, it may require
      more time, many rewrites, but the results are even more satisfying,
      as the result is smaller, much simpler, fully self-contained and not
      burdened by code that you can not trust. When you forget about that urge
      of productivity, which has become the moloch we sacrifice our children to,
      you may be able to achieve that particular thing that is called quality,
      elegance,…

    • silentbicycleMar 2009

      Since you explicitly mentioned C# and F#, I'd suggest OCaml. There's a free translation of a French O'Reilly book, _Developing applications with Objective Caml_, at http://caml.inria.fr/pub/docs/oreilly-book/ (the site seems to be down for me at the moment). The first few chapters focus on functional programming, then imperative programming, then compare their strengths, weaknesses, and when using each is most appropriate. (OOP and others are covered later in the book.) It's a pretty good intro to FP, imho.

      Once you know FP techniques, you can apply them in many languages people don't tend to think of as functional (though tail-call optimization helps, and support for higher-order functions is all but necessary); I write strongly FP-influenced code in Lua, for example.

      Scheme is also an utterly fantastic language, but I'm going to defer recommendations there to others. (Except: I really like Chicken - http://www.call-with-current-continuation.org/)

    • mnemonicslothMay 2008

      It sounds like you're asking these questions because you're stuck inside the scripting language box. There's a much greater range of choice open to you than Perl/Python/Ruby on the one hand, and C/C++/maybe-Java on the other.

      For example, Common Lisp implementations often compile functions as they're entered at the interactive prompt. From your perspective, you see an "interpreter" that runs code on the order of 100 times faster than it should. I'm told popular OCaml and Haskell implementations work this way too.

      If you're interested in portability, there are efficient Scheme compilers that target ANSI C, which gives you portability, good integration into just about any environment, and access to lots and lots of library code. My favorite of these is Chicken Scheme, which you can read about at http://www.call-with-current-continuation.org.

    • entaloneralieNov 2024

      Strand is one of the languages that particularly blew my mind, I think it was Armstrong that said that Strand was "too parallel"

      Strand is a logic programming language for parallel computing, derived from Parlog[2] which itself is a dialect of Prolog[3]. While the language superficially resembles Prolog, depth-first search and backtracking are not provided. Instead execution of a goal spawns a number of processes that execute concurrently.

      http://www.call-with-current-continuation.org/strand/strand.html

    • JtsummersNov 2021

      > This implementation
      additionally can distribute pools of parallel processes over native
      OS level threads, thus taking advantage of multicore architectures.
      Locking overhead should be small, as data is normally not shared
      among processes executing on different threads.

      From: http://www.call-with-current-continuation.org/fleng/fleng.html

      It seems the author has taken this into account, it's not a 1:1 mapping of processes to OS threads.

    Related

    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Bertrand Meyerbertrandmeyer.com47 people

    Introduction to the Theory of Programming Languages (1991)

    Bertrand Meyer
    Personal · last shared 2026
    Futhark Blogfuthark-lang.org87 people

    Designing a Programming Language for the Desert

    Futhark Blog
    Company · last shared 2026
    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    Enfranchised Mindenfranchisedmind.com36 people

    Apple is just Microsoft with better marketing

    Enfranchised Mind
    Publication · last shared 2012
    FP Complete Blogfpcomplete.com201 people

    Monads and GATs in Nightly Rust

    FP Complete Blog
    Company · last shared 2025