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