Fibonacci sequence: Difference between revisions

Content added Content deleted
(moved language "Lean" alphabetically in its rightful place.)
Line 2,724: Line 2,724:


comefrom fib if i > stop</lang>
comefrom fib if i > stop</lang>

=={{header|Lean}}==

Lean 3.4.1 code:

<lang lean>def fib1 : ℕ → ℕ
| 0 := 0
| 1 := 1
| (n + 2) := fib1 n + fib1 (n + 1)

def fib_aux : ℕ → ℕ → ℕ → ℕ
| 0 a b := b
| (n + 1) a b := fib_aux n (a + b) a

def fib2 : ℕ → ℕ
| n := fib_aux n 1 0

#eval fib1 20
#eval fib2 20</lang>


=={{header|Common Lisp}}==
=={{header|Common Lisp}}==
Line 5,947: Line 5,928:
#'self cache := Object clone.
#'self cache := Object clone.
}.</lang>
}.</lang>


=={{header|Lean}}==
Lean 3.4.1 code:

<lang lean>def fib1 : ℕ → ℕ
| 0 := 0
| 1 := 1
| (n + 2) := fib1 n + fib1 (n + 1)

def fib_aux : ℕ → ℕ → ℕ → ℕ
| 0 a b := b
| (n + 1) a b := fib_aux n (a + b) a

def fib2 : ℕ → ℕ
| n := fib_aux n 1 0

#eval fib1 20
#eval fib2 20</lang>


=={{header|LFE}}==
=={{header|LFE}}==