VARIANT: list ;
-VARIANT-MEMBER: list nil
-VARIANT-MEMBER: list cons: { { first object } { rest list } }
+VARIANT-MEMBER: list nil ;
+VARIANT-MEMBER: list cons: { { first object } { rest list } } ;
""" } } ;
HELP: match
{ nil t } [ list initial-value ] unit-test
VARIANT: list2 ;
-VARIANT-MEMBER: list2 nil2
-VARIANT-MEMBER: list2 cons2: { { first object } { rest list2 } }
+VARIANT-MEMBER: list2 nil2 ;
+VARIANT-MEMBER: list2 cons2: { { first object } { rest list2 } } ;
{ t } [ nil2 list2? ] unit-test
{ t } [ 1 nil2 <cons2> list2? ] unit-test
SYNTAX: VARIANT-MEMBER:
scan-word
scan-token parse-variant-member
- define-variant-class-member ;
+ define-variant-class-member ";" expect ;
MACRO: unboa ( class -- quot )
<wrapper> \ boa [ ] 2sequence [undo] ;