5 ms·
Thanks for all your hard work Racket team and contributors. Can we appreciate the meta? A fast low-level program was re-written in a high-level language to red
by srcreigh 6y ago
Thanks for all your hard work Racket team and contributors.
Can we appreciate the meta? A fast low-level program was re-written in a high-level language to reduce maintenance costs. These days on HN you usually only hear about the opposite, eg. Figma rewriting server Typescript code in Rust to improve performance [1]. Not fair to compare Rust to C, I know, but interesting nonetheless.
The loss of JIT was interesting. How does eval work? Apparently Chez Scheme AOT compiles code at runtime. Comparatively a JIT will change the compilation at runtime based on codepaths. There's a thread about that here [2].
Part of the motivation of CS was to make it easier for people to contribute to the compiler. I'm excited to see how that plays out.
Thanks again everybody. I'll go back to toying around with macros and tiny Racket programs now.
[1]: https://www.figma.com/blog/rust-in-production-at-figma/ https://www.figma.com/blog/rust-in-production-at-figma/
[2]: https://news.ycombinator.com/item?id=16406391 https://news.ycombinator.com/item?id=16406391
- samth 6y agoeval works very similarly to how it worked before -- when you eval some code it compiled it and then runs it. Every* Scheme or Lisp system supports this kind of compilation-at-runtime, and Chez is no exception.
- Zuider 6y ago>A fast low-level program was re-written in a high-level language to reduce maintenance costs. These days on HN you usually only hear about the opposite Related, though not quit the same, is the manner in which the Cog VMs for Squeak/Pharo are developed: "The VMs are developed in Smalltalk, using all the dynamic and reflective facilities of the Squeak/Pharo Smalltalk system. As such, developing in Cog is a delight. The Smalltalk framework comprising the various Cog VMs is translated into C by its Slang component to produce VM source that is combined with platform-specific support sources and compiled via a C compiler to obtain a fast production VM." https://bintray.com/opensmalltalk/vm/cog/202101210320#read https://bintray.com/opensmalltalk/vm/cog/202101210320#read
- omaranto 6y ago> A fast low-level program was re-written in a high-level language to reduce maintenance costs. And as a side effect make it faster on average. Very cool!
- fern2000 6y agoDonald Knuth once said, “Premature Optimisation is the root of all evil!” But that message has obviously not yet reached the Racket community. Because how else do you explain this madness: they spent three years developing a new version of Racket that et the end turned slower than the original! [1] Meanwhile, for example, we can still count the number of web applications written in Racket on the fingers of one hand, and the number of Racket users in the racket group is rapidly decreasing from day to day. Turns out the only users of Racket are people who live off Racket in a way that writes scientific articles that nobody cares about. Very rare are those who use Racket for any practical purposes. I wonder if it would have been better if this huge effort had been made to write clear documentation on how to use the Racket Web Library in a practical way? The current documentation for the web framework doesn't understand, I mean, even its creator, Jay McCarthy. I've never seen worse documentation on any software product than this for racket web library in my entire life. On the other hand, we have this guy, Jesse Alama [2], who, like, wrote something about it. But there's literally not a single thing this guy published that he didn't charge her fattly. All his books and tutorials cost a lot and their quality is questionable. But, unfortunately, these topics are a taboo in Racket community... [1] https://blog.racket-lang.org/2021/01/racket-status.html https://blog.racket-lang.org/2021/01/racket-status.html [2] https://gumroad.com/jessealama https://gumroad.com/jessealama
- samth 6y agoWhich topics are taboo? That documentation is good? Or that academic use and industry use are different? Those topics are well discussed in the community. On the other hand, negative ranting about how everyone is wasting their time, how particular people are terrible, or how charging money for a book is inappropriate -- those are discouraged, and thankfully.
- fern2000 6y agoCome on, samth! Charging money for a book is not inappropriate. But charging (a lot of) money for a very lousy book are just pathetic. Did you ever read any of Jesse Alama's books? Thank God you didn't. That guy is tipical Racket community parasite: he parasitizes on your efforts and pains by charging his bad books, thus destroying the reputation of the entire community who turns out unable to write a fair book on how to use racket in a practical way. And yes, the documentation is poor. I'm experienced developer and could tell that. Check this mess: https://docs.racket-lang.org/web-server/stateless.html#%28part._stuffers%29 https://docs.racket-lang.org/web-server/stateless.html#%28pa... WTF?