From 551b1aca8f7fb79985d1c079162f4ee8acd98ad4 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 16 Oct 2009 22:03:14 -0500 Subject: [PATCH] hide typed's private parts --- extra/typed/typed.factor | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/extra/typed/typed.factor b/extra/typed/typed.factor index 091ca20b02..bf23101421 100644 --- a/extra/typed/typed.factor +++ b/extra/typed/typed.factor @@ -10,6 +10,12 @@ ERROR: type-mismatch-error word expected-types ; ERROR: input-mismatch-error < type-mismatch-error ; ERROR: output-mismatch-error < type-mismatch-error ; +PREDICATE: typed-gensym < word "typed-gensym" word-prop ; +PREDICATE: typed-standard-word < word "typed-word" word-prop ; +PREDICATE: typed-lambda-word < lambda-word "typed-word" word-prop ; + + ( parent-word -- word ) [ name>> "( typed " " )" surround f dup ] [ "typed-gensym" set-word-prop ] bi ; @@ -103,16 +107,13 @@ PREDICATE: typed-gensym < word "typed-gensym" word-prop ; [ effect-in-types unboxed-types [ "in" swap 2array ] map ] [ effect-out-types unboxed-types [ "out" swap 2array ] map ] bi ; -PREDICATE: typed-standard-word < word "typed-word" word-prop ; -PREDICATE: typed-lambda-word < lambda-word "typed-word" word-prop ; - M: typed-gensym stack-effect call-next-method unboxed-effect ; M: typed-gensym crossref? "typed-gensym" word-prop crossref? ; : define-typed-gensym ( word def effect -- gensym ) - [ 2drop typed-gensym dup ] + [ 2drop dup ] [ [ (typed) ] 3curry ] [ 2nip ] 3tri define-declared ; @@ -136,6 +137,8 @@ MACRO: typed ( quot word effect -- quot' ) [ effect-out-types typed-stack-effect? ] } 1|| [ (typed-def) ] [ drop nip ] if ; +PRIVATE> + : define-typed ( word def effect -- ) [ [ 2drop ] [ typed-def ] [ 2nip ] 3tri define-inline ] [ drop "typed-def" set-word-prop ]