frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
598•klaussilveira•11h ago•177 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
906•xnx•17h ago•545 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
22•helloplanets•4d ago•17 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
97•matheusalmeida•1d ago•23 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
28•videotopia•4d ago•0 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
204•isitcontent•11h ago•24 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
202•dmpetrov•12h ago•93 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
314•vecti•14h ago•137 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
353•aktau•18h ago•178 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
357•ostacke•17h ago•93 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
459•todsacerdoti•19h ago•231 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
24•romes•4d ago•3 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
259•eljojo•14h ago•156 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
80•quibono•4d ago•20 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
394•lstoll•18h ago•267 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
53•kmm•4d ago•3 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
7•bikenaga•3d ago•1 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
235•i5heu•14h ago•178 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
4•jesperordrup•1h ago•0 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
47•gfortaine•9h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
26•gmays•6h ago•8 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
123•SerCe•7h ago•103 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
136•vmatsiiako•16h ago•60 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
68•phreda4•11h ago•12 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
271•surprisetalk•3d ago•37 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1047•cdrnsf•21h ago•431 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
14•neogoose•4h ago•9 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
171•limoce•3d ago•92 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
60•rescrv•19h ago•22 comments

Show HN: ARM64 Android Dev Kit

https://github.com/denuoweb/ARM64-ADK
15•denuoweb•1d ago•2 comments
Open in hackernews

Compiling with Continuations

https://swatson555.github.io/posts/2025-09-16-compiling-with-continuations.html
82•swatson741•4mo ago

Comments

matheusmoreira•4mo ago
> Doing a search for source code on Github reveals basically nothing. No blog posts. No source code repositories. Nothing.

If nobody ever implemented it in C, it's questionable whether it ever happened at all.

gsf_emergency_2•4mo ago
Have been many, for the book the post is reviewing, eg.

https://github.com/abeln/cc

Blogger just didn't look hard enough (or doesn't know that search on GitHub is crippled, for reasons)

enum•4mo ago
I learned a lot from implementing this book. Compiler was in OCaml. Runtime was in C (used as a glorified assembly).
matheusmoreira•4mo ago
> Compiler was in OCaml

Not exactly a common language...

I don't have a math or computer science background so the more academic publications are almost always quite unreadable to me. I learn a lot by exploring the source code of existing virtual machines instead, and most are written in systems languages.

Sometimes much smarter people than I randomly decide to write articles that democratize access to very complex areas of programming language development. Examples:

https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...

https://www.wingolog.org/archives/2010/02/26/guile-and-delim...

StopDisinfo910•4mo ago
It’s an extremely common language to write compilers in. The original Rust compiler was written in it for exemple.
pjmlp•4mo ago
Github is not the universe.
rurban•4mo ago
This is a book about ML, not C.

For C you can look at the old Perl6 VM, Parrot which compiled to CPS until v2.7, where they destroyed CPS and went conventional and slow.

peterfirefly•4mo ago
The review doesn't mention branch prediction. Call/ret instructions work really well with branch predictors. Lots of jumps (to continuations) might not work quite as well.

From the review (discussing "practical applications of continuations"):

> Was it influential to the field of computer science?

Call/cc was fairly popular in the North West of the US (maybe California too) among Lisp and Scheme people. Compiling them well on real machines was definitely a topic worth investigating at the time.

https://en.wikipedia.org/wiki/Call-with-current-continuation

Call/cc has since (thankfully) become a lot less popular.

I liked the book a lot when I read it (2-3 decades ago) but it didn't seem relevant in the slightest if you just didn't care about call/cc.

pizlonator•4mo ago
CPS and call/cc aren’t the same thing though they are close.

CPS is an intermediate form that a compiler can use to reason about a program. You could argue that using this form makes it easier to implement call/cc, but I don’t think that’s really true.

I vaguely recall that CPS makes it possible to reason about stack disciplined calls, if you want to compile to call/ret instructions.

But whatever, it really doesn’t matter. CPS is quite dead as an IR. SSA won

StopDisinfo910•4mo ago
The C in CPS and the cc in call/cc are exactly the same thing.

It’s a continuation. You don’t need to express your program in continuation passing style to use continuation which is why call/cc exists.

The idea of continuation is interesting in and of itself independently of if your compiler uses CPS because continuation as a concept is useful. It appears in effect system for exemple.

Apple book is very good by the way. It gives a very hand on overview of how to implement a compiler in a functional style and neatly introduces some quite complex ideas. To me it’s amongst the books you can’t regret reading also it’s quite short and easy which helps. Timeless classic like Peyton Jones The implementation of functional programming languages and is great introduction to lambda calculus and presentation of how to implement a type checker in Miranda.

pizlonator•4mo ago
It might be a cool book but it describes an outdated way to write compilers, even if you’re writing compilers for functional languages
StopDisinfo910•4mo ago
What does that mean?

The book introduces how to turn a program to CPS, why you can and how that allows to compile. That’s interesting in and of itself as a way to conceptualise how a program computation flows work and what it means for the construction of functional programs.

It was never a popular way to write compilers but academic books are not tutorial. That never was the point.

cwzwarich•4mo ago
CPS is fairly dead as an IR, but the (local) CPS transform seems more popular than ever with languages implementing "stackless" control effects.

As far as functional IRs go, I would say SSA corresponds most directly to (a first-order restriction of) ANF w/ join points. The main difference being the use of dominance-based scoping rules, which is certainly more convenient than juggling binders when writing transformations. The first-order restriction isn't even essential, e.g. https://compilers.cs.uni-saarland.de/papers/lkh15_cgo.pdf.

If you're interested in an IR that can express continuations (or evaluation contexts) in a first-class way, a much better choice than CPS is an IR based on the sequent calculus. As I'm sure you know (since you work with one of the coauthors), this was first experimented with in a practical way in GHC (https://pauldownen.com/publications/scfp_ext.pdf), but there is a paper in this year's OOPSLA (https://dl.acm.org/doi/10.1145/3720507) that explores this more fundamentally, without the architectural constraint of being compatible with all of the other decisions already made in GHC. Of course, one could add dominance scoping etc. to make an extension of SSA with more symmetry between producers and consumers like the classical sequent calculus.

peterfirefly•4mo ago
CPS is not that different from SSA.

https://bernsteinbear.com/assets/img/kelsey-ssa-cps.pdf

pizlonator•4mo ago
They are so extremely and utterly different.

CPS is an AST form with first class functions that don’t return. CPS is highly opinionated about how control flow is represented and not very opinionated about how data flow is represented (maybe it’s just variable names you resolve, maybe it’s data flow).

SSA is a data flow graph with a way to express looping. SSA isn’t very opinionated about control flow and different SSA implementations do it differently.

That paper is just saying that you can transform between the two. So what. Of course you can; you can transform between any Turing complete languages and that doesn’t make them “not that different” and definitely not the same.

matheusmoreira•4mo ago
> Call/cc has since (thankfully) become a lot less popular.

Delimited continuations are the state of the art now, aren't they?

peterfirefly•4mo ago
Dunno. I really dislike continuations (but like Appel's book(s)) so I haven't kept up. Also, Oleg has a reputation for invention type mountains for lots of molehill problems so I'm naturally inclined to dismiss his ideas pretty much out of hand.
cwzwarich•4mo ago
> Call/ret instructions work really well with branch predictors. Lots of jumps (to continuations) might not work quite as well.

On x86, the use of paired call/return is conflated with usage of the stack to store activation records. On AArch64, indirect branches can be marked with a hint bit indicating that they are a call or return, so branch prediction can work exactly the same with activation records elsewhere.

mrkeen•4mo ago
> The book has no exercises. This positions it awkwardly in the broader perspective of compiler study. It’s as if it’s a book that isn’t meant to be studied or understood, or perhaps it just doesn’t care.

I bought it because it demonstrated how to cps-transform code, which was my goal. I think it delivered.

For a "broader perspective", see the follow-up papers:

  Compiling with Continuations, Continued (2007) (Cited by 154)” “The Essence of Compiling with Continuations (1993) (Cited by 806)” “Compiling with continuations, or without? whatever. (2019) (Cited by 34)”
(...which TFA characterised as "parody")

FWIW, after I implemented CPS this way, I eventually switched to ANF for typing reasons. I'm a bit of a beginner at type inference and could not assign a meaningful type to the extra term ("continuation") that CPS produces (and which ANF does not).

tikotus•4mo ago
I've implemented my lisp/scheme based on Three Implementation Models for Scheme and also Lisp in Small Pieces. Both make a CPS transformation, which, after finally wrapping my head around it, is great for many things. For example it makes implementing async/await very easy (without implementing call/cc which I find too powerful). I use them a lot since I use the language for scripting games, where asynchronous structures really shine.
matheusmoreira•4mo ago
I wrote my lisp as a modified explicit control evaluator from SICP because I wanted to avoid transforming the code at all.

> Three Implementation Models for Scheme

This was a good read, thank you for the reference.

> call/cc which I find too powerful

Why do you think that? Do you have the same opinion about delimited continuations?

tikotus•4mo ago
Good question, but I'm not yet experienced enough in language design to give a coherent answer. And I'm not very familiar with delimited continuations. But I think it boils down to keeping the VM simple. Now it's just all closures, and I can focus on optimizing closures. Adding first class continuations would reauire me to also optimize those. Also having continuations makes optimizing closures harder, since it prevents certain assumptions. As long as closures and CPS enable everything I need, I'm not tempted to add another, more powrful structure.
dmvdoug•4mo ago
It was very odd to start a “review” of a book from 1992 by criticizing it for lacking all the things you think a book published in 2025 should have. And then searching GitHub for code related to it, like TFA is expecting this to be something widely read as an introduction. TFA never considers who the target audience for the book was—in 1992, hardly a year when books about compilation techniques were looking to reach a wider audience (like Nyquist’s book Crafting or something).
antonvs•4mo ago
Beowulf really doesn’t stand up to the Marvel franchise.

Alternatively, OP might have a bit of learning still to do.

whizzter•4mo ago
I remember reading it and taking some inspiration for my thesis work.

CPS is quite useful for abstract interpretation when doing flow-based type-inference systems since the continuation just becomes another value to track.