#lang racket (provide hello) (define (hello [name "World"]) (string-append "Hello, " name "!"))
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.
Manage a player's High Score list.
Calculate the date of meetups.
Racket comes with the tools to write your own programming language.
Racket is a modern dialect of Lisp, an influential language with a rich history.
Racket is primarily functional, but it supports imperative and object-oriented programming too.
Racket's syntax is simple, expressive and easy to learn.
Racket is an actively-developed research testbed for intriguing new language features.
It's easy to customize the language to your liking with Racket's macro system.
Every language has its own way of doing things. Racket is no different. Our mentors will help you learn to think like a Racket developer and how to write idiomatic code in Racket. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Racket - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The Racket track on Exercism has 53 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all Racket exercises
The best part, it’s 100% free for everyone.