summaryrefslogtreecommitdiff
path: root/_khb_experiment/test.khb
diff options
context:
space:
mode:
authorAlex AUVOLAT <alex.auvolat@ens.fr>2014-05-25 21:56:04 +0200
committerAlex AUVOLAT <alex.auvolat@ens.fr>2014-05-25 21:56:04 +0200
commit0140792c8111d2dd1cf9004f2e3e602ec34ed30a (patch)
treeedce9a1f3f65d1ad107e9e9dd2d28797e653a67d /_khb_experiment/test.khb
parent8456506c0b9c8e78eec2cc464851cef36ca03398 (diff)
downloadSystemeReseaux-Projet-0140792c8111d2dd1cf9004f2e3e602ec34ed30a.tar.gz
SystemeReseaux-Projet-0140792c8111d2dd1cf9004f2e3e602ec34ed30a.zip
Cleanup.
Diffstat (limited to '_khb_experiment/test.khb')
-rw-r--r--_khb_experiment/test.khb67
1 files changed, 67 insertions, 0 deletions
diff --git a/_khb_experiment/test.khb b/_khb_experiment/test.khb
new file mode 100644
index 0000000..f109016
--- /dev/null
+++ b/_khb_experiment/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)
+
+
+
+
+
+