From 725d02db071b79ab9007fdd9c38656b3eedd8edf Mon Sep 17 00:00:00 2001 From: Jakob L. Kreuze Date: Wed, 3 May 2023 10:35:21 -0400 Subject: Recurse on --- compiler/lean.scm | 9 +++++++++ compiler/passes/bool-to-prop.scm | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/compiler/lean.scm b/compiler/lean.scm index fdbd235..6cd52b7 100644 --- a/compiler/lean.scm +++ b/compiler/lean.scm @@ -106,6 +106,15 @@ (right #:init-keyword #:right #:getter right)) +(define-method (tree-map (form ) f scope breadcrumb) + (match form + (($ kind left right) + (let ((new (make + #:kind kind + #:left (tree-map left f scope breadcrumb) + #:right (tree-map right f scope breadcrumb)))) + (f scope breadcrumb new))))) + ;; Expression arising from a call to computable Lean function (define-class () (name #:init-keyword #:name diff --git a/compiler/passes/bool-to-prop.scm b/compiler/passes/bool-to-prop.scm index 0dd81d5..6f82761 100644 --- a/compiler/passes/bool-to-prop.scm +++ b/compiler/passes/bool-to-prop.scm @@ -35,7 +35,8 @@ (make #:kind 'eq #:left form - #:right (make #:value #t))))) + #:right (make #:value #t))) + (_ form))) (policy-map policy (lambda (scope breadcrumb form) -- cgit v1.3