diff --git a/journal/week5.typ b/journal/week5.typ new file mode 100644 index 0000000..deb358a --- /dev/null +++ b/journal/week5.typ @@ -0,0 +1,22 @@ +#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]```