<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: Kutta</title><link>https://news.ycombinator.com/user?id=Kutta</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 23:14:11 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Kutta" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Kutta in "Volcanic eruption starts in Iceland (Live webcam)"]]></title><description><![CDATA[
<p>It will release approximately no CO2.</p>
]]></description><pubDate>Wed, 03 Aug 2022 17:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=32334710</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=32334710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32334710</guid></item><item><title><![CDATA[New comment by Kutta in "No amount of alcohol is good for the heart, says World Heart Federation"]]></title><description><![CDATA[
<p>The "small amounts is cardioprotective" is most likely false, the new recommendation simply reflects this. I recall reading about this in research more than 10 years ago. (Sorry for not citing, I'm on mobile rn)</p>
]]></description><pubDate>Fri, 21 Jan 2022 06:27:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=30019904</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=30019904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30019904</guid></item><item><title><![CDATA[New comment by Kutta in "Staged Abstract Interpreters [pdf]"]]></title><description><![CDATA[
<p>Yes, the point is that the user only has to write an interpreter, not a compiler, the compiler is automatically generated. See also GraalVM's Truffle interpreter or Souffle Datalog.</p>
]]></description><pubDate>Tue, 23 Nov 2021 15:58:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=29319301</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=29319301</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29319301</guid></item><item><title><![CDATA[New comment by Kutta in "Staged Abstract Interpreters [pdf]"]]></title><description><![CDATA[
<p>Futamura projection is an entirely standard concept in staged compilation. The hand-wringing is unwarranted.</p>
]]></description><pubDate>Tue, 23 Nov 2021 13:05:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=29317296</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=29317296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29317296</guid></item><item><title><![CDATA[New comment by Kutta in "SpaceX ships 100k Starlink terminals to customers"]]></title><description><![CDATA[
<p>I would also guess they don't give a fuck about the night sky either.</p>
]]></description><pubDate>Tue, 24 Aug 2021 11:56:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=28287602</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=28287602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28287602</guid></item><item><title><![CDATA[New comment by Kutta in "SpaceX ships 100k Starlink terminals to customers"]]></title><description><![CDATA[
<p>Are you literally not aware that all pieces of internet infrastructure currently in use have to be replaced every N years?</p>
]]></description><pubDate>Tue, 24 Aug 2021 11:32:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=28287398</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=28287398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28287398</guid></item><item><title><![CDATA[New comment by Kutta in "Speed of Rust vs. C"]]></title><description><![CDATA[
<p>Arenas have been used in Rust for a long time.</p>
]]></description><pubDate>Sat, 13 Mar 2021 17:55:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=26448371</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=26448371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26448371</guid></item><item><title><![CDATA[New comment by Kutta in "Homotopy Type Theory (2012) [pdf]"]]></title><description><![CDATA[
<p>> We already have a perfectly good foundation of mathematics. It's called ZFC [1]<p>This is completely missing a core point of category theory and type theory (which is about categories equipped with certain extra structure), which is to work is settings which can be flexibly tightened or loosened in order to do constructions which are as general as possible. A theorem in HoTT is far more widely applicable than a theorem in ZFC; HoTT can be interpreted in any higher Gröthendieck topos, ZFC can be only intepreted in a certain class of 1-toposes. In HoTT, we can simply assume choice and LEM to internally reproduce ZFC. In ZFC, univalence is false and cannot be assumed.<p>> It's not at all clear HoTT, or type theory in general, is the best solution for formalizing mathematics<p>Xena project isn't too hot on HoTT indeed, but they will tell you that type theory in general is absolutely the best solution for formalizing mathematics.<p>>  in particular denying the law of excluded middle<p>MLTT does not deny LEM, nor HoTT. The point is not to deny LEM, but to work in a more general system which does not necessarily assume it.</p>
]]></description><pubDate>Wed, 28 Oct 2020 09:41:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=24916920</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=24916920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24916920</guid></item><item><title><![CDATA[New comment by Kutta in "Typing Is Hard"]]></title><description><![CDATA[
<p>What you say is kind of interesting but I get the impression that we are talking past each other.<p>id(X): ==(X, rec_0(0, X))<p>Sorry, what's this supposed mean, is it a definition? The propositional equality type has two or three arguments, I only see one (X) here, if as you say "id" is propositional equality.<p>In any case, nothing peculiar happens when we check a trace-annotated proof of bottom. We are free to use any particular finite-step unfolding of the non-normalizing proof.<p>We also don't need any paradox or inconsistency for a non-normalizing term, it is enough to work in ETT in a typing context which implies bottom, or which contains an undecidable equational theory, e.g. the rules of the SK-calculus.<p>> The actual proofs of decidability of type checking (e.g. from Martin-Löf‘s original paper) are conditioned on the normalization theorem<p>Decidability of type checking is always relative to a particular surface/raw syntax. A trace-annotated raw syntax does not need a normalization assumption for type checking.</p>
]]></description><pubDate>Sun, 09 Aug 2020 20:44:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=24102721</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=24102721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24102721</guid></item><item><title><![CDATA[New comment by Kutta in "Typing Is Hard"]]></title><description><![CDATA[
<p>A type system cannot be TC. What you seem to talk about, is that if a <i>type checker</i> can simulate arbitrary TM's through an encoding of its input, then the type checker is necessarily non-total. This is correct. But the Idris checker is total and it is not possible to use it to simulate TMs.<p>The Idris type system does allow you to specify and formalize TMs internally, but that has no bearing on decidability of type checking, as I explained before.</p>
]]></description><pubDate>Sun, 09 Aug 2020 16:44:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=24100828</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=24100828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24100828</guid></item><item><title><![CDATA[New comment by Kutta in "Typing Is Hard"]]></title><description><![CDATA[
<p>I don't see that "normalization implies consistency", which I'm aware of, relates to my previous comment in any relevant way.<p>ZFC and MLTT do not differ in that decidability of proof validity is not related to logical expressiveness.<p>It's not even true that for type theories, decidability of proof validity implies normalization. Normalization is <i>not</i> logically equivalent to decidable type checking.<p>For example, we can have a term language for extensional type theory which is annotated with reduction traces. This is the kind of syntax that we get when we embed ETT inside ITT. It has decidable type checking, as the type checker does not have to perform reduction, it only has to follow traces. This kind of tracing is actually used in the GHC Haskell compiler to some extent. So we have decidable type checking for a surface syntax of a type theory, for a type theory which is a) consistent b) not strongly normalizing.</p>
]]></description><pubDate>Sun, 09 Aug 2020 14:58:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=24100012</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=24100012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24100012</guid></item><item><title><![CDATA[New comment by Kutta in "Typing Is Hard"]]></title><description><![CDATA[
<p>Incorrect. Whether the language as a logic is capable of expressing undecidable statements, is orthogonal to whether type checking is decidable. Type checking is analogous to checking proof validity in logics. Commonly used proof systems for first-order or higher-orders logics admit decidable proof validity, and already many first-order theories allow expressing undecidable statements. ZFC is a rather obvious example. Likewise intensional type theory is highly expressive as a logic and admits decidable proof validity.<p>Decidability of type checking is instead related to how explicit surface syntax is. In intensional type theory, the usage of equality proofs is marked explicitly, which is sufficient to retain decidable type checking. In contrast, in extensional type theory, the usage of equality proofs is left implicit, which causes type checking to be undecidable.</p>
]]></description><pubDate>Sun, 09 Aug 2020 09:31:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=24098395</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=24098395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24098395</guid></item><item><title><![CDATA[New comment by Kutta in "OpenAI should now change their name to ClosedAI"]]></title><description><![CDATA[
<p>OpenAI should have never been open, named "OpenAI", or advertised itself as being open. At the time of OpenAI's inception, much of the AI risk community deemed it as harmful, although that wasn't spoken out a lot, because it is a delicate affair to criticize misguided effort on AI safety when the status quo was almost no effort being spent on AI safety at all. It is a minor consolation that OpenAI turned out to be less open than initially advertised.<p><a href="https://web.archive.org/web/20200518081726/https://slatestarcodex.com/2015/12/17/should-ai-be-open/" rel="nofollow">https://web.archive.org/web/20200518081726/https://slatestar...</a></p>
]]></description><pubDate>Mon, 20 Jul 2020 13:15:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=23897473</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23897473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23897473</guid></item><item><title><![CDATA[New comment by Kutta in "Hindley-Milner Type Inference (2012)"]]></title><description><![CDATA[
<p>This tutorial seems to miss the level-based generalization optimization, which is crucial for production-strength HM inference. For, that you can look at:<p><a href="http://okmij.org/ftp/ML/generalization.html" rel="nofollow">http://okmij.org/ftp/ML/generalization.html</a></p>
]]></description><pubDate>Fri, 10 Jul 2020 18:58:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=23795004</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23795004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23795004</guid></item><item><title><![CDATA[New comment by Kutta in "Meditations on Moloch (2014)"]]></title><description><![CDATA[
<p>I also recommend Nick Bostrom's article "The Future of Human Evolution", predating OP by ten years, which contains essentially the same arguments and conclusions.<p><a href="https://www.nickbostrom.com/fut/evolution.html" rel="nofollow">https://www.nickbostrom.com/fut/evolution.html</a></p>
]]></description><pubDate>Sat, 04 Jul 2020 20:21:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=23734668</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23734668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23734668</guid></item><item><title><![CDATA[New comment by Kutta in "Mathematics in type theory"]]></title><description><![CDATA[
<p>Usually it's not possible to form such a predicate. If we have impredicative base universe, then it's possible to form a predicate over all types in the base universe (which may or may not be <i>all</i> types in the language), including the predicate itself. However, this feature is rarely used in type theory, because it is incompatible with classical logic.<p>In programming, this is more commonly available, because we don't necessarily care about propositions, let alone classical logical proofs. The polymorphic identity function type `forall a. a -> a` in System F quantifies over all types including itself.</p>
]]></description><pubDate>Wed, 24 Jun 2020 22:21:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=23634536</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23634536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23634536</guid></item><item><title><![CDATA[New comment by Kutta in "SpaceX successfully launches two humans into orbit"]]></title><description><![CDATA[
<p>The human spaceflight ability of NASA trended sharply to zero in the last 50 years, with space travel getting more expensive, more dangerous and far less capable than before, going from moon transfer to LEO only to no human spaceflight whatsoever. If you prefer to abolish human spaceflight, then you can be happy with NASA, if not, then you have to present rather strong evidence why the status quo will magically yield better outcomes.</p>
]]></description><pubDate>Sun, 31 May 2020 10:45:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=23368634</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23368634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23368634</guid></item><item><title><![CDATA[New comment by Kutta in "Why is Idris 2 so much faster than Idris 1?"]]></title><description><![CDATA[
<p>Immutability is an implementation detail with no inherent value. What we actually care about is referential transparency, encapsulation & tracking of effects, performance, abstraction, thread/type/memory safety, etc. The State monad in Haskell is implemented without mutation, but presents an API with mutation. The ST monad is implemented with mutation but presents a pure and referentially transparent external API.<p>It is fair to say that functional programming is primrarily in favor of immutable data structures because it is simpler to implement them efficiently in a setting where referential transparency is the default. Mutation (meaning referential intrasparency) is just more complicated, and we need heavier machinery to structure it nicely. We may use linear/substructural types, uniqueness types, regions, etc for this purpose, but here are a number of choices, and the picture is not as clear-cut as with plain pure lambda calculi. Just remember that mutation is <i>not</i> bad by itself, many functional programmers are often happy to speed up production code with mutation, it's just that it is usually more complicated to structure nicely.</p>
]]></description><pubDate>Tue, 26 May 2020 07:53:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=23308488</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=23308488</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23308488</guid></item><item><title><![CDATA[New comment by Kutta in "Lessons in Managing Haskell Memory"]]></title><description><![CDATA[
<p>I thought the cost of GC following a pointer into a compact region is basically constant time, or is that incorrect?</p>
]]></description><pubDate>Thu, 09 Apr 2020 13:13:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=22822186</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=22822186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22822186</guid></item><item><title><![CDATA[New comment by Kutta in "Lessons in Managing Haskell Memory"]]></title><description><![CDATA[
<p>I agree that storing a reference besides an Entry is probably safer than #touch. It's also similar to arrays slices, where we store reference to the array itself + offsets.<p>The ST-like region typing can be still useful though, because we get a static bound on the lifetime of a compact region. We'd prefer to avoid leaking space via large compact regions which survive beyond their intended life.</p>
]]></description><pubDate>Thu, 09 Apr 2020 08:36:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=22820781</link><dc:creator>Kutta</dc:creator><comments>https://news.ycombinator.com/item?id=22820781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22820781</guid></item></channel></rss>