diff options
author | Marvin Borner | 2024-04-25 20:10:51 +0200 |
---|---|---|
committer | Marvin Borner | 2024-04-25 20:10:51 +0200 |
commit | 349e8574c67bf575ed39694c8085eab00473bfaa (patch) | |
tree | ceb0e19eef420d19c62ee4e73c3f77664adccde8 | |
parent | 51716f37faff2bb8631e7e6e51bf7e00dbb40026 (diff) |
Rosetta sync
-rw-r--r-- | samples/rosetta/Sierpinski_triangle.bruijn | 9 | ||||
-rw-r--r-- | samples/rosetta/harmonic_series.bruijn | 15 |
2 files changed, 24 insertions, 0 deletions
diff --git a/samples/rosetta/Sierpinski_triangle.bruijn b/samples/rosetta/Sierpinski_triangle.bruijn new file mode 100644 index 0000000..22659d1 --- /dev/null +++ b/samples/rosetta/Sierpinski_triangle.bruijn @@ -0,0 +1,9 @@ +y [[1 (0 0)] [1 (0 0)]] + +# infinite depth +triangle [y [[0 1 [[0]] 1 1]]] + +:import std/Number . + +# limited depth +triangle-n [y [[[[1 0 [[0]] 0 0] (=?1 [[1]] (2 --1))]]] (+7)] diff --git a/samples/rosetta/harmonic_series.bruijn b/samples/rosetta/harmonic_series.bruijn new file mode 100644 index 0000000..2395933 --- /dev/null +++ b/samples/rosetta/harmonic_series.bruijn @@ -0,0 +1,15 @@ +:import std/List . +:import std/Combinator . +:import std/Math/Rational Q +:import std/Number N + +harmonic [0 &[[(Q.add 1 op) : N.++0]] start [[1]]] ⧗ Unary → Rational + op (+1) : N.--0 + start (+0.0f) : (+1) + +custom-gt? &[[[N.gt? 2 (N.mul 0 N.++1)]]] ⧗ Rational → Νumber → Boolean + +main [φ cons first-20 first-10-above (harmonic <$> (iterate [[[1 (2 1 0)]]] (+0u)))] + first-20 take (+20) + first-10-above [take (+10) first-above] + first-above [find-index [custom-gt? 0 1] 1] <$> (iterate N.inc (+0)) |