Hacker News new | ask | show | jobs
by AtlasBarfed 2338 days ago
Great. Super. Has it been ported to a "real" VM yet? I'm going off of Wikipedia and the 16-bit windows error below.

I can see that the "radical: always-debug, always-on might need a real VM, but it's apparent there isn't enough base for this to produce a true VM.

Is it really impossible to port to the JVM, the javascript VMs, or something similar? Otherwise I fear this is doomed to toy status.

1 comments

two things. First though, please google before getting all dismissive.

1) YES smalltalk _has_ been ported to the JVM https://www.redline.st/ AND you can also run it in the GraalVM https://www.graalvm.org/

2) I'm pretty sure the initial JVM was a clone / extension of a Smalltalk VM. Having trouble googling the details, but while you may be having trouble getting it to work on your particular Windows install you might want to consider that you're possibly ignorant of the fact that the Smalltalk VM is not only one of the best available but battle tested over decades.

I would guess that what you're seeing is a particular windows issue that has nothing to do with the VM itself.

I did, yes I know that Smalltalk needed a VM, Pharo == smalltalk, and the like.

Wikipedia for Pharo says they have a VM with JIT, etc. I have never heard a peep about the Smalltalk VM in any circumstance as a performant target for any language. Ever.

If it's battle tested and great, why isn't it used for anything else than Smalltalk ports? Is there a python, ruby, javascript, java, etc port to the smalltalk VM?

If it sounds like I'm being dismissive, that's not the point. The point is the Smalltalk ecosystem, like Lisp derivatives, likes to have its own top-to-bottom stack completely isolated from "real" execution platforms.

For Lisp it's so bad that Clojure is rejected by some Lisp purists because it can JVM / JS compile.

IMO, for example, Ruby made a strategic error writing their own VM rather than just embracing the JVM as the main VM, although when Ruby was writing their VM invokedynamic hadn't been added to the JVM. Well, and they should have added some optional typing.