HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
yon-language
yon
C2026–2026
yon-language / yon

yon

An experimental language whose object system is a topos: places are pre-sheaves, values are content-addressed on the Leech lattice, and the type checker refuses to compile a false proof.

3Distinct people
6Mentions
0Explicit recommenders
27GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

An experimental language whose object system is a topos: places are pre-sheaves, values are content-addressed on the Leech lattice, and the type checker refuses to compile a false proof.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:58 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 3-hour interval6 dated mentions

Observed mentions: 2026-06-05 00:28:17 UTC to 2026-06-08 23:27:01 UTC.

0122026-06-05 00:00:00 UTC to 2026-06-05 03:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJun 5, 00:002026-06-05 03:00:00 UTC to 2026-06-05 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 06:00:00 UTC to 2026-06-05 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 09:00:00 UTC to 2026-06-05 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 12:00:00 UTC to 2026-06-05 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 15:00:00 UTC to 2026-06-05 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 18:00:00 UTC to 2026-06-05 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 21:00:00 UTC to 2026-06-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 00:00:00 UTC to 2026-06-06 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 03:00:00 UTC to 2026-06-06 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 06:00:00 UTC to 2026-06-06 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 09:00:00 UTC to 2026-06-06 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 12:00:00 UTC to 2026-06-06 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 15:00:00 UTC to 2026-06-06 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 18:00:00 UTC to 2026-06-06 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 21:00:00 UTC to 2026-06-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 6, 21:002026-06-07 00:00:00 UTC to 2026-06-07 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 03:00:00 UTC to 2026-06-07 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 06:00:00 UTC to 2026-06-07 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 09:00:00 UTC to 2026-06-07 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 12:00:00 UTC to 2026-06-07 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 15:00:00 UTC to 2026-06-07 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-07 18:00:00 UTC to 2026-06-07 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 21:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-08 00:00:00 UTC to 2026-06-08 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 03:00:00 UTC to 2026-06-08 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 06:00:00 UTC to 2026-06-08 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 09:00:00 UTC to 2026-06-08 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 12:00:00 UTC to 2026-06-08 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 15:00:00 UTC to 2026-06-08 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 18:00:00 UTC to 2026-06-08 21:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-08 21:00:00 UTC to 2026-06-09 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJun 8, 21:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 5, 00:002026-06-05 00:00:00 UTC2026-06-05 03:00:00 UTC110
Jun 5, 03:002026-06-05 03:00:00 UTC2026-06-05 06:00:00 UTC000
Jun 5, 06:002026-06-05 06:00:00 UTC2026-06-05 09:00:00 UTC000
Jun 5, 09:002026-06-05 09:00:00 UTC2026-06-05 12:00:00 UTC000
Jun 5, 12:002026-06-05 12:00:00 UTC2026-06-05 15:00:00 UTC000
Jun 5, 15:002026-06-05 15:00:00 UTC2026-06-05 18:00:00 UTC000
Jun 5, 18:002026-06-05 18:00:00 UTC2026-06-05 21:00:00 UTC000
Jun 5, 21:002026-06-05 21:00:00 UTC2026-06-06 00:00:00 UTC000
Jun 6, 00:002026-06-06 00:00:00 UTC2026-06-06 03:00:00 UTC000
Jun 6, 03:002026-06-06 03:00:00 UTC2026-06-06 06:00:00 UTC000
Jun 6, 06:002026-06-06 06:00:00 UTC2026-06-06 09:00:00 UTC000
Jun 6, 09:002026-06-06 09:00:00 UTC2026-06-06 12:00:00 UTC000
Jun 6, 12:002026-06-06 12:00:00 UTC2026-06-06 15:00:00 UTC000
Jun 6, 15:002026-06-06 15:00:00 UTC2026-06-06 18:00:00 UTC000
Jun 6, 18:002026-06-06 18:00:00 UTC2026-06-06 21:00:00 UTC000
Jun 6, 21:002026-06-06 21:00:00 UTC2026-06-07 00:00:00 UTC000
Jun 7, 00:002026-06-07 00:00:00 UTC2026-06-07 03:00:00 UTC000
Jun 7, 03:002026-06-07 03:00:00 UTC2026-06-07 06:00:00 UTC000
Jun 7, 06:002026-06-07 06:00:00 UTC2026-06-07 09:00:00 UTC000
Jun 7, 09:002026-06-07 09:00:00 UTC2026-06-07 12:00:00 UTC000
Jun 7, 12:002026-06-07 12:00:00 UTC2026-06-07 15:00:00 UTC000
Jun 7, 15:002026-06-07 15:00:00 UTC2026-06-07 18:00:00 UTC101
Jun 7, 18:002026-06-07 18:00:00 UTC2026-06-07 21:00:00 UTC000
Jun 7, 21:002026-06-07 21:00:00 UTC2026-06-08 00:00:00 UTC101
Jun 8, 00:002026-06-08 00:00:00 UTC2026-06-08 03:00:00 UTC000
Jun 8, 03:002026-06-08 03:00:00 UTC2026-06-08 06:00:00 UTC000
Jun 8, 06:002026-06-08 06:00:00 UTC2026-06-08 09:00:00 UTC000
Jun 8, 09:002026-06-08 09:00:00 UTC2026-06-08 12:00:00 UTC000
Jun 8, 12:002026-06-08 12:00:00 UTC2026-06-08 15:00:00 UTC000
Jun 8, 15:002026-06-08 15:00:00 UTC2026-06-08 18:00:00 UTC000
Jun 8, 18:002026-06-08 18:00:00 UTC2026-06-08 21:00:00 UTC101
Jun 8, 21:002026-06-08 21:00:00 UTC2026-06-09 00:00:00 UTC202

What Hacker News says

1 sources
A few notes, because this is obviously vibe coded, and does not work in many ways. 1. Yon's documentation mentions "Homotopy type theory:" > the runnable HoTT fragment is refl/pair/fst/snd These are basic features of martin-lof type theory, not homotopy type theory. The documentation makes no reference of an interval type, which is generally the way to go for decidable type-checking in HoTT without univalence as an opaque axiom. Pi types are mentioned, but Yon does not have dependent types. From what I can tell, they are polymorphic, maybe even just simply-typed (except for identity types under Pi). See here in the repo: https://github.com/yon-language/yon/blob/523e363a4a00e8da1410a2521b1d7d1309d360ce/… The datatype Ty only refers to other Ty's. Thus, it is not dependent. Terms cannot appear in types. Pi is e
Read the rest
xplicitly indexed by a type defining its domain and codomain. A pi type is not a pi type if its codomain cannot depend on its domain. 2. Normalization can fail in Yon. Yon's docs say that its universe of propositions has booleans (https://yon-lang.org/book/heyting-core?_highlight=prop). It also says its logic is intuitionistic (AKA, constructive). However, it also says the logical connectives on booleans are CLASSICAL. This implies law of excluded middle, which is NOT constructive without careful sandboxing (e.g., Linear logic). Yon dangerously allows propositions to be lifted to booleans. If I am interpreting correctly (docs are very vague), this means propositions can be lifted to terms. This causes an obvious failure of normalization due to assumed proof irrelevance (otherwise Prop would not be distinguished) (also see Coquand's paper on this https://arxiv.org/abs/1911.08174). 3. Yon's type definitional equality does not actually reduce types. See here. This is the function used by the type-checker to check if types are equal. https://github.com/yon-language/yon/blob/523e363a4a00e8da141... No reduction actually occurs, conveniently because none of the types actually contain terms (that is, it is simply typed). Yon claims to be dependently-typed. See this in the repo: https://github.com/yon-language/yon/blob/523e363a4a00e8da1410a2521b1d7d1309d360ce/… > Types in Yon Core kernel — the small dependent type theory used for the operational semantics. Suppose I'm reading the source code wrong. Conveniently, the comment one line below reveals, once again, that the "type theory" is simply-typed: > * T, U ::= Type_n universe of level n > * | Pi(x:T). U dependent function Pi types eliminate into a FIXED type that does not depend on x. This means there is also no purpose for having a universe hierarchy. To confirm, I scoured the docs a bit for any examples using Pi types or Sigma types. I searched the docs, and could not find any, besides this example: > world W { Code is X } > place Account in W { balance number } > fun takes_sub(s: { a : Account where Pi(x: Account). Pi(y: Account). Id(Account, x, y) }): number { return 0 } > fun main(): number { return 0 } Notably, the identity is the only constructor for Ty indexed by a term. That is, Pi types can ONLY eliminate into the identity. What if I want my Pi type to eliminate into anything else living in Prop? e.g., an existential like \forall (x : Nat), \exists (y : Nat), x < y. Unfortunately impossible in Yon. This project is clearly produced by AI, and clearly dangerously incorrect. Do not use this for anything serious.
In Yon – a topos-oriented language with a content-addressed lattice heap

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.