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

Add a parallel version of `locally` #35

Closed ShapeOfMatter closed 4 months ago

ShapeOfMatter commented 4 months ago

To capture the full power of he-lambda-small, it should be possible to express fully-parallel computations monlithicly. I think that looks like

parallel :: Subset qs ps -> (forall q. Member q qs -> Unwrap l -> a) -> Choreo ps m (Located qs a)

Note that the inner computation is not monadic, so this should all work out find. That said, how does this interact with #6?