Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,7 @@
def a(k, x1, x2, x3, x4, x5)
b = uninitialized -> typeof(k)
b = ->() { k -= 1; a(k, b, x1, x2, x3, x4) }
k <= 0 ? x4.call + x5.call : b.call
end
puts a(10, -> {1}, -> {-1}, -> {-1}, -> {1}, -> {0})

View file

@ -0,0 +1,16 @@
;; copied from Scheme
(define (A k x1 x2 x3 x4 x5)
(define (B)
(set! k (- k 1))
(A k B x1 x2 x3 x4))
(if (<= k 0)
(+ (x4) (x5))
(B)))
(A 10 (lambda () 1) (lambda () -1) (lambda () -1) (lambda () 1) (lambda () 0))
→ -67
(A 13 (lambda () 1) (lambda () -1) (lambda () -1) (lambda () 1) (lambda () 0))
→ -642
(A 14 ..)
❗ InternalError : too much recursion - JS internal error (please, report it)-
→ stack overflow using FireFox

View file

@ -0,0 +1,11 @@
import future
proc a(k: int; x1, x2, x3, x4, x5: proc(): int): int =
var k = k
proc b(): int =
dec k
a(k, b, x1, x2, x3, x4)
if k <= 0: x4() + x5()
else: b()
echo a(10, () => 1, () => -1, () => -1, () => 1, () => 0)

View file

@ -0,0 +1,5 @@
func a(k, x1, x2, x3, x4, x5) {
func b { a(--k, b, x1, x2, x3, x4) };
k <= 0 ? (x4() + x5()) : b();
}
say a(10, ->{1}, ->{-1}, ->{-1}, ->{1}, ->{0}); #=> -67

View file

@ -0,0 +1,5 @@
func a(k, x1, x2, x3, x4, x5) {
k <= 0 ? (x4() + x5())
: func b { a(--k, b, x1, x2, x3, x4) }();
}
say a(10, ->{1}, ->{-1}, ->{-1}, ->{1}, ->{0}); #=> -67

View file

@ -0,0 +1,9 @@
class MOB {
method a(k, x1, x2, x3, x4, x5) {
func b { self.a(--k, b, x1, x2, x3, x4) };
k <= 0 ? (x4() + x5()) : b();
}
}
var obj = MOB();
say obj.a(10, ->{1}, ->{-1}, ->{-1}, ->{1}, ->{0});

View file

@ -0,0 +1,16 @@
function a(k, x1, x2, x3, x4, x5) {
let kk = { "k": k.k };
let b = function b() {
kk.k--;
return a(kk, b, x1, x2, x3, x4);
};
return kk.k <= 0 ? x4() + x5() : b();
}
function x(n) {
return function () {
return n;
};
}
print(a({ "k": 10 }, x(1), x(-1), x(-1), x(1), x(0)));

View file

@ -0,0 +1,14 @@
func A(k: Int, _ x1: () -> Int, _ x2: () -> Int, _ x3: () -> Int, _ x4: () -> Int, _ x5: () -> Int) -> Int {
var k1 = k
func B() -> Int {
k1-=1
return A(k1, B, x1, x2, x3, x4)
}
if k1 <= 0 {
return x4() + x5()
} else {
return B()
}
}
print(A(10, {1}, {-1}, {-1}, {1}, {0}))

View file

@ -0,0 +1,14 @@
func A(var k: Int, x1: () -> Int, x2: () -> Int, x3: () -> Int, x4: () -> Int, x5: () -> Int) -> Int {
var B: (() -> Int)!
B = {
k--
return A(k, B, x1, x2, x3, x4)
}
if k <= 0 {
return x4() + x5()
} else {
return B()
}
}
println(A(10, {1}, {-1}, {-1}, {1}, {0}))