Definition protocol cleanup
							parent
							
								
									ede3f4d977
								
							
						
					
					
						commit
						07e5441b14
					
				| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
! Copyright (C) 2004, 2008 Slava Pestov.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: classes classes.union words kernel sequences
 | 
			
		||||
definitions prettyprint.backend combinators arrays ;
 | 
			
		||||
definitions combinators arrays ;
 | 
			
		||||
IN: classes.mixin
 | 
			
		||||
 | 
			
		||||
PREDICATE: union-class mixin-class "mixin" word-prop ;
 | 
			
		||||
| 
						 | 
				
			
			@ -64,11 +64,6 @@ M: mixin-instance where mixin-instance-loc ;
 | 
			
		|||
 | 
			
		||||
M: mixin-instance set-where set-mixin-instance-loc ;
 | 
			
		||||
 | 
			
		||||
M: mixin-instance synopsis*
 | 
			
		||||
    \ INSTANCE: pprint-word
 | 
			
		||||
    dup mixin-instance-class pprint-word
 | 
			
		||||
    mixin-instance-mixin pprint-word ;
 | 
			
		||||
 | 
			
		||||
M: mixin-instance definer drop \ INSTANCE: f ;
 | 
			
		||||
 | 
			
		||||
M: mixin-instance definition drop f ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -182,3 +182,7 @@ M: standard-combination dispatch# standard-combination-# ;
 | 
			
		|||
M: hook-combination dispatch# drop 0 ;
 | 
			
		||||
 | 
			
		||||
M: simple-generic definer drop \ GENERIC: f ;
 | 
			
		||||
 | 
			
		||||
M: standard-generic definer drop \ GENERIC# f ;
 | 
			
		||||
 | 
			
		||||
M: hook-generic definer drop \ HOOK: f ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -146,39 +146,44 @@ GENERIC: see ( defspec -- )
 | 
			
		|||
: seeing-word ( word -- )
 | 
			
		||||
    word-vocabulary pprinter-in set ;
 | 
			
		||||
 | 
			
		||||
: definer. ( defspec -- )
 | 
			
		||||
    definer drop pprint-word ;
 | 
			
		||||
 | 
			
		||||
: stack-effect. ( word -- )
 | 
			
		||||
    dup parsing? over symbol? or not swap stack-effect and
 | 
			
		||||
    [ effect>string comment. ] when* ;
 | 
			
		||||
 | 
			
		||||
: word-synopsis ( word name -- )
 | 
			
		||||
: word-synopsis ( word -- )
 | 
			
		||||
    dup seeing-word
 | 
			
		||||
    over definer drop pprint-word
 | 
			
		||||
    pprint-word
 | 
			
		||||
    dup definer.
 | 
			
		||||
    dup pprint-word
 | 
			
		||||
    stack-effect. ;
 | 
			
		||||
 | 
			
		||||
M: word synopsis*
 | 
			
		||||
    dup word-synopsis ;
 | 
			
		||||
M: word synopsis* word-synopsis ;
 | 
			
		||||
 | 
			
		||||
M: simple-generic synopsis*
 | 
			
		||||
    dup word-synopsis ;
 | 
			
		||||
M: simple-generic synopsis* word-synopsis ;
 | 
			
		||||
 | 
			
		||||
M: standard-generic synopsis*
 | 
			
		||||
    dup definer.
 | 
			
		||||
    dup seeing-word
 | 
			
		||||
    \ GENERIC# pprint-word
 | 
			
		||||
    dup pprint-word
 | 
			
		||||
    dup dispatch# pprint*
 | 
			
		||||
    stack-effect. ;
 | 
			
		||||
 | 
			
		||||
M: hook-generic synopsis*
 | 
			
		||||
    dup definer.
 | 
			
		||||
    dup seeing-word
 | 
			
		||||
    \ HOOK: pprint-word
 | 
			
		||||
    dup pprint-word
 | 
			
		||||
    dup "combination" word-prop hook-combination-var pprint-word
 | 
			
		||||
    stack-effect. ;
 | 
			
		||||
 | 
			
		||||
M: method-spec synopsis*
 | 
			
		||||
    dup definer drop pprint-word
 | 
			
		||||
    [ pprint-word ] each ;
 | 
			
		||||
    dup definer. [ pprint-word ] each ;
 | 
			
		||||
 | 
			
		||||
M: mixin-instance synopsis*
 | 
			
		||||
    dup definer.
 | 
			
		||||
    dup mixin-instance-class pprint-word
 | 
			
		||||
    mixin-instance-mixin pprint-word ;
 | 
			
		||||
 | 
			
		||||
M: pathname synopsis* pprint* ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ M: link forget link-name remove-article ;
 | 
			
		|||
M: link definition article-content ;
 | 
			
		||||
 | 
			
		||||
M: link synopsis*
 | 
			
		||||
    \ ARTICLE: pprint-word
 | 
			
		||||
    dup definer.
 | 
			
		||||
    dup link-name pprint*
 | 
			
		||||
    article-title pprint* ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ M: word-link set-where link-name swap "help-loc" set-word-prop ;
 | 
			
		|||
M: word-link definition link-name "help" word-prop ;
 | 
			
		||||
 | 
			
		||||
M: word-link synopsis*
 | 
			
		||||
    \ HELP: pprint-word
 | 
			
		||||
    dup definer.
 | 
			
		||||
    link-name dup pprint-word
 | 
			
		||||
    stack-effect. ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -314,14 +314,16 @@ M: lambda-word definer drop \ :: \ ; ;
 | 
			
		|||
M: lambda-word definition
 | 
			
		||||
    "lambda" word-prop lambda-body ;
 | 
			
		||||
 | 
			
		||||
: lambda-word-synopsis ( word prop definer -- )
 | 
			
		||||
    pick seeing-word pprint-word over pprint-word
 | 
			
		||||
: lambda-word-synopsis ( word prop -- )
 | 
			
		||||
    over definer.
 | 
			
		||||
    over seeing-word
 | 
			
		||||
    over pprint-word
 | 
			
		||||
    \ | pprint-word
 | 
			
		||||
    word-prop lambda-vars pprint-vars
 | 
			
		||||
    \ | pprint-word ;
 | 
			
		||||
 | 
			
		||||
M: lambda-word synopsis*
 | 
			
		||||
    "lambda" \ :: lambda-word-synopsis ;
 | 
			
		||||
    "lambda" lambda-word-synopsis ;
 | 
			
		||||
 | 
			
		||||
PREDICATE: macro lambda-macro
 | 
			
		||||
    "lambda-macro" word-prop >boolean ;
 | 
			
		||||
| 
						 | 
				
			
			@ -332,6 +334,6 @@ M: lambda-macro definition
 | 
			
		|||
    "lambda-macro" word-prop lambda-body ;
 | 
			
		||||
 | 
			
		||||
M: lambda-macro synopsis*
 | 
			
		||||
    "lambda-macro" \ MACRO:: lambda-word-synopsis ;
 | 
			
		||||
    "lambda-macro" lambda-word-synopsis ;
 | 
			
		||||
 | 
			
		||||
PRIVATE>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue