Top all-time · #5007
dissoc
Personal blog · frenchy64.github.ioprogramming
dissoc is a personal blog at frenchy64.github.io about programming. Since 2013, 15 different Hacker News readers have linked it 16 times, most often “Are unsound type systems wrong?”. It is still writing: the last post was on 2026-07-07, and you can follow it by feed.
Most-linked posts?
- Are unsound type systems wrong?2 people · 2 mentions · first linked 2020-09-23
- Gradual typing for Clojure2 people · 2 mentions · first linked 2015-06-21
- Who doesn't want unsound type systems?2 people · 2 mentions · first linked 2018-04-27
What Hacker News says?
Speaking speculatively, improving type inference is a great place for collaboration. Concretely, I've extended several minor ideas. Typed Clojure uses occurrence typing in sequential forms, as well as conditionals: http://frenchy64.github.io/2013/09/08/simple-reasoning-asser... We can type check (filter identity coll) a little more accurately (which is actually quite hard to do): https://github.com/clojure/core.type…
Comment linking /2013/09/08/simple-reasoning-assertions-core-typed.html
on “Why we're supporting Typed Clojure”Submitted Are unsound type systems wrong? as a story · 210 points
HN discussionThere are also tentative plans to integrate core.typed with the Clojure compiler so type annotations can be used during compilation (e.g., type hints through inference). There was a post about it, but the best I could find is a recent paper: http://frenchy64.github.io/papers/typed-clojure-draft.pdf
Comment linking /papers/typed-clojure-draft.pdf
on “Why we’re no longer using Core.typed”Submitted Gradual typing for Clojure as a story · 102 points
HN discussionI believe that's where core.typed is going: http://frenchy64.github.io/2015/06/19/gradual-typing.html Typed and untyped code must (and will soon) be able to cooperate in providing compile-time and run-time type checking in Clojure.
Comment linking /2015/06/19/gradual-typing.html
on “Why we’re no longer using Core.typed”Submitted The Link between Clojure-in-Clojure and Typed Clojure as a story · 79 points
HN discussionUnsound things can be useful. https://frenchy64.github.io/2018/04/09/unsoundness-reply.htm...
Comment linking /2018/04/09/unsoundness-reply.html
on “Why Specifications Don't Compose”Submitted Macros across boundaries as a story · 26 points
HN discussionClojure also takes this approach with core.typed as well https://frenchy64.github.io/2015/06/19/gradual-typing.html I personally haven't found a place where this is necessary yet, but who knows what might happen in the future. :)
Comment linking /2015/06/19/gradual-typing.html
on “Is Typed Clojure worth the trouble?”Submitted Typed Clojure Preview: Red/Black tree rebalancing invariants (with plain maps) as a story · 15 points
HN discussionInterestingly, if you read the article [0] linked in the reddit post referred to in this blog post, the author points out that the Haskell version of the bottom type has a problem - you can construct an inhabitant. Pulling out the relevant section of code: fix :: (a -> a) -> a -- defined in Data.Function fix f = let x = f x in x -- least fixed point of f false :: Void false = fix (id :: Void -> Void) Since you can f…
Comment linking /2018/04/07/unsoundness-in-untyped-types.html
on “Bottom Type in F#”Submitted Typed Clojure prevents Null Pointer Exceptions as a story · 10 points
HN discussionSubmitted Are unsound type systems wrong? as a story · 3 points
HN discussionSubmitted Who doesn't want unsound type systems? as a story · 2 points
HN discussionSubmitted How I Create Automatic Annotation Tools (Quals Defense) as a story · 2 points
HN discussionSubmitted Automatic Annotations as a story · 1 points
HN discussion