generated at
関数定義

関数定義に予約語を用いるか
多くの言語ではそう
Python
def
Rust
fn
Nim
proc , method , func
TypeScript
function, const
Haskellは、全部関数なのでわざわざ予約語が用意されていない


mudの場合
mud
fun 関数名: 型 -> 型 = { ... } # 関数定義;2変数 fun add : Int -> Int -> Int = x y -> x + y
Haskell風で良い感じだけど、引数の数が増えると、引数とその型が離れていき読みにくくなる
Pattern Matchingのときは明示的に引数を書く必要がなくめっちゃ好き
mud
fun sum : Int -> Int = { 1 -> 1 n -> n + sum (n-1) }

rytl
// 構想 Int -> String fizzbuzz n:= Int -> String match mod n 15 => "fizzbuzz" 3 => "fizz" 5 => "buzz" _ => String n
rytl
// 構想 Int -> Int fib := match => 0 => 0 1 => 1 n => fib(n-1) + fib(n-2)


微妙に関係ないが




今も健在かわからないが、Swiftにこんな文法があった ref
swift
animator.addCompletion {_ in kao.bounds = CGRect(x: 0, y: 0, width: 70, height: 70) } animator.startAnimation()
実際どうなのかわからんが、関数の引数にブロックをかけるのだろうか