From c0b57d09f0cc5cde61377b3f7eeaee1e532fab30 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 17 Jul 2016 14:47:56 +0200 Subject: [PATCH] closure.mes: document mes closure bug. --- closure.mes | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 closure.mes diff --git a/closure.mes b/closure.mes new file mode 100644 index 00000000..100e6b07 --- /dev/null +++ b/closure.mes @@ -0,0 +1,28 @@ + +;; guile: +;; closure path=(3 2 1) +;; closure path=() +;; mapit path=(3 2 1) +;; closure path=(2 1) + +;; mes: +;; closure path=(3 2 1) +;; closure path=() +;; mapit path=() +;; () + + +(define (closure start? path mapit) + (display "closure path=") (display path) (newline) + (cond (start? + (closure #f '() ;;path + (lambda (x) + (display "mapit path=") (display path) (newline) + (cond ((null? path) path) + (#t + + (closure #f (cdr path) mapit) + ))))) + (#t (mapit path)))) + +(closure #t '(3 2 1) (lambda (x) (display "dun") (newline)))