HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
au-ts
cogent
Isabelle2016–2016
au-ts / cogent

cogent

Cogent Project

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

What to know before exploring

What it is

Cogent Project

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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 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 week3 dated mentions

Observed mentions: 2016-05-07 19:50:09 UTC to 2016-12-08 18:01:40 UTC. Weeks start Monday, UTC.

0122016-05-02 00:00:00 UTC to 2016-05-09 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMay 22016-05-09 00:00:00 UTC to 2016-05-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-16 00:00:00 UTC to 2016-05-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-23 00:00:00 UTC to 2016-05-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-30 00:00:00 UTC to 2016-06-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-06 00:00:00 UTC to 2016-06-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-13 00:00:00 UTC to 2016-06-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-20 00:00:00 UTC to 2016-06-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-27 00:00:00 UTC to 2016-07-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-04 00:00:00 UTC to 2016-07-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-11 00:00:00 UTC to 2016-07-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-18 00:00:00 UTC to 2016-07-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-25 00:00:00 UTC to 2016-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-01 00:00:00 UTC to 2016-08-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-08 00:00:00 UTC to 2016-08-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-15 00:00:00 UTC to 2016-08-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 152016-08-22 00:00:00 UTC to 2016-08-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-29 00:00:00 UTC to 2016-09-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-05 00:00:00 UTC to 2016-09-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-12 00:00:00 UTC to 2016-09-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-19 00:00:00 UTC to 2016-09-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-26 00:00:00 UTC to 2016-10-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-03 00:00:00 UTC to 2016-10-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-10 00:00:00 UTC to 2016-10-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-17 00:00:00 UTC to 2016-10-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-24 00:00:00 UTC to 2016-10-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-31 00:00:00 UTC to 2016-11-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-07 00:00:00 UTC to 2016-11-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-14 00:00:00 UTC to 2016-11-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-21 00:00:00 UTC to 2016-11-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-28 00:00:00 UTC to 2016-12-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-12-05 00:00:00 UTC to 2016-12-12 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsDec 5

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
May 22016-05-02 00:00:00 UTC2016-05-09 00:00:00 UTC110
May 92016-05-09 00:00:00 UTC2016-05-16 00:00:00 UTC000
May 162016-05-16 00:00:00 UTC2016-05-23 00:00:00 UTC000
May 232016-05-23 00:00:00 UTC2016-05-30 00:00:00 UTC000
May 302016-05-30 00:00:00 UTC2016-06-06 00:00:00 UTC000
Jun 62016-06-06 00:00:00 UTC2016-06-13 00:00:00 UTC000
Jun 132016-06-13 00:00:00 UTC2016-06-20 00:00:00 UTC000
Jun 202016-06-20 00:00:00 UTC2016-06-27 00:00:00 UTC000
Jun 272016-06-27 00:00:00 UTC2016-07-04 00:00:00 UTC000
Jul 42016-07-04 00:00:00 UTC2016-07-11 00:00:00 UTC000
Jul 112016-07-11 00:00:00 UTC2016-07-18 00:00:00 UTC000
Jul 182016-07-18 00:00:00 UTC2016-07-25 00:00:00 UTC000
Jul 252016-07-25 00:00:00 UTC2016-08-01 00:00:00 UTC000
Aug 12016-08-01 00:00:00 UTC2016-08-08 00:00:00 UTC000
Aug 82016-08-08 00:00:00 UTC2016-08-15 00:00:00 UTC000
Aug 152016-08-15 00:00:00 UTC2016-08-22 00:00:00 UTC000
Aug 222016-08-22 00:00:00 UTC2016-08-29 00:00:00 UTC000
Aug 292016-08-29 00:00:00 UTC2016-09-05 00:00:00 UTC000
Sep 52016-09-05 00:00:00 UTC2016-09-12 00:00:00 UTC000
Sep 122016-09-12 00:00:00 UTC2016-09-19 00:00:00 UTC000
Sep 192016-09-19 00:00:00 UTC2016-09-26 00:00:00 UTC000
Sep 262016-09-26 00:00:00 UTC2016-10-03 00:00:00 UTC000
Oct 32016-10-03 00:00:00 UTC2016-10-10 00:00:00 UTC000
Oct 102016-10-10 00:00:00 UTC2016-10-17 00:00:00 UTC000
Oct 172016-10-17 00:00:00 UTC2016-10-24 00:00:00 UTC000
Oct 242016-10-24 00:00:00 UTC2016-10-31 00:00:00 UTC000
Oct 312016-10-31 00:00:00 UTC2016-11-07 00:00:00 UTC000
Nov 72016-11-07 00:00:00 UTC2016-11-14 00:00:00 UTC000
Nov 142016-11-14 00:00:00 UTC2016-11-21 00:00:00 UTC000
Nov 212016-11-21 00:00:00 UTC2016-11-28 00:00:00 UTC000
Nov 282016-11-28 00:00:00 UTC2016-12-05 00:00:00 UTC000
Dec 52016-12-05 00:00:00 UTC2016-12-12 00:00:00 UTC202

What Hacker News says

3 sources
COGENT takes pretty much precisely the approach I described below: it uses domain-specific structures in a functional language to encode verified imperative code. If you look at pretty much any code in the ext2 pilot (here[1] is as good as any) you'll notice that a lot of the functions called are things like destroy_Ext2DirEnt (which unless they named things poorly, takes a clear action), as well as a lot of passing around of memory addresses to functions that write them (e.g. deserialise_Ext2DirEnt2). It's not that they wrote the logic in a fundamentally different paradigm from C, it's that they take care to give their system the information it needs to both generate C code and most of the desired proofs simultaneously. The functional language is fufilling the role of metalanguage excellently, but little of that ends up in the generated
Read the rest
code. The one functional thing that does is pattern matching, since the C equivalent (if statements and unions) are much harder to verify (and use). [1]: https://github.com/NICTA/cogent/blob/master/impl/ext2/cogent...
In Why Functional Programming Matters (1984) [pdf]
The cogent language by nicta (an easy google away) has functional semantics but uses linear logic / linear types to make sure that no gc is needed. The code is on github and they have a very cool approach to generating proofs that any code generation maps the cogent code to equivalent c code. https://github.com/NICTA/cogent/tree/master/cogent I've also been looking into how to add resource logic / linear logic to ghc Haskell / languages with a similar internal rep as ghc core. Still need to write that stuff up mind you. There's a long history of no gc free functional language research. Mlkit and clean are probably two of the older but accessible implementations in the wild
In Measuring GC latencies in Haskell, OCaml, Racket

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.