Compare commits

...

5 Commits

4 changed files with 110 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
#set text(font: "Source Sans 3")
= General Planning
= Initial Planning
#table(
columns: (auto, 1fr),
@@ -16,3 +16,20 @@
[*8*],
[*9*],
)
= History
#table(
columns: (auto, 1fr),
align: (center, left + horizon),
table.header[*Week*][*Objectives*],
[*1*], [Kickoff, setup project, start prototyping a syntax],
[*2*], [Syntax prototype, simple parser],
[*3*], [Basic type checker (assignments, functions, operations)],
[*4*], [Diagnostics, type check control flow, refine architecture, subtyping],
[*5*], [Generic types, methods and overloads, simple code generator],
[*6*], [For loops, generate assertions, generate stubs, constraints, variance, type unification],
[*7*], [],
[*8*], [],
[*9*], [],
)

View File

@@ -29,3 +29,12 @@
#day(5)
- Type check predicate body
#day(6)
- Add variance to type variables (infer, use in subtype check, integrate in generated stubs)
- Unify / match types in generic function calls
#day(7)
- Unify / match types in generic function calls

34
journal/week7.typ Normal file
View File

@@ -0,0 +1,34 @@
#import "template.typ": week, day
#show: week.with(num: 7)
#day(1)
- better handle type variables
- write simple demo script
- various fixes
#day(2)
- weekly meeting
- start implementing data-frame and column types
#day(3)
- statically check cast expressions on literal values
- add unsafe cast
- setup user manual
- setup report
#day(4)
- work on data-frame and column types (method resolution, subtyping)
#day(5)
- work on data-frame and column types (asserts, dunders)
- start writing user manual (quick start)
#day(7)
- work on user manual (Midas reference, supported Python syntax)

49
journal/week8.typ Normal file
View File

@@ -0,0 +1,49 @@
#import "template.typ": week, day
#show: week.with(num: 8)
#day(1)
- improvements and bugfixes
- unknown frame methods
- assertion on column values
- allow unknowns in more places
- parse empty calls
- tuple type instantiation
- `str` methods
- multi-parameter generic
- tuple expression
#day(2)
- weekly meeting
- generate stubs when compiling
- work on frames and columns (brainstorm / setup methods)
- start working on call dispatcher
#day(3)
- finish call dispatcher
- add type aliases
- work on frame and columns method registry
#day(4)
- implement group-by on frames and columns
- implement some methods on frames and columns
#day(5)
- implement arithmetic, comparison and aggregation methods, `head`/`tail` and some attributes on frames and columns
- refactor printers
- rename `Function.Argument` -> `Function.Parameter`
- update manual for frames and columns
- add some docstrings
#day(6)
- add more docstrings
#day(7)
- add more docstrings