disco-lang / disco

Functional teaching language for use in a discrete mathematics course
Other
164 stars 23 forks source link

Redesign property generation & testing #73

Open byorgey opened 6 years ago

byorgey commented 6 years ago

e.g. currently desugaring happens for every single test! There should be a desugaring pass that happens before tests are run. Desugaring can also include translating special properties into universally quantified ones for randomized testing (but keeping the special names around for printing results).

The way we are returning results from testing is also silly, we should cleanly separate the results from printing messages.

byorgey commented 4 years ago

This should happen as part of the Prop extension (#217). Properties will no longer be a separate syntactic category, but just terms of type Prop.

byorgey commented 2 years ago

Well, it didn't happen (at least not completely) as part of #217 . The next step is to just look through the code and make a plan for how to clean things up.

byorgey commented 2 years ago

Here is the current organization of code related to properties:

Edit: this has likely changed since I wrote that comment. First task would be to just get a survey of how the code is currently organized.