Racket Compiler and Runtime Status
21–30 of 102 posts
Re: Racket Compiler and Runtime Status
#22I 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 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.
Re: Racket Compiler and Runtime Status
#23I 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
#24Re: Racket Compiler and Runtime Status
#25What is Racket primarily used for? I'm not sure where it fits in the language landscape in terms of strengths/weaknesses.
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.
Re: Racket Compiler and Runtime Status
#26I 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?
Re: Racket Compiler and Runtime Status
#27I 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).
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.
Re: Racket Compiler and Runtime Status
#28What is Racket primarily used for? I'm not sure where it fits in the language landscape in terms of strengths/weaknesses.
To me, it's the language I use when I want to have fun.
You know what they say about emacs. "Emacs a great operating system, it's just lacking a decent text editor." Same with Racket. Racket is a great language development framework, the only thing missing is a decent language to write your program in.
It does take a lot more effort and expertise to design a language and a program. That's why it's fun for me, I get to dream more and need to learn more.
I'm inspired by the super interesting Racket papers [1] and PG's book "On Lisp". It helps that I got to use Racket to make a couple basic compilers in some uwaterloo classes too.. but I didn't even use macros for those projects, so I haven't really gotten started with Racket yet ;)
[1]: https://www2.ccs.neu.edu/racket/pubs/scheme2007-ctf.pdf
Re: Racket Compiler and Runtime Status
#29Congratulations to everyone involved into making this happen.
Re: Racket Compiler and Runtime Status
#30I 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).
https://mitpress.mit.edu/sites/default/files/sicp/index.html
After getting comfortable with Lisp based languages, it is like Algol derived ones, it is relatively easy to jump between them.
I tend to stay with Clojure, because JVM/CLR is where I spend most of my time, so I can easily pig back into the libraries.
Maybe what you can do is similarly, pick a Lisp variant for the domain you spend most of your time on.