! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel present io math sequences assocs math.ranges fry
-tools.time locals smalltalk.selectors smalltalk.ast smalltalk.classes ;
+USING: kernel present io math sequences assocs ranges
+math.order tools.time smalltalk.selectors smalltalk.ast ;
IN: smalltalk.library
SELECTOR: print
M: object selector-print dup present print ;
M: object selector-asString present ;
+SELECTOR: print:
+SELECTOR: nextPutAll:
+SELECTOR: tab
+SELECTOR: nl
+
+M: object selector-print: [ present ] dip stream-print nil ;
+M: object selector-nextPutAll: selector-print: ;
+M: object selector-tab " " swap selector-print: ;
+M: object selector-nl stream-nl nil ;
+
SELECTOR: +
SELECTOR: -
SELECTOR: *
M: object selector->= swap >= ;
M: object selector-= swap = ;
+SELECTOR: min:
+SELECTOR: max:
+
+M: object selector-min: min ;
+M: object selector-max: max ;
+
SELECTOR: ifTrue:
SELECTOR: ifFalse:
SELECTOR: ifTrue:ifFalse:
M: object selector-ifFalse: [ drop nil ] [ call( -- result ) ] if ;
M: object selector-ifTrue:ifFalse: [ drop call( -- result ) ] [ nip call( -- result ) ] if ;
+SELECTOR: isNil
+
+M: object selector-isNil nil eq? ;
+
SELECTOR: at:
SELECTOR: at:put:
SELECTOR: to:
SELECTOR: to:do:
-M: object selector-to: swap [a,b] ;
+M: object selector-to: swap [a..b] ;
M:: object selector-to:do: ( to quot from -- nil )
- from to [a,b] [ quot call( i -- result ) drop ] each nil ;
+ from to [a..b] [ quot call( i -- result ) drop ] each nil ;
SELECTOR: value
SELECTOR: value:
SELECTOR: time
-M: object selector-time '[ _ call( -- result ) ] time ;
\ No newline at end of file
+M: object selector-time '[ _ call( -- result ) ] time ;