Wednesday, September 16, 2026

Show HN: AttaLambda: a language where types and data are made of untyped lambdas https://ift.tt/10N4ZGK

Show HN: AttaLambda: a language where types and data are made of untyped lambdas I made a programming language! I call it AttaLambda. The idea is this: a usable Lisp-shaped language where all the meaningful computation is done in untyped lambda calculus. Logic, arithmetic, data structures, control flow, even the types — all untyped lambdas. A small, explicit Racket layer sits at the boundary to handle the outside world, plus some macros for syntactic sugar. This is its story: A couple years ago, I wanted to play with untyped lambda calculus and go beyond where tutorials usually stop. They show booleans, numbers, arithmetic, maybe the Y-combinator — and then stop. I wanted them to keep going. So I started a project called All The Lambdas. Using Racket set to lazy, I used only one Racket construct for actual computation — lambda — and built integers, rationals, lists, binary digit-list number encodings, search algorithms, and more. Then I found Functional Programming Through Lambda Calculus by Greg Michaelson. In it, Michaelson sketches the bones of a language built in untyped lambda calculus, including a type system where typed objects are themselves pair functions containing a type tag and value. I found that intriguing and implemented and extended the idea, still entirely with untyped lambdas. I don't have a background in programming language theory, so I was figuring it out as I went. Then I stopped tinkering with it for a while. Recently I came back and thought: why not turn this into a real usable language with the help of coding agents? I reused most of All The Lambdas as the foundation. Thus AttaLambda was born. Some additional details: * Rat, its number type, uses binary digit-list encodings instead of Church numerals, so numbers scale with their number of binary digits rather than their value * errors are lambda-encoded values, not Racket exceptions, and propagate through the language like ordinary data * the Racket host only performs irreducibly external operations; even things like HTTP parsing, routing, and response construction stay in the pure lambda world * recursion uses lambda-calculus recursion: no loops or true self-reference, just the Y-combinator underneath * automated purity checks catch accidental cheating, like native computation leaking into the pure parts * syntax like multi-argument lambdas, let, cond, and list is just macro sugar that reduces to unary lambdas and application A couple code examples: (short of print, every single thing here reduces to unary untyped lambdas) Factorial: #lang attalambda (rec factorial n = (cond ((eq n 0) 1) (else (mult n (factorial (sub n 1)))))) (print (factorial 10)) Which prints: 3628800 Or an exact harmonic sum: #lang attalambda (print (reduce add 0 (map (lambda (n) (unwrap-ok (div 1 n))) (range 1 8)))) Which prints exactly: 363/140 As far as I know, no programming language combines all these features: Michaelson-style type tags built from untyped lambdas, exact rationals backed by binary digit lists, errors as lambda values, and real-world programs where almost all computation stays inside the lambda core. None of those pieces are individually new, but I don't know of another language combining them this way. Download: https://ift.tt/0chvlpU Code: https://ift.tt/8fEg7Pe Original All The Lambdas: https://ift.tt/46XrPtQ https://attalambda.com September 14, 2026 at 08:21PM

Show HN: Restarted – a 2026 remake of the classic 2015 startup generator https://ift.tt/WTUOb60

Show HN: Restarted – a 2026 remake of the classic 2015 startup generator The original startup website generator by Tiff Zhang and Mike Bradley landed on Hacker News in April 2015 ( https://ift.tt/etYiSDP ) and has been one of my favorite little novelties of that era ever since. It perfectly captures the saturated colors, cliché hero shots, gimmicky names, buzzword-heavy slogans, and proudly hirsute team photos of the time. A lot has changed since then, so I thought it would be fun to make a contemporary remake: https://restarted.io/ By default you get the minimalist aesthetic and clean-cut faces of 2026. The classic 2015 look is still available — just click the link at the bottom of the page or change the “z” parameter in the URL to the more familiar “s”. The universe of partner sites and competing startups is just as expansive as it ever was. The original site is entirely client-side and requires downloading all of the data tables locally. It leans on a mix of jQuery 1.11.2, Bootstrap 3.3.2, and Font Awesome 4.3.0, and if you view the source, it instantly gives away all of its secrets. For restarted.io I replaced all of that with a server-side renderer written in Go, so this time view-source tells you nothing. There are many Easter eggs in there — see how many you can find before I write them up. My original goal was to stay faithful to the 2015 appearance, and that turned out to be a technical adventure. The original's sine-based random number generator is... the worst, and different implementations of sine give different results. The eventual solution was to extract the exact sine function from Chrome’s V8 engine, as vendored C behind cgo and as a line-by-line Go port that keeps cgo optional, so the seeds and results line up the way they used to. Both are checked against V8’s own test cases. Then I discovered a bug in the original code that made half of its vocabulary unreachable — the first half of the verb table and the second half of the noun table, exactly complementary, so nothing about the output ever looked truncated. My goal then shifted from remaking the generator as it was in 2015 to remaking the site as the authors intended it to be in 2015. Over the years several people asked for their photos to be removed, so the remake instead draws from a broad pool of era-appropriate AI-generated profiles. A perceptual hash helps keep everyone looking distinct, and there’s a bit of extra care to make sure the Wang Fangs of the world don’t appear as Irish lasses. The hero image pool is much larger now, and all the old Rio de Janeiro shots have been retired, though you’ll still recognize plenty of the 2015 photos. Have fun poking around! https://restarted.io/ September 15, 2026 at 03:34PM

Tuesday, September 15, 2026

Show HN: farseer.space – fly anywhere in the universe in your browser https://ift.tt/L7lx3dN

Show HN: farseer.space – fly anywhere in the universe in your browser I've been hacking on a universe simulator, modeled on the path that the amazing SpaceEngine worked out over a decade ago, but without its Windows platform restriction. It takes real scientific data where we have it and augments it with procedural generation. So you can fly to e.g. the Whirlpool Galaxy, see a real image of it, but then fly into a 3d model that's created based on the image characteristics and visit individual stars etc within it. Same with nebula and other celestial objects. I used to work at a small planetarium during undergrad, and we didn't have the funds to buy the fancy planetarium software. I dreamed of using something like this during shows to share the scale of the cosmos with visitors. I've added a dome projection mode, but I haven't yet had the opportunity to test it out in a real planetarium yet. If anyone has access, let me know if it works! There's also a sorta hidden presentation share mode where you can share a link and others can follow along with your journey. I added this cause screen sharing so often compresses scenes like this to death! It worked ok for a quick share with some coworkers, but I'm sure there are some issues. Mobile controls are rough but maybe passable. Really hoping for feedback on how hard this thing is to use and where to improve! If you know of datasets I should be including or ways to improve rendering let me know! Anyway, happy flying! There is an incomprehensible amount of stuff happening out there! https://farseer.space/ September 15, 2026 at 11:50PM

Show HN: Sass – Rust and WASM https://ift.tt/PKEXSk1

Show HN: Sass – Rust and WASM https://ift.tt/iy4sZcr September 15, 2026 at 11:34PM

Monday, September 14, 2026

Show HN: Hazzel – a tiny coding agent, Bring your own keys https://ift.tt/riqCRfK

Show HN: Hazzel – a tiny coding agent, Bring your own keys https://ift.tt/Pw8TbF6 September 15, 2026 at 04:15AM

Show HN: An open-source control plane for your company's AI agents https://ift.tt/7VjESNZ

Show HN: An open-source control plane for your company's AI agents https://ift.tt/kqTxjlm September 15, 2026 at 03:16AM

Show HN: Macros with a Behringer FCB1010 MIDI Pedalboard in macOS https://ift.tt/vaOnYZP

Show HN: Macros with a Behringer FCB1010 MIDI Pedalboard in macOS https://ift.tt/DeES5VB September 15, 2026 at 03:01AM