@@ -28,9 +28,10 @@ ty :: [Const] -> Const -> Type
2828ty [] x = Constant x
2929ty (t:ts) x = Bind (sMN 0 "T") (Pi (Constant t)) (ty ts x)
3030
31−total, partial :: Totality
31+total, partial, iopartial :: Totality
3232total = Total []
3333partial = Partial NotCovering
34+iopartial = Partial ExternalIO
3435
3536primitives :: [Prim]
3637primitives =
@@ -164,16 +165,16 @@ primitives =
164165 Prim (sUN "prim__strRev") (ty [StrType] StrType) 1 (p_strRev)
165166 (1, LStrRev) total,
166167 Prim (sUN "prim__readString") (ty [PtrType] StrType) 1 (p_cantreduce)
167− (1, LReadStr) partial,
168+ (1, LReadStr) iopartial,
168169 Prim (sUN "prim__vm") (ty [] PtrType) 0 (p_cantreduce)
169170 (0, LVMPtr) total,
170171 -- Streams
171172 Prim (sUN "prim__stdin") (ty [] PtrType) 0 (p_cantreduce)
172− (0, LStdIn) partial,
173+ (0, LStdIn) iopartial,
173174 Prim (sUN "prim__stdout") (ty [] PtrType) 0 (p_cantreduce)
174− (0, LStdOut) partial,
175+ (0, LStdOut) iopartial,
175176 Prim (sUN "prim__stderr") (ty [] PtrType) 0 (p_cantreduce)
176− (0, LStdErr) partial,
177+ (0, LStdErr) iopartial,
177178 Prim (sUN "prim__null") (ty [] PtrType) 0 (p_cantreduce)
178179 (0, LNullPtr) total,
179180 -- Managed pointer registration