lama_byterun/stdlib/Fun.expr
2020-01-20 03:38:43 +03:00

24 lines
No EOL
272 B
Text

import Ref;
public fun id (x) {
x
}
public infixl $ after * (f, x) {
f (x)
}
public infix # at $ (f, g) {
fun (x) {
f (g (x))
}
}
public fun fix (f) {
local knot = ref (0);
knot ::= fun () {fun (x) {f (deref (knot) ()) (x)}};
deref (knot) ()
}