Files
TB-Docs/journal/week5.typ

45 lines
888 B
Typst

#import "template.typ": week, day
#show: week.with(num: 5)
#day(1)
- Implement generics
- Refactor type checker
- Create demo program
#day(2)
- Define formal calculus rules
- Add type params to extend block
#day(3)
- Rework extend block for methods
- Goal: allow defining any method on types
- Issues:
- `GetExpr` can reference either a property on a `ComplexType` or a method.
- A method (or function) can be overloaded, for example ```py list[T].__getitem__(int) -> T``` and ```py list[T].__getitem__(slice) -> list[T]```
#day(4)
- Rework complex types: extension type, combine properties and methods as members
#day(5)
- Implement member lookup
- Adapt operations
- Handle generic members
#day(6)
- Redefine builtins with members
- Tidy up
- Add unary operations and subscripts
#day(7)
- Resolve overloaded functions
- Add slices
- Add simple code generator