diff options
author | Marvin Borner | 2024-03-02 16:16:51 +0100 |
---|---|---|
committer | Marvin Borner | 2024-03-02 19:30:59 +0100 |
commit | ca3907431bfde5aa0715945222ce777d72e6b411 (patch) | |
tree | 5399b72899c5d66f94782892ba9dbf29839aca22 /samples/rosetta/function_composition.bruijn | |
parent | 46cc8f5b0da07d8c7cb354c7b7a281b8d0f3d7bf (diff) |
Docs & samples
Diffstat (limited to 'samples/rosetta/function_composition.bruijn')
-rw-r--r-- | samples/rosetta/function_composition.bruijn | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/samples/rosetta/function_composition.bruijn b/samples/rosetta/function_composition.bruijn new file mode 100644 index 0000000..3415c5e --- /dev/null +++ b/samples/rosetta/function_composition.bruijn @@ -0,0 +1,21 @@ +:import std/Number . + +# composition, bluebird combinator +…∘… [[[2 (1 0)]]] + +:test (((inc ∘ (mul (+2))) (+3)) =? (+7)) ([[1]]) + +# 2x composition, blackbird combinator +…∘∘… [[[[3 (2 1 0)]]]] + +:test (((inc ∘∘ mul) (+2) (+3)) =? (+7)) ([[1]]) + +# 3x composition, bunting combinator +…∘∘∘… [[[[[4 (3 2 1 0)]]]]] + +:test (((inc ∘∘∘ (add ∘∘ mul)) (+1) (+2) (+4)) =? (+7)) ([[1]]) + +# reverse composition, queer bird combinator +…→… [[[1 (2 0)]]] + +:test ((((mul (+2)) → inc) (+3)) =? (+7)) ([[1]]) |