<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: Peaker</title><link>https://news.ycombinator.com/user?id=Peaker</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 20:44:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Peaker" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Peaker in "This AI is bad at drawing but will try anyways"]]></title><description><![CDATA[
<p>And this is why they need human brains in The Matrix</p>
]]></description><pubDate>Tue, 21 Aug 2018 07:32:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=17807763</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17807763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17807763</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>A type-class or just a callback type, vs pattern-matching, yeah.</p>
]]></description><pubDate>Wed, 18 Jul 2018 20:01:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=17561618</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17561618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17561618</guid></item><item><title><![CDATA[New comment by Peaker in "Async and Await in Rust: a full proposal"]]></title><description><![CDATA[
<p>There's a huge advantage to <i>not</i> everything being async/await. Knowing exactly when you yield control can give you atomicity and more determinism for free.</p>
]]></description><pubDate>Sun, 15 Jul 2018 20:17:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=17536834</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17536834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17536834</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>Then what you have is not "anything". You have an expression problem:<p>Either each element has some "handler" that does the right thing for that data type.<p>Or you have a set of cases that each data can be, and you handle them all.<p>Neither is just "any type". And static types are very suitable to describe either.</p>
]]></description><pubDate>Sun, 15 Jul 2018 20:15:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=17536823</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17536823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17536823</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>Everything is of course possible, but at what cost?<p>In my experience, with large projects, you get to pick 2:<p>Dynamic typing
Development velocity
Reliability<p>I've seen multiple large projects grind to a near halt in their development speed, and I've seen some retain development speed, but unreliably crash after various changes.<p>UT coverage is expensive. System tests don't catch everything. Either you fear changes, and the system rots, or you work very slowly with coverage for everything.</p>
]]></description><pubDate>Sun, 15 Jul 2018 20:14:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=17536814</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17536814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17536814</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>When do you have lists of lists of elements of any type?<p>What can you even do given such a value?</p>
]]></description><pubDate>Sun, 15 Jul 2018 14:37:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=17535414</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17535414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17535414</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>That's great for functions you just wrote. It's not as great for functions you change in a large code base.</p>
]]></description><pubDate>Sun, 15 Jul 2018 14:37:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=17535411</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17535411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17535411</guid></item><item><title><![CDATA[New comment by Peaker in "Lisp and Haskell (2017)"]]></title><description><![CDATA[
<p>Rust is a great systems language.<p>When I write applications, I don't need a systems language, and Haskell is easier to use.<p>Also, Rust is a great imperative language, it's not as great as a functional language, and you can't reap the benefits of pure functional programming.</p>
]]></description><pubDate>Sun, 15 Jul 2018 14:33:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=17535396</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17535396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17535396</guid></item><item><title><![CDATA[New comment by Peaker in "In the Philippines, Dynamite Fishing Decimates Entire Ocean Food Chains"]]></title><description><![CDATA[
<p>An average US citizen contributes far more to pollution than the average African or Asian.</p>
]]></description><pubDate>Tue, 19 Jun 2018 07:55:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=17344563</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17344563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17344563</guid></item><item><title><![CDATA[New comment by Peaker in "Robust Clojure: The best way to handle nil"]]></title><description><![CDATA[
<p>There are various library-level implementations. Here's the first one that turned up on Google:<p><a href="https://raw.githubusercontent.com/target/row-types/master/examples/Examples.lhs" rel="nofollow">https://raw.githubusercontent.com/target/row-types/master/ex...</a></p>
]]></description><pubDate>Sat, 02 Jun 2018 18:09:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=17215646</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17215646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17215646</guid></item><item><title><![CDATA[New comment by Peaker in "Robust Clojure: The best way to handle nil"]]></title><description><![CDATA[
<p>Haskell has reasonable implementations of row types as well.</p>
]]></description><pubDate>Thu, 31 May 2018 14:21:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=17196490</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17196490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17196490</guid></item><item><title><![CDATA[New comment by Peaker in "Space Is Full of Planets, and Most of Them Don't Even Have Stars"]]></title><description><![CDATA[
<p>Life on Earth started within a few hundred million years, not 2 billion years.</p>
]]></description><pubDate>Wed, 30 May 2018 05:39:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=17185343</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17185343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17185343</guid></item><item><title><![CDATA[New comment by Peaker in "Robust Clojure: The best way to handle nil"]]></title><description><![CDATA[
<p>I suspect the problem is mentoring. It took me <i>months</i> to get basic Haskell.<p>The people I mentored, though, could clarify any misunderstanding and get explanations from multiple viewpoints from me -- after years of experience with these abstractions. With such mentoring, you don't have to go through all the confusion phases.</p>
]]></description><pubDate>Tue, 29 May 2018 20:19:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=17182618</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17182618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17182618</guid></item><item><title><![CDATA[New comment by Peaker in "Robust Clojure: The best way to handle nil"]]></title><description><![CDATA[
<p>Haskell record syntax with lenses is workable:<p><pre><code>  import Control.Lens

  data MyRecord = MyRecord { _a :: Int, _b :: MyRecord }
  makeLenses ''MyRecord
</code></pre>
Then you can use it nested like:<p><pre><code>  over (b . b . a) (+5) myRecord</code></pre></p>
]]></description><pubDate>Tue, 29 May 2018 20:18:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=17182607</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17182607</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17182607</guid></item><item><title><![CDATA[New comment by Peaker in "Robust Clojure: The best way to handle nil"]]></title><description><![CDATA[
<p>I've mentored programmers in Haskell and they were also productive within a few weeks.<p>I'm pretty sure I could get a student to write useful Haskell code in that time span with just mentoring and existing documentation material.</p>
]]></description><pubDate>Mon, 28 May 2018 21:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=17174902</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17174902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17174902</guid></item><item><title><![CDATA[New comment by Peaker in "The Logical Disaster of Null"]]></title><description><![CDATA[
<p>That's the Maybe <i>type</i>. The <i>Maybe monad</i> is this:<p><pre><code>  instance Monad Maybe where
    return = Just
    Nothing >>= _ = Nothing
    Just x >>= f = f x
</code></pre>
(And is not really related to the discussion)</p>
]]></description><pubDate>Thu, 10 May 2018 13:41:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=17038715</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17038715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17038715</guid></item><item><title><![CDATA[New comment by Peaker in "The Logical Disaster of Null"]]></title><description><![CDATA[
<p>Destroying a language's safety for a single use case is a terrible trade-off.<p>There are various possible solutions for circular structures that do not require destroying all static safety with nulls everywhere.</p>
]]></description><pubDate>Thu, 10 May 2018 13:39:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=17038689</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=17038689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17038689</guid></item><item><title><![CDATA[New comment by Peaker in "Is sorted using SIMD instructions"]]></title><description><![CDATA[
<p>Isn't the bottleneck in any sequential access case the memory bandwidth?<p>IOW: Are the scalar instructions slower than memory bandwidth?</p>
]]></description><pubDate>Sun, 15 Apr 2018 09:31:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=16841976</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=16841976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16841976</guid></item><item><title><![CDATA[New comment by Peaker in "The joy of max()"]]></title><description><![CDATA[
<p>Of course that's true. But Lisp is shitty at controlling memory use, indirections, and manual MM.</p>
]]></description><pubDate>Wed, 04 Apr 2018 10:15:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=16753418</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=16753418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16753418</guid></item><item><title><![CDATA[New comment by Peaker in "The joy of max()"]]></title><description><![CDATA[
<p>They're not really "inheritance". They can do what inheritance can do, and much much more.</p>
]]></description><pubDate>Sun, 01 Apr 2018 18:07:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=16729599</link><dc:creator>Peaker</dc:creator><comments>https://news.ycombinator.com/item?id=16729599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16729599</guid></item></channel></rss>