module Chatty.Spawn.Builtins (withBuiltins) where

import Chatty.Spawn
import Chatty.Spawn.Overlay

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)):
  []