The Racket Programming Language

Previously known as Scheme, Racket ( belongs to the LISP family of programming languages. Seen from a non-programmer’s perspective, Racket’s syntax is simple and consistent. If you think about a language as a tool in order to communicate your thoughts, you would naturally think that first and foremost it needs verbs and nouns. In this way, the first thing to learn about Racket is its functional verbs and their arguments (i.e. nouns).

Some examples:

> (do laundry)

> (wash 10-clothes)

> (+ 1 2)

> (+ (- 4 5) (* 2 1))

(+ 1 2) is an expression, just like the expression "do laundry". And you may notice its structure: it starts with a verb, followed by objects (nouns) that will be put under the action of the verb.

Another philosophy of the functional programming paradigm in general is that you need to separate two things: symbol and value. Value (semantic information, or meaning) does not materially exist: a vision inside an artist's mind may be vibrant but it remains a mere vision. Without the equipment to read their mind directly, they have to write down their vision in languages (the languages of mathematics, music, painting, etc.). In other words, they have to express their idea into symbols. Fortunately, we live in a universe that makes it possible to write down information (the value) in symbols (see more on this discussion in this video). We develop writing as a tool to archive, transport, and refer to information for the sake of accumulating knowledge. 

In this fashion, a Racket function will always input and return a value. A symbol that does not hold a value (i.e. it has not yet been assigned a value) will be denied processing. Racket will throw an exception (i.e. an error), as it would claim you to be guilty of breaking a contract with Racket. Racket will help your logical thinking, because once entering Racket, you implicitly sign many contracts of consistency.

The third key aspect of Racket is that it is a language of languages. It can be used to develop more specific languages. This is the philosophy of its creator. The analog that is used by Mathias Fellensen is that there is a common English we all speak, but different experts (with different domain specific knowledge) speak different specialized versions of English. For example, a physicist speaks a variant of English that is sufficiently different from a social scientist. This philosophy is indeed reflected in the annual RacketCon. In the conference, you may find a poet describing his Racket program for writing haikus, a lawyer, a theater worker, a student, etc; the common ground is that they speak about the program they create with love. In this way, Racket is not just a programming language, it is a tool to help you think consistently and recursively.


To fulfill our tutoring mission of online education, our college homework help and online tutoring centers are standing by 24/7, ready to assist college students who need homework help with all aspects of LISP family. Our computer science tutors can help with all your projects, large or small, and we challenge you to find better online LISP family tutoring anywhere.

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.
For faster response, you may skip assigning directly to a tutor to receive the first tutor available.
That tutor may not be available for several hours. Please try another tutor if you're in a hurry.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Get help from a qualified tutor

Latest News

Read All News
September 16, 2019

Question of the Week

If an address bus needs to be able to address four devices, how many conductors will be required?  What if each of those devices also needs to be able to talk back to the I/O control device? The solution of the previous question of the week can be seen below. The maximum aggregate I/O transfer rate of the system is equal to: 700Kbystes/s + 700 Kbytes...
August 16, 2019

Machine Learning

24HourAnswers now offers college homework help and online tutoring in Machine Learning. To learn more about the subject or request a session with one of our tutors, please view our subject page Machine Learning  
Live Chats