- type ConvertM x = CheckM (Set Name, Set Name) Error x
- data Error
- withRateXLAM :: Bind Name -> ConvertM a -> ConvertM a
- isRateXLAM :: Name -> ConvertM Bool
- withSuspFns :: [Bind Name] -> ConvertM a -> ConvertM a
- isSuspFn :: Name -> ConvertM Bool
Conversion Monad State contains * names of function that have been converted to Suspended computations. whenever these are called, we need to add a "run" cast. * names of rate XLAMs that have been removed. any reference to these must also be removed.
Things that can go wrong during the conversion.
An invalid name used in a binding position
A partially applied primitive, such as Series
Something we can't convert, like "runKernel0#", but that shouldn't be created
Found an unexpected type sum.