Why do people pretend like ABIs are an artifact of C and Unix? That issues with trying to match up some incompatible ABIs is the product of some quirk of the C language, and not just the product of structural obliteration during compilation? You guys know we'd still have ABIs and they'd still have to be carefully matched up if we were using Lisp machines, right?
I never said that.
>>108663600No, bytecode solves this, languages with virtual machines solves this.It just happens to be that operating systems are stuck in the 70's, but muh backwards cumpatiblity nooo you canno rewrite everything in a modern abstract language REEEEEE
>>108663657>If you slow everything to a crawl and explode memory consumption by delegating all far-calls to an interpreter, you can bypass ABI mismatchBrilliant anon. So just go ahead and lift your C programs in an emulated x86 machine.>It just happens to be that operating systems are stuck in the 70'sBytecode VMs are from the 1960s>nooo you canno rewrite everything in a modern abstract languageCan you name a "modern abstract language" that isn't Rust?
>>108663864>slow everything to a crawl and explode memory consumptionAre you aware that JIT compilers exists?You could even implement some of it in hardware, in fact this is what Lisp machines were all about.>Can you name a "modern abstract language" that isn't Rust?Rust is as braindamaged as C++.I'm thinking of something like a Smalltalk or a Lisp, around which you build a new stack of software including an operating system.
>>108663900>I'm thinking of something like a Smalltalk or a Lispnobody stops you from using Mezzanohttps://github.com/froggey/Mezzano
>>108663600>Why do people pretend like ABIs are an artifact of C and Unix?I've never heard of such a claim
>>108663600>ABI most commonly refers to an Acquired Brain Injurythat sounds like a symptom of using C and Unix, thoughbeit
>>108664084lmao
>>108663900>Are you aware that JIT compilers exists?And now you've reintroduced the problem.>I'm thinking of something like a Smalltalk or a LispOn what fucking planet are either of these modern? Are you high?And no, Lisp still has ABI problems if it's not hosted into an isolated runtime. I literally mentioned this in the OP, come on anon.As an aside>SmalltalkHave you ever actually tried to use this for serious work? The design of the language is so fucking flawed that even on today's absurd supercomputers that live on our desktops, it's basically a non-starter. RPC by way of message passing is not low latency. Even aggressive JIT dispatch specialization, like what you find with squeak, still doesn't produce a system usable for anything but shallow bauble "demonstrations".You ever use a Mac? You wanna know why it has so many cutesy animations that play when you do certain actions? You ever wonder why disabling animations doesn't make those actions take any less time? It's because the animations themselves are covering up RPC latency, all thanks to functionality being routed through Objective C's message dispatching system. Smalltalk is oft cited, but even as someone that likes to give every language its due, I genuinely have found it to be completely irredeemable as a tool.
>>108664084based
>>108664111>And now you've reintroduced the problem.No, as long as you specify with care the binary translation so tha all language implementation of the JIT as same you eliminate the ABI chaos, problem solved.>On what fucking planet are either of these modern? Are you high?Their concepts were so ahead of their time that they are more modern than any of the dumb corposlop of the last 20 years, yep.>Lisp still has ABI problems if it's not hosted into an isolated runtimeYes the problems are introduced by all the C shitware chaos that makes up it's external environement.>RPC by way of message passing is not low latencyYou wouldn't do RPC at all, in same image message passing can be as fast as hash table lookup, I don't know Objective C but I don't see why it would need to do RPC? Are we talking about same thing? "Remote procedure call"
>>108663600>Why do people pretend like ABIs are an artifact of C and Unix?The artifact of C and Unix is everything being forced to use a "C ABI" (and worse, C header files so they have to parse arbitrary C syntax including macros) instead of a common ABI for the features of all the languages. C is a really weak language and it doesn't have arrays, classes, or objects, and it loses types at runtime.>is the product of some quirk of the C language, and not just the product of structural obliteration during compilation?The "structural obliteration" is "the product of some quirk of the C language." Descriptors and tags keep track of types at runtime.>You guys know we'd still have ABIs and they'd still have to be carefully matched up if we were using Lisp machines, right?Lisp machines are dynamically typed in hardware. The "ABI" is defined by the hardware, not an arbitrary language, and used by all languages.