Composition Calculus
Submit
Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.
Problem
Compute the normal form of "Composition Calculus".
'.' is the composition function:
.
== (lambda (f) (lambda (g) (lambda (x) (f (g x))))) # Lisp
== function (f) { return function (g) { return function(x) { return f(g(x)); }; }; } # JS
== (.) # Haskell
Expression like "x y" is function application. It is left associative:
f g h
== ((f g) h)
== ((f g) h) # Lisp
== (f(g))(h) # JS
== ((f g) h) # Haskell
Example:
. x y z
-> (x (y z))
. . . x y z w
-> (. . . x) y z w
-> (. (. x)) y z w
-> (. (. x) y z) w
-> ((. x) (y z)) w
-> (. x (y z) w)
-> (x ((y z) w))
Options
exec is denied
now post-mortem time, all source codes will be revealed
Sample input:_
. 1 2 3
. . x y z w
. . . a b c d
. . . . 4 5 6 7 8
. . . . . 1 2 3 4
. . . . . . a b c d e
. . . . . . . s t u v w
. . . . . . . . 2 3 4 5 6
. . . . . . . . . 1 2 3 4 5 6
. . . . . . . . . . a b c d e
. . . . . . . . . . . h i j k l
. . . . . . . . . . . . 2 3 4 5 6
. . . . . . . . 1 . 2 3 4 5
. . . . . . . . . . . 4 2 3 8 1 9 7
. . . b t e s p r u
. . . . . . . . . . . . . . . . . . . . . . o 0 i b g r j
. . . . . . . . . . . . . . . . . . . . . . . . . . . 1 w 5 4 z o d g
. . . y 4 9 s e n
. . . . . . . . . . . . . . . . . . . . . . . . . . 0 7 n x l p y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 j t 2 0 4 y h
. 3 p t 9 4 5 d i
. . . . . . . . . . . o s g 5 0 y j
. . . . . . . . . . . . . . k 7 n f p r 1
. . . . . . h q a l x 9 f y
. . . . . . . . . . . . . . . . . . 9 u p t o h e 2
. 4 o s z a y w
1 l 9 h e 6 j
. . . . . . . . . . . . . . . . . . . . . . b g s n w y 2 j
. . . . . . . . . . . . x b g h t u o
. . . . . . . . . s 0 y 3 f e
. . . . . y 0 v e 8 1 x m
. . . . . . . . . . . . . . . . . o c 9 t p e 7
i n f u 1 m 3 q
. . . . y v 0 b 3 e
. . . . . . . . . . . . . f 0 b 5 w d
. . . . . . . . . . . . . . . . . . . n k 4 u s 9 g
. . 1 d p j q m v
. . . . . . . . . v 0 b j 1 y
. . . . . . . . . . . . . . . a 7 0 w 6 j 5 q
. . . . . . . x 0 s j k 8 9
. . . . . . . . . . . . . . . . . . . . . . l j 6 k x 9 m z
. . . . . . . . . . . . . . v f w e o 5
. . . . . . . . . . . . . . . . . . . 1 l t p k g f
Sample output:
(1 (2 3))
((x y) (z w))
(a ((b c) d))
(((4 5) 6) (7 8))
(1 (2 (3 4)))
((a (b c)) (d e))
((s t) ((u v) w))
(2 (((3 4) 5) 6))
((((1 2) 3) 4) (5 6))
((a (b c)) (d e))
((h i) ((j k) l))
(2 (((3 4) 5) 6))
((1 (2 (3 4))) 5)
((((4 2) ((3 8) 1)) 9) 7)
((((b ((t e) s)) p) r) u)
((((o (0 i)) (b g)) r) j)
(((((1 w) ((5 4) z)) o) d) g)
(((y ((4 9) s)) e) n)
((((0 (7 n)) (x l)) p) y)
((((((6 j) t) 2) (0 4)) y) h)
((((((3 (p t)) 9) 4) 5) d) i)
((((o s) ((g 5) 0)) y) j)
((((k (7 n)) (f p)) r) 1)
(((((h (q a)) (l x)) 9) f) y)
(((((9 (u p)) (t o)) h) e) 2)
(((((4 (o s)) z) a) y) w)
((((((1 l) 9) h) e) 6) j)
(((((b (g s)) (n w)) y) 2) j)
(((x (((b g) h) t)) u) o)
((((s 0) y) 3) (f e))
(((((y (0 (v e))) 8) 1) x) m)
(((((o c) 9) t) (p e)) 7)
(((((((i n) f) u) 1) m) 3) q)
((((y v) 0) (b 3)) e)
((((f 0) b) 5) (w d))
((((n k) ((4 u) s)) 9) g)
(((((1 d) (p j)) q) m) v)
((((v 0) b) j) (1 y))
(((((a 7) ((0 w) 6)) j) 5) q)
((((x 0) ((s j) k)) 8) 9)
(((((l (j 6)) (k x)) 9) m) z)
(((v (f w)) (e o)) 5)
((((1 l) ((t p) k)) g) f)
Ranking
Rank | User | Size | Time | Date | Statistics |
---|
1 | kik | 100 | 0.0120 | 2010/05/03 11:20:44 | 0B / 42B / 54B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 86 | 0.0159 | 2020/01/31 17:29:03 | 0B / 23B / 56B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | o-cn | 236 | 0.0389 | 2010/05/15 21:29:44 | 104B / 72B / 58B |
2 | TAKO/j0nKI | 1055 | 0.0493 | 2010/05/14 00:38:08 | 42B / 275B / 464B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | youz | 213 | 0.0822 | 2010/05/11 00:31:34 | 0B / 102B / 98B |
2 | youz(kik) | 153 | 0.1107 | 2010/05/19 23:09:30 | 0B / 93B / 50B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | youz | 146 | 2.0683 | 2010/05/11 00:54:54 | 0B / 60B / 78B |
2 | youz(kik) | 98 | 2.3529 | 2010/05/19 18:33:58 | 0B / 56B / 36B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | kik | 210 | 0.0007 | 2010/05/08 05:09:44 | 0B / 91B / 119B |
2 | tanakh | 341 | 0.0006 | 2010/05/05 21:54:19 | 0B / 154B / 183B |
3 | msk | 1074 | 0.0001 | 2010/05/03 22:01:37 | 0B / 326B / 516B |
4 | tails | 207 | 0.0112 | 2020/02/03 17:52:45 | 0B / 95B / 111B |
5 | inaniwa(kik) | 209 | 0.0007 | 2010/05/17 08:22:39 | 0B / 91B / 118B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | rst76 | 134 | 0.1291 | 2010/05/13 22:16:18 | 0B / 66B / 61B |
2 | notogawa | 142 | 0.0022 | 2010/05/09 23:58:22 | 0B / ?B / ?B |
3 | koyama41 | 142 | 0.0022 | 2010/05/11 02:39:35 | 0B / 71B / 59B |
4 | hinoe | 142 | 0.0023 | 2010/05/15 04:55:50 | 0B / 70B / 62B |
5 | Defenestrator | 164 | 0.0046 | 2010/05/05 11:18:58 | 0B / 81B / 66B |
6 | tanakh | 172 | 0.0015 | 2010/05/05 22:07:13 | 0B / 80B / 76B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 141 | 0.0645 | 2020/02/03 15:13:14 | 0B / 15B / 113B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | hinoe | 134 | 0.0395 | 2010/10/09 00:49:48 | 0B / 16B / 107B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | tails | 1542 | 0.0465 | 2020/02/03 12:46:35 | 0B / 830B / 712B |
Rank | User | Size | Time | Date | Statistics |
---|
1 | nn | 723 | 0.0895 | 2010/05/18 13:55:07 | 3B / 316B / 385B |
Language Ranking_
Rank | Lang | User | Size | Score |
1 | Perl | tails | 86 | 10000 |
2 | Arc | youz(kik) | 98 | 8775 |
3 | Ruby | kik | 100 | 8600 |
4 | Clojure | youz(kik) | 113 | 7610 |
5 | Python | Defenestrator | 130 | 6615 |
6 | Haskell | rst76 | 134 | 6417 |
7 | wake | hinoe | 134 | 6417 |
8 | sed | tails | 141 | 6099 |
9 | Common LISP | youz(kik) | 153 | 5620 |
10 | C | tails | 207 | 4154 |
11 | PHP | o-cn | 236 | 3644 |
12 | Vim | nn | 723 | 1189 |
13 | m4 | TAKO/j0nKI | 1055 | 815 |
14 | Lazy-K | tails | 1542 | 557 |
return to the top page