~jojo/Carth

e00c1ee0e35f50fc14840d9d14bdbef15238bc25 — JoJo 1 year, 2 months ago a5c57d0
std: Temporarily add {<,}o{3,4,5}{,>} for convenience

Will probably remove when macros are added
1 files changed, 6 insertions(+), 0 deletions(-)

M std/std.carth
M std/std.carth => std/std.carth +6 -0
@@ 75,9 75,15 @@
(define (seq   a b) b)

(define (<o f g a) (f (g a)))
(define (<o3 f1 f2 f3 a) (f1 (f2 (f3 a))))
(define (<o4 f1 f2 f3 f4 a) (f1 (f2 (f3 (f4 a)))))
(define (<o5 f1 f2 f3 f4 f5 a) (f1 (f2 (f3 (f4 (f5 a))))))
(define (<oo f g a b) (f (g a b)))
(define (<ooo f g a b c) (f (g a b c)))
(define (o> f g a) (g (f a)))
(define (o3> f1 f2 f3 a) (f3 (f2 (f1 a))))
(define (o4> f1 f2 f3 f4 a) (f4 (f3 (f2 (f1 a)))))
(define (o5> f1 f2 f3 f4 f5 a) (f5 (f4 (f3 (f2 (f1 a))))))
(define (oo> f g a b) (g (f a b)))
(define (ooo> f g a b c) (g (f a b c)))