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

Location set intersection/flattening #17

Closed ShapeOfMatter closed 4 months ago

ShapeOfMatter commented 4 months ago

I'm pretty sure we're going to need some way to turn a Located ps (Located qs a) into a Located (ps ∩ qs) a. possibly we need a way to enforce/check if it's empty? hopefully we don't...

ShapeOfMatter commented 4 months ago

An easy way, but I'm nervous about it, would be to make reveal a primitive: reveal :: Subset ps qs -> Located qs a -> Choreo ps m a

ShapeOfMatter commented 4 months ago

We needed this right away for #3, so it's done. It's called naked, so reveal can take its MPC meaning.