hackworthltd / primer

A pedagogical functional programming language.
GNU Affero General Public License v3.0
15 stars 1 forks source link

Reduce redundant work when typechecking #465

Open brprice opened 2 years ago

brprice commented 2 years ago

Currently we have a few places where we do much more typechecking than is strictly necessary. For example when we edit a type signature, we recheck the entire program (since any definition may refer to the edited one, and thus need rechecking). We could avoid much of this work if we only re-checked those which actually depended on it. A similar thing happens when editing the body of a definition: for example, changing f (λx. g x) t to f (λx. g x) ? we recheck the whole definition and do not take into consideration that most of the branches have not changed.

We should avoid redoing work.

Some ideas

dhess commented 2 years ago

Rough guess, what sort of timeline do you envision for this work if it were just you working on it?