Commit 286018ee authored by bp's avatar bp

Quotation syntax changed from :[ ]: to [: ;]

git-svn-id: https://forth-ev.de/repos/bigforth@2149 3b8d8251-53f3-0310-8f3b-fd1cb8370982
parent 3fc46df2
......@@ -356,8 +356,8 @@ hscaler implements
: subbox ( -- )
^ M[ slide ]M ['] part0a ['] part5 arule new
^ R[ lpage ]R ['] part1 ['] part0b hslider-p Eside new
^ M[ slide ]M :[ part4 swap 2* xS + swap ]:
:[ part0a swap xS 2* + swap ]:
^ M[ slide ]M [: part4 swap 2* xS + swap ;]
[: part0a swap xS 2* + swap ;]
hslider-f hslider-d Erule new
arule with $01000003 assign ^ endwith
^ R[ rpage ]R ['] part3 ['] part0b hslider-p Eside new
......@@ -369,8 +369,8 @@ vscaler implements
: subbox ( -- )
^ M[ slide ]M ['] part5 ['] part0a arule new
^ R[ rpage ]R ['] part0b ['] part3 vslider-p Eside new
^ M[ slide ]M :[ part0a swap xS 2* + swap ]:
:[ part4 swap 2* xS + swap ]:
^ M[ slide ]M [: part0a swap xS 2* + swap ;]
[: part4 swap 2* xS + swap ;]
vslider-f vslider-d Erule new
arule with $01000003 assign ^ endwith
^ R[ lpage ]R ['] part0b ['] part1 vslider-p Eside new
......
......@@ -422,7 +422,7 @@ hslider implements
: part0b xN 0 ;
: init ( callback -- ) >callback
^ R[ lstep ]R 0 slidetri new \ 1 ^ habox new fixbox
^ R[ lpage ]R :[ part1 part0 drop 2/ 0 p+ ]: ['] part0
^ R[ lpage ]R [: part1 part0 drop 2/ 0 p+ ;] ['] part0
hslider-pl hslider-pms hslider-fl hslider-dl Eleft new
^ M[ slide ]M ['] part2' ['] part0 hslider-fls hslider-dls Erule new
arule with $02000003 assign ^ endwith
......@@ -430,7 +430,7 @@ hslider implements
arule with $01000003 assign ^ endwith
^ M[ slide ]M ['] part2' ['] part0 hslider-frs hslider-dls Erule new
arule with $02000003 assign ^ endwith
^ R[ rpage ]R :[ part3 part0 drop 2/ 0 p+ ]: ['] part0
^ R[ rpage ]R [: part3 part0 drop 2/ 0 p+ ;] ['] part0
hslider-pr hslider-pms hslider-fr hslider-dr Eright new
^ R[ rstep ]R 2 slidetri new \ 1 ^ habox new fixbox
7 super init ;
......@@ -447,7 +447,7 @@ hscaler implements
: part4' ( -- glue ) part4 swap xM xS 2* - 2/ - 1 max swap ;
: init ( callback -- ) >callback
^ M[ slide ]M ['] part0a ['] part5 arule new
^ R[ lpage ]R :[ part1 part0c drop 2/ 0 p+ ]: ['] part0c
^ R[ lpage ]R [: part1 part0c drop 2/ 0 p+ ;] ['] part0c
hslider-pl hslider-pms hslider-fl hslider-dl Eleft new
arule with $01000003 assign ^ endwith
^ M[ slide ]M ['] part4' ['] part0c hslider-fls hslider-dls Erule new
......@@ -457,7 +457,7 @@ hscaler implements
^ M[ slide ]M ['] part4' ['] part0c hslider-frs hslider-drs Erule new
arule with $01000003 assign ^ endwith
3 hbox new
^ R[ rpage ]R :[ part3 part0c drop 2/ 0 p+ ]: ['] part0c
^ R[ rpage ]R [: part3 part0c drop 2/ 0 p+ ;] ['] part0c
hslider-pr hslider-pms hslider-fr hslider-dr Eright new
arule with $01000003 assign ^ endwith
3 hbox new
......@@ -470,7 +470,7 @@ vscaler implements
: part4'v ( -- glue ) part4 swap xM xS 2* - 2/ - 1 max swap ;
: init ( callback -- ) >callback
^ M[ slide ]M ['] part5 ['] part0a arule new
^ R[ rpage ]R ['] part0cv :[ part3 part0cv drop 2/ 0 p+ ]:
^ R[ rpage ]R ['] part0cv [: part3 part0cv drop 2/ 0 p+ ;]
vslider-pt vslider-pms vslider-ft vslider-dt Etop new
arule with $01000003 assign ^ endwith
^ M[ slide ]M ['] part0cv ['] part4'v vslider-fts vslider-dts Erule new
......@@ -480,7 +480,7 @@ vscaler implements
^ M[ slide ]M ['] part0cv ['] part4'v vslider-fbs vslider-dbs Erule new
arule with $01000003 assign ^ endwith
3 vbox new
^ R[ lpage ]R ['] part0cv :[ part1 part0cv drop 2/ 0 p+ ]:
^ R[ lpage ]R ['] part0cv [: part1 part0cv drop 2/ 0 p+ ;]
vslider-pb vslider-pms vslider-fb vslider-db Ebot new
arule with $01000003 assign ^ endwith
3 vbox new
......@@ -493,7 +493,7 @@ vslider implements
: part0bv xN 0 ;
: init ( callback -- ) >callback
^ R[ lstep ]R 1 slidetri new \ 1 ^ habox new fixbox
^ R[ lpage ]R ['] part0 :[ part1 part0 drop 2/ 0 p+ ]:
^ R[ lpage ]R ['] part0 [: part1 part0 drop 2/ 0 p+ ;]
vslider-pt vslider-pms vslider-ft vslider-dt Etop new
^ M[ slide ]M ['] part0 ['] part2'v vslider-fts vslider-dts Erule new
arule with $02000003 assign ^ endwith
......@@ -501,7 +501,7 @@ vslider implements
arule with $02000003 assign ^ endwith
^ M[ slide ]M ['] part0 ['] part2'v vslider-fbs vslider-dbs Erule new
arule with $02000003 assign ^ endwith
^ R[ rpage ]R ['] part0 :[ part3 part0 drop 2/ 0 p+ ]:
^ R[ rpage ]R ['] part0 [: part3 part0 drop 2/ 0 p+ ;]
vslider-pb vslider-pms vslider-fb vslider-db Ebot new
^ R[ rstep ]R 3 slidetri new \ 1 ^ habox new fixbox
7 super init ;
......
......@@ -157,37 +157,37 @@ class;
\ actor simplification 05mar07py
: noop-i ; immediate
synonym S[ :[
synonym DT[ :[
synonym T[ :[
synonym TS[ :[
synonym CK[ :[
synonym SC[ :[
synonym SL[ :[
synonym ]T[ :[
synonym S[ [:
synonym DT[ [:
synonym T[ [:
synonym TS[ [:
synonym CK[ [:
synonym SC[ [:
synonym SL[ [:
synonym ]T[ [:
synonym CP[ noop-i
synonym ]CP noop-i
: ]S postpone ]: simple postpone new ; immediate restrict
: ]DT postpone ]: data-act postpone new ; immediate restrict
: ]T postpone ]: toggle postpone new ; immediate restrict
: ]CK postpone ]: click postpone new ; immediate restrict
: ][ postpone ]: postpone :[ ; immediate restrict
: ]TS postpone ]: toggle-state postpone new ;
: ]S postpone ;] simple postpone new ; immediate restrict
: ]DT postpone ;] data-act postpone new ; immediate restrict
: ]T postpone ;] toggle postpone new ; immediate restrict
: ]CK postpone ;] click postpone new ; immediate restrict
: ][ postpone ;] postpone [: ; immediate restrict
: ]TS postpone ;] toggle-state postpone new ;
immediate restrict
: ]N ; immediate
: ]TERM ; immediate
\ other simplifications 05mar07py
: C[ ; immediate restrict
: ]SC postpone ]: scale-do postpone new ; immediate restrict
: ]SL postpone ]: slider-do postpone new ; immediate restrict
: ]SC postpone ;] scale-do postpone new ; immediate restrict
: ]SL postpone ;] slider-do postpone new ; immediate restrict
: TV[ ; immediate restrict
: TB[ ; immediate restrict
: TN[ ; immediate restrict
: ]TV postpone ]: toggle-var postpone new ; immediate restrict
: ]TB postpone ]: toggle-bit postpone new ; immediate restrict
: ]TN postpone ]: toggle-num postpone new ; immediate restrict
: ]TV postpone ;] toggle-var postpone new ; immediate restrict
: ]TB postpone ;] toggle-bit postpone new ; immediate restrict
: ]TN postpone ;] toggle-num postpone new ; immediate restrict
: DF[ postpone dup postpone >o ; immediate restrict
: ]DF postpone o> ; immediate restrict
This diff is collapsed.
\ anonymous definitions in a definition
: :[ ( compile-time: -- orig colon-sys )
: [: ( compile-time: -- orig colon-sys )
state @ IF loffset @ last @ POSTPONE AHEAD true ELSE false THEN
:noname ; immediate
: ]: ( compile-time: orig colon-sys -- ; run-time: -- xt )
: ;] ( compile-time: orig colon-sys -- ; run-time: -- xt )
POSTPONE ; >r IF ] POSTPONE THEN r> POSTPONE ALiteral last ! loffset !
ELSE r> THEN ( xt ) ; immediate
\\\
......@@ -18,8 +18,8 @@
execute ;
: test ( f -- )
:[ ." true" ]:
:[ ." false" ]:
[: ." true" ;]
[: ." false" ;]
if-else ;
1 test cr \ writes "true"
......
......@@ -247,7 +247,7 @@ how: : init ( -- ) 0 1 *filll 0 1 *fil super init ;
class;
: flipper combined ' +flip
:[ combined attribs c@ :flip or combined attribs c! combined hide ]:
[: combined attribs c@ :flip or combined attribs c! combined hide ;]
toggle new ;
\ Topindex, topglue 11apr99py
......@@ -471,13 +471,13 @@ how: 0 key-methods !
: fetch ( -- addr u ) edit get ;
class;
synonym ST[ :[
: ]ST postpone ]: edit-action postpone new ; immediate restrict
synonym ST[ [:
: ]ST postpone ;] edit-action postpone new ; immediate restrict
\ text input key binding 15apr01py
: K[ ( key -- ) (textfield postpone with postpone :[ ;
: ]K ( key sys ) postpone ]: >r (textfield postpone endwith r>
: K[ ( key -- ) (textfield postpone with postpone [: ;
: ]K ( key sys ) postpone ;] >r (textfield postpone endwith r>
& edit-action >o edit-action bind-key o> ; immediate
: K-alias ( key1 key2 -- ) swap edit-action find-key
?dup IF cell+ @
......@@ -535,8 +535,8 @@ class;
: sn-base# ( obj n -- )
swap number-action with nbase ! self endwith ;
: #[ ( key -- ) (textfield postpone with postpone :[ ;
: ]# ( key sys ) postpone ]: >r (textfield postpone endwith r>
: #[ ( key -- ) (textfield postpone with postpone [: ;
: ]# ( key sys ) postpone ;] >r (textfield postpone endwith r>
& number-action >o number-action bind-key o> ; immediate
'$' #[ callback self number-action with
fetch $10 nbase ! store endwith ]#
......@@ -549,8 +549,8 @@ class;
'-' #[ callback self number-action with
fetch dnegate store endwith ]#
synonym SN[ :[
: ]SN postpone ]: number-action postpone new ;
synonym SN[ [:
: ]SN postpone ;] number-action postpone new ;
immediate restrict
\ number edit variables 15apr01py
......@@ -669,12 +669,12 @@ parbox class text-parbox
how: Variable text-string
: init ( addr u format -- ) >r
text-string $! 0 text-string bl
:[ -trailing bl skip text-word new swap 1+ ]: $iter
[: -trailing bl skip text-word new swap 1+ ;] $iter
r> super init text-string $off ;
: assign ( addr u -- ) text-string $! dispose-childs
unhbox 2drop dispose[] items 'nil bind childs
0 text-string bl
:[ -trailing bl skip text-word new swap 1+ ]: $iter
[: -trailing bl skip text-word new swap 1+ ;] $iter
dup n' ! text-string $off [], over bind[] items
?DO I ! -cell +LOOP 0 hboxing dup n ! >box
dpy self dpy! ;
......
......@@ -285,11 +285,11 @@ class;
previous previous
: GL[ postpone :[ glcanvas postpone with ; immediate
: ]GL glcanvas postpone endwith postpone ]: ; immediate
: GL[ postpone [: glcanvas postpone with ; immediate
: ]GL glcanvas postpone endwith postpone ;] ; immediate
: CV[ postpone :[ canvas postpone with ; immediate
: ]CV canvas postpone endwith postpone ]: ; immediate
: CV[ postpone [: canvas postpone with ; immediate
: ]CV canvas postpone endwith postpone ;] ; immediate
\ helper words for Theseus 21sep07py
......
......@@ -23,21 +23,21 @@ class;
endwith
endwith ;
: ]#f ( key sys ) postpone ]: (textfield postpone endwith
: ]#f ( key sys ) postpone ;] (textfield postpone endwith
& float-action >o float-action bind-key o> ; immediate
'-' #[ sp@ 1 ins drop 1 c ]#F
'.' #[ sp@ 1 ins drop 1 c ]#F
',' #[ sp@ 1 ins drop 1 c ]#F
'e' #[ sp@ 1 ins drop 1 c ]#F
'E' #[ sp@ 1 ins drop 1 c ]#F
: ]SF postpone ]: float-action postpone new ;
: ]SF postpone ;] float-action postpone new ;
[defined] DoNotSin [IF] DoNotSin [THEN]
immediate restrict
[defined] alias [IF]
' :[ alias SF[ immediate restrict
' [: alias SF[ immediate restrict
' noop alias ]F
[ELSE]
synonym SF[ :[
synonym SF[ [:
synonym ]F noop
[THEN]
......
......@@ -387,11 +387,11 @@ how: \ init ( act addr len -- )
\ menu-entry 12dec99py
: hglue text $@ menu-sep scan nip
IF 0 text menu-sep :[ fnt size drop 1 *fil
IF 0 text menu-sep [: fnt size drop 1 *fil
2 pick parent with
dup >r 1- combined tab@ p+
r> combined tab!
endwith 1+ ]: $iter
endwith 1+ ;] $iter
1- parent with combined tab@ endwith
xM xS + 1+ 0 p+
ELSE textwh @ xM + xS + 1+ 1 *fil THEN ;
......@@ -685,11 +685,11 @@ how: : assign ( addr u -- ) text assign ;
0 text edit ds !
^ M[ clicked ]M :down tributton new bind tri
info self 1 habox new hfixbox text self
^ S[ ]S :[ text childs vglue ]: :[ xS 0 ]: arule new
^ S[ ]S [: text childs vglue ;] [: xS 0 ;] arule new
tri self
^ S[ ]S :[ text childs vglue ]: :[ xS 0 ]: arule new
^ S[ ]S [: text childs vglue ;] [: xS 0 ;] arule new
3 vbox new hfixbox 2 hbox new
^ S[ ]S :[ callw hglue ]: :[ 0 0 ]: arule new
^ S[ ]S [: callw hglue ;] [: 0 0 ;] arule new
2 vbox new +fill 3 super init drop ;
: dpy! dup callw dpy! super dpy! ;
: !resized super !resized callw !resized ;
......
......@@ -33,7 +33,7 @@
[ELSE]
\needs { include locals.fs
\needs object include oof.fb
\needs :[ include lambda.fs
\needs [: include lambda.fs
include sincos.fs
\needs >xyxy include points.fs
\needs sort include qsort.fs
......
......@@ -91,8 +91,8 @@ descriptors implements
dump-class ." ptr " dump-name ;
: create-ptr ( -- )
name $@ nip IF
name $@ :[ item ptr >in off
item self F postpone bind ]: execute-parsing
name $@ [: item ptr >in off
item self F postpone bind ;] execute-parsing
THEN ;
class;
......
......@@ -71,20 +71,20 @@ Defer do-bug
Variable stubs
: dump-box ( o -- )
:[ descriptors with dump endwith ]: IS do-dump
:[ >r cr indent @ spaces
[: descriptors with dump endwith ;] IS do-dump
[: >r cr indent @ spaces
.d r@ >class" lctype ." new"
r@ dump-bind
r@ dump-vars
r> dump-link ]: IS do-boxdump
:[ cr indent @ spaces nip widget with
r> dump-link ;] IS do-boxdump
[: cr indent @ spaces nip widget with
& hvrule @ class? IF .' hvline'
ELSE .' cross new ( this is a stub )' 1 stubs +! THEN
endwith ]: IS do-bug
endwith ;] IS do-bug
(dump-box ;
: dispose-box ( o -- )
:[ descriptors with dispose endwith ]: IS do-dump
[: descriptors with dispose endwith ;] IS do-dump
['] 2drop IS do-boxdump
['] 2drop IS do-bug
(dump-box ;
......
......@@ -740,17 +740,17 @@ Variable reenter
4 vabox new ;
: box-detail ( -- o )
0 :[ cur +hskip ! ?cur-box
cur +hskip @ cur box hskip c! cur box resized ]:
:[ ?cur-box:0 cur box hskip c@ dup cur +hskip ! ]:
0 [: cur +hskip ! ?cur-box
cur +hskip @ cur box hskip c! cur box resized ;]
[: ?cur-box:0 cur box hskip c@ dup cur +hskip ! ;]
9 scale-act new TT" hskip" hscaler new
0 :[ cur +vskip ! ?cur-box
cur +vskip @ cur box vskip c! cur box resized ]:
:[ ?cur-box:0 cur box vskip c@ dup cur +vskip ! ]:
0 [: cur +vskip ! ?cur-box
cur +vskip @ cur box vskip c! cur box resized ;]
[: ?cur-box:0 cur box vskip c@ dup cur +vskip ! ;]
9 scale-act new TT" vskip" hscaler new
0 :[ cur +borderw ! ?cur-box
cur +borderw @ cur box borderw c! cur box resized ]:
:[ ?cur-box:0 cur box borderw cx@ dup cur +borderw ! ]:
0 [: cur +borderw ! ?cur-box
cur +borderw @ cur box borderw c! cur box resized ;]
[: ?cur-box:0 cur box borderw cx@ dup cur +borderw ! ;]
#18 scale-act new TT" border" hscaler new
hscaler with #-9 offset ! ^ endwith
0 1 *fill 2dup glue new
......@@ -961,71 +961,71 @@ Variable #entities
: entity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-entity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-entity
postpone ;] postpone (entity
1 #entities +!
; immediate
: font-entity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-font-entity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-font-entity
postpone ;] postpone (entity
1 #entities +!
; immediate
: ref-entity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-ref-entity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-ref-entity
postpone ;] postpone (entity
1 #entities +!
; immediate
: edit-entity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-edit-entity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-edit-entity
postpone ;] postpone (entity
1 #entities +!
; immediate
: component-entity ( -- )
postpone 0
postpone :[ postpone make-component-entity
postpone ]: postpone (entity
postpone [: postpone make-component-entity
postpone ;] postpone (entity
1 #entities +!
; immediate
: dentity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-dentity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-dentity
postpone ;] postpone (entity
1 #entities +!
; immediate
: ventity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-ventity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-ventity
postpone ;] postpone (entity
1 #entities +!
; immediate
: hsentity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-hsentity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-hsentity
postpone ;] postpone (entity
1 #entities +!
; immediate
: vsentity ( -- )
postpone AHEAD entity, >r lastdes-reset postpone THEN
postpone 0
postpone :[ r> postpone ALiteral postpone make-vsentity
postpone ]: postpone (entity
postpone [: r> postpone ALiteral postpone make-vsentity
postpone ;] postpone (entity
1 #entities +!
; immediate
......@@ -1073,7 +1073,7 @@ s" Vscaler" font-entity vscaler scaler-des scaler-code
endgroup
group labels:
0 :[ hvline dup *hvglue with 4 hmin ! endwith +object ]: simple new s" Line"
0 [: hvline dup *hvglue with 4 hmin ! endwith +object ;] simple new s" Line"
button new [ 1 #entities +! ]
s" Label"
font-entity text-label string-des
......@@ -1097,7 +1097,7 @@ s" Menu-Title" font-entity menu-title menu-des string-des
s" Info-Menu" font-entity info-menu menu-des string-des
s" Sub-Menu" font-entity sub-menu menu-des string-des
s" Menu-Entry" font-entity menu-entry action-des string-des
0 :[ hvline dup *hvglue with 4 hmin ! endwith +object ]: simple new s" Line"
0 [: hvline dup *hvglue with 4 hmin ! endwith +object ;] simple new s" Line"
button new [ 1 #entities +! ]
endgroup
......@@ -1467,7 +1467,7 @@ Variable auto-save-file
: try-save ( -- )
s" +" cur file-name $+!
:[ cur file-name $@ dump-file ]: catch
[: cur file-name $@ dump-file ;] catch
cur file-name $@len 1- cur file-name $!len
0= IF
cur file-name $@ rename-old
......
......@@ -1004,12 +1004,12 @@ set-current
\ *** Stephen: check if this is complete ***
: :[ ( compile-time: -- orig colon-sys )
: [: ( compile-time: -- orig colon-sys )
state @ IF <headerless> @ last @
POSTPONE AHEAD true ELSE false THEN
postpone [ :noname ; immediate
: ]: ( compile-time: orig colon-sys -- ; run-time: -- xt )
: ;] ( compile-time: orig colon-sys -- ; run-time: -- xt )
discard-sinline POSTPONE ; >r
IF ] POSTPONE THEN r> POSTPONE Literal
last ! <headerless> ! discard-sinline
......
......@@ -177,9 +177,9 @@ menu-entry implements
xywh color @ dpy box
text $@ menu-sep scan nip
IF xM r> 2 = 1 and -1 text menu-sep
:[ rot >r 2over
[: rot >r 2over
r@ parent with combined tab@ endwith drop 0 p+
textleft r> 1+ ]: $iter drop 2drop EXIT THEN
textleft r> 1+ ;] $iter drop 2drop EXIT THEN
text $@ xM r> 2 = 1 and textleft ;
: vglue super vglue swap xS - swap ;
class;
......@@ -214,7 +214,7 @@ info-menu implements
tri self
1 vbox new hfixbox 2 hbox new -2 borderbox
1 vbox new
^ S[ ]S :[ callw hglue ]: :[ 0 0 ]: arule new
^ S[ ]S [: callw hglue ;] [: 0 0 ;] arule new
2 vbox new +fill 3 super init drop ;
class;
......
......@@ -112,10 +112,10 @@ simple class drag
how: : click toggle ;
class;
synonym R[ :[
synonym M[ :[
: ]R postpone ]: rep postpone new ; immediate restrict
: ]M postpone ]: drag postpone new ; immediate restrict
synonym R[ [:
synonym M[ [:
: ]R postpone ;] rep postpone new ; immediate restrict
: ]M postpone ;] drag postpone new ; immediate restrict
\ Icon 21mar04py
include pixmap.fs
......
......@@ -38,9 +38,9 @@ menu-entry implements
r@ 1 and IF shadow xS xywh drawshadow THEN
text $@ menu-sep scan nip
IF xM r> 2 = 1 and -1 text menu-sep
:[ rot >r 2over
[: rot >r 2over
r@ parent with combined tab@ endwith drop 0 p+
textleft r> 1+ ]: $iter drop 2drop EXIT THEN
textleft r> 1+ ;] $iter drop 2drop EXIT THEN
text $@ xM r> 2 = 1 and textleft ;
class;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment