types |
True | * |
False | * |
String | * |
Integer | * |
Boolean | * |
List | *→* |
Colist | *→* |
IO | *→* |
IOV | *→* |
ION | *→* |
values implemented as primitives |
head | ∀T. List T → T |
tail | ∀T. List T → List T |
cons | ∀T. T → List T → List T |
list_concat | ∀T. List T → List T → List T |
plus | Integer → Integer → Integer |
minus | Integer → Integer → Integer |
times | Integer → Integer → Integer |
concat | String → String → String |
substring | Integer → Integer → String → String |
string_length | String → Integer |
newline | String |
backslash | String |
put | String → IOV True |
put_newline | IOV True |
be | ∀T. T → IOV T |
equals | Integer → Integer → Boolean |
and | Boolean → Boolean → Boolean |
or | Boolean → Boolean → Boolean |
not | Boolean → Boolean |
false | Boolean |
true | Boolean |
void | True |
hang | False |
select | ∀T. Boolean → T → T → T |
select_ | ∀S. ∀T. Boolean → S → T → (|T|S|) |
show_integer | Integer → String |
show_string | String → String |
exit | IOV False |
abort | String → False |
dump | ∀T. T → String |
ignore | ∀T. True |
values implemented by AST code |
fix | ∀T. (¬T → ¬T) → ¬T |
iterate_ | ∀I. ∀T. (¬T → I → I) → I → T |
iterate | ∀I. ∀T. (I → (∨I∨T∨)) → I → T |
iterate_io | ∀I. ∀T. (I → IOV (|I|T|)) → I → IOV T |
show_boolean | Boolean → String |
show_void | True → String |
bind | ∀S. ∀T. (S → IOV T) → IOV S → IOV T |
error | ∀C. String → C |
trace | ∀T. T → IOV T |
compose | ∀R. ∀S. ∀T. (R → S) → (S → T) → (R → T) |
covalues implemented as primitives |
_head | ∃T. Colist T ↚ T |
_tail | ∃T. Colist T ↚ Colist T |
_cons | ∃T. T ↚ Colist T ↚ Colist T |
_list_concat | ∃T. Colist T ↚ Colist T ↚ Colist T |
_plus | ¬Integer ↚ ¬Integer ↚ ¬Integer |
_minus | ¬Integer ↚ ¬Integer ↚ ¬Integer |
_times | ¬Integer ↚ ¬Integer ↚ ¬Integer |
_concat | ¬String ↚ ¬String ↚ ¬String |
_substring | ¬Integer ↚ ¬Integer ↚ ¬String ↚ ¬String |
_string_length | ¬String ↚ ¬Integer |
_newline | ¬String |
_backslash | ¬String |
_put | ¬String ↚ ION ¬True |
_put_newline | ION ¬True |
_be | ∃T. T ↚ ION T |
_evaluate | ∃T. ¬T ↚ ION ¬T |
_equals | ¬Integer ↚ ¬Integer ↚ ¬Boolean |
_and | ¬Boolean ↚ ¬Boolean ↚ ¬Boolean |
_or | ¬Boolean ↚ ¬Boolean ↚ ¬Boolean |
_not | ¬Boolean ↚ ¬Boolean |
_false | ¬Boolean |
_true | ¬Boolean |
_void | ¬True |
_hang | ¬False |
_unreached | False |
_select | ∃T. ¬Boolean ↚ T ↚ T ↚ T |
_select_ | ∃S. ∃T. ¬Boolean ↚ ¬S ↚ ¬T ↚ ¬(|T|S|) |
_show_integer | ¬Integer ↚ ¬String |
_show_string | ¬String ↚ ¬String |
_exit | ION ¬False |
_abort | ¬String ↚ True |
_dump | ∃T. T ↚ ¬String |
_ignore | ∃T. T ↚ ¬True |
covalues implemented by AST code |
_fix | ∃T. (T ↚ T) ↚ T |
_iterate_ | ∃I. ∃T. (¬T ↚ I ↚ I) ↚ I ↚ T |
_iterate | ∃I. ∃T. (I ↚ (∧I∧T∧)) ↚ I ↚ T |
_iterate_io | ∃I. ∃T. (¬I ↚ ION (¬(|I|T|))) ↚ ¬I ↚ ION (¬T) |
_show_boolean | ¬Boolean ↚ ¬String |
_show_void | ¬True ↚ ¬String |
_bind | ∃S. ∃T. (S ↚ ION T) ↚ ION S ↚ ION T |
_error | ∃C. ¬String ↚ C |
_trace | ∃T. T ↚ ION T |
_compose | ∃R. ∃S. ∃T. (R ↚ S) ↚ (S ↚ T) ↚ (R ↚ T) |