I'm a week into doing another batch at the Recurse Center. I had a one-week project to help ease into the RC routine (cargo-shorts), but now it's time to settle in to my 11 remaining weeks of batchwork. This high-level outline is an attempt to identify some things I want to accomplish, some reading material that I'd like to read and absorb in some kind of depth, and a few "interludes" to help proactively identify rabbit holes I might fall into. Hopefully this is all doable while also leaving room to engage with the other folks in batch on things not listed here. I've broken out the batch into before/after never graduate week. Each half batch has three sections:
- schemata: this is intended to be my main project throughout the batch and the entries here are high-level goals with simple real-world outputs to maintain the feeling of moving forward.
- papers/posts/videos: I want to read/watch one of these and write up a blog post summarizing them
- interludes: just a few things that will probably distract me one way or another, so at least this way it feels like I'm planning for it?
5 weeks before never graduate week
schemata:
- get a very simple rust -> json schema test case; set up insta (the test does not need to pass, just represent what I want an early version of this program to produce)
- survey formats and data types, figure out what I want to support and at what granularity
- what are the relationships between data types? for example, if a struct has another data type as one of its fields, how would that translate into IR that could be represented as SQL DDL? or, how would I infer relationships between entities if I was reading a database schema?
- how do other data definition languages handle the variation in supported data types?
interludes:
- start playing around with webassembly components
- category theory illustrated
papers/posts/videos:
- language implementation patterns chapter 6: tracking and identifying program symbols
- maybe apply this to the ASDL cli as part of my writeup
- query-based compiler architectures
- ink and switch: cambria
- why ssa?
- wasm interface type spec
never graduate week
- just relax! have fun!
6 weeks after ngw
schemata:
- continue adding to the formats/data types table
- start designing an IR for data definitions in ASDL
papers/posts/videos:
- mypy internals
- semantic analyzer
- type checker
- mypyc guide
- codebase as database
- theorems for free
- type theory for busy engineers
interludes:
- rocq prover exploration
- write a small program in koka