<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: yuppiemephisto</title><link>https://news.ycombinator.com/user?id=yuppiemephisto</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 11:25:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=yuppiemephisto" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p>some combo of implicit pride and laziness. sorry, i'll fix it up</p>
]]></description><pubDate>Fri, 17 Apr 2026 03:25:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802165</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802165</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p>i agree about this point, i think this is one of the ways extensible syntax can save (or damn, like in this case) you</p>
]]></description><pubDate>Fri, 17 Apr 2026 03:23:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802154</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802154</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p>i was just messing with you guys, but now i'm feeling a bit more motivated</p>
]]></description><pubDate>Fri, 17 Apr 2026 03:10:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802087</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802087</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p>actually i think syntax is incredibly important, but i think i'm approaching it from a viewpoint that's even more syntactic than lisp macros, which in practice tend to center around parens syntactically still. racket a notable exception (and good, but not perfectable lang, one of the inspirations for my remark). typed racket is good but is not culturally central enough. but yeah, i do believe types are [inevitable](<a href="https://www.youtube.com/watch?v=0AQdSZqGXz4" rel="nofollow">https://www.youtube.com/watch?v=0AQdSZqGXz4</a>)<p><a href="https://reservoir.lean-lang.org/@strata-org/Strata" rel="nofollow">https://reservoir.lean-lang.org/@strata-org/Strata</a> isn't done, but its goal is to let one build whole languages that can look like whatever you like. ones for little kids maybe<p>syntax matters for normal ppl even more than semantics in some ways since semantics can be optimized and refined on the backend, but everyone is (de)limited by their vocabulary</p>
]]></description><pubDate>Fri, 17 Apr 2026 03:07:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802069</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802069</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p>lean IS that language <a href="https://github.com/alok/LeanPlot" rel="nofollow">https://github.com/alok/LeanPlot</a></p>
]]></description><pubDate>Fri, 17 Apr 2026 02:57:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802031</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802031</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "A perfectable programming language"]]></title><description><![CDATA[
<p><a href="https://alok.github.io/assets/lean-position-paper.pdf" rel="nofollow">https://alok.github.io/assets/lean-position-paper.pdf</a><p>i talked about the lisp curse in this old paper. it's rough but explicitly mentions it</p>
]]></description><pubDate>Fri, 17 Apr 2026 02:56:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802024</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47802024</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802024</guid></item><item><title><![CDATA[A perfectable programming language]]></title><description><![CDATA[
<p>Article URL: <a href="https://alok.github.io/lean-pages/perfectable-lean/">https://alok.github.io/lean-pages/perfectable-lean/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47744540">https://news.ycombinator.com/item?id=47744540</a></p>
<p>Points: 209</p>
<p># Comments: 142</p>
]]></description><pubDate>Sun, 12 Apr 2026 21:11:24 +0000</pubDate><link>https://alok.github.io/lean-pages/perfectable-lean/</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47744540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47744540</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "We should revisit literate programming in the agent era"]]></title><description><![CDATA[
<p>I do a form of literate programming for code review to help read AI code. I use [Lean 4](lean-lang.org) and its doc tool [Verso](<a href="https://github.com/leanprover/verso/" rel="nofollow">https://github.com/leanprover/verso/</a>) and have it explain the code through a literate essay. It is integrated with Lean and gets proper typechecking etc which I find helpful.</p>
]]></description><pubDate>Mon, 09 Mar 2026 05:39:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47305241</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47305241</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47305241</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Parse, Don't Validate and Type-Driven Design in Rust"]]></title><description><![CDATA[
<p>lean 4</p>
]]></description><pubDate>Tue, 24 Feb 2026 08:11:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47134292</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=47134292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47134292</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Nanolang: A tiny experimental language designed to be targeted by coding LLMs"]]></title><description><![CDATA[
<p>Unrelated, but I am literally listening to Rolandskvadet right now and reading your username was a trip</p>
]]></description><pubDate>Tue, 20 Jan 2026 20:00:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46697001</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46697001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46697001</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Show HN: Jax-JS, array library in JavaScript targeting WebGPU"]]></title><description><![CDATA[
<p>This project is an inspiration, I've been working on porting tinygrad to [Lean](github.com/alok/tinygrad)</p>
]]></description><pubDate>Tue, 06 Jan 2026 19:08:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46516997</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46516997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46516997</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in hours"]]></title><description><![CDATA[
<p>I’m doing similar with porting shellcheck Haskell -> Lean</p>
]]></description><pubDate>Thu, 18 Dec 2025 15:34:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46313910</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46313910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46313910</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>There’s 4000 lines of nonstandard analysis which are definitely proofs, including equivalence to the standard definitions.<p>The frameworks are to improve lean’s programming ecosystem and not just its proving. Metaprogramming is pretty well covered already too, but not ordinary programs.</p>
]]></description><pubDate>Wed, 17 Dec 2025 01:25:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46297124</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46297124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46297124</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>I vibe code extremely extensively with Lean 4, enough to run out 2 claude code $200 accounts api limits every day for a week.<p>I added LSP support for images to get better feedback loops and opus was able to debug <a href="https://github.com/alok/LeanPlot" rel="nofollow">https://github.com/alok/LeanPlot</a>. The entire library was vibe coded by older ai.<p>It also wrote <a href="https://github.com/alok/hexluthor" rel="nofollow">https://github.com/alok/hexluthor</a> (a hex color syntax highlighting extension that uses lean’s metaprogramming and lsp to show you what color a hex literal is) by using feedback and me saying “keep goign” (yes i misspelled it).<p>It has serious issues with slop and the limitations of small data, but the rate of progress is really really fast. Opus 4.5  and Gemini were a huge step change.<p>The language is also improving <i>very</i> fast. not as fast as AI.<p>The feedback loop is very real even for ordinary programming. The model really resists it though because it’s super hard, but again this is rapidly improving.<p>I started vibe coding Lean about 3 years ago and I’ve used Lean 3 (which was far worse). It’s my favorite language after churning through idk 30?<p>A big aspect of being successful with them is not being all or nothing with proofs. It’s very useful to write down properties as executable code and then just not prove them because they still have to type check and fit together and make sense. github.com/lecopivo/scilean is a good example (search “sorry_proof”).<p>There’s property testing with “plausible” as a nice 80/20 that can be upgraded to full proof at some point.<p>When the model gets to another jump in capacity, I predict it will emergently design better systems from the feedback needed to prove that they are correct in the first place. Formal Verification has a tendency like optimization to flow through the system in an anti-modular way and if you want to claw modularity back, you have to design it really really well. But ai gives a huge intellectual overhang. Why not let them put their capacity towards making better systems?<p>Even the documentation system for lean (verso) is (dependently!) typed.<p>Check out my Lean vibe codes at <a href="https://github.com/alok?tab=repositories&q=Lean&type=&language=&sort=" rel="nofollow">https://github.com/alok?tab=repositories&q=Lean&type=&langua...</a></p>
]]></description><pubDate>Tue, 16 Dec 2025 22:08:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46295284</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46295284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46295284</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Revisiting "Let's Build a Compiler""]]></title><description><![CDATA[
<p>Maybe (vibe) coding it in lean would be fun</p>
]]></description><pubDate>Wed, 10 Dec 2025 16:53:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46220086</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46220086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46220086</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Functional Data Structures and Algorithms: a Proof Assistant Approach"]]></title><description><![CDATA[
<p><a href="https://markushimmel.de/blog/my-first-verified-imperative-program/" rel="nofollow">https://markushimmel.de/blog/my-first-verified-imperative-pr...</a><p>Lean</p>
]]></description><pubDate>Thu, 27 Nov 2025 07:39:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46066740</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46066740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46066740</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "Racket v9.0"]]></title><description><![CDATA[
<p>These days, I prefer Lean 4. Its macro system is inspired by racket and it has powerful types</p>
]]></description><pubDate>Sun, 23 Nov 2025 20:59:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46027270</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=46027270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46027270</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "AI is a front for consolidation of resources and power"]]></title><description><![CDATA[
<p>After reading the article but before seeing this, I adopted that policy. So true.</p>
]]></description><pubDate>Thu, 20 Nov 2025 09:56:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45990962</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=45990962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45990962</guid></item><item><title><![CDATA[New comment by yuppiemephisto in "/dev/null is an ACID compliant database"]]></title><description><![CDATA[
<p>And the axiom of empty set is an inaccessible cardinal axiom</p>
]]></description><pubDate>Fri, 24 Oct 2025 02:35:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45690119</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=45690119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45690119</guid></item><item><title><![CDATA[Formally Verified Code Benchmark]]></title><description><![CDATA[
<p>Article URL: <a href="https://arxiv.org/abs/2509.22908">https://arxiv.org/abs/2509.22908</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45476149">https://news.ycombinator.com/item?id=45476149</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 04 Oct 2025 19:49:28 +0000</pubDate><link>https://arxiv.org/abs/2509.22908</link><dc:creator>yuppiemephisto</dc:creator><comments>https://news.ycombinator.com/item?id=45476149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45476149</guid></item></channel></rss>