From bfafa7dbc3325749358538a95cbb4831db66b03c Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Wed, 12 Mar 2014 10:11:12 +0100 Subject: First commit --- khb/test.khb | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 khb/test.khb (limited to 'khb/test.khb') diff --git a/khb/test.khb b/khb/test.khb new file mode 100644 index 0000000..f109016 --- /dev/null +++ b/khb/test.khb @@ -0,0 +1,67 @@ +$$ integers (n, nmax, qo) = + (n > nmax ? + (-1) >> qo + : + n >> qo; + become integers(n+1, nmax, qo) + ) + +# Version alternative : +$$ integers (n, nmax, qo) = + ]->[ ( + (n > nmax ? ->[]); + n >> qo; + n = n + 1 + ); + -1 >> qo + +$$ filter (n, qi, qo) = + val << qi; + (val != -1 ? + (val % n != 0 ? + val >> qo + ); + become filter(n, qi, qo) + : + -1 >> qo + ) + +# Version alternative : +$$ filter (n, qi, qo) = + ]->[ ( + val << qi; + (val == -1 ? ->[]); + (val % n != 0 ? val >> qo) + ); + -1 >> qo + +$$ primes (qi) = + val << qi; + (val != -1 ? + val >> stdout; + c = <>; + | become filter(val, qi, c.out) |; + become primes(c.in) + ) + +# Version alternative : +$$ primes (qi) = + ]->[ ( + val << qi; + (val == -1 ? ->[]); + val >> stdout; + c = <>; + | filter(val, qi, c.out) |; + qi = c.in + ) + +$$ main () = + c = <>; + | integers (2, 5000, c.out) |; + primes (c.in) + + + + + + -- cgit v1.2.3