beautifulracket.com
Open in
urlscan Pro
198.199.109.238
Public Scan
Submitted URL: http://beautifulracket.com/
Effective URL: https://beautifulracket.com/
Submission: On April 01 via api from GB — Scanned from GB
Effective URL: https://beautifulracket.com/
Submission: On April 01 via api from GB — Scanned from GB
Form analysis
1 forms found in the DOMPOST https://tinyletter.com/beautifulracket
<form action="https://tinyletter.com/beautifulracket" class="signup" method="post" onsubmit="window.open('https://tinyletter.com/beautifulracket', 'popupwindow', 'scrollbars=yes,width=800,height=600');return true" style="margin-top:2rem"
target="popupwindow">
<style type="text/css">
form.signup input {
font-size: 90%;
}
.signup {
opacity: 0.5;
}
.signup:hover {
opacity: 1;
}
</style>
<div style="display:flex">
<input id="tlemail" name="email" onfocus="clear_email_signup_field(this);" style="width:80%" type="input" value="Enter your email to be notified about new chapters">
<input style="width:20%" type="submit" value="subscribe">
<input name="embed" type="hidden" value="1">
</div>
</form>
Text Content
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 →