diff options
author | Marvin Borner | 2024-03-10 14:18:17 +0100 |
---|---|---|
committer | Marvin Borner | 2024-03-10 14:18:17 +0100 |
commit | e4dc5918cdfc231bee29ca5808e37ee23f33712e (patch) | |
tree | b73f9384964f96fe92ad6a08d393ba73b942a73c /samples/rosetta/de_bruijn_sequence.bruijn | |
parent | 6ae44d09faa0ae353c0818705503cad42127d102 (diff) |
Samples and std additions
Diffstat (limited to 'samples/rosetta/de_bruijn_sequence.bruijn')
-rw-r--r-- | samples/rosetta/de_bruijn_sequence.bruijn | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/samples/rosetta/de_bruijn_sequence.bruijn b/samples/rosetta/de_bruijn_sequence.bruijn new file mode 100644 index 0000000..1012223 --- /dev/null +++ b/samples/rosetta/de_bruijn_sequence.bruijn @@ -0,0 +1,15 @@ +# TODO: Too slow to be published. Probably needs Maps/Sets/Vectors/sth. + +:import std/Combinator . +:import std/Char C +:import std/Math . +:import std/List . + +# very slow but elegant +de-bruijn y [[[C.?infix? (take 0 1) ~1 case-end case-rec]]] + case-rec max-by (compare ⋔ length) ([3 (0 : 2) 1] <$> (C.?nub 1)) + case-end drop 0 1 + +:test (de-bruijn "abcd" (+2)) ("dccaadbbacbdabcd") + +main [[0]] |