Currently, the method has the following signature:
runSafely :: LangL a -> LangL (Either Text a)
But actually it should work for AppL scenarios too.
runSafely :: AppL a -> AppL (Either Text a)
This can be done by introducing separate methods for AppL and LangL: EvalSafelyAppL, EvalSafelyLangL, and adding a type class with runSafely method which will be specified for both languages.
class Safely m where
runSafely :: m a -> m (Either Text a)
instance Safely LangL where
runSafely = EvalSafelyLangL
instance Safely AppL where
runSafely = EvalSafelyAppL
Currently, the method has the following signature:
runSafely :: LangL a -> LangL (Either Text a)
But actually it should work for
AppL
scenarios too.runSafely :: AppL a -> AppL (Either Text a)
This can be done by introducing separate methods for
AppL
andLangL
:EvalSafelyAppL
,EvalSafelyLangL
, and adding a type class withrunSafely
method which will be specified for both languages.