Thank you for your comment
Beautiful Racket
an introduction to language-oriented
programming using Racket
by Matthew Butterick · version 1.6
Start
Foreword by Matthew Flatt
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 →