stefan.kruger
2019-7-5 10:40:46

I’m bowled over by the expressiveness and power of Racket. All programming should be this fun :slightly_smiling_face:


pocmatos
2019-7-5 11:21:53

Hear, hear!


nma.arvydas.silanskas
2019-7-5 11:52:56

Stupid question perhaps — Racket compiler and runtime is being redone on chez. But is it racket-on-chez, or is it more actually racket-on-scheme, but with chez implementation? Ie would it be hard to substitute chez with some other scheme?


nma.arvydas.silanskas
2019-7-5 11:54:17

More specifically, I’m curious about possibility of racket getting put onto JVM via Kawa


lexi.lambda
2019-7-5 12:05:14

@nma.arvydas.silanskas the vast majority of the primitives Racket depends on to efficiently implement things like threads, I/O, the FFI, custodians, chaperones/impersonators, wills and executors, etc. are not in standard Scheme, so Racket-on-Chez still depends on a lot of Chez-specific functionality (and has sometimes even needed to change Chez to support certain things)


samth
2019-7-5 14:25:30

@nma.arvydas.silanskas The way RacketCS is implemented is that Racket programs are translated to Chez programs that also use an API (called Rumble) that supports things like @lexi.lambda mentioned. Those are implemented directly in Chez code. However, the set of features required for that code is much smaller than for full Racket programs, so porting to another Scheme is much easier than previously.


samth
2019-7-5 14:27:35

With that said, it’s not clear that Kawa would be easiest way to porting Racket to the JVM — it really depends on how easily Kawa could support the various tricky features that Racket needs (like delimited continuations) and how high-fidelity the implementation needs to be.


samth
2019-7-5 14:28:37

If you’re interested in trying this, I’m happy to provide help/advice.


franklai
2019-7-5 15:47:35

@franklai has joined the channel