GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Intro­duc­tion
  • Setup
  • Acknowl­edg­ments
  • About the author
  • Legal
  • How to pay for this book
  • Why you should pay
  • Make a language in one hour: stacker
  • Learn some func­tional program­ming: funstacker
  • Dive deeper into macros: stackerizer
  • Follow the grammar: bf
  • Extend a data format: jsonic
  • Level up: jsonic revis­ited
  • Finishing moves: jsonic

This view

  • Original page
  • New address

GeezerVison is showing beautifulracket.com — Beautiful Racket by Matthew Butterick

Thank you for your comment
Beau­tiful Racket
an intro­duc­tion to language-oriented
program­ming using Racket
by Matthew Butt­erick · version 1.6

Start

  • Intro­duc­tion
  • Setup
  • Acknowl­edg­ments
  • About the author
  • Legal

This book is not free

  • How to pay for this book
  • Why you should pay

Tutorials

  • Make a language in one hour: stacker
  • Learn some func­tional program­ming: funstacker
  • Dive deeper into macros: stackerizer
  • Follow the grammar: bf
  • Extend a data format: jsonic
  • Level up: jsonic revis­ited
  • Finishing moves: jsonic
  • Imagine a language: wires
  • Go with the flow: basic
  • Into the rapids: more basic
  • Closing the loop: basic

Explainers

  • Booleans & condi­tionals
  • Contin­u­a­tions
  • Contracts
  • Data struc­tures
  • Equality
  • Errors & excep­tions
  • Eval­u­a­tion
  • Func­tions
  • Hygiene
  • Iden­ti­fiers
  • Importing & exporting
  • Inter­po­si­tion points
  • The #lang line
  • Lists
  • Loops
  • Macros
  • Modules
  • Numbers
  • Pairs
  • Para­me­ters
  • Recur­sion
  • The REPL
  • String­like types
  • Syntax objects
  • Syntax patterns
  • Unit testing

Appendix

  • Master recipe
  • Glos­sary
  • From br to racket/base
  • Resources
  • Domain-specific languages
  • The making of Beau­tiful Racket
  • Why Racket? Why Lisp?
  • Why language-oriented program­ming? Why Racket?
  • Thoughts on Rhombus (formerly known as Racket2)
  • Why I no longer contribute to Racket
  • Thoughts on Racket & Chez Scheme

My mailing list is free, occasional, and covers a variety of topics (programming, typography, law, and writing among them). I will never sell or share your email address.

next →
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.