Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

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

Details

External ID
49699477
Source
HN
Company
—
Product
AttaLambda: a language where types and data are made of untyped lambdas
Website domain
attalambda.com
Launched
Sept. 14, 2026
Cohort
—
Upvotes
44
Upvotes percentile
0.8381180223285486
Tags
—
Fetched at
Sept. 18, 2026, 5:02 p.m.
Updated at
Sept. 18, 2026, 5:02 p.m.

Description

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 applicationA 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.0Code: https://github.com/kserrec/attalambdaOriginal All The Lambdas: https://github.com/kserrec/all_the_lambdas

Enrichment

Theme
scientific computing and deep tech tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
programming language based on untyped lambdas
Manually corrected
False

Could you build this?

Partial While an AI can write toy lambda calculus interpreters, creating a robust, usable Lisp dialect with exact rational numbers and runtime type systems compiled entirely into untyped lambdas requires deep PL theory and formal semantics knowledge.

What it would actually take: The system would need an AST parser, a macro expansion engine, and an interpreter or compiler in Racket/Scheme that lowers language primitives into pure Church or Scott encodings. The primary challenges involve designing performant lambda-encoded data structures, garbage collection or reduction strategies without standard runtime machinery, and handling recursion and exact arithmetic purely functionally.

Discussion

No comments on this launch.

Competitors

Other products that read as similar to this one — 163 launches clear the similarity bar, closest 8 shown.

Attention rank: #35 of 164 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 320 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.