From 2e89f86d16b7b3653c1889325372b56ace810e68 Mon Sep 17 00:00:00 2001 From: Doug Coleman <doug.coleman@gmail.com> Date: Sun, 3 Sep 2017 12:30:53 -0500 Subject: [PATCH] modern.compiler: fix map-literals --- extra/modern/compiler/compiler.factor | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/extra/modern/compiler/compiler.factor b/extra/modern/compiler/compiler.factor index 9da11528e2..40a000594c 100644 --- a/extra/modern/compiler/compiler.factor +++ b/extra/modern/compiler/compiler.factor @@ -102,19 +102,18 @@ VARIABLE-ARITY: \<FUNCTOR: 2 drop f ] if ; +DEFER: map-literals : (map-literals) ( obj quot: ( obj -- obj' ) -- seq ) - over matched-literal? [ + over [ array? ] any? [ [ call drop ] [ - '[ - first3 [ [ _ (map-literals) ] map ] dip 3array - ] call + map-literals ] 2bi ] [ - call + over array? [ map-literals ] [ call ] if ] if ; inline recursive : map-literals ( obj quot: ( obj -- obj' ) -- seq ) - '[ _ (map-literals) ] map ; inline + '[ _ (map-literals) ] map ; inline recursive