7 ms·
I find it a bit disingenuous to say that it runs on apple silicon if you need to modify source code. Also it's not because it compiles and starts that it's full
by carreau 5y ago
I find it a bit disingenuous to say that it runs on apple silicon if you need to modify source code. Also it's not because it compiles and starts that it's fully functional.
The main MIT Scheme page say that it's not possible and need significant efforts, so I would be curious to get a description as to why one claim it's impossible while the other show that it compiles and starts.
Are the original authors too much against M1/Apple and justify themselves ? Or does compiling on M1 sort-of works until you hit more complex features that will crash or misbehave ?
- smoldesu 5y agoIt's also a bit disingenuous to say it's "on Apple Silicon" when you're running it through a translation layer that won't exist in a few year's time. I'd wager the reason why the GNU folks say it doesn't run on ARM is because... it doesn't. Running it as an x86 program is mandatory, apparently.
- carreau 5y agoWell they do say that they need rosetta just to compile, that once compiled it "works", though I agree it's still too shallow of an article.
- deleted 5y ago[deleted]
- cyberge99 5y agoIs it not running on Apple Silicon?
- maratc 5y agoSo Java, Groovy, Scala, Kotlin and Clojure aren't running on x86, nor ARM, nor Apple Silicon?
- smoldesu 5y agoIn a lot of ways, yes. Their runtimes are so massive that saying they "run" on any of those architectures is a stretch of what is actually happening at a lower level.
- moron4hire 5y agoNo, it's not a stretch at all. This is just nerd contrarianism.
- smoldesu 5y agoWell, let's see. Is there a way for me to run a Java program as native machine code? Or is the code that I'm executing still a runtime that interprets a program?
- maratc 5y agoThe vast majority of the programs in the world are written in Javascript, and there's no way for you to "run" them if by that you mean "natively".
- smoldesu 5y agoI'm comfortable making that distinction. JavaScript isn't executed like normal, native code, so... I still agree.
- maratc 5y agoWhen the majority of programs in the world can't be "run" according to your definition, you might want to reconsider your definition.
- robbedpeter 5y agoYou're redefining the terms, native and interpreted programs are differentiated by the execution layer, and it has nothing to do with where a majority of programs live.
- jeroenhd 5y agoApple Silicon has a (mostly) hardware translation layer, which this software is running on. There's a special aarch64 build of the software available, so it clearly runs on ARM. Perhaps there's some kind of issue specifically on macOS that makes the existing ARM port incompatible with Apple's ARM implementation?
- simonh 5y ago> Apple Silicon has a (mostly) hardware translation layer… I can’t imagine what you mean by this, Rosetta 2 is a binary translation system implemented in software, based on QuickTransit. There are a few features implemented in Apple Silicon to make translation easier and more efficient, such as supporting Intel memory ordering, but thats about it. I think it’s reasonable to worry about how long rosetta2 will be available. The first version, that allowed Intel Macs to run PowerPC binaries, was available for 5 years. Having said that, there’s no guarantee versions of MacOS beyond 5 years time will run on today’s M1 anyway (though M1 compatible versions will likely still get updates beyond then).
- deleted 5y ago[deleted]
- tardyp 5y agoLooks like QuickTransit was a jit engine which was the base of Rosetta 1. Rosetta 2 is AOT translation.
- simonh 5y agoThey’re both based on QuickTransit, but Rosetta 2 has an AOT mode as well as JIT. I’m sure the R2 engine is more advanced than the original engine, Apple employed several engineers from the original team, but it still uses and is based on licensed tech.
- GeekyBear 5y agoMy understanding is that Rosetta 2 is based on LLVM. Even the company that made QuickTransit is gone now, having been bought out by IBM a decade ago.