hazelgrove / hazel

Hazel, a live functional programming environment with typed holes
http://hazel.org/
MIT License
802 stars 52 forks source link

Define property-based testing for elaboration #1335

Open cyrus- opened 3 months ago

cyrus- commented 3 months ago

We now have a type assignment system for internal expressions (courtesy of @ruiz-m), so we should test the property that types are preserved by elaboration. There is a stub property in the type assignment PR for this, so let's start by just running the property as a contract whenever elaboration occurs and surfacing errors in some visible (but non-fatal way). Then we can integrate random term generation.

@ruiz-m did you write code for randomly generating Hazel terms for your course project? would you mind pushing that to the Hazel repo for someone to build from if so?

ruiz-m commented 3 months ago

@cyrus- Yes I have a branch where I was doing the random generation project. I can make a pr if that is alright.

cyrus- commented 3 months ago

@ruiz-m yes that would be great