Conversation

Starting to get my head around compiling! It's fun! Trying to take a bidirectionally typed language and convert it into a reasonable Rust API. Kind of has the same energy as these little molecular machines that read/replicate DNA… tearing apart a program and reconstructing it.
Embedded video
GIF
1
10
It's taken a bit to get my head around... it seems there's lots of similarities to elaboration (where you take the concrete syntax and turn it into the core language, checking that it's well-typed in the process).
1
Replying to
Right, if you don't want to cache the types from the typecheck phase, then you need to fuse the typecheck and code generation stages otherwise you'll duplicate a lot of type checking logic
1
1
Yeah, that is what I was stuck on - if I _had_ to run the type checker again during my next compiler phase. It seems hat you really need seems to be the target language's types, rather than the source language's types.
1
Show replies