(define-module (hello-world) #:export (hello)) (define hello (lambda* (#:optional name) (let ((target (or name "World"))) (string-concatenate (list "Hello, " target "!")))))
Scheme is a tail-recursive and statically scoped dialect of the Lisp programming language. It was built to have uncomplicated semantics and several different ways to form expressions. Multiple programming paradigms, including functional, message, and imperative, find easy expression in Scheme.
Scheme was invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. To learn more about Scheme, take a look at MIT's Scheme page.Join the Scheme track
Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.
Once you join the Scheme 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 17 exercises on the Scheme track. You can see all the exercises here.