{"id":7045316,"date":"2026-08-23T22:19:32","date_gmt":"2026-08-23T22:19:32","guid":{"rendered":"https:\/\/peraltafinancing.com\/uncategorized\/a-friendly-introduction-to-racket-the-language-that-lets-you-build-languages\/"},"modified":"2026-08-23T22:19:32","modified_gmt":"2026-08-23T22:19:32","slug":"a-friendly-introduction-to-racket-the-language-that-lets-you-build-languages","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=7045316","title":{"rendered":"A Friendly Introduction to Racket: The Language That Lets You Build Languages"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"\">\n<p>&#8220;Lisp is worth learning for the profound enlightenment experience you will have when you finally get it.&#8221;  \u2014  Eric S. Raymond<\/p>\n<p>Welcome to one of programming&#8217;s oldest and most unusual families. Today, you&#8217;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&#8217;ll have written your own syntax.<\/p>\n<h2>A Brief History: From McCarthy to Modern Day<\/h2>\n<p>Lisp was born in 1958, invented by John McCarthy at MIT. For context: it&#8217;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 &#8220;modern&#8221; were born there:<\/p>\n<ul>\n<li><strong>Garbage collection<\/strong>  \u2014  invented specifically for Lisp<\/li>\n<li><strong>First-class functions<\/strong>  \u2014  passing functions as arguments, now standard everywhere<\/li>\n<li><strong>The REPL<\/strong>  \u2014  the interactive read-eval-print loop that Python, Node, and Julia all have today started in Lisp<\/li>\n<li><strong>Conditionals as expressions<\/strong>  \u2014  the <code>if<\/code> that returns a value<\/li>\n<li><strong>Homoiconicity<\/strong>  \u2014  code is a data structure of the language itself<\/li>\n<\/ul>\n<p>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 &#8220;AI winter,&#8221; funding dried up, and Lisp went from star to cult language.<\/p>\n<p>But interesting ideas don&#8217;t die \u2014 they mutate. That&#8217;s part of the beauty of the Lisps.<\/p>\n<h3>The Evolution: Scheme to Racket<\/h3>\n<p>In 1975, Gerald Sussman and Guy Steele created Scheme: a minimalist, elegant, almost mathematical Lisp. Scheme became academia&#8217;s favorite language for teaching programming. The legendary book &#8220;Structure and Interpretation of Computer Programs&#8221; (SICP) is written in Scheme.<\/p>\n<p>In 1995, Matthias Felleisen&#8217;s group created PLT Scheme, a Scheme designed for education and programming language research. In 2010, it was renamed Racket, and today it&#8217;s much more than a Scheme: it&#8217;s a language for building languages. Its unofficial motto is &#8220;language-oriented programming&#8221;: if your problem needs its own language, Racket lets you build one in an afternoon.<\/p>\n<h2>Who Uses Lisp Today?<\/h2>\n<p>More people than you might think:<\/p>\n<ul>\n<li><strong>Clojure<\/strong> runs in production at banks, airlines, and startups. Nubank, the largest digital bank in Latin America, runs on Clojure.<\/li>\n<li><strong>Common Lisp<\/strong> (with the SBCL compiler) is still alive in expert systems, flight planning (ITA Software, acquired by Google, powered Google Flights), and scientific computing.<\/li>\n<li><strong>Emacs Lisp<\/strong>  \u2014  millions of people run Lisp every day without knowing it, because their editor is a Lisp interpreter.<\/li>\n<li><strong>Guile\/Guix<\/strong>  \u2014  an entire Linux distribution configured 100% in Scheme.<\/li>\n<li><strong>Racket<\/strong> 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.<\/li>\n<li>New Lisps keep appearing: Fennel (a Lisp that compiles to Lua, popular for games), Janet, Hy (a Lisp on top of Python)&#8230;<\/li>\n<\/ul>\n<p>Even pop culture has caught on. In &#8220;The Amazing Digital Circus&#8221; (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 <code>Caine-core.lisp<\/code>.<\/p>\n<h2>Getting Started: Installation (5 Minutes)<\/h2>\n<ol>\n<li>Go to <a href=\"https:\/\/racket-lang.org\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/racket-lang.org<\/a><\/li>\n<li>Download the installer for your system (Linux, macOS, Windows)<\/li>\n<li>Open <strong>DrRacket<\/strong>, the environment that comes included<\/li>\n<\/ol>\n<p>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:<\/p>\n<pre><code class=\"language-racket\">#lang racket\n<\/code><\/pre>\n<p>That line tells Racket which language you&#8217;re using (remember: Racket is a language factory, so you have to pick one).<\/p>\n<p>If you prefer the terminal: the <code>racket<\/code> command gives you a REPL, and <code>raco<\/code> is the package manager and tooling command.<\/p>\n<h2>First Contact: Everything is an Expression<\/h2>\n<p>In the REPL, try:<\/p>\n<pre><code class=\"language-racket\">&gt; (+ 1 2)\n3\n&gt; (* 3 (+ 2 2))\n12\n&gt; (string-append \"hello \" \"world\")\n\"hello world\"\n<\/code><\/pre>\n<p>The rule of Lisp fits in one line:<\/p>\n<blockquote><p>Everything is <code>(operator argument1 argument2 ...)<\/code>. Always. No exceptions.<\/p><\/blockquote>\n<p>There&#8217;s no operator precedence to memorize, no special syntax for anything. <code>(+ 1 2)<\/code> adds. <code>(if ...)<\/code> decides. <code>(define ...)<\/code> names. The parentheses that look intimidating at first are actually the complete absence of arbitrary rules. After a week, you stop seeing them.<\/p>\n<h2>Definitions and Functions<\/h2>\n<pre><code class=\"language-racket\">#lang racket\n\n(define pi-approx 3.14159)\n\n(define (circle-area r)\n  (* pi-approx r r))\n\n(circle-area 2)   ; =&gt; 12.56636\n<\/code><\/pre>\n<ul>\n<li><code>define<\/code> with a name creates a constant<\/li>\n<li><code>define<\/code> with <code>(name arguments...)<\/code> creates a function<\/li>\n<li>Comments start with <code>;<\/code><\/li>\n<\/ul>\n<p>Anonymous functions use <code>lambda<\/code> (yes, that lambda from Church&#8217;s lambda calculus from the 1930s is the theoretical grandparent of all this):<\/p>\n<pre><code class=\"language-racket\">(lambda (x) (* x x))          ; a function with no name\n((lambda (x) (* x x)) 5)      ; =&gt; 25, applied directly\n<\/code><\/pre>\n<h2>Lists: The Heart of Lisp<\/h2>\n<p>Lisp stands for <strong>LIS<\/strong>t <strong>P<\/strong>rocessing. Lists are the fundamental structure:<\/p>\n<pre><code class=\"language-racket\">(list 1 2 3)          ; =&gt; '(1 2 3)\n'(1 2 3)              ; the same thing, \"quoted\"\n(first '(1 2 3))      ; =&gt; 1\n(rest '(1 2 3))       ; =&gt; '(2 3)\n(cons 0 '(1 2 3))     ; =&gt; '(0 1 2 3)\n(length '(a b c))     ; =&gt; 3\n<\/code><\/pre>\n<p>Notice the quote mark <code>'<\/code>. It tells Racket: don&#8217;t evaluate this, it&#8217;s data. Hold onto that detail \u2014 it&#8217;s the door to the final trick.<\/p>\n<h3>Higher-Order Functions<\/h3>\n<p>This is where Racket shines. Passing functions to other functions is the most natural thing in the world:<\/p>\n<pre><code class=\"language-racket\">(map (lambda (x) (* x x)) '(1 2 3 4 5))\n; =&gt; '(1 4 9 16 25)\n\n(filter even? '(1 2 3 4 5 6))\n; =&gt; '(2 4 6)\n\n(foldl + 0 '(1 2 3 4 5))\n; =&gt; 15\n<\/code><\/pre>\n<p><code>map<\/code> transforms, <code>filter<\/code> selects, <code>foldl<\/code> accumulates. With those three functions you can solve most list problems without writing a single <code>for<\/code> loop.<\/p>\n<h2>Recursion: Thinking in Spirals<\/h2>\n<p>In Lisp you don&#8217;t think &#8220;repeat N times&#8221; \u2014 you think &#8220;what&#8217;s the base case, and how do I move toward it?&#8221;:<\/p>\n<pre><code class=\"language-racket\">(define (factorial n)\n  (if (= n 0)\n      1\n      (* n (factorial (- n 1)))))\n\n(factorial 5)   ; =&gt; 120\n<\/code><\/pre>\n<p>And to make things visual, let&#8217;s draw something. Racket ships with graphics libraries included:<\/p>\n<pre><code class=\"language-racket\">#lang racket\n(require 2htdp\/image)\n\n(define (sierpinski level)\n  (if (= level 0)\n      (triangle 8 \"solid\" \"purple\")\n      (let ([t (sierpinski (- level 1))])\n        (above t (beside t t)))))\n\n(sierpinski 6)\n<\/code><\/pre>\n<p>Paste it into DrRacket, press Run, and watch the Sierpinski triangle appear on your screen.<\/p>\n<h2>The Grand Finale: Code That Writes Code<\/h2>\n<p>Remember the quote mark <code>'<\/code>: it turns code into data. Watch:<\/p>\n<pre><code class=\"language-racket\">'(+ 1 2)          ; =&gt; the LIST (+ 1 2), not the number 3\n(first '(+ 1 2))  ; =&gt; the symbol +\n(eval '(+ 1 2))   ; =&gt; 3. You just evaluated data as code.\n<\/code><\/pre>\n<p>Your program is a list. You can build lists. Therefore: you can build programs with programs. This is <strong>homoiconicity<\/strong>, and it&#8217;s why Lisp has real macros \u2014 not text macros like in C, but functions that receive code and return code, before anything runs.<\/p>\n<p>Racket doesn&#8217;t have a <code>while<\/code> loop? Let&#8217;s invent one:<\/p>\n<pre><code class=\"language-racket\">(define-syntax-rule (while condition body ...)\n  (let loop ()\n    (when condition\n      body ...\n      (loop))))\n\n(define counter 0)\n(while (\n<\/code><\/pre>\n<\/p><\/div>\n<p>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.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Lisp is worth learning for the profound enlightenment experience you will have when you finally get it.&#8221; \u2014 Eric S. Raymond Welcome to one of programming&#8217;s oldest and most unusual families. Today, you&#8217;ll learn a language where code is data, where parentheses are pure structure, and where programs can write programs. By the end of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7045317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97917,207828,207829,207826,207827,207825,127736],"tags":[5293,7415,2535,207831,14570,3856,207832,8068,11249,207008,207830,39785,15674],"dealstore":[],"offerexpiration":[],"class_list":["post-7045316","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","category-functional-programming","category-language-design","category-lisp","category-programming-language","category-racket","category-scheme","tag-build","tag-education","tag-friendly","tag-functional-programming","tag-introduction","tag-language","tag-language-design","tag-languages","tag-lets","tag-lisp","tag-programming-language","tag-racket","tag-scheme"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=7045316\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"&#8220;Lisp is worth learning for the profound enlightenment experience you will have when you finally get it.&#8221; \u2014 Eric S. Raymond Welcome to one of programming&#8217;s oldest and most unusual families. Today, you&#8217;ll learn a language where code is data, where parentheses are pure structure, and where programs can write programs. By the end of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=7045316\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-23T22:19:32+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=7045316#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"A Friendly Introduction to Racket: The Language That Lets You Build Languages\",\"datePublished\":\"2026-08-23T22:19:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316\"},\"wordCount\":954,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif\",\"keywords\":[\"Build\",\"Education\",\"FRIENDLY\",\"functional programming\",\"Introduction\",\"Language\",\"language design\",\"languages\",\"Lets\",\"Lisp\",\"programming language\",\"racket\",\"Scheme\"],\"articleSection\":[\"Education\",\"functional programming\",\"language design\",\"lisp\",\"programming language\",\"racket\",\"Scheme\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=7045316#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=7045316\",\"url\":\"https:\/\/fivemor.com\/?p=7045316\",\"name\":\"A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif\",\"datePublished\":\"2026-08-23T22:19:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=7045316#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=7045316\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=7045316#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif\",\"width\":947,\"height\":469},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=7045316#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Friendly Introduction to Racket: The Language That Lets You Build Languages\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=7045316","og_locale":"en_US","og_type":"article","og_title":"A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network","og_description":"&#8220;Lisp is worth learning for the profound enlightenment experience you will have when you finally get it.&#8221; \u2014 Eric S. Raymond Welcome to one of programming&#8217;s oldest and most unusual families. Today, you&#8217;ll learn a language where code is data, where parentheses are pure structure, and where programs can write programs. By the end of [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=7045316","og_site_name":"Som2ny Network","article_published_time":"2026-08-23T22:19:32+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=7045316#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=7045316"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"A Friendly Introduction to Racket: The Language That Lets You Build Languages","datePublished":"2026-08-23T22:19:32+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=7045316"},"wordCount":954,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=7045316#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif","keywords":["Build","Education","FRIENDLY","functional programming","Introduction","Language","language design","languages","Lets","Lisp","programming language","racket","Scheme"],"articleSection":["Education","functional programming","language design","lisp","programming language","racket","Scheme"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=7045316#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=7045316","url":"https:\/\/fivemor.com\/?p=7045316","name":"A Friendly Introduction to Racket: The Language That Lets You Build Languages - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=7045316#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=7045316#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif","datePublished":"2026-08-23T22:19:32+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=7045316#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=7045316"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=7045316#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/08\/09IOV0RMWfFIhhdUfTQ723bVf77UL92TwM9I1I5X.avif","width":947,"height":469},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=7045316#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"A Friendly Introduction to Racket: The Language That Lets You Build Languages"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/7045316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7045316"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/7045316\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/7045317"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7045316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7045316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7045316"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=7045316"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=7045316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}