# Effect.System

SYSTEM : EFFECT
data System : Effect
  Args : sig System (List String)
  Time : sig System Integer
  GetEnv : String -> sig System (Maybe String)
  CSystem : String -> sig System Int
  Usleep : (i : Int) -> (inbounds : So (i >= fromInteger 0)) -> sig System ()
getArgs : Eff (List String) [SYSTEM]
getEnv : String -> Eff (Maybe String) [SYSTEM]
system : String -> Eff Int [SYSTEM]
time : Eff Integer [SYSTEM]
usleep : (i : Int) -> {auto prf : So (i >= fromInteger 0)} -> Eff () [SYSTEM]