<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: LightMachine</title><link>https://news.ycombinator.com/user?id=LightMachine</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 23:23:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=LightMachine" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Claude Plays Pokémon]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.twitch.tv/claudeplayspokemon">https://www.twitch.tv/claudeplayspokemon</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43173825">https://news.ycombinator.com/item?id=43173825</a></p>
<p>Points: 75</p>
<p># Comments: 24</p>
]]></description><pubDate>Tue, 25 Feb 2025 16:19:24 +0000</pubDate><link>https://www.twitch.tv/claudeplayspokemon</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=43173825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43173825</guid></item><item><title><![CDATA[Show HN: SupGen, an model-free program synthesizer by examples / dependent types]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=bEP88ucXga">https://www.youtube.com/watch?v=bEP88ucXga</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42771885">https://news.ycombinator.com/item?id=42771885</a></p>
<p>Points: 20</p>
<p># Comments: 9</p>
]]></description><pubDate>Mon, 20 Jan 2025 19:03:29 +0000</pubDate><link>https://www.youtube.com/watch?v=bEP88ucXga</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=42771885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42771885</guid></item><item><title><![CDATA[Optimal context passing with HVM's "pure mutable references"]]></title><description><![CDATA[
<p>Article URL: <a href="https://gist.github.com/VictorTaelin/a086d1a52a7d0e8c641c93a02b623e7b">https://gist.github.com/VictorTaelin/a086d1a52a7d0e8c641c93a02b623e7b</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42261436">https://news.ycombinator.com/item?id=42261436</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 28 Nov 2024 01:14:52 +0000</pubDate><link>https://gist.github.com/VictorTaelin/a086d1a52a7d0e8c641c93a02b623e7b</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=42261436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42261436</guid></item><item><title><![CDATA[HVM3's Optimal Atomic Linker (With Polarization)]]></title><description><![CDATA[
<p>Article URL: <a href="https://gist.github.com/VictorTaelin/2aba162f2b04478dc53e5615f482db7b">https://gist.github.com/VictorTaelin/2aba162f2b04478dc53e5615f482db7b</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42022682">https://news.ycombinator.com/item?id=42022682</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 01 Nov 2024 23:40:30 +0000</pubDate><link>https://gist.github.com/VictorTaelin/2aba162f2b04478dc53e5615f482db7b</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=42022682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42022682</guid></item><item><title><![CDATA[Since Agda->JS is unmaintained, I'm now using Sonnet-3.5 as the compiler]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/VictorTaelin/status/1837256721850306746">https://twitter.com/VictorTaelin/status/1837256721850306746</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41606161">https://news.ycombinator.com/item?id=41606161</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 20 Sep 2024 22:46:40 +0000</pubDate><link>https://twitter.com/VictorTaelin/status/1837256721850306746</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=41606161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41606161</guid></item><item><title><![CDATA[Optimal Evaluation in 1 Minute (or 10 Minutes) (or 10 Years)]]></title><description><![CDATA[
<p>Article URL: <a href="https://gist.github.com/VictorTaelin/311f6a58a7756945196c15733e61d0c6">https://gist.github.com/VictorTaelin/311f6a58a7756945196c15733e61d0c6</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41402092">https://news.ycombinator.com/item?id=41402092</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 30 Aug 2024 16:14:51 +0000</pubDate><link>https://gist.github.com/VictorTaelin/311f6a58a7756945196c15733e61d0c6</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=41402092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41402092</guid></item><item><title><![CDATA[New comment by LightMachine in "Discovering algorithms by enumerating terms in Haskell"]]></title><description><![CDATA[
<p>The search space I'm using is that of all functions of a given dependent type. That allows you to make the search space by using a strong enough type.<p>For example, if you search for `Integer -> Integer -> Integer` function, it will consider Integers of different bit-sizes. But if you instead search for `∀(n: Nat). Int(n) -> Int(n) -> Int(n)`, you will only consider integers of the same bit-size, which is a much smaller space. You can make arbitrary restrictions to shorten your search.</p>
]]></description><pubDate>Sat, 03 Aug 2024 21:59:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41149584</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=41149584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41149584</guid></item><item><title><![CDATA[New comment by LightMachine in "Discovering algorithms by enumerating terms in Haskell"]]></title><description><![CDATA[
<p>It will just return the smallest function that passes your tests.<p>It works by enumerating ALL possible functions and running them. Obviously, that naive approach is exponential, so, the entire point is whether we can apply some clever tricks (based on optimal evaluators) to make this search "slightly less intractable".<p>So, to answer your question directly: if you asked it to design a prime number generator, if it found anything at all, it would probably be a simple, slow trial-and-error algorithm, or something in these lines.</p>
]]></description><pubDate>Sat, 03 Aug 2024 21:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41149565</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=41149565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41149565</guid></item><item><title><![CDATA[New comment by LightMachine in "Discovering algorithms by enumerating terms in Haskell"]]></title><description><![CDATA[
<p>Uhm author here. Not sure why this tweet is on Hacker News, as it is just a non-technical "blog post". But I've posted a follow-up today with some code and details, if you're curious:<p><a href="https://x.com/VictorTaelin/status/1819774880130158663" rel="nofollow">https://x.com/VictorTaelin/status/1819774880130158663</a><p>That's as much as I can share for now though</p>
]]></description><pubDate>Sat, 03 Aug 2024 19:53:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41148815</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=41148815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41148815</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>While it is not fast in a single-thread, it is still 5x-7x faster than Node.js today for programs that are allocate a lot. If all you want is to run a program faster, and doesn't mind a bit more energy, Bend could be useful for you today.<p>And that's comparing a first-version interpreter against a SOTA runtime deployed in all browsers around the world and optimized by all major companies over 20+ years. If that's not useful to you, that's useful to me, which is why I wanted to share so it can be useful to more people.</p>
]]></description><pubDate>Mon, 20 May 2024 22:23:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=40421174</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40421174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40421174</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>That is actually an amazing idea. I'll adopt it.</p>
]]></description><pubDate>Mon, 20 May 2024 22:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40421088</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40421088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40421088</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>It is not in alpha, nor not ready. You can use it in production today, if you want to. It is just not <i>fast</i>. That is different. CPython is still 100x slower than C, and is widely deployed in practice.</p>
]]></description><pubDate>Sat, 18 May 2024 14:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40399480</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40399480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40399480</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>I agree...<p>Just a note: we are NOT 10x slower than Python. I think a lot of people got the wrong message from this thread. HVM is actually quite fast already. It is just that, on this specific program, Python was doing no allocations, while HVM was allocating a lot.<p>If you compare programs that do the same allocation, HVM already outperforms not just Python but even compiled languages like Haskell/GHC, due to using all cores. See the Bitonic Sort example. And that's extremely relevant, because real world programs in high-level languages allocate a lot!<p>I think I made a <i>huge</i> mistake of using a "sum" example on the GUIDE, since it is actually one of the few specific programs where HVM will do poorly today.</p>
]]></description><pubDate>Sat, 18 May 2024 13:25:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=40398861</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40398861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40398861</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>I really appreciate the feedback, but the claim is that the performance scales linearly with cores, and it does. Also that it runs on GPUs, and it does. Yet, asking what is its "floating point operations per second" is nonsense, because it is not doing floating point computations. It is doing interactions. Thus the "interactions per second" term, which I didn't invent, it is the term used on the domain's literature.<p>I truly want to help here, but that is like asking us to tell you how many gallops per second hour car does. It just makes no sense in context. If I did invent some conversion, I would be lying, and that would be much worse than using a non-familiar term. The way to compare across languages is to benchmark and report on <i>time</i>. Which is like "horsepower" in that sense, as it applies to both domains.</p>
]]></description><pubDate>Sat, 18 May 2024 11:03:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=40397971</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40397971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40397971</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>This is on CPU vs GPU.<p>A GPU core (shading unit) is 100x weaker than a CPU core, thus the difference.<p>ON the GPU, HVM's performance scales almost 16000x with 16000x cores. Thus the "near ideal speedup".<p>Not everyone knows how GPUs work, so we should have been more clear about that!</p>
]]></description><pubDate>Sat, 18 May 2024 10:58:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=40397937</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40397937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40397937</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>I really think I take criticism well... The problem is that people were criticizing us for not doing things that were literally done on the second paragraph. So at this point it didn't feel like productive criticism? That's like being criticized for being naked when you're full clothed. How do you even make sense of that...</p>
]]></description><pubDate>Sat, 18 May 2024 10:51:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=40397906</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40397906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40397906</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>I have no idea what you're trying to convey, but I'm Victor Taelin. Also very cool comment on that thread, hypothesizing on whether we'd be able to ever run it on GPUs. We did it! That is what we're announcing today.</p>
]]></description><pubDate>Sat, 18 May 2024 03:38:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=40396299</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40396299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40396299</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>Thanks for the feedback. Some corrections:<p>We do use multi-level caching, and you can achieve 5x higher performance by using it correctly. FFI is already implemented, just not published, because we want to release it with graphics rendering, which I think will be really cool. Haskell/GHC uses a graph and trees too, and nobody would say it is not practical of useful. And while it is true that arrays are king, there are many SOTA algorithms that are implemented in Haskell (including compilers, type-checkers, solvers) because they do not map well to arrays at all.<p>The main reason ICs are not fast is that nobody ever has done low-level optimization work over it. All previous implementations were terribly inefficient. And my own work is too, because I spent all time so far trying to get it to run *correctly* on GPUs, which was very hard. As you said yourself, there aren't even loops yet. So, how can we solve that? By adding the damn loops! Or do you think there is some inherent limitation preventing us to do that? If you do, you'll be surprised.<p>HVM2 is finally a correct algorithm that scales. Now we'll optimize it for the actual low-level performance.</p>
]]></description><pubDate>Sat, 18 May 2024 00:04:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=40395356</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40395356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40395356</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>You're comparing CPU cores to GPU cores!<p>It is "only" 50x because a single GPU core is 100x weaker than a CPU core!<p>Within CUDA cores, it is actually a linear speedup! It does 2k MIPS with 1 CUDA core, and ~28000 MIPS with 16k CUDA cores. If we double the performance of single-core GPU evaluation, we almost double the performance with 16k cores!</p>
]]></description><pubDate>Fri, 17 May 2024 23:30:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=40395138</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40395138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40395138</guid></item><item><title><![CDATA[New comment by LightMachine in "Bend: a high-level language that runs on GPUs (via HVM2)"]]></title><description><![CDATA[
<p>But it literally says we believe it is the future of parallel computing! If it was faster than GCC today, we would've written present :')</p>
]]></description><pubDate>Fri, 17 May 2024 21:46:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=40394484</link><dc:creator>LightMachine</dc:creator><comments>https://news.ycombinator.com/item?id=40394484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40394484</guid></item></channel></rss>