1 ! Copyright (C) 2004, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors kernel io effects namespaces sequences
4 quotations vocabs vocabs.loader generic words
5 stack-checker.backend stack-checker.state
6 stack-checker.known-words stack-checker.transforms
7 stack-checker.errors stack-checker.inlining
8 stack-checker.visitor.dummy ;
11 GENERIC: infer ( quot -- effect )
13 M: callable infer ( quot -- effect )
14 [ infer-quot-here ] with-infer drop ;
17 #! Safe to call from inference transforms.
18 infer effect>string print ;
20 : inputs ( quot -- n ) infer in>> length ;
22 : outputs ( quot -- n ) infer out>> length ;