From 46fc50af376e3106d1b09054188291bb63037868 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info> Date: Mon, 30 Jun 2008 10:35:09 -0500 Subject: [PATCH] combinators.conditional: 1if and 1cond --- .../combinators/conditional/conditional.factor | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 extra/combinators/conditional/conditional.factor diff --git a/extra/combinators/conditional/conditional.factor b/extra/combinators/conditional/conditional.factor new file mode 100644 index 0000000000..cb27ef3f55 --- /dev/null +++ b/extra/combinators/conditional/conditional.factor @@ -0,0 +1,17 @@ + +USING: kernel combinators sequences macros fry newfx combinators.cleave ; + +IN: combinators.conditional + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +MACRO: 1if ( test then else -- ) '[ dup @ , , if ] ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +MACRO: 1cond ( tbl -- ) + [ [ 1st [ dup ] prepend ] [ 2nd ] bi {2} ] map + [ cond ] prefix-on ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +