HNHacker News
TopNewBestAskShowJobs

dernett

15 karma · joined September 27, 2022

submissionscomments
dernett··on Parse, Don't Validate and Type-Driven Design in Rust
Not sure about Idris, but in Lean `Fin n` is a struct that contains a value `i` and a proof that `i < n`. You can read in the value `n` from stdin and then you can do `if h : i < n` to have a compile-time proof `h` that you can use to construct a `Fin n` instance.
dernett··on Erdos 281 solved with ChatGPT 5.2 Pro
This is crazy. It's clear that these models don't have human intelligence, but it's undeniable at this point that they have _some_ form of intelligence.
dernett··on Some Junk Theorems in Lean
Lean defines a != b as a = b => False, so it seems that we have a function from proofs of a = b to proofs of False. I guess this being bijective means that there are no proofs of a = b, since there are no proofs of False, which is an equivalent way of looking at a != b.
dernett··on [dead]
This really sounds like it was generated by an LLM. "X isn't a Y. It's a Z", examples that don't make any sense (why would it think you're a farmer?), etc. Perhaps not the most surprising thing that an LLM advocates for itself...
dernett··on Geotoy – Shadertoy for 3D Geometry
Is it possible to create animations using something like Shadertoy's `iTime`?
dernett··on Mathematics for Computer Science (2024)
I'm going to try formalizing this course in Lean--not sure how hard it is going to be. If anyone is interested in doing the same, please feel free to contribute!

https://github.com/dernett/Lean61200J

dernett··on Making a StringBuffer in C, and questioning my sanity
I'm assuming he's talking about this specific small string optimization: https://www.youtube.com/watch?v=kPR8h4-qZdk&t=409s
dernett··on Types of Types: Common to Exotic
This is really helpful. Minor nit under Curry-Howard correspondence: "True propositions have exactly one term" should be "have at least one term".
dernett··on Ménage Problem
I don't believe so. I worked out the permutations for n = 3 and, accounting for rotations, you only get 2: [0, 3, 4, 1, 2, 5] [0, 5, 2, 1, 4, 3]. Of course, you get the expected answer of 12 if you multiply by 6.