ShapeOfMatter / MultiChor

Type-safe and efficient choreographies for Haskell, with multiply-located values, multi-cast, and location-set polymorphism.
Other
8 stars 0 forks source link

refactor the API w/r/to the ownership proofs #15

Closed ShapeOfMatter closed 3 months ago

ShapeOfMatter commented 4 months ago

Having the template haskell generate specializations of explicitMember seems to work really well for a lot of situations. What if send yielded a tuple of the value and a similar proof forall r. (ExplicitMember r qs) => Member r qs. Then we'd refactor send's arguments so that instead of using introAnd everywhere, the proof of ownership is paired with the value. Ideally a user would usually not need to unpack the return tuple.

ShapeOfMatter commented 3 months ago

I think this is as good as we can get it for the moment; if we have concrete ideas for further improvmeent we can do another ticket.