diff --git a/demos/rosetta-code/align-columns/align-columns.factor b/demos/rosetta-code/align-columns/align-columns.factor index f5208712bb..2cdd28d841 100644 --- a/demos/rosetta-code/align-columns/align-columns.factor +++ b/demos/rosetta-code/align-columns/align-columns.factor @@ -41,7 +41,7 @@ are$delineated$by$a$single$'dollar'$character,$write$a$program that$aligns$each$column$of$fields$by$ensuring$that$words$in$each$ column$are$separated$by$at$least$one$space. Further,$allow$for$each$word$in$a$column$to$be$either$left$ -justified,$right$justified,$or$center$justified$within$its$column." +justified,$right$justified,$or$center$justified$within$its$column." ; : split-and-pad ( text -- lines ) "\n" split [ "$" split harvest ] map diff --git a/demos/rosetta-code/arithmetic-evaluation/arithmetic-evaluation.factor b/demos/rosetta-code/arithmetic-evaluation/arithmetic-evaluation.factor index 121e35ea9a..3de8c7fce3 100644 --- a/demos/rosetta-code/arithmetic-evaluation/arithmetic-evaluation.factor +++ b/demos/rosetta-code/arithmetic-evaluation/arithmetic-evaluation.factor @@ -29,10 +29,10 @@ in: rosetta-code.arithmetic-evaluation ! * Addition/Subtraction (left to right) TUPLE: operator left right ; -TUPLE: add < operator ; C: add -TUPLE: sub < operator ; C: sub -TUPLE: mul < operator ; C: mul -TUPLE: div < operator ; C:
div +TUPLE: add < operator ; C: add ; +TUPLE: sub < operator ; C: sub ; +TUPLE: mul < operator ; C: mul ; +TUPLE: div < operator ; C:
div ; EBNF: expr-ast spaces = [\n\t ]* diff --git a/demos/rosetta-code/balanced-brackets/balanced-brackets.factor b/demos/rosetta-code/balanced-brackets/balanced-brackets.factor index d4a513f6ff..7439ec86fe 100644 --- a/demos/rosetta-code/balanced-brackets/balanced-brackets.factor +++ b/demos/rosetta-code/balanced-brackets/balanced-brackets.factor @@ -26,7 +26,7 @@ in: rosetta-code.balanced-brackets t :> ok! str [ { - { char: [ [ 1 ] } + { char: \[ [ 1 ] } { char: ] [ -1 ] } [ drop 0 ] } case counter + counter! diff --git a/demos/rosetta-code/haversine-formula/haversine-formula.factor b/demos/rosetta-code/haversine-formula/haversine-formula.factor index 9430373268..0642e02714 100644 --- a/demos/rosetta-code/haversine-formula/haversine-formula.factor +++ b/demos/rosetta-code/haversine-formula/haversine-formula.factor @@ -20,7 +20,7 @@ in: rosetta-code.haversine-formula ! International Airport (LAX) in Los Angeles, CA, USA: N 33°56.4', ! W 118°24.0' (33.94, -118.40). -CONSTANT: R_earth 6372.8 ! in kilometers ; +CONSTANT: R_earth 6372.8 ; ! in kilometers : haversin ( x -- y ) cos 1 swap - 2 / ; diff --git a/demos/rosetta-code/probabilistic-choice/probabilistic-choice.factor b/demos/rosetta-code/probabilistic-choice/probabilistic-choice.factor index dd61813ad6..de0aa9436b 100644 --- a/demos/rosetta-code/probabilistic-choice/probabilistic-choice.factor +++ b/demos/rosetta-code/probabilistic-choice/probabilistic-choice.factor @@ -35,7 +35,7 @@ CONSTANT: data { "waw" 1/10.0 } { "zayin" 1/11.0 } { "heth" f } -} +} ; MACRO: case-probas ( data -- quot ) [ first2 [ 1quotation ] dip [ swap 2array ] when* ] map 1quotation ; diff --git a/demos/rosetta-code/tree-traversal/tree-traversal.factor b/demos/rosetta-code/tree-traversal/tree-traversal.factor index 611666aacb..e8c0f73c32 100644 --- a/demos/rosetta-code/tree-traversal/tree-traversal.factor +++ b/demos/rosetta-code/tree-traversal/tree-traversal.factor @@ -45,7 +45,7 @@ CONSTANT: example-tree } f } - } + } ; : preorder ( node quot: ( data -- ) -- ) [ [ data>> ] dip call ] diff --git a/demos/smalltalk/compiler/compiler.factor b/demos/smalltalk/compiler/compiler.factor index 2a0a4a4fbb..66b7308978 100644 --- a/demos/smalltalk/compiler/compiler.factor +++ b/demos/smalltalk/compiler/compiler.factor @@ -26,14 +26,14 @@ M: ast-name compile-ast name>> swap lookup-reader ; [ compile-arguments ] 2bi [ new ] 3append ; -: compile-ifTrue:ifFalse: ( lexenv ast -- quot ) +: compile-ifTrue:ifFalse ( lexenv ast -- quot ) [ receiver>> compile-ast ] [ compile-arguments ] 2bi [ if ] 3append ; M: ast-message-send compile-ast dup selector>> { - { "ifTrue:ifFalse:" [ compile-ifTrue:ifFalse: ] } + { "ifTrue:ifFalse:" [ compile-ifTrue:ifFalse ] } { "new" [ compile-new ] } [ drop diff --git a/demos/smalltalk/library/library.factor b/demos/smalltalk/library/library.factor index ea17e6b3c5..153db0d592 100644 --- a/demos/smalltalk/library/library.factor +++ b/demos/smalltalk/library/library.factor @@ -5,31 +5,31 @@ math.order fry tools.time locals smalltalk.selectors smalltalk.ast smalltalk.classes ; in: smalltalk.library -SELECTOR: print -SELECTOR: asString +selector: print +selector: asString M: object selector-print dup present print ; M: object selector-asString present ; -SELECTOR: print: -SELECTOR: nextPutAll: -SELECTOR: tab -SELECTOR: nl +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: * -SELECTOR: / -SELECTOR: < -SELECTOR: > -SELECTOR: <= -SELECTOR: >= -SELECTOR: = +selector: + +selector: - +selector: * +selector: / +selector: < +selector: > +selector: <= +selector: >= +selector: = M: object selector-+ swap + ; M: object selector-- swap - ; @@ -41,26 +41,26 @@ M: object selector-<= swap <= ; M: object selector->= swap >= ; M: object selector-= swap = ; -SELECTOR: min: -SELECTOR: max: +selector: min: +selector: max: M: object selector-min: min ; M: object selector-max: max ; -SELECTOR: ifTrue: -SELECTOR: ifFalse: -SELECTOR: ifTrue:ifFalse: +selector: ifTrue: +selector: ifFalse: +selector: ifTrue:ifFalse: M: object selector-ifTrue: [ call( -- result ) ] [ drop nil ] if ; M: object selector-ifFalse: [ drop nil ] [ call( -- result ) ] if ; M: object selector-ifTrue:ifFalse: [ drop call( -- result ) ] [ nip call( -- result ) ] if ; -SELECTOR: isNil +selector: isNil M: object selector-isNil nil eq? ; -SELECTOR: at: -SELECTOR: at:put: +selector: at: +selector: at:put: M: sequence selector-at: nth ; M: sequence selector-at:put: ( key value receiver -- receiver ) [ swapd set-nth ] keep ; @@ -68,23 +68,23 @@ M: sequence selector-at:put: ( key value receiver -- receiver ) [ swapd set-nth M: assoc selector-at: at ; M: assoc selector-at:put: ( key value receiver -- receiver ) [ swapd set-at ] keep ; -SELECTOR: do: +selector: do: M:: object selector-do: ( quot receiver -- nil ) receiver [ quot call( elt -- result ) drop ] each nil ; -SELECTOR: to: -SELECTOR: to:do: +selector: to: +selector: to:do: 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 ; -SELECTOR: value -SELECTOR: value: -SELECTOR: value:value: -SELECTOR: value:value:value: -SELECTOR: value:value:value:value: +selector: value +selector: value: +selector: value:value: +selector: value:value:value: +selector: value:value:value:value: M: object selector-value call( -- result ) ; M: object selector-value: call( input -- result ) ; @@ -92,10 +92,10 @@ M: object selector-value:value: call( input input -- result ) ; M: object selector-value:value:value: call( input input input -- result ) ; M: object selector-value:value:value:value: call( input input input input -- result ) ; -SELECTOR: new +selector: new M: object selector-new new ; -SELECTOR: time +selector: time M: object selector-time '[ _ call( -- result ) ] time ; diff --git a/demos/smalltalk/selectors/selectors.factor b/demos/smalltalk/selectors/selectors.factor index 0de1649739..7f7e9e5c30 100644 --- a/demos/smalltalk/selectors/selectors.factor +++ b/demos/smalltalk/selectors/selectors.factor @@ -26,3 +26,4 @@ SYMBOLS: unary binary keyword ; bi define-simple-generic ; SYNTAX: SELECTOR: scan-token selector>generic drop ; +SYNTAX: selector: scan-token selector>generic drop ; diff --git a/demos/talks/chicago-talk/chicago-talk.factor b/demos/talks/chicago-talk/chicago-talk.factor index bc88ffee28..00348b4c64 100644 --- a/demos/talks/chicago-talk/chicago-talk.factor +++ b/demos/talks/chicago-talk/chicago-talk.factor @@ -45,7 +45,7 @@ CONSTANT: chicago-slides "alias analysis, value numbering, write barrier elimination" "linear scan register allocation" } -} +} ; : chicago-talk ( -- ) chicago-slides "Chicago talk" slides-window ; diff --git a/demos/talks/galois-talk/galois-talk.factor b/demos/talks/galois-talk/galois-talk.factor index c0f6fbaf9f..839cbc91b1 100644 --- a/demos/talks/galois-talk/galois-talk.factor +++ b/demos/talks/galois-talk/galois-talk.factor @@ -305,7 +305,7 @@ CONSTANT: galois-slides "Factor has many cool things that I didn't talk about" "Questions?" } -} +} ; : galois-talk ( -- ) galois-slides "Galois talk" slides-window ; diff --git a/demos/talks/jvm-summit-talk/jvm-summit-talk.factor b/demos/talks/jvm-summit-talk/jvm-summit-talk.factor index f46c745f4b..053d2ad6c1 100644 --- a/demos/talks/jvm-summit-talk/jvm-summit-talk.factor +++ b/demos/talks/jvm-summit-talk/jvm-summit-talk.factor @@ -350,7 +350,7 @@ CONSTANT: jvm-summit-slides "Display control flow graph" "Display dominator tree" } -} +} ; : jvm-summit-talk ( -- ) jvm-summit-slides "JVM Summit talk" slides-window ; diff --git a/demos/talks/minneapolis-talk/minneapolis-talk.factor b/demos/talks/minneapolis-talk/minneapolis-talk.factor index 0e04ddb923..ce64ee0489 100644 --- a/demos/talks/minneapolis-talk/minneapolis-talk.factor +++ b/demos/talks/minneapolis-talk/minneapolis-talk.factor @@ -175,7 +175,7 @@ CONSTANT: minneapolis-slides "Mailing list: factor-talk@lists.sf.net" } { $slide "Questions?" } -} +} ; : minneapolis-talk ( -- ) minneapolis-slides "Minneapolis talk" slides-window ; diff --git a/demos/talks/otug-talk/otug-talk.factor b/demos/talks/otug-talk/otug-talk.factor index dddc68c3e3..a3b5cb3fbe 100644 --- a/demos/talks/otug-talk/otug-talk.factor +++ b/demos/talks/otug-talk/otug-talk.factor @@ -334,7 +334,7 @@ var price = (order == null ? null : order.price);" } "Factor has many cool things that I didn't talk about" "Questions?" } -} +} ; : otug-talk ( -- ) otug-slides "OTUG talk" slides-window ; diff --git a/demos/talks/tc-lisp-talk/tc-lisp-talk.factor b/demos/talks/tc-lisp-talk/tc-lisp-talk.factor index 23cc82a125..071abc11e3 100644 --- a/demos/talks/tc-lisp-talk/tc-lisp-talk.factor +++ b/demos/talks/tc-lisp-talk/tc-lisp-talk.factor @@ -527,7 +527,7 @@ xyz } { $slide "Questions?" } -} +} ; : tc-lisp-talk ( -- ) tc-lisp-slides "TC Lisp talk" slides-window ; diff --git a/demos/talks/vpri-talk/vpri-talk.factor b/demos/talks/vpri-talk/vpri-talk.factor index 3ad52ef697..49fdae77e1 100644 --- a/demos/talks/vpri-talk/vpri-talk.factor +++ b/demos/talks/vpri-talk/vpri-talk.factor @@ -485,7 +485,7 @@ CONSTANT: vpri-slides "Factor has many cool things that I didn't talk about" "Questions?" } -} +} ; : vpri-talk ( -- ) vpri-slides "VPRI talk" slides-window ;