robrix / path

A lambda calculus to explore type-directed program synthesis.
BSD 3-Clause "New" or "Revised" License
84 stars 2 forks source link

Type-based name overloading #50

Open robrix opened 5 years ago

robrix commented 5 years ago

We should be able to use overloaded names in checking mode where we know the type of the symbol. E.g. if you’re returning a vector, nil would mean the definition from Base.Vector rather than Base.List even if both were in scope.

This obviously interacts with the renamer, which doesn’t know about types but does deal with ambiguous names.

robrix commented 5 years ago

This might imply that the renamer should once more be part and parcel of the elaborator.