Live data from Hacker News

Racket Compiler and Runtime Status

blog.racket-lang.org

11–20 of 102 posts

Re: Racket Compiler and Runtime Status

#11
post #6

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

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.

Re: Racket Compiler and Runtime Status

#12
post #5

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?

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.

Re: Racket Compiler and Runtime Status

#13

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).

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.

Re: Racket Compiler and Runtime Status

#16

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).

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.

Re: Racket Compiler and Runtime Status

#17
post #13

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).

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.

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.

Re: Racket Compiler and Runtime Status

#18

What is Racket primarily used for? I'm not sure where it fits in the language landscape in terms of strengths/weaknesses.

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.

Re: Racket Compiler and Runtime Status

#19

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).

I'm in a similar boat, and I am loving both Racket and Chicken Scheme
Post reply on HN