]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/stack-checker/stack-checker.factor
use `check-instance` instead; reformat USING:`
[factor.git] / basis / stack-checker / stack-checker.factor
index e18a6f08406d49b86b158b750cd92183e77e9c00..4eab65f26f9a3fc5557bbc4b13813b1eca171715 100644 (file)
@@ -1,32 +1,18 @@
-! Copyright (C) 2004, 2009 Slava Pestov.
+! Copyright (C) 2004, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel io effects namespaces sequences quotations vocabs
-vocabs.loader generic words stack-checker.backend stack-checker.state
-stack-checker.known-words stack-checker.transforms
-stack-checker.errors stack-checker.inlining
-stack-checker.visitor.dummy ;
+USING: accessors classes effects generic io kernel namespaces
+quotations sequences stack-checker.backend stack-checker.errors
+stack-checker.inlining stack-checker.known-words
+stack-checker.state stack-checker.transforms
+stack-checker.visitor.dummy vocabs vocabs.loader words ;
 IN: stack-checker
 
-GENERIC: infer ( quot -- effect )
-
-M: callable infer ( quot -- effect )
+: infer ( quot -- effect )
+    callable check-instance
     [ infer-quot-here ] with-infer drop ;
 
 : infer. ( quot -- )
-    #! Safe to call from inference transforms.
+    ! Safe to call from inference transforms.
     infer effect>string print ;
 
-: forget-errors ( -- )
-    all-words [
-        dup subwords [ f "cannot-infer" set-word-prop ] each
-        f "cannot-infer" set-word-prop
-    ] each ;
-
-: forget-effects ( -- )
-    forget-errors
-    all-words [
-        dup subwords [ f "inferred-effect" set-word-prop ] each
-        f "inferred-effect" set-word-prop
-    ] each ;
-
-"stack-checker.call-effect" require
\ No newline at end of file
+M: callable stack-effect infer ;