You do not need any of this to write Turf programs. It is here for anyone who wants to understand, check or contribute to the compiler. Most pages have two halves: what a Turf programmer observes, and how the compiler implements it, so the two can be compared.
- The Compiler Pipeline: from a
.trfile to a native binary. - Modules and Scope Resolution: imports, visibility, type identity and
::. - The Memory Model: stack, heap and static data; copies and aliases.
- Pointers and References:
ptr,T*,&T,&?Tand the analyses that keep them safe. - Errors and recover: the recoverable-error system, pass by pass.
- Caller Location: how a panic names the caller’s line.
- The Runtime:
libturfrt, linked into every binary. - The Boundary: what the compiler, the library and the runtime each own.
- Contributing: reporting a problem, building, and sending a change.
- Testing the Compiler: the test suites, and how to add a test for a fix.