<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: hurril</title><link>https://news.ycombinator.com/user?id=hurril</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 00:42:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hurril" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hurril in "Functional programming accelerates agentic feature development"]]></title><description><![CDATA[
<p>It really isn't. Having worked for several decades on "both sides", this really is my experience. The functional side is better typed and has fewer side effects of this kind. It is more normal, as in more common, to have code work correctly as soon as it compiles. This is my lived experience having worked with Java, Scala, F# and Rust since 1999.</p>
]]></description><pubDate>Sun, 05 Apr 2026 06:49:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47646810</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=47646810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47646810</guid></item><item><title><![CDATA[New comment by hurril in "Patterns for Defensive Programming in Rust"]]></title><description><![CDATA[
<p>Well it isn't a good call. This is the kind of code that OOP makes people write.</p>
]]></description><pubDate>Fri, 05 Dec 2025 22:17:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46168104</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=46168104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46168104</guid></item><item><title><![CDATA[New comment by hurril in "Patterns for Defensive Programming in Rust"]]></title><description><![CDATA[
<p>You have a good point there, that is better. But it is still, well honestly, wrong. Two orders ordered at different times are just not the same order, and using a typeclass approach to say that they most definitely are is going to bite you in the back seat.<p>PartialEq and Eq for PizzaDetails is good. If there is a business function that computes whether or not someone orders the same thing, then that should start by projecting the details.</p>
]]></description><pubDate>Fri, 05 Dec 2025 20:26:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46166794</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=46166794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46166794</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>An architecture that consists of monads.</p>
]]></description><pubDate>Mon, 08 Sep 2025 17:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45171037</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45171037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45171037</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>See, I don't think you don't really understand my point. I said this elsewhere: I have been programming Scala and Haskell for more than 15 years, which I am sure you have as well. This is not ment as a proof of my point as that would be arguing form authority. This is not my intention. But there are more things at play here.<p>What I think you are doing is: well quantum mechanics is just simple mathematical construction and some artithmetic.<p>Is it really? Is it _just_ that?</p>
]]></description><pubDate>Mon, 08 Sep 2025 05:31:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45164906</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45164906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45164906</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>I am going to interpret your question as one asked in good spirit.<p>I like this book:
<a href="https://www.manning.com/books/functional-design-and-architecture" rel="nofollow">https://www.manning.com/books/functional-design-and-architec...</a></p>
]]></description><pubDate>Mon, 08 Sep 2025 05:27:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45164887</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45164887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45164887</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>I think that a big problem here is the fact that in OOP, everything is an object, i.e.: a class. And if all you have is a hammer, then .... But it is much better to picture the model, controller and the view as emergent. But implementing this in OOP is too challenging because some things in either of those three domains are going to be a process, or a piece of state or a role, etc.<p>And in implementing some process, what is it? As in: what is its encoding in $language and where does it go?<p>So you end up with the local stamp collectors in the office and get into an argument of: it is part of the model, so should be in the Model class. "Process, nah, that is totally a controller aspect. It does something." etc.</p>
]]></description><pubDate>Sun, 07 Sep 2025 06:44:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45155942</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45155942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45155942</guid></item><item><title><![CDATA[New comment by hurril in "The key to getting MVC correct is understanding what models are"]]></title><description><![CDATA[
<p>You both have good points. But there is monads the mathematical and programmatic concept, and there is also something a little bit handwavy in how these things are incorporated into an application architecture. The latter is what is being used on the one hand in comparison to MVC, etc, on the other.<p>I.e.: a monadic architecture in Haskell is good, but one in Java is going to suck. A sort of half-way point is in The Elm Architecture, which is a sort of deconstructed IO monad.<p>(Writing this as someone with decades of experience in writing monadic architectures.)</p>
]]></description><pubDate>Sun, 07 Sep 2025 06:37:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45155906</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=45155906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45155906</guid></item><item><title><![CDATA[New comment by hurril in "Why F#?"]]></title><description><![CDATA[
<p>It runs on .NET, for god's sake. This is not a small platform.</p>
]]></description><pubDate>Tue, 01 Apr 2025 17:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=43549645</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43549645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43549645</guid></item><item><title><![CDATA[New comment by hurril in "Why F#?"]]></title><description><![CDATA[
<p>F# is a wonderful language, one that I write as my daily for the second time during my carrier. It _baffles_ me how it isn't more popular than it is because it truly is very very good. And I say this as an experienced and avid functional programmer.<p>We even do the frontend in it using Fable and Elmish, which is to say: we basically write our frontends in Elm, but the platform is .NET.</p>
]]></description><pubDate>Tue, 01 Apr 2025 17:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=43549627</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43549627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43549627</guid></item><item><title><![CDATA[New comment by hurril in "Ask HN: What are you working on? (March 2025)"]]></title><description><![CDATA[
<p>My own functional programming language. I'd done an imperative before but wanted one that has pattern matching, would let me do currying _and_ uses a bidirectional type-checker. All of this is currently implemented but not for all type constructs. It's name? Marmelade. Because Lady Marmelade and thus files with a lady suffix. m.lady.<p><a href="https://github.com/pandemonium/marmelade" rel="nofollow">https://github.com/pandemonium/marmelade</a></p>
]]></description><pubDate>Mon, 31 Mar 2025 19:40:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43538974</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=43538974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43538974</guid></item><item><title><![CDATA[New comment by hurril in "Swedish minister eyes energy crisis steps, blames German nuclear phase-out"]]></title><description><![CDATA[
<p>You are derailing my question above with a whataboutism here and I am being downvoted for pointing that out.<p>There are problems with a lot of things in the world, for instance the rentier economy you mention here. But I don't owe anyone a solution to that just because I want to know which privatisations are the cause of the Swedish energy production and price crisis.</p>
]]></description><pubDate>Mon, 16 Dec 2024 11:52:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=42430220</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=42430220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42430220</guid></item><item><title><![CDATA[New comment by hurril in "Swedish minister eyes energy crisis steps, blames German nuclear phase-out"]]></title><description><![CDATA[
<p>Here, let me help you: things should not have problems. There. Solved it :)</p>
]]></description><pubDate>Mon, 16 Dec 2024 09:51:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42429549</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=42429549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42429549</guid></item><item><title><![CDATA[New comment by hurril in "Swedish minister eyes energy crisis steps, blames German nuclear phase-out"]]></title><description><![CDATA[
<p>Which privatisations are the cause of this energy conundrum?</p>
]]></description><pubDate>Mon, 16 Dec 2024 09:01:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=42429254</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=42429254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42429254</guid></item><item><title><![CDATA[New comment by hurril in "Swedish minister eyes energy crisis steps, blames German nuclear phase-out"]]></title><description><![CDATA[
<p>The problem is that transferring energy like that requires both lines and the ability to receive the energy. Transferring has (large) energy losses, the ability to receive requires a large inertial mass, like the large and heavy turbines of the nuclear power plants.<p>There are/ were plans for a number of different power links, but some of them have been denied because of environmental concerns (I think! please correct me on that.)</p>
]]></description><pubDate>Mon, 16 Dec 2024 09:00:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42429249</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=42429249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42429249</guid></item><item><title><![CDATA[New comment by hurril in "Every company should be owned by its employees"]]></title><description><![CDATA[
<p>Oh, misunderstood. You still need to think about what it is you wish to optimise for. I am not a regulation hater but naive regulations tend to cause rather than mitigate pathological economic incentives. It is very very hard to get these kinds of things right.<p>Another thing, one related to your original post: it is, of course, good imho to have a working hand-out system so that you don't starve when you are out of a job, or are forced to have to work for really shitty conditions.<p>This causes another problem, however. It is very easy to get dependant on these hand-outs because the difference in pay between the jobs you are able to do and the size of the hand-out can be very small. Even negative. We have (had) this problem in Sweden for a long time. And it is a problem because when people are less poor, then things cost more money because of it. Cynical, I know. Economics is very very hard.</p>
]]></description><pubDate>Thu, 25 Jul 2024 08:58:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=41066406</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=41066406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41066406</guid></item><item><title><![CDATA[New comment by hurril in "Every company should be owned by its employees"]]></title><description><![CDATA[
<p>What is gained by preventing the company from accepting more money than your revenue cap? It would be bad for everyone. What are you trying to optimise?</p>
]]></description><pubDate>Thu, 25 Jul 2024 07:18:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=41065694</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=41065694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41065694</guid></item><item><title><![CDATA[New comment by hurril in "10% of Cubans left Cuba between 2022 and 2023"]]></title><description><![CDATA[
<p>Much bigger per capita?</p>
]]></description><pubDate>Sun, 21 Jul 2024 14:51:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41025528</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=41025528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41025528</guid></item><item><title><![CDATA[New comment by hurril in "10% of Cubans left Cuba between 2022 and 2023"]]></title><description><![CDATA[
<p>This is not a good explanation without also looking at who is unemployed. In Sweden, the unemployment is low:ish but it is basically non-existent with the natives, but very high among immigrants. So it might be true that crime correlates with unemployment rates, but Sweden does not have a high unemployment.</p>
]]></description><pubDate>Sat, 20 Jul 2024 22:10:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41020455</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=41020455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41020455</guid></item><item><title><![CDATA[New comment by hurril in "Experts vs. Imitators"]]></title><description><![CDATA[
<p>What does it mean for a thing to be hard to do in the context of different programming languages?<p>Hard and easy here are extremely deep and complex subject matters. Is goto hard or easy, for example?<p>The person is going to give up (or you are,) because you are not going to be able to just have this conversation for any meaningful length of time. This is a (bad) fantasy, and one that books sometimes attempt (that I hate) and some people fantasise this way.<p>They are not going to Ask The Next Question because if they could do that, it would come from a position of already understanding in a sort of anachronistic way. (In that they already have your answer, yet still want it.)<p>They lack intuition for all the new concepts, they have a bunch of false friends (to borrow from linguistics, in that they think they understand some of the concepts - but they are different concepts with the same or simliar names).<p>If you are a good teacher, then I am sure you will be very successful in explaining, but it's just not happening quickly nor with just anyone.</p>
]]></description><pubDate>Mon, 17 Jun 2024 20:35:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=40710765</link><dc:creator>hurril</dc:creator><comments>https://news.ycombinator.com/item?id=40710765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40710765</guid></item></channel></rss>