Thank you for your comment
Beautiful Racket
an introduction to language-oriented
programming using Racket
by Matthew Butterick · version 1.6
Start
Introduction
Setup
Acknowledgments
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 functional programming:
funstacker
Dive deeper into macros:
stackerizer
Follow the grammar:
bf
Extend a data format:
jsonic
Level up:
jsonic
revisited
Finishing moves:
jsonic
Imagine a language:
wires
Go with the flow:
basic
Into the rapids: more
basic
Closing the loop:
basic
Explainers
Booleans & conditionals
Continuations
Contracts
Data structures
Equality
Errors & exceptions
Evaluation
Functions
Hygiene
Identifiers
Importing & exporting
Interposition points
The
#lang
line
Lists
Loops
Macros
Modules
Numbers
Pairs
Parameters
Recursion
The REPL
Stringlike types
Syntax objects
Syntax patterns
Unit testing
Appendix
Master recipe
Glossary
From
br
to
racket/base
Resources
Domain-specific languages
The making of Beautiful Racket
Why Racket? Why Lisp?
Why language-oriented programming? Why Racket?
Thoughts on Rhombus (formerly known as Racket2)
Why I no longer contribute to Racket
Thoughts on Racket & Chez Scheme
next →