Close Menu
Savannah HeraldSavannah Herald
    • Home
    • News
      • Local
      • State
      • National
      • World
      • HBCUs
    • Events
    • Directories
    • Weather
    • Traffic
    • Jobs
    • Sports
    • Politics
    • Lifestyle
      • Faith
      • Senior Living
      • Health
      • Travel
      • Beauty
      • Fashion
      • Food
      • Art & Literature
    • Business
      • Real Estate
      • Entertainment
      • Investing
      • Education
    • Guides
      • Back to School Savannah
      • Summer Camp Guide
      • Juneteenth Guide
      • Black History Savannah
      • MLK Guide Savannah
    We're Social
    • Twitter
    • Facebook
    • YouTube

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Trending
    • Pusha T and Pharrell Williams Launch Grindin Coffee With Lavazza
    • Meet the 2026 ‘Dancing With the Stars’ cast featuring Amber Glenn, Savannah Bananas player and more
    • WNBA to Fine Rookie Flau’jae Johnson $500 After Seattle Storm Loss
    • Concerns for Princess Andre as family are ‘worried about Katie’s influence’
    • This Week In Tiger Athletics (Week of Sept, 14th-Sept. 19th)
    • Democratic Senators Slam RFK Jr.’s ‘Vanity Projects’
    • Dangote Refinery Launches Africa’s Largest-Ever IPO
    • Emory student creates platform to help African farmers
    Facebook X (Twitter) Instagram YouTube
    Login
    Savannah HeraldSavannah Herald
    Savannah HeraldSavannah Herald
    Home » A Friendly Introduction to Racket: The Language That Lets You Build Languages
    Tech

    A Friendly Introduction to Racket: The Language That Lets You Build Languages

    Savannah HeraldBy Savannah HeraldAugust 24, 20267 Mins Read
    Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Tumblr Email
    A Friendly Introduction to Racket: The Language That Lets You Build Languages
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Tomorrow’s Tech, Today: Innovation That Moves Us Forward

    Key takeaways
    • Lisp pioneered garbage collection, first-class functions, the REPL, expression conditionals, and homoiconicity.
    • Scheme evolved into PLT Scheme and became Racket, a toolkit for language-oriented programming and rapid language creation.
    • Today, production use includes Clojure, Common Lisp, Emacs Lisp, Guile, and a vibrant Racket community.
    • Install from racket-lang.org, use DrRacket, start files with #lang racket, or run the racket REPL.
    • Lists are fundamental; the quote operator prevents evaluation, eval runs lists as code, enabling true macros and language extension.

    “Lisp is worth learning for the profound enlightenment experience you will have when you finally get it.” — Eric S. Raymond

    Welcome to one of programming’s oldest and most unusual families. Today, you’ll learn a language where code is data, where parentheses are pure structure, and where programs can write programs. By the end of this journey, you’ll have written your own syntax.

    A Brief History: From McCarthy to Modern Day

    Lisp was born in 1958, invented by John McCarthy at MIT. For context: it’s the second-oldest high-level language still in use (only Fortran, from 1957, beats it by a year). Python arrived in 1991. JavaScript in 1995. Lisp predates them by more than 30 years and several ideas we now consider “modern” were born there:

    • Garbage collection — invented specifically for Lisp
    • First-class functions — passing functions as arguments, now standard everywhere
    • The REPL — the interactive read-eval-print loop that Python, Node, and Julia all have today started in Lisp
    • Conditionals as expressions — the if that returns a value
    • Homoiconicity — code is a data structure of the language itself

    For decades, Lisp was the language of artificial intelligence. In the 70s and 80s, there were physical computers designed to run Lisp directly: the Lisp Machines built by Symbolics and LMI. Then came the “AI winter,” funding dried up, and Lisp went from star to cult language.

    But interesting ideas don’t die — they mutate. That’s part of the beauty of the Lisps.

    The Evolution: Scheme to Racket

    In 1975, Gerald Sussman and Guy Steele created Scheme: a minimalist, elegant, almost mathematical Lisp. Scheme became academia’s favorite language for teaching programming. The legendary book “Structure and Interpretation of Computer Programs” (SICP) is written in Scheme.

    In 1995, Matthias Felleisen’s group created PLT Scheme, a Scheme designed for education and programming language research. In 2010, it was renamed Racket, and today it’s much more than a Scheme: it’s a language for building languages. Its unofficial motto is “language-oriented programming”: if your problem needs its own language, Racket lets you build one in an afternoon.

    Who Uses Lisp Today?

    More people than you might think:

    • Clojure runs in production at banks, airlines, and startups. Nubank, the largest digital bank in Latin America, runs on Clojure.
    • Common Lisp (with the SBCL compiler) is still alive in expert systems, flight planning (ITA Software, acquired by Google, powered Google Flights), and scientific computing.
    • Emacs Lisp — millions of people run Lisp every day without knowing it, because their editor is a Lisp interpreter.
    • Guile/Guix — an entire Linux distribution configured 100% in Scheme.
    • Racket has its own annual conference (RacketCon), an active academic and artistic community, and is used for language research, formal verification (Rosette), typography and publishing (Pollen), and education around the world.
    • New Lisps keep appearing: Fennel (a Lisp that compiles to Lua, popular for games), Janet, Hy (a Lisp on top of Python)…

    Even pop culture has caught on. In “The Amazing Digital Circus” (episode 8), when Kinger opens the terminal to reset Caine, you can see that Caine (a creative AI built in 1996) is programmed in Lisp. The file is literally named Caine-core.lisp.

    Getting Started: Installation (5 Minutes)

    1. Go to https://racket-lang.org
    2. Download the installer for your system (Linux, macOS, Windows)
    3. Open DrRacket, the environment that comes included

    DrRacket has two areas: at the top you write your definitions (your program), and at the bottom you have the REPL for live experimentation. On the first line of the definitions area, write:

    #lang racket
    

    That line tells Racket which language you’re using (remember: Racket is a language factory, so you have to pick one).

    If you prefer the terminal: the racket command gives you a REPL, and raco is the package manager and tooling command.

    First Contact: Everything is an Expression

    In the REPL, try:

    > (+ 1 2)
    3
    > (* 3 (+ 2 2))
    12
    > (string-append "hello " "world")
    "hello world"
    

    The rule of Lisp fits in one line:

    Everything is (operator argument1 argument2 ...). Always. No exceptions.

    There’s no operator precedence to memorize, no special syntax for anything. (+ 1 2) adds. (if ...) decides. (define ...) names. The parentheses that look intimidating at first are actually the complete absence of arbitrary rules. After a week, you stop seeing them.

    Definitions and Functions

    #lang racket
    
    (define pi-approx 3.14159)
    
    (define (circle-area r)
      (* pi-approx r r))
    
    (circle-area 2)   ; => 12.56636
    
    • define with a name creates a constant
    • define with (name arguments...) creates a function
    • Comments start with ;

    Anonymous functions use lambda (yes, that lambda from Church’s lambda calculus from the 1930s is the theoretical grandparent of all this):

    (lambda (x) (* x x))          ; a function with no name
    ((lambda (x) (* x x)) 5)      ; => 25, applied directly
    

    Lists: The Heart of Lisp

    Lisp stands for LISt Processing. Lists are the fundamental structure:

    (list 1 2 3)          ; => '(1 2 3)
    '(1 2 3)              ; the same thing, "quoted"
    (first '(1 2 3))      ; => 1
    (rest '(1 2 3))       ; => '(2 3)
    (cons 0 '(1 2 3))     ; => '(0 1 2 3)
    (length '(a b c))     ; => 3
    

    Notice the quote mark '. It tells Racket: don’t evaluate this, it’s data. Hold onto that detail — it’s the door to the final trick.

    Higher-Order Functions

    This is where Racket shines. Passing functions to other functions is the most natural thing in the world:

    (map (lambda (x) (* x x)) '(1 2 3 4 5))
    ; => '(1 4 9 16 25)
    
    (filter even? '(1 2 3 4 5 6))
    ; => '(2 4 6)
    
    (foldl + 0 '(1 2 3 4 5))
    ; => 15
    

    map transforms, filter selects, foldl accumulates. With those three functions you can solve most list problems without writing a single for loop.

    Recursion: Thinking in Spirals

    In Lisp you don’t think “repeat N times” — you think “what’s the base case, and how do I move toward it?”:

    (define (factorial n)
      (if (= n 0)
          1
          (* n (factorial (- n 1)))))
    
    (factorial 5)   ; => 120
    

    And to make things visual, let’s draw something. Racket ships with graphics libraries included:

    #lang racket
    (require 2htdp/image)
    
    (define (sierpinski level)
      (if (= level 0)
          (triangle 8 "solid" "purple")
          (let ([t (sierpinski (- level 1))])
            (above t (beside t t)))))
    
    (sierpinski 6)
    

    Paste it into DrRacket, press Run, and watch the Sierpinski triangle appear on your screen.

    The Grand Finale: Code That Writes Code

    Remember the quote mark ': it turns code into data. Watch:

    '(+ 1 2)          ; => the LIST (+ 1 2), not the number 3
    (first '(+ 1 2))  ; => the symbol +
    (eval '(+ 1 2))   ; => 3. You just evaluated data as code.
    

    Your program is a list. You can build lists. Therefore: you can build programs with programs. This is homoiconicity, and it’s why Lisp has real macros — not text macros like in C, but functions that receive code and return code, before anything runs.

    Racket doesn’t have a while loop? Let’s invent one:

    (define-syntax-rule (while condition body ...)
      (let loop ()
        (when condition
          body ...
          (loop))))
    
    (define counter 0)
    (while (
    

    In case you have found a mistake in the text, please send a message to the author by selecting the mistake and pressing Ctrl-Enter.

    Read the full article on the original site


    Related Posts

    • Georgia Trend Daily – May 27, 2026
    • Paramount-Warner Bros. Merger Is Challenged in Court by California and 11 Other States
    • Charly Black, Kevin Lyttle Release ‘Summer Banger’ Produced by Global Hitmaker, Walshy Fire. – Ebuzztt.com
    • ‘Crypto Week’ marks total change for electronic money in united state: NPR
    • Justin Timberlake Reveals Lyme Disease Diagnosis and ‘Relentlessly Debilitating’ Symptoms
    • Major Carol Vorderman health update after she was rushed to hospital
    • Reclaiming Juneteenth in a Time of Backlash – BlackPressUSA
    • Feeding creativity in the green room
    AI and Machine Learning Black Technologists Cybersecurity News Digital Innovation Education Emerging Technologies functional programming Future of Work Gadget Reviews Innovation in Education language design lisp Minorities in Tech programming language racket scheme Silicon Valley Updates Smart Devices Software Development Startup News STEM News Tech Culture Tech Equity Tech for Good Tech Industry Updates Tech Trends Technology News
    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Tumblr Email
    Savannah Herald
    • Website

    Related Posts

    Tech September 15, 2026

    Dangote Refinery Launches Africa’s Largest-Ever IPO

    Tech September 14, 2026

    Insight Partners’ Deven Parekh on why the firm is diversifying while everyone else bets the farm on OpenAI and Anthropic

    Tech September 14, 2026

    Trump downplays AI risks after dire expert warnings and calls to slow development down

    Tech September 12, 2026

    Today’s NYT Strands Hints, Answers and Help for Sept. 13, #924

    Tech September 12, 2026

    Anthropic says it blocked state-sponsored attempts to use Claude for bioweapons research

    Tech September 12, 2026

    The Download: biotech’s future and cheaper, cleaner steel

    Comments are closed.

    Don't Miss
    Entertainment May 17, 2026By Savannah Herald03 Mins Read

    Zoe Kravitz Seen at Harry Styles’ Concert Amid Engagement

    May 17, 2026

    From Hollywood to Home: Black Voices in Entertainment Zoë Kravitz made sure to support her…

    The Best Liver and Onions Recipe

    May 19, 2026

    Georgia Trend Daily – May 27, 2026

    August 7, 2026

    HBCU News – Grambling State secures trademark for iconic ‘G’ logo after near 30-year legal battle

    March 26, 2026

    Iran war has some US water utilities facing a fluoride shortage

    June 26, 2026
    Archives
    • September 2026
    • August 2026
    • July 2026
    • June 2026
    • May 2026
    • April 2026
    • March 2026
    • February 2026
    • January 2026
    • December 2025
    • November 2025
    • October 2025
    • September 2025
    • August 2025
    • July 2025
    • June 2025
    • May 2025
    • April 2025
    • March 2025
    • February 2025
    Categories
    • Art & Literature
    • Beauty
    • Black History
    • Business
    • Climate
    • Culture
    • Education
    • Employment
    • Entertainment
    • Faith
    • Fashion
    • Food
    • Gaming
    • Georgia Politics
    • HBCUs
    • Health
    • Health Inspections
    • Investing
    • Lifestyle
    • Local
    • Lowcountry News
    • National
    • National Opinion
    • News
    • Politics
    • Real Estate
    • Senior Living
    • Sports
    • State
    • Tech
    • Traffic
    • Transportation
    • Travel
    • Weather
    • World
    Savannah Herald Newsletter

    Subscribe to Updates

    A round up interesting pic’s, post and articles in the C-Port and around the world.

    About Us
    About Us

    The Savannah Herald is your trusted source for the pulse of Coastal Georgia and the Low County of South Carolina. We're committed to delivering timely news that resonates with the African American community.

    From local politics to business developments, we're here to keep you informed and engaged. Our mission is to amplify the voices and stories that matter, shining a light on our collective experiences and achievements.
    We cover:
    🏛️ Politics
    💼 Business
    🎭 Entertainment
    🏀 Sports
    🩺 Health
    💻 Technology
    Savannah Herald: Savannah's Black Voice 💪🏾

    Our Picks

    Argentina expands hantavirus probe, sending teams to trap and test rats in Mendoza

    August 7, 2026

    Cold Sores (HSV-1) | Nemours KidsHealth

    May 29, 2026

    Best of 4th of July Sales 2025 🇺🇸🎇

    September 3, 2025

    Trump’s Personnel Agency Says It Will Remove Some Identifying Info as It Sweeps Up Medical Records

    July 22, 2026

    New Strikes on Ships in Strait of Hormuz Test U.S.-Iran Cease-Fire

    July 7, 2026
    Categories
    • Art & Literature
    • Beauty
    • Black History
    • Business
    • Climate
    • Culture
    • Education
    • Employment
    • Entertainment
    • Faith
    • Fashion
    • Food
    • Gaming
    • Georgia Politics
    • HBCUs
    • Health
    • Health Inspections
    • Investing
    • Lifestyle
    • Local
    • Lowcountry News
    • National
    • National Opinion
    • News
    • Politics
    • Real Estate
    • Senior Living
    • Sports
    • State
    • Tech
    • Traffic
    • Transportation
    • Travel
    • Weather
    • World
    Copyright © 2002-2026 Savannahherald.com All Rights Reserved. A Veteran-Owned Business

    Type above and press Enter to search. Press Esc to cancel.

    Manage Consent
    To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
    Functional Always active
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    • Manage options
    • Manage services
    • Manage {vendor_count} vendors
    • Read more about these purposes
    View preferences
    • {title}
    • {title}
    • {title}
    Ad Blocker Enabled!
    Ad Blocker Enabled!
    Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.

    Sign In or Register

    Welcome Back!

    Login below or Register Now.

    Lost password?

    Register Now!

    Already registered? Login.

    A password will be e-mailed to you.