From 847baa230835e31f365d94b7c37d28323bc118fc Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 7 May 1987 00:09:08 +0000 Subject: [PATCH] Split off application of result from main body of matcher to facilitate timing measurements. --- v7/src/compiler/base/pmlook.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/v7/src/compiler/base/pmlook.scm b/v7/src/compiler/base/pmlook.scm index 0b2c2a92f..73381e9c7 100644 --- a/v7/src/compiler/base/pmlook.scm +++ b/v7/src/compiler/base/pmlook.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/base/pmlook.scm,v 1.3 1987/04/21 23:52:08 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/base/pmlook.scm,v 1.4 1987/05/07 00:09:08 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -63,10 +63,13 @@ MIT in each case. |# (eqv? pattern instance))) (and (not (null? entries)) (or (and (match (caar entries) instance) - (apply (cdar entries) values)) + (pattern-lookup/bind (cdar entries) values)) (lookup-loop (cdr entries) '())))) (lookup-loop entries '()))) +(define (pattern-lookup/bind binder values) + (apply binder values)) + (set! pattern-variables (named-lambda (pattern-variables pattern) (let ((variables '())) -- 2.25.1