<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: sdfsfdsdfs3d</title><link>https://news.ycombinator.com/user?id=sdfsfdsdfs3d</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 11 Jul 2026 21:30:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sdfsfdsdfs3d" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sdfsfdsdfs3d in "A road to Lisp: Why Lisp"]]></title><description><![CDATA[
<p>You are, of course, right about EvenInt being easy to express in a type system. In fact, I believe type systems are generally so expressive as to allow just about any constraint to be expressed (eventually..).<p>I notice a lot of arguments on this topic resolve to "but Turing", which is not completely uncalled for but I think misses the point a bit. Not because it is wrong, but because it highlights the wrong property.<p>I don't doubt, say, Brainfucks ability to express any arbitrary computation, but I do doubt its ability to do so sanely. Now you may say Haskell's type system is very clean, but some constraints will definitely push it out of its comfort zone. I'm not saying it won't be able to express them, but I am claiming there will be dragons. One example of a constraint that's at least awkward is when the <i>absence</i> of a fixed type is part of the design. There are of course myriad solutions to this problem but they generally all require not quite so straightforward constructions that eventually might make sense with enough exposure, but whose complexity can actually be disproportionate to the value of the guarantee.<p>It's very much a testament to the genius of languages like F# and Haskell that you have to think hard of practical counter-examples.<p>That said, I actually think the Dark/Light polarity rears its head again even deep inside Haskell as any sufficiently complicated software system encounters barriers it needs to overcome and those require carefully constructed escape hatches: unsafePerformIO, metaprogramming, that is to say, the (relative) Dark Side.<p>In that metaphor undisciplined use of Lisp is like a vast, dark gravitational field of possibility and Haskell is like a sea of light with some carefully marked dark patches.</p>
]]></description><pubDate>Fri, 10 Jul 2026 12:17:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48858858</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48858858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48858858</guid></item><item><title><![CDATA[New comment by sdfsfdsdfs3d in "A road to Lisp: Why Lisp"]]></title><description><![CDATA[
<p>I agree. Restrictions are core to software development. In fact without them I don't think there is development in the first place. As you know I see software development as going from the general (the full bandwidth of the computational substrate available to you) to the specific (the absolute minimum - if any - computational structure you need to get what you're after).<p>Rust is more restrictive than Lisp. These restrictions are sane and productive for most general software development in 2026. They form an excellent base to start your work in this day and age. Starting with raw Lisp feels like starting with the general notion of mobility instead of just getting in a car. The car is not inferior at all. It's a set of restrictions on the most general notion of mobility that in fact buy you a lot of comfort like knowing it doesn't need to eat hay or take a poo in the street. The freedom they take away, they give back in strong, useful guarantees about stuff you actually care about ("getting places").<p>I can see how Rust, Haskell or whatever provide a set of comfortable, general-enough restrictions to make life for the common developer easier and more productive.<p>This being HN I do want to allow myself some contrarianism and point out that finding the most minimal, yet most general computational substrate is not at all trivial. It's in some ways equivalent to finding the most minimal set of invariants ("laws of physics") that can describe the most wide range of phenomena ("nature"). Which is to say I find it pretty damn impressive. So I only "disagree" with this:<p>> It's absolutely trivial to allow everything<p>I don't disagree because it is wrong, it's clearly not. Turing shows all languages collapse into one when it comes to computational power and I don't doubt that. But I do know there is a distance between the computational substrate, the primitives of the language, and the structures it expresses. Let me give an example.<p>A spreadsheet can represent a computer game. A game engine can represent a spreadsheet. But if you build Excel inside Unity you haven't made Unity spreadsheet-like at the substrate level; you have encoded spreadsheet semantics in Unity's primitives. Functionally they may be equivalent, and that equivalence is beautiful and Turing can tell you all about it, but the relationship between the native primitives and the concepts being expressed is different.<p>Turing makes building endless towers that are functionally equivalent possible, but what I mean is that there is an architectural difference between a system directly built out of the least semantically committed substrate available to it ("native") or "embedded" in simulations of substrates built on top of those primitives.<p>I think Lisp is close to the "least semantically committed substrate" you'll ever come across in practice. It's certainly not the only one, but it's a particularly clean and relatively practical one. One can say, for example, raw lambda calculus is equally uncommitted but it's kind of .. hairy. Lisp's primitives are basically the machinery of symbolic manipulation itself. It's bloody amazing.<p>Sorry for the verbiage. I went way overboard and meandered into foggy, mystical meadows full of mysterious entities so feel free to ignore.<p>Have a nice weekend!</p>
]]></description><pubDate>Fri, 10 Jul 2026 11:45:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48858618</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48858618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48858618</guid></item><item><title><![CDATA[New comment by sdfsfdsdfs3d in "Train sim created by just one person is being called the best ever made"]]></title><description><![CDATA[
<p>A mind is slightly different from a body in that it really does not understand the concept of "off". It is movement by its very nature. Even its relaxation is expressed through activity. Simple repetition and continuous low-level positive feedback is a way for it to rest while moving.<p>At least, that's my working model of it.</p>
]]></description><pubDate>Fri, 10 Jul 2026 09:09:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48857571</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48857571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48857571</guid></item><item><title><![CDATA[New comment by sdfsfdsdfs3d in "A road to Lisp: Why Lisp"]]></title><description><![CDATA[
<p>I have no horses in this race and I'm sorry if I misunderstand but I don't think he means to say Lisp is by nature superior to say Haskell. I take it as a statement on the generality inherent in its design. It is by its very nature very low on restrictions. Which is to say your freedom of expression is very nearly as complete as it'll ever be.<p>Sure you can beat Minecraft into Lisp and then Lisp into Haskell - as Turing made sure of - but you'll be battling a lot of dragons along the way. It's beautiful that you can beat Haskell into letting go of its type system by, say, creating a C compiler in it. It actually still amazes me the universe has this property.<p>In general I see "building" (I rather call it "conjuring") a system as going from the most general (all of your programming "language") to the specific (your solution). I can see how the most general of languages makes for a comfortable starting point of that downward journey.<p>I can also see how not starting from The Universe In All Its Infinity Glory (Lisp) but from The Planet Earth (say, Haskell) is helpful if you want to conjure something made for humans, but if you want to go beyond the mortal plane.. (I'm not saying that's a good idea by the way).</p>
]]></description><pubDate>Fri, 10 Jul 2026 08:57:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48857484</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48857484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48857484</guid></item><item><title><![CDATA[New comment by sdfsfdsdfs3d in "A road to Lisp: Why Lisp"]]></title><description><![CDATA[
<p>> Do not allow a bug to be expressible<p>That is a very powerful idea, but unfortunately it cannot be realized with a fixed set of language rules. Some invariants are universal, but some are bound to the domain. Some projects require, say, an int (EvenInt) to take on only even numbers and others odds (OddInt). You can imagine the possibilities here are unbounded ("the numbers should be prefixed by numbers that are divisible by my age squared").<p>Ideally your base language has the expressive power to formulate new abstractions and constraints. This fundamentally requires the Dark Side. Once the proper primitives are in place a different "language" - this can be literally or figuratively - is used to express the interplay between those primitives.<p>In effect you are starting with the most general (say, all of Lisp), restrict it to become more and more and specific - only "these modules" - until it cannot be reduced any further. If you can bring your domain down into being expressible as, say, a single config file, that'd be quite ideal. If you don't need the powers of abstraction to express your solution then exposing said powers would only invite in trouble. The mathematical equivalent of introducing unnecessary variables.<p>As a programmer you are free to traverse the journey from say all of Lisp to a JSON config file in whatever way you please.<p>The "Light Side" people have converged, or try to converge, on some intermediate state between full powers of abstraction and configuration only. I think this is useful because many if not all problems travel through that intermediate landscape on the way "down" (into their specificity). For example what you call "types" is a significant restriction on your freedom but at the same time it's so enormously general that this restriction can be considered a worthwhile default because just about any problem I can think of can potentially benefit from that restriction.<p>All this is to say that I don't think it's a dichotomy so much as two interacting polarities whose interplay gives each its strength.<p>Lisp is a particularly minimal base introducing very few restrictions of its own. But it's not the only one. Forth would be one in another direction.</p>
]]></description><pubDate>Fri, 10 Jul 2026 08:23:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48857249</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48857249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48857249</guid></item><item><title><![CDATA[New comment by sdfsfdsdfs3d in "Buried Apple feature turns an iPhone into the perfect kids' dumb phone"]]></title><description><![CDATA[
<p>Yes, fully agreed. Also try practicing jeu de boules on pavements with cut curbs. The balls will constantly roll off the edge. It's infuriating.<p>My most unpleasant experience so far has been during my daily public heavy deadlifting routine. When I place my barbell on the edge of the curb, which my particular style of lifting requires, it's placed at an angle so my back got messed up and it's all the fault of these curb cutting measures.<p>It's all fine and dandy you want to assist children and handicapped people, but it'll be at the expense of regular users of the pavement which use it for completely sane and normal activities.</p>
]]></description><pubDate>Fri, 10 Jul 2026 07:29:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48856827</link><dc:creator>sdfsfdsdfs3d</dc:creator><comments>https://news.ycombinator.com/item?id=48856827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48856827</guid></item></channel></rss>