From ca3907431bfde5aa0715945222ce777d72e6b411 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 2 Mar 2024 16:16:51 +0100 Subject: Docs & samples --- samples/rosetta/function_composition.bruijn | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 samples/rosetta/function_composition.bruijn (limited to 'samples/rosetta/function_composition.bruijn') 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]]) -- cgit v1.2.3