]> gitweb.factorcode.org Git - factor.git/blob - extra/logic/examples/fib/fib.factor
Switch to https urls
[factor.git] / extra / logic / examples / fib / fib.factor
1 ! Copyright (C) 2019-2020 KUSUMOTO Norio.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: logic kernel lists assocs math ;
4 IN: logic.examples.fib
5
6 LOGIC-PREDS: fibo ;
7 LOGIC-VARS: F F1 F2 N N1 L ;
8
9 { fibo N L{ F F1 F2 . L } } {
10     { (>) N 1 }
11     [ [ N of 1 - ] N1 is ]
12     { fibo N1 L{ F1 F2 . L } }
13     [ [ [ F1 of ] [ F2 of ] bi + ] F is ] !!
14 } rule
15
16 { fibo 0 L{ 0 } } !! rule
17
18 { fibo 1 L{ 1 0 } } fact