<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: alain_gilbert</title><link>https://news.ycombinator.com/user?id=alain_gilbert</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 20:06:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=alain_gilbert" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by alain_gilbert in "Bouncer: Block "crypto", "rage politics", and more from your X feed using AI"]]></title><description><![CDATA[
<p>I was actually thinking of making a similar app for hacker news comments. Should we all quit hacker news too?</p>
]]></description><pubDate>Sun, 12 Apr 2026 20:14:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47743962</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=47743962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47743962</guid></item><item><title><![CDATA[New comment by alain_gilbert in "CLI tool to check the Git status of multiple projects"]]></title><description><![CDATA[
<p>reminds me of an project I made many years ago to manage dependencies in between repositories. So if project A was waiting for a fix in project B to be in production, you could draw a line between the two commits (from project A to project B) and get notified when the commit in project B gets into the "production" branch. And then merge and deploy your feature branch from project A.</p>
]]></description><pubDate>Thu, 20 Nov 2025 06:56:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45989745</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45989745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45989745</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Go's Sweet 16"]]></title><description><![CDATA[
<p>I worked on a toy programming language (that compile down to golang), which is a fork of the go lexer/parser, but it changes how functions can only return one value allowing the use of Result[T]/Option[T] and error propagation operators `!` and `?`.<p>It has enums (sum type), tuple, built-in Set[T], and good Iterator methods. It has very nice type inferred lambda function (heavily inspired by the swift syntax)... lots of good stuff!<p><a href="https://github.com/alaingilbert/agl" rel="nofollow">https://github.com/alaingilbert/agl</a></p>
]]></description><pubDate>Sat, 15 Nov 2025 08:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45936010</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45936010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45936010</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Nim 2.2.6"]]></title><description><![CDATA[
<p>@tinfoilhatter if that's the example of an `hostile and abrasive member of the Nim community` looks to me like the nim community is doing just fine.</p>
]]></description><pubDate>Sat, 01 Nov 2025 18:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45783880</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45783880</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45783880</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Nim 2.2.6"]]></title><description><![CDATA[
<p>> ...and views he expressed to me regarding climate change...<p>Is that for real? I bet I can find some chocolate chip cookie recipe that the Go team would disagree with me. I ain't ever using Go again.</p>
]]></description><pubDate>Fri, 31 Oct 2025 23:29:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45777846</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45777846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45777846</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Roadmap for improving the type checker"]]></title><description><![CDATA[
<p>> Even after reading the article, it's not clear why that particular expression is so egregiously poor.<p>I'm glad I'm not the only one wondering why this is not instant to type check.</p>
]]></description><pubDate>Fri, 31 Oct 2025 07:01:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45769113</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45769113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45769113</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Go beyond Goroutines: introducing the Reactive paradigm"]]></title><description><![CDATA[
<p>Seems like it got fixed just now. Thanks for doing it. It looks much better now :)</p>
]]></description><pubDate>Tue, 28 Oct 2025 03:57:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=45729077</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45729077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45729077</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Go beyond Goroutines: introducing the Reactive paradigm"]]></title><description><![CDATA[
<p>I'm well aware of it. But I don't think I have ever seen an editor/website which would display it as 9 spaces. Github for example default to 4 spaces width.</p>
]]></description><pubDate>Tue, 28 Oct 2025 03:51:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45729052</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45729052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45729052</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Go beyond Goroutines: introducing the Reactive paradigm"]]></title><description><![CDATA[
<p>I like how he kept "tabs" (and display it as 9 spaces) to make it as ugly as possible for the bad example, then proceed to use 4 spaces for the other examples.</p>
]]></description><pubDate>Mon, 27 Oct 2025 23:42:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45727680</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45727680</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45727680</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Goiaba: An experimental Go compiler, written in Rust"]]></title><description><![CDATA[
<p>61 dependencies, no codegen. Nothing special really.</p>
]]></description><pubDate>Fri, 10 Oct 2025 07:19:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45536173</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45536173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45536173</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Goiaba: An experimental Go compiler, written in Rust"]]></title><description><![CDATA[
<p>I have a fairly small go project (100k loc) and it takes ~30sec to build.<p>I'd be thrilled to have it build in 300ms.<p>(Using a macbook pro 2019)</p>
]]></description><pubDate>Thu, 09 Oct 2025 21:23:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45533240</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45533240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45533240</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Goiaba: An experimental Go compiler, written in Rust"]]></title><description><![CDATA[
<p>> Honestly, who cares about the difference between 1s vs 100ms vs 10ms for a build though?<p>I definitely do. Not necessarily because of the 10ms vs 1s. But because of the later stage when it becomes 600ms vs 60s.</p>
]]></description><pubDate>Thu, 09 Oct 2025 21:09:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45533116</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45533116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45533116</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Minesweeper thermodynamics"]]></title><description><![CDATA[
<p>I made winsweeper, which will move the mine if there is no safe tile left for you to discover.<p><a href="https://github.com/alaingilbert/winsweeper" rel="nofollow">https://github.com/alaingilbert/winsweeper</a></p>
]]></description><pubDate>Thu, 04 Sep 2025 04:06:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45123447</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45123447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45123447</guid></item><item><title><![CDATA[New comment by alain_gilbert in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>For case like this, I'd say your text editor should definitely just be able to tell you right away that this variable is a "string" when you mouse over it.</p>
]]></description><pubDate>Thu, 28 Aug 2025 22:04:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45057576</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=45057576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45057576</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Go 1.25 Release Notes"]]></title><description><![CDATA[
<p>Or if he was to use any kind of decent text editor, he could also just place his mouse over the variable and see the type it has.<p>Then comes the hard part "where is it defined"... he could even press "command" and then click on it.</p>
]]></description><pubDate>Wed, 13 Aug 2025 17:48:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44891532</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44891532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44891532</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Gleam v1.12"]]></title><description><![CDATA[
<p>The most ironic thing is that if you search for "nazi programming language" you'll find gleam.</p>
]]></description><pubDate>Thu, 07 Aug 2025 01:10:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44819594</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44819594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44819594</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Ask HN: What Are You Working On? (July 2025)"]]></title><description><![CDATA[
<p>That's why there is a "Tuple" expression that you can use instead, which allows you to easily return multiple values, and destructure them as well.</p>
]]></description><pubDate>Sun, 27 Jul 2025 18:57:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44703635</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44703635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44703635</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Ask HN: What are you working on? (July 2025)"]]></title><description><![CDATA[
<p>I'm working on this programming language that compiles to Go.<p>The goal is to have it behave like typescript for Go, where any Go program would compile out of the box, but then you can use the new syntax.<p>Featuring: built-in Set/Enum/Tuple/lambda/"error propagation operators"<p>It also have a working LSP server and generates a sourcemap, so when you get a runtime stacktrace, it gives you the original line in your .agl file as well as the one in the generated .go file.<p>I recently finish porting all my "advent of code 2024" in AGL -> <a href="https://github.com/alaingilbert/agl/tree/master/examples/adventOfCode2024">https://github.com/alaingilbert/agl/tree/master/examples/adv...</a><p><a href="https://github.com/alaingilbert/agl">https://github.com/alaingilbert/agl</a></p>
]]></description><pubDate>Sun, 27 Jul 2025 18:39:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44703460</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44703460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44703460</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Losing language features: some stories about disjoint unions"]]></title><description><![CDATA[
<p>Check out this toy project I made.<p>It's basically a fork of the Go lexer/parser that adds Result/Option/Tuple/Set... propagation operators (and more)<p>and it compiles down to Go code.<p><a href="https://github.com/alaingilbert/agl">https://github.com/alaingilbert/agl</a></p>
]]></description><pubDate>Tue, 22 Jul 2025 07:28:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=44644149</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44644149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44644149</guid></item><item><title><![CDATA[New comment by alain_gilbert in "Show HN: AGL a toy language that compiles to Go"]]></title><description><![CDATA[
<p>I was also quite inspired by borgo. But unlike borgo, yes, at this time nil is part of the language, which allows you to use other libraries without the need to make laborious wrappers.
But if I can manage to create a script to automatically make the wrappers, I'd love to remove the nil keyword entirely.</p>
]]></description><pubDate>Sun, 29 Jun 2025 00:40:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44409392</link><dc:creator>alain_gilbert</dc:creator><comments>https://news.ycombinator.com/item?id=44409392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44409392</guid></item></channel></rss>