Post B4UUIsj93ATzuvktY8 by andnull@social.nouveau.community
(DIR) More posts by andnull@social.nouveau.community
(DIR) Post #B4T8m2zpYYxW0y6OMy by neauoire@merveilles.town
0 likes, 0 repeats
https://forum.malleable.systems/t/philosophy-of-object-orientation/415/2
(DIR) Post #B4TAiiGqMCeAm6b70i by neauoire@merveilles.town
0 likes, 0 repeats
@Byte luckily some very smart lisp folks have thought about this one ^__^https://web.archive.org/web/20171118030503/http://home.pipeline.com/~hbaker1/ForthStack.htmlhttps://arxiv.org/pdf/1104.0924v2https://web.archive.org/web/20200105223508/http://home.pipeline.com/~hbaker1/LinearLisp.htmlBut really, the best way to research this, is to implement as many systems as you can. :)
(DIR) Post #B4US2fjxMqu566HIQK by wim_v12e@merveilles.town
0 likes, 0 repeats
@neauoire The first law of thermodynamics does not stop us from creating and destroying objects. It just says it takes energy to do work, and that the amounts must balance.At the lowest level, we can only transform, not create or destroy, but I think that is almost a matter of semantics: if I transform an electron-positron pair into a photon, I might just as well say I destroyed an electron-positron pair and created a photon.In computing we are concerned with information, and we can certainly create and destroy information, but it will always come at a cost, and I guess that is your point.
(DIR) Post #B4USBmpUNa2fgsDBzM by neauoire@merveilles.town
0 likes, 0 repeats
@wim_v12e yeah, pretty much. If we make programming languages based on a logic that obfuscates work, we'll have a programming language that obfuscates work between states.
(DIR) Post #B4USQjCCAiPylRxOwS by wim_v12e@merveilles.town
0 likes, 0 repeats
@neauoire I agree, it's about the logic. I don't think naming things itself is the issue. If the things we name are immutable, they can't be destroyed. It's the ability to modify and destroy the named things that is the issue.
(DIR) Post #B4USbdZdPkpoVu7fKS by neauoire@merveilles.town
0 likes, 0 repeats
@wim_v12e I think naming things is fine, we just can't name values.
(DIR) Post #B4USzd3qyJYXsEhINU by andnull@social.nouveau.community
0 likes, 0 repeats
@neauoire Heavily tangential, but I have been kinda mulling over feeling that "destroying information" is vital to basically anything computation shaped (live, computers, etc). I mean it's not really that novel of a thought. But, it's very much in juxtaposition to how many computing projects have a pathological fear of information destruction.
(DIR) Post #B4UT5CLrBrwylym2q0 by wim_v12e@merveilles.town
0 likes, 0 repeats
@neauoire even if they are immutable? I don't see a problem with that.
(DIR) Post #B4UTLqLsEp9zSsid8q by cathos@merveilles.town
0 likes, 0 repeats
@neauoire @wim_v12e I like this idea - names are only placeholders and symbols, after all. To really know a thing is much deeper than knowing its name, in all kinds of craft and life.
(DIR) Post #B4UTVJDgHGOLbSOsMq by penny@eldritch.cafe
0 likes, 0 repeats
@andnull @neauoire I like to call it information refinement
(DIR) Post #B4UTVJPjYS26Cq2V9c by neauoire@merveilles.town
0 likes, 0 repeats
@penny @andnull yeah, I think of it more like a translation process, I have yet to find a reason for destruction to even be present in programming.The only instances where annihilation falls short is in these cases of poorly handled translations between something that exists and something that doesn't.
(DIR) Post #B4UTZQH1zbaWdgveUa by neauoire@merveilles.town
0 likes, 0 repeats
@cathos @wim_v12e I tried real hard not to give a pseudo-religious spin to my reply on the forum haha.
(DIR) Post #B4UTwrLBWZG3FL2zC4 by neauoire@merveilles.town
0 likes, 0 repeats
@wim_v12e immutable types are a bit different from linear types, I'd love to write a proper reply to this but I'm neck deep in Donsol at the moment. Gimme a few hours to have a moment to give a proper reply 🌻
(DIR) Post #B4UUEGs7qvjLLxl1qC by wim_v12e@merveilles.town
0 likes, 0 repeats
@neauoire There's no rush. I am cooking and will be off line soon anyway. The Donsol artwork looks amazing!
(DIR) Post #B4UUIsj93ATzuvktY8 by andnull@social.nouveau.community
0 likes, 0 repeats
@neauoire @penny It is the case in computers nothing is actually "destroyed" per say. You are simply changing bits from 0 to 1 and back to 0. It's from the perspective of the runtime / host language that information is "destroyed" as it moves in and out of it's domain / point-of-reference.A funny consequence of this is games. This video from Bob Nystrom sticks with me for his observation that "you have to re-implement OOP in a OOP language for your game's world". You game's world is separate from your language's world.The consequence of this is a language with a GC will need a in-language GC for the world you are building within it.https://youtu.be/JxI3Eu5DPwE?t=792
(DIR) Post #B4UUzrjec5O1IFUQq0 by andnull@social.nouveau.community
0 likes, 0 repeats
@neauoire @penny You only "destroy information" when it has to leave the bubble it exist for. So like Game World destroys information to hand stuff back to the Host Language which destroys information to hand it back to its Runtime which destroys information to hand it back to the OS which finally destroys information to put it away into RAM.Then you turn off you computer and return the electrons you've been borrowing. If you know a higher being, you could send some matter to them as a little treat.
(DIR) Post #B4UV08OefPgqy2nOy0 by neauoire@merveilles.town
0 likes, 0 repeats
@andnull @penny yup, that's the point I try to make on the forum about the cost of punching unrecoveable state in memory :)Basically,:drake_dislike: active_bit = 0:drake_like: active_bit ^= active_bit
(DIR) Post #B4UWlQ2H0Fy3EqRCpE by andnull@social.nouveau.community
0 likes, 0 repeats
@neauoire @penny yeah, I got kinda side track by the nested nature of turing completely systems. I should probably like write about it on not social media cause I think about it a ton.
(DIR) Post #B4UX93Jd7xKRiupFlw by neauoire@merveilles.town
0 likes, 0 repeats
@lhp I'm probably not the right person to ask for this, as I was, right from the start, taken by catlangs. I don't feel like I had to learn to like them, I just did.I haven't spent that much time with forth proper myself, but I learned by implementing my wiki in retroforth and loved it instantly.If they don't feel fun to use for you, they might just not be your thing, revisit them later down the line. If you come from Lisp, maybe something like Joy/Mirth might be more your thing than Forth.Personally, I haven't written non-catlang code in so long, I can't really remember if I ever came across something that made me feel like using anything else for the task.