|
21 | 21 | **Time:** 3.5 hours |
22 | 22 |
|
23 | 23 | **Tests:** |
24 | | -- ✓ tests/types/test_row_simple.as |
25 | | -- ✓ tests/types/test_parse_row_type.as |
26 | | -- ✓ tests/types/test_row_polymorphism.as |
| 24 | +- ✓ tests/types/test_row_simple.affine |
| 25 | +- ✓ tests/types/test_parse_row_type.affine |
| 26 | +- ✓ tests/types/test_row_polymorphism.affine |
27 | 27 |
|
28 | 28 | ### 2. ✅ Effect Inference (85% Complete) |
29 | 29 |
|
|
40 | 40 | **Time:** 2 hours |
41 | 41 |
|
42 | 42 | **Tests:** |
43 | | -- ✓ tests/types/test_effect_inference.as |
44 | | -- ✓ tests/types/test_effect_lambda.as |
45 | | -- ✓ tests/types/test_effect_polymorphism.as |
| 43 | +- ✓ tests/types/test_effect_inference.affine |
| 44 | +- ✓ tests/types/test_effect_lambda.affine |
| 45 | +- ✓ tests/types/test_effect_polymorphism.affine |
46 | 46 |
|
47 | 47 | **Known Limitation:** Lambda parameter scope bug (pre-existing, separate issue) |
48 | 48 |
|
@@ -81,7 +81,7 @@ Works with both pure and effectful functions! |
81 | 81 | - Type checker integration ✓ |
82 | 82 |
|
83 | 83 | **Tests:** |
84 | | -- ✓ tests/types/test_dependent_parsing.as |
| 84 | +- ✓ tests/types/test_dependent_parsing.affine |
85 | 85 |
|
86 | 86 | **Example:** |
87 | 87 | ```affinescript |
@@ -114,7 +114,7 @@ fn take_positive(x: Int where (x > 0)) -> Int { return x; } |
114 | 114 | **Time:** 0.5 hours |
115 | 115 |
|
116 | 116 | **Tests:** |
117 | | -- ✓ tests/types/test_hkt_parsing.as |
| 117 | +- ✓ tests/types/test_hkt_parsing.affine |
118 | 118 |
|
119 | 119 | **Example:** |
120 | 120 | ```affinescript |
@@ -155,14 +155,14 @@ Much of Phase 3 infrastructure was **already implemented** but not integrated: |
155 | 155 | **All 8 Phase 3 tests passing:** |
156 | 156 |
|
157 | 157 | ``` |
158 | | -✓ tests/types/test_row_simple.as |
159 | | -✓ tests/types/test_parse_row_type.as |
160 | | -✓ tests/types/test_row_polymorphism.as |
161 | | -✓ tests/types/test_effect_inference.as |
162 | | -✓ tests/types/test_effect_lambda.as |
163 | | -✓ tests/types/test_effect_polymorphism.as |
164 | | -✓ tests/types/test_dependent_parsing.as |
165 | | -✓ tests/types/test_hkt_parsing.as |
| 158 | +✓ tests/types/test_row_simple.affine |
| 159 | +✓ tests/types/test_parse_row_type.affine |
| 160 | +✓ tests/types/test_row_polymorphism.affine |
| 161 | +✓ tests/types/test_effect_inference.affine |
| 162 | +✓ tests/types/test_effect_lambda.affine |
| 163 | +✓ tests/types/test_effect_polymorphism.affine |
| 164 | +✓ tests/types/test_dependent_parsing.affine |
| 165 | +✓ tests/types/test_hkt_parsing.affine |
166 | 166 | ``` |
167 | 167 |
|
168 | 168 | ## Phase 3 Status Breakdown |
@@ -250,14 +250,14 @@ Row types created 20 shift/reduce conflicts. Solution was to write explicit recu |
250 | 250 | - `lib/unify.ml` - Already complete (no changes needed) |
251 | 251 |
|
252 | 252 | ### Tests Created: |
253 | | -- `tests/types/test_row_simple.as` |
254 | | -- `tests/types/test_parse_row_type.as` |
255 | | -- `tests/types/test_row_polymorphism.as` |
256 | | -- `tests/types/test_effect_inference.as` |
257 | | -- `tests/types/test_effect_lambda.as` |
258 | | -- `tests/types/test_effect_polymorphism.as` |
259 | | -- `tests/types/test_dependent_parsing.as` |
260 | | -- `tests/types/test_hkt_parsing.as` |
| 253 | +- `tests/types/test_row_simple.affine` |
| 254 | +- `tests/types/test_parse_row_type.affine` |
| 255 | +- `tests/types/test_row_polymorphism.affine` |
| 256 | +- `tests/types/test_effect_inference.affine` |
| 257 | +- `tests/types/test_effect_lambda.affine` |
| 258 | +- `tests/types/test_effect_polymorphism.affine` |
| 259 | +- `tests/types/test_dependent_parsing.affine` |
| 260 | +- `tests/types/test_hkt_parsing.affine` |
261 | 261 |
|
262 | 262 | ### Documentation: |
263 | 263 | - `PHASE3-ASSESSMENT.md` - Comprehensive progress tracking |
|
0 commit comments