module fptype
module fptype. import fp. % Constants for typing kind ty type. type arr ty -> ty -> ty. infixr arr 5. type lst ty -> ty. % list constructor type num ty. % integers type bool ty. % booleans type prim exp -> ty -> o. % Primitive for lists. prim car ((lst A) arr A). prim cdr ((lst A) arr (lst A) ). prim empty (lst A). prim cons (A arr (lst A) arr (lst A) ). prim nullp ((lst A) arr bool). prim consp ((lst A) arr bool). % Primitives for booleans. prim equal (A arr A arr bool). prim and (bool arr bool arr bool). prim truth bool. prim false bool. % Primitives for integers prim times (num arr num arr num). prim plus (num arr num arr num). prim minus (num arr num arr num). prim zerop (num arr bool). prim greater (num arr num arr bool). prim (in N) num.