4 ms·
> I'm the technical lead for that project, and we're very likely to have continuations soon. What relationship have continuations to making Java exceptions res
by lispm 8y ago
> I'm the technical lead for that project, and we're very likely to have continuations soon.
What relationship have continuations to making Java exceptions resumeable?
> But by comparing capabilities I did not mean one by one, but the totality of those of one runtime vs. those of the others.
Not sure how you compare a totality, other than actually having a list and compare them one by one.
My feeling: you make a claim, but you have never used one of the Lisp runtimes like Allegro CL and you simply don't know what they provide and when it comes to specific capabilities, they are not important to YOU, because JVM users don't use them - given that they have no choice.
The JVM isn't the predominant enterprise platform because it is the best Lisp platform. Very few people in companies care whether it runs Lisp well or not. People have chosen it as their platform for their niche language, because of its domination in the specific enterprise market - not because it is technically or capability-wise a good platform for their niche language. Actually even though the JVM now exists for a long time, none of the dynamic languages have their best / most performant / dominant implementations on the JVM. Not Smalltalk, not Lisp, not Scheme, not Python, not Ruby, ...
- pron 8y ago> What relationship have continuations to making Java exceptions resumeable? We don't want resumable exceptions for Java. But if you want to implement a Lisp that has them on the JVM, you'll be able to use continuations for that. > but you have never used one of the Lisp runtimes like Allegro CL and you simply don't know what they provide and when it comes to specific capabilities, they are not important to YOU, because JVM users don't use them - given that they have no choice. I have never used Allegro, and, as I said, some capabilities that are important to some people may be missing on the JVM. But it seems that most Lispers prefer what the JVM has to offer, which is high performance, low-latency GC, low-overhead monitoring, and a huge ecosystem. > not because it is technically or capability-wise a good platform for their niche language. True, but most people don't care about what's good for their language, they care about what's good for their program (and users). It seems like more people prefer Lisp on the JVM, even if they have to give up some features (and they'll need to give up fewer features with Loom). > Not Smalltalk, not Lisp, not Scheme, not Python, not Ruby, ... Python and Ruby are actually most performant on the JVM nowadays. Look up TruffleRuby and GraalPython. They're just very new. Even TruffleJS is almost as good as V8.
- lispm 8y ago> We don't want resumable exceptions for Java. So the Java libs I'd have to use would not support them. Not so great. > I have never used Allegro So the totality of your opinion of the JVM being better for Lisp comes from exactly what knowledge? Oracle marketing? > But it seems that most Lispers prefer what the JVM has to offer, which is high performance, low-latency GC, low-overhead monitoring, and a huge ecosystem. You mean Clojure users recruited from Java? I have never seen many Scheme, Common Lisp, Javascript, Julia, ... users on the JVM. > Python and Ruby are actually most performant on the JVM nowadays. Look up TruffleRuby and GraalPython. They're just very new. Even TruffleJS is almost as good as V8. https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... Really? Looks to me that it's not particular fast. [GraalVM CE, Java 1.8.0_202] on darwin Type "help", "copyright", "credits" or "license" for more information. Please note: This Python implementation is in the very early stages, and can run little more than basic benchmarks at this point. Haha, basic benchmarks, okay. Size '178939568' okay. Probably the largest Python implementation in the world...
- pron 8y ago> Not so great. Well, resumable exceptions are not so great... We really don't want them in Java (remember that Java is a language originally designed by Lispers). > So the totality of your opinion of the JVM being better for Lisp comes from exactly what knowledge? Oracle marketing? I've used Racket (and PLT Scheme before it) quite a bit (I was a Schemer when Java barely even existed), and Guile, and, of course, Clojure. Also, Oracle marketing is quite terrible. > You mean Clojure users recruited from Java? I have never seen many Scheme, Common Lisp, Javascript, Julia, ... users on the JVM. I started using Scheme in the mid-nineties. Unfortunately, I haven't seen many Scheme and Common Lisp users anywhere. Clojure is the first in over three decades to be used on any noticeable scale in industry. There are plenty of people that run JS on the JVM (probably ten times all non-Clojure Lispers), and Julia is still new. > Really? Looks to me that it's not particular fast. It's very fast. Here's some benchmarks with early prototypes: http://thezhangwei.com/documents/oopsla113-zhang.pdf http://thezhangwei.com/documents/oopsla113-zhang.pdf Beats PyPy.