#lang racket
(provide hello)
(define (hello [name "World"])
(string-append "Hello, " name "!"))
"Racket (formerly named PLT Scheme) is a general purpose, multi-paradigm programming language in the Lisp/Scheme family. One of its design goals is to serve as a platform for language creation, design, and implementation. The language is used in a variety of contexts such as scripting, general-purpose programming, computer science education, and research." - Wikipedia
You can learn the basics of Racket through a coule of books. Start by checking out How to Design Programs or the slightly less formal but enjoyable Realm of Racket.
The official language website can be found at http://racket-lang.org/ and the source code is at https://github.com/racket/racket/. You can find the community on twitter, email or slack.
Join the Racket trackWhat I like about it is that I am able to solve the challenges in a TDD way working in a environment that I am familiar (my own PC not a browser IDE) and the cherry on the top of the cake is that I have access to code reviews.
Once you join the Racket language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.
These are a few of the 33 exercises on the Racket track. You can see all the exercises here.