The Racket Programming Language
Previously known as Scheme, Racket (https://racket-lang.org/) 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.
Since we have tutors in all LISP Family related topics, we can provide a range of different services. Our online LISP Family tutors will:
With these capabilities, our college LISP Family tutors will give you the tools you need to gain a comprehensive knowledge of LISP Family you can use in future courses.
Our tutors are just as dedicated to your success in class as you are, so they are available around the clock to assist you with questions, homework, exam preparation and any LISP Family related assignments you need extra help completing.
In addition to gaining access to highly qualified tutors, you'll also strengthen your confidence level in the classroom when you work with us. This newfound confidence will allow you to apply your LISP Family knowledge in future courses and keep your education progressing smoothly.
Because our college LISP Family tutors are fully remote, seeking their help is easy. Rather than spend valuable time trying to find a local LISP Family tutor you can trust, just call on our tutors whenever you need them without any conflicting schedules getting in the way.