[HN Gopher] Racket Compiler and Runtime Status ___________________________________________________________________ Racket Compiler and Runtime Status Author : gleb_the_human Score : 100 points Date : 2021-01-24 18:16 UTC (4 hours ago) (HTM) web link (blog.racket-lang.org) (TXT) w3m dump (blog.racket-lang.org) | rcarmo wrote: | This is nice to see. I've played around with Chez and Racket | separately, and even though I'm now focusing on bare metal/JIT | again, I look forward to using the new Racket. | sitkack wrote: | Interesting I was just looking at the Chez Scheme backends and | didn't remember seeing aarch64, just 32 bit arm. And then I found | this | | https://github.com/cisco/ChezScheme/issues/545 | | Racket-Chez is different from Cisco-Chez by > 600 commits. I | wonder what the plan is to normalize them or will be Racket-Chez | be our new house. | | https://github.com/racket/ChezScheme | samth wrote: | We (mostly Matthew) have opened plenty of pull requests, | although not for the most recent changes since they rely on | earlier ones that are not merged. The Chez maintainers move at | a deliberate pace, and don't necessarily share all the same | priorities as Racket. But we're very much in touch with them, | and they've helped develop even some of the changes that aren't | upstream. | | I don't think it's likely that we'll move back to pure upstream | Chez in the near future, but it's not quite a fork either. | | You can read more about some of these issues in our ICFP 2019 | paper: https://www.cs.utah.edu/plt/rkt-on-chez/ which is co- | authored with the Chez maintainers. | [deleted] | sachanganesh wrote: | What is Racket primarily used for? I'm not sure where it fits in | the language landscape in terms of strengths/weaknesses. | stretchcat wrote: | To me, it's the language I use when I want to have fun. | desine wrote: | It's a Lisp, in the Scheme subset. It's original design was | primarily around Programming Language Theory education - | formerly it was PLT Scheme. Much of it was designed for | educational uses, but it's a really well-rounded system with | plenty of packages, a decent package management system, better | performance than most interpreted languages. It comes with an | IDE easier to pick up for newbies than Emacs (the usual | Lisp/Scheme environment), but also runs fine as a command line | REPL and compiler. | | It's kind of an oddball. While the development focus is mostly | educational, specifically Programming Language theory, it's | also very usable in the real world. There's a few tutorials on | writing your own domain specific language in it. You can | specify a language other than the default Racket, so one | compiler/interpreter environment actually supports many Lisps | and DSLs. | | I'm a long time dev who recently picked up SICP to learn why | everyone says learning Lisp/Scheme will make you a better | programmer, and Racket is by far the most interesting | environment I've worked in. I haven't even touched Python, | which was my money-maker, in months. | dTal wrote: | I think of it as the Python of Scheme (yes yes I know). | Batteries included, well documented, big focus on ease-of-use. | | It also has a Big Idea; it aims to be the practical realization | of the grand idea that Lisps are the perfect platform to build | programming languages on, and to take this so radically far | that you can have entirely different programming languages that | nevertheless share, not just a runtime, but _all their | libraries_. Unfortunately, so far, nobody except Racket | enthusiasts appear to have much interest in building languages | on top of Racket - but it 's absolutely possible and practical, | and someone really did accomplish the astonishing feat of | implementing Python (Python 2, alas) in Racket, in such a way | that you could combine libraries from both languages. | arc-in-space wrote: | I'm glad Racket CS happened(even though I don't use Racket), | because I was worried about the future of chezscheme's | maintenance. It's a runtime with good portability(Guile Scheme, | for instance, seems to pretend Windows doesn't exist), and I | think it'd be a shame to see it fade away in the future. | DC1350 wrote: | I used Racket in an intro to CS course a few years ago and was | told it's designed to be a teaching language. Is there any reason | to use racket over a more popular functional language? Does | anyone use it in production? | patrec wrote: | Carmack would have used it for Oculus, had management not said | no. https://twitter.com/id_aa_carmack/status/807797812700348416 | soegaard wrote: | The Racket distribution comes with several languages. You were | probably using the socalled teaching languages, which are small | subsets of real Racket. Using a subset of the real language | allows better and more beginner friendly error messages. | | The real Racket language is a general purpose language with all | the bells and whistles you could ever imagine. | fantispug wrote: | The killer feature of racket is it is very easy to make Domain | Specific Languages (including the teaching language) and | related tooling. However last time I looked the library | ecosystem didn't seem great; there were many libraries but few | that were actively maintained. | behnamoh wrote: | One could also argue that DSLs are not always good esp. in | large projects maintained by many devs. | gypsyharlot wrote: | I am interested in LISP-type languages, but I have a serious case | of decision paralysis. | | GNU Guile? Common Lisp? Clojure (JVM)? Racket? Judging by my | understanding of the difference between Common Lisp and Scheme, I | think I am more of a Scheme type (I prefer C over C++, I like Go | more than Java, etc). | yw3410 wrote: | If you want live image reloading stick to a Lisp like SBCL | rather than Scheme. | | If you care about startup times or FFI then don't pick Clojure. | | YMMV between Racket and Guile; I would say Racket is better | insofar as the culture of documentation is really very good. | | In practice, once you learn a Lisp, you can jump between them | without too much trouble. | mepian wrote: | SBCL is an implementation of Common Lisp, to be precise. | There is also CCL, or Clozure Common Lisp, which has the best | support for macOS. | potta_coffee wrote: | I tend to enjoy Scheme more than Common Lisp for just hacking | around, but I'm by no means an expert Lisp hacker. If you | decide to check out Scheme though, Chicken Scheme has been | awesome for me. It's very fast, compiles to C, had a ton of | great "eggs" (modules / packages), and seems to have a somewhat | friendly community with decent documentation. | bjoli wrote: | If you want batteries included and probably the nicest runtime | of all the lisps I would suggest racket. | | I use guile since I think it more fun, but racket is a lot | easier if you want libraries around. | potta_coffee wrote: | Racket really is nice if you don't know what you want to do | and you want to be hacking on some code in less than five | minutes. I think I have Racket installed on every computer I | own. | Decabytes wrote: | I think the first question is scheme, or Common Lisp? The | answer depends on what your style is. After trying both I like | scheme better but I agonized over this decision for awhile, | though I enjoy sbcl and CLISP is dear to my heart. | | In terms of schemes you have a wide variety to pick from. | Gerbil, Racket, Gambit, Chez, Chicken and many more. Racket is | a great all around choice. There are schemes that do various | things better than it, but it can do most things well. It has | two great edX courses to learn from (How to design simple data, | and how to design complex data) and is how I initially learned. | | Chicken is one of my favorite schemes and is probably the one I | would use if I wasn't using Racket. It's so portable since it | compiles to C. I love the egg system, and I like the logo. | Gerbil is a performant systems level scheme. I remember there | being an article about someone in the Common Lisp community | considering jumping to Racket, but ending up on Gerbil Scheme | for what it's worth. I haven't used it | | Chez is another super performant scheme, and is actually the | backend for the Racket programming language as seen in the | article above. It was only open sourced a few years ago so it | might be difficult to find solutions or get answers. I've used | Guile, I appreciate the mission, but I found it wanting. I've | heard people ship Gambit scheme apps onto IOS so if you are | looking at mobile apps that might be the way to go, I'm sure | Chicken could do that to. I have also heard that Gambits Cffi | is one of the best in the business, so if you need to interface | with a lot of C code that might be the way to go. | desine wrote: | I'm in a similar boat, and I am loving both Racket and Chicken | Scheme | fredrikholm wrote: | Racket if you're interested in a more "pure" lisp and/or | metaprogramming/DSLs. | | Clojure if you're looking to use the language directly to solve | your problems (and my preferred Lisp). | kogir wrote: | If HN ends up moving to the CS runtime I'd love to hear a high | level summary of what work it required and how the new runtime | performs. | the-smug-one wrote: | You can run (what I suspect is an old version of) HN yourself: | http://arclanguage.org/install | ampdepolymerase wrote: | Congrats on the release. What Racket really needs right now is a | proper dependency manager with support for constraint solving and | allowing multiple conflicting transitive dependencies. Cargo and | yarn are the gold standard for this. A lot of Lisps tend to | overly focus on language and compiler features and neglect the | more boring tooling and infrastructure that makes a programming | language successful. ___________________________________________________________________ (page generated 2021-01-24 23:00 UTC)