Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Training a 4B model to produce 81% faster query plans than Postgres(rohanbansal.com ↗)
    45comments
  2. Breaking the 1.58-bit Barrier for Ternary LLMs(arxiv.org ↗)
    discuss
  3. Xiaomi Mimo 2.6 live post-training dashboard(xiaomi.com ↗)
    38comments
  4. Small programming tricks(will-keleher.com ↗)
    160comments
  5. AWS says it can't restore some data from mideast facilities struck by Iran(wsj.com ↗)
    62comments
  6. Reversing Factorio's RNG(gegell.github.io ↗)
    9comments
  7. Performance Improvements in .NET 11(devblogs.microsoft.com/dotnet ↗)
    3comments
  8. Accurate Models of AMD Matrix Cores(arxiv.org ↗)
    5comments
  9. macOS 27 Golden Gate – Review(arstechnica.com ↗)
    69comments
  10. Vectorized and performance-portable Quicksort (2022)(googleblog.com ↗)
    24comments
  11. How good are frontier models at physics?(arxiv.org ↗)
    16comments
  12. Anatomy of a Texture(agentlien.github.io ↗)
    10comments
  13. Dream-RSI: Recursive Self-Improvement through Evolving Worlds(arxiv.org ↗)
    48comments
  14. Japan's book scene is moving from bookstores to libraries(untranslatedjp.substack.com ↗)
    7comments
  15. Mistral X Mozilla: Private, Multilingual AI Browsing(mistral.ai ↗)
    178comments
  16. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    235comments
  17. Anecdotally, programmers dislike "reduce"(evanhahn.com ↗)
    90comments
  18. The Siberian Ice Maiden and the Scythian World(patrickwyman.substack.com ↗)
    3comments
  19. Tell the speakers that you liked their talks(ohhelloana.blog ↗)
    72comments
  20. WalShadow: Sub-second Postgres replication to ClickHouse from physical WAL(clickhouse.com ↗)
    4comments
  21. Training Text-to-Image Models 3.6× Faster(linum.ai ↗)
    1comments
  22. The DeepMind Institute(deepmind.com ↗)
    37comments
  23. Show HN: AttaLambda: a language where types and data are made of untyped lambdas(attalambda.com ↗)
    discuss
  24. A warning about 'model welfare'(mustafa-suleyman.ai ↗)
    449comments
  25. Show HN: Restarted – a 2026 remake of the classic 2015 startup generator(restarted.io ↗)
    2comments
  26. Kyber (YC W23) Is Hiring a Forward Deployed Engineer(ycombinator.com ↗)
    discuss
  27. Reverse-engineered Jev-like model(github.com/vinnylarouge ↗)
    4comments
  28. How big are factorials?(thegreenplace.net ↗)
    31comments
  29. Douglas Adams and the exterminated Doctor Who adventure(bbc.co.uk ↗)
    68comments
  30. Claude Cowork and chat are now one Claude(claude.com ↗)
    195comments

Show HN: AttaLambda: a language where types and data are made of untyped lambdas

27 pointsby 2d agoattalambda.com
0 comments
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://github.com/kserrec/attalambda/releases/tag/v0.7.0

Code: https://github.com/kserrec/attalambda

Original All The Lambdas: https://github.com/kserrec/all_the_lambdas

A quiet thread, for now.Start the conversation on HN ↗