From 4892bf1d47833dbf56767a7ca10df7cc563d82d2 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 5 Mar 2010 14:27:36 -0800 Subject: [PATCH] refactor stack-checker slightly to fix circular dependency --- basis/stack-checker/backend/backend.factor | 3 +++ basis/stack-checker/row-polymorphism/row-polymorphism.factor | 4 ++-- basis/stack-checker/stack-checker.factor | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/basis/stack-checker/backend/backend.factor b/basis/stack-checker/backend/backend.factor index 8de930a6cd..15fa9f588a 100644 --- a/basis/stack-checker/backend/backend.factor +++ b/basis/stack-checker/backend/backend.factor @@ -157,3 +157,6 @@ M: bad-call summary current-effect stack-visitor get ] with-scope ; inline + +: (infer) ( quot -- effect ) + [ infer-quot-here ] with-infer drop ; diff --git a/basis/stack-checker/row-polymorphism/row-polymorphism.factor b/basis/stack-checker/row-polymorphism/row-polymorphism.factor index a01d0caaf9..6557a26393 100644 --- a/basis/stack-checker/row-polymorphism/row-polymorphism.factor +++ b/basis/stack-checker/row-polymorphism/row-polymorphism.factor @@ -1,7 +1,7 @@ ! (c)2010 Joe Groff bsd license USING: accessors arrays assocs combinators combinators.short-circuit continuations effects fry kernel locals math namespaces -quotations sequences splitting stack-checker +quotations sequences splitting stack-checker.backend stack-checker.errors stack-checker.known-words @@ -68,7 +68,7 @@ GENERIC: (infer-known) ( known -- effect ) M: object (infer-known) current-word get bad-macro-input ; M: literal (infer-known) - value>> dup callable? [ infer ] [ abandon-check ] if ; + value>> dup callable? [ (infer) ] [ abandon-check ] if ; M: composed (infer-known) [ quot1>> known (infer-known) ] [ quot2>> known (infer-known) ] bi compose-effects ; M: curried (infer-known) diff --git a/basis/stack-checker/stack-checker.factor b/basis/stack-checker/stack-checker.factor index 12e8660900..beb5026a2b 100644 --- a/basis/stack-checker/stack-checker.factor +++ b/basis/stack-checker/stack-checker.factor @@ -11,7 +11,7 @@ IN: stack-checker GENERIC: infer ( quot -- effect ) M: callable infer ( quot -- effect ) - [ infer-quot-here ] with-infer drop ; + (infer) ; : infer. ( quot -- ) #! Safe to call from inference transforms.