-- | Provides builtins for some common commands. module System.Chatty.Spawn.Builtins (withBuiltins) where import System.Chatty.Spawn import System.Chatty.Spawn.Overlay -- | Use builtins if possible. withBuiltins :: (Functor m, MonadSpawn m) => SpawnOverlayT m a -> m a withBuiltins m = fmap fst $ runSpawnOverlayT m builtins builtins :: MonadSpawn m => [(String,[String] -> String -> m (Int,String))] builtins = ("cat", \_ si -> return (0,si)): []