3 ms·
I also found the stacker example to be the clearest, because it really tackles the basics. I am however also confused as to whether Racket can transform any typ
by rscho 9y ago
I also found the stacker example to be the clearest, because it really tackles the basics. I am however also confused as to whether Racket can transform any type of language. Indeed, how about interpreted-only languages such as for example J? Would the Racket JIT not be an obstacle in such a case?
(Shameless plug for my askHN on this exact question I have been wondering about: https://news.ycombinator.com/item?id=16456562 https://news.ycombinator.com/item?id=16456562)
- shakna 9y agoRacket includes a lazy language/library, and you can see some of the side-effects from the compiler there: #lang lazy is incredibly slow compared to #lang racket. Racket probably can transform any kind of language, but some seem to require extra work to get them to run smoothly, by which I mean you may have to write your own compiler as well as the rest, before you see real performance. However, #lang datalog is pretty much a pure interpreter, and it does have acceptable performance. So it should depend a bit on the language's fundamentals. Speaking of J, there is some work on getting it to play nice with Racket [0], though it is incomplete, and I have no idea if the work is ongoing. [0] https://docs.racket-lang.org/j/index.html https://docs.racket-lang.org/j/index.html