Closed anhnamtran closed 6 years ago
There are a few things I am going to leave as-is.
Some method def's have type restrictions when some others don't. Intentional?
The type restrictions are a form of documentation, and are generally only present on the most important functions. Note that they are not enforced unless the procedure is annotated with @common.typechecked
, and even then, the type annotations are only enforced dynamically.
Why chose TWO, FOUR, EIGHT, TWENTY?
The cost model is sort of a black art. There are boatload of regression tests in tests/cost_model.py
that describe "expected behavior" from the cost model, and these parameters are tuned to make it behave appropriately.
Format:
filename
: [start line, end line] ...or
filename
:method_name
Overall a few places are undocumented.
main.py
: [68, 69], [73], [151, 159]main.py
: [88, 131].synthesized
files used for load results. If that's true then maybe a little bit of documentation to clarify.invariant_preservation.py
: [42, 44]pools.py
: [11]TODO
.syntax_tools.py
:free_vars
syntax_tools.py
: [1158]TODO
.def
's have type restrictions when some others don't. Intentional?cost_model.py
: [59]a
". Assuming that it stands for all?cost_model.py
: [88, 91]TWO
,FOUR
,EIGHT
,TWENTY
?cost_model.py
: [141, 148]cost_model.py
:debug_comparison
desugar.py
: [1]evaluation.py
: [123]TODO
.evaluation.py
: [829, 830]solver.py
: [164, 166], [178, 180], [723, 729], [776, 779], [810, 837], [1021, 1029], [1126, 1145], [1209, 1223]solver.py
: [373], [992], [995]TODO
's.state_maintenance.py
: [32, 40], [56], [155, 182]TODO
with comments.state_maintenance.py
: [100, 109]