
Systems Programming with Racket - shawndumas
http://docs.racket-lang.org/more/index.html
======
alexk7
I 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"...

~~~
icey
What do you call "Systems Programming"?

(I'm not necessarily disagreeing with you, but you haven't provided a
definition of what you consider systems programming.)

~~~
joshhart
I'm not the parent, but I usually consider anything requiring fairly intimate
knowledge of the hardware and operating system "systems programming", such as
writing a database.

Others seem to refer to it as anything that could be considered part of the
OS, like writing drivers.

~~~
alexk7
"anything requiring fairly intimate knowledge of the hardware and operating
system" is a fine definition.

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

~~~
rwl
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 easy to define non-trivial (and even non-
Lispy) languages, and freely incorporate code written in those languages into
other Racket programs.

See: <http://docs.racket-lang.org/guide/languages.html>

~~~
marcusbooster
The debate over hygienic-macros is not as straight-forward:
[https://groups.google.com/d/topic/comp.lang.lisp/dcX15VC5BdM...](https://groups.google.com/d/topic/comp.lang.lisp/dcX15VC5BdM/discussion)

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

* <http://p-cos.net/lisp/guide.html>

------
matthiasf
See realmofracket.com and watch it for more news.

~~~
phren0logy
Wait, does matthiasf == Matthias Felleisen? Or, I should ask: (equal?
"matthiasf" "Matthias Felleisen") of Little Schemer?

~~~
yarian
string=? :)

------
therockhead
Has any one created any Windows GUI's using Racket and if so, what was the
experience like? I,ve been learning Clojure and having a lot of fun but not a
big fan of Swing, so hoping Racket might be a better fit.

