#lang wishful thinking
summary
An actual FastCGI implementation appears where none existed before: a working Racket FastCGI backend that parses binary frames with bit-syntax patterns, models requests with prototype-style Lua-style metatables implemented as a table language via macros, and wires into Racket’s syntax-expansion hooks (hash% forms) so constructors and calls are overridable. The prototype system starts as ~200–300 lines, supports multiple inheritance and callable tables, and runs a demo FastCGI server driving the talk slides.
AI-written summary · about
chapters (35)
- 0:00Intro
- 0:17Background
- 3:00Procrastination
- 4:00The typical defense
- 5:40Bottomup
- 7:25Topdown
- 8:57wishful thinking
- 9:45our languages are illprepared
- 11:17lists can help
- 13:14Racket
- 14:24Racket Manifesto
- 15:12Defining Feature
- 17:51Languages
- 19:15Metaprogramming
- 20:01Racket Documentation
- 20:26Racket Framework
- 21:24Recap
- 22:01Two problems
- 23:21Good bad code
- 24:25Bit syntax
- 25:04Custom patterns
- 25:52Model the protocol
- 27:57Metatables
- 28:21Tables
- 31:02Prototypes
- 31:36Meta methods
- 32:11If undefined
- 33:46Implement tags
- 34:59Construct tables
- 35:44Procedural values
- 36:32Racket with tables
- 37:10Meta tables
- 38:22Tables as procedures
- 39:28Fast CGI
- 40:45Conclusion
related talks
45mLanguage-Oriented Programming with Racket
34mHackett: a metaprogrammable Haskell
37mStanding on the Shoulders of Giants
48mRapid Programming Language Prototypes with Ruby RACC
55mTowards the Next Great Language
17mMacros for Domain-Specific Languages
23mMacro-embedding Compiler Intermediate Languages in Racket
01h 02mPolyglot Programming through Foreign Function Interfaces
