Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
* Great non-emacs Lisp IDE, powerful, cross-platform, and easy for newbies (but emacs works fine too) * Tons of interesting language extensions -- any Scheme you have ever thought of -- implementations of laziness, static typing, logic programming, FRP * Very good online documentation * Great libraries for lots of things, combined with really easy online package management @ http://planet.racket-lang.org/ * Go look a…
Systems Programming with Racket
11–20 of 36 posts
Re: Systems Programming with Racket
#12Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
* Great non-emacs Lisp IDE, powerful, cross-platform, and easy for newbies (but emacs works fine too) * Tons of interesting language extensions -- any Scheme you have ever thought of -- implementations of laziness, static typing, logic programming, FRP * Very good online documentation * Great libraries for lots of things, combined with really easy online package management @ http://planet.racket-lang.org/ * Go look a…
(require (prefix-in sqlite: (planet jaymccarthy/sqlite:4)))
and then have it automatically downloaded (plus dependencies) and ready for prime time...
Re: Systems Programming with Racket
#13Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
Re: Systems Programming with Racket
#14Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
Re: Systems Programming with Racket
#15Re: Systems Programming with Racket
#16I noticed that the expression "Systems Programming" now seems to mean a much higher level that it used to. In my mind, writing a web server is still an "application" and is not equivalent to, for example, writing an operating system. The Go language is also claiming to be a "Systems Programming Language" but I won't use it for what I call "Systems Programming"...
Re: Systems Programming with Racket
#17I noticed that the expression "Systems Programming" now seems to mean a much higher level that it used to. In my mind, writing a web server is still an "application" and is not equivalent to, for example, writing an operating system. The Go language is also claiming to be a "Systems Programming Language" but I won't use it for what I call "Systems Programming"...
Re: Systems Programming with Racket
#18Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
Disclaimer: I don't know a ton about this. But one of the often-cited reasons for learning a Lisp is the power of Lisp macros for creating domain-specific languages. My understanding is that one unique feature of Racket is how it takes this idea to the next level: not only does it offer a powerful hygienic macro system; Racket also thinks of "languages" as libraries. The Racket folks have built a platform where it is…
I don't have a project in mind for either dialect. Basically, I want to learn lisp because I've heard learning lisp has certain mind expanding properties. This feature sounds like the mind expanding-est of all. And whatever skills I learn with Racket will probably be easily translated to Clojure, so it's not like I'd have wasted my time if I ended up working in a Clojure shop or on Clojure project.
Thanks to everyone who responded.
Re: Systems Programming with Racket
#19Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
Disclaimer: I don't know a ton about this. But one of the often-cited reasons for learning a Lisp is the power of Lisp macros for creating domain-specific languages. My understanding is that one unique feature of Racket is how it takes this idea to the next level: not only does it offer a powerful hygienic macro system; Racket also thinks of "languages" as libraries. The Racket folks have built a platform where it is…
This paper(http://www.ccs.neu.edu/scheme/pubs/scheme2007-ctf.pdf) demonstrates how they made an explicitly-typed dialect of the dynamically typed language Racket.
Truly awesome stuffs.
Re: Systems Programming with Racket
#20Slightly off-topic: ever since I started working my way through Land of Lisp a while ago, I decided I would spend some time trying to seriously learn a lisp dialect. I was thinking that dialect would be Clojure because of its compatibility with Java and its community. But can anyone speak for Racket? I couldn't find a "why racket?" section on their homepage.
Disclaimer: I don't know a ton about this. But one of the often-cited reasons for learning a Lisp is the power of Lisp macros for creating domain-specific languages. My understanding is that one unique feature of Racket is how it takes this idea to the next level: not only does it offer a powerful hygienic macro system; Racket also thinks of "languages" as libraries. The Racket folks have built a platform where it is…
Some* argue that hygienic-macros are an unnecessary burden because sometimes you need to capture variable names and this is easy to do with Common Lisp. The situation with Scheme is different because it stores variable and function definitions in the same way (Lisp-1 vs. Lisp-2).