{
  "id": 2788415,
  "title": "A Friendly Introduction to Racket",
  "url": "https://urgent.news/2026/08/23/a-friendly-introduction-to-racket",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-23T12:22:43.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://geometridae.bearblog.dev/a-friendly-introduction-to-racket/"
  },
  "original_language": "en",
  "account": "Welcome to a friendly introduction to Racket, a language that's part of one of programming's oldest and most unique families. Created by John McCarthy in 1958, Lisp is the second-oldest high-level language still in use today, with several modern concepts having their roots in its early development.\n\nInitially the language of artificial intelligence, Lisp saw a decline in the 80s due to the \"AI winter\" and funding cuts. However, ideas that were once considered radical continued to evolve and mutated, leading to the creation of Scheme in 1975. Scheme became the go-to language for teaching programming in academia, with the influential book \"Structure and Interpretation of Computer Programs\" written in Scheme.\n\nIn 1995, Matthias Felleisen's group developed PLT Scheme, a Scheme designed for education and programming language research. Renamed to Racket in 2010, Racket has grown beyond being just a Scheme, becoming a language for building languages. Its motto is \"language-oriented programming,\" allowing you to create a language in an afternoon when your problem requires its own language.\n\nRacket's REPL (Read-Eval-Print Loop) consists of two areas: the top for writing definitions or your program, and the bottom for live experimentation through the REPL. To specify the language, write a single line at the top of your code. For terminal users, the command \"racket\" opens the REPL, while \"raco\" is the package manager and tooling command.\n\nIn Racket, all code follows a consistent structure: (operator argument1 argument2 ...). There's no operator precedence to memorize, and no special syntax for anything. Lisp, short for LISt Processing, uses lists as the fundamental structure. The quote mark, denoted by a single quote ('), tells Racket not to evaluate an expression but to treat it as data.\n\nThe beauty of Racket lies in its ability to pass functions to other functions, making it natural to apply functions like map, filter, and foldl to solve list problems without traditional loops. You can think of your program as a list, which means you can build programs with programs, a concept known as homoiconicity. This is why Racket has real macros, which are functions that receive code and return code, before anything runs.\n\nInterestingly, Racket doesn't have a while loop of its own. However, you can easily create one, illustrating the power and flexibility of Lisp: the syntax is yours, and the core principles of software development can be derived from a tiny, core set of ideas.",
  "summary": "The merit of this one compared to others of this kind (a legion) is its conciseness and fast pace. Comments",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 2,
    "also_reported_by": [
      {
        "outlet": "Hacker News",
        "title": "A Friendly Introduction to Racket",
        "url": "https://urgent.news/2026/08/22/a-friendly-introduction-to-racket",
        "published": "2026-08-22T14:08:19.000Z"
      }
    ]
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}