The convergence http://paydayloansmole.co.uk/ pay day loan provide alternatives. . [[Fulyn]] **ハロー main putchar('h') putchar('e') putchar('l') putchar('l') putchar('o') end **ユークリッドの互除法 gcd :: [int => int => int] main putnum(gcd(1547, 2093)) end gcd(x, y) : tailcall tmp = x x = ? les(x, y) | true -> y | false -> x y = ? eql(x, tmp) | true -> y | false -> tmp ? mod(x, y) | 0 -> y | () -> gcd(y, mod(x, y)) end **1~10000の合計 main sum = x :: int => y :: int => div(mul(add(x, y), sub(y, add(x, 1)), 2) sum(0, 10000) end **for文っぽいのの定義 for :: [int => [int => int] => [int => int] => [int => int] => int] for(x, comp, next, exec) ? comp(x) | true -> exec(x) | false -> $ 1 + for(next(x), comp, next, exec) end **グラデーション draw :: [int] draw2 :: [int] winx :: int winy :: int col :: int main col = 0xFF0000 openwin(256, 256) draw() end draw() : tailcall draw2() winy = 0 winx = add(winx, 1) ? gra(winx, 255) | true -> 0 | false -> draw() end draw2() : tailcall drawpoint(winx, winy, col) winy = add(winy, 1) col = add(col, 1) ? gra(winy, 255) | true -> 0 | false -> draw2() end **フィボナッチ fibonatti :: [int => int => int] main fibonatti(0, 1) end fibonatti(left, right) : tailcall next = add(left, right) putnum(next) ? les(next, 1000) | true -> fibonatti(right, next) | false -> 0 end **クロージャ main b = 6 func = x :: int => y :: int => mul(b, add(x,y)) putnum(func(3, 4)) end **fizzbuzz(fizz, buzz, fizzbuzzは文字を表示する関数なので省略) solve :: [int => int] main for(1, x :: int => loq(x, 10000), x :: int => add(x, 1), x :: int => solve(x)) end solve(x) ? -1 | eql(mod(x, 15), 0) -> fizzbuzz() | eql(mod(x, 3), 0) -> fizz() | eql(mod(x, 5), 0) -> buzz() | () -> putnum(x) end **配列 main arr = array_new(3) array_set(arr, 0, 9) array_set(arr, 1, 5) array_set(arr, 2, 2) putnum(arr(0)) putnum(arr(1)) putnum(arr(2)) end