home *** CD-ROM | disk | FTP | other *** search
- #include blocks.f83
- #include sets.f83
-
- sets blocks
-
- .( 1: Set elements return pointers to the entry) cr
-
- : element ( -- )
- create last ,
- does> ( element -- entry)
- @
- ;
-
-
- .( 2: A print function for element sets) cr
-
- : print-set ( set -- )
- dup .set ." elements: "
- ." { "
- block[ .name space ]; map-set
- ." } "
- ;
-
- .( 3: A simple destructive copying function for sets) cr
-
- : copy-set ( set1 set2 -- set2)
- dup empty-set union-set
- ;
-
-
- .( 4: Color elements and some sets for calculations) cr
-
- element white
- element black
-
- element blue
- element red
- element yellow
-
- element green
- element brown
- element violet
-
- 10 SET colors
-
- { yellow red blue } constant primary
- { green brown violet } constant secondary
-
-
- .( 5: The set of sets and a print print function) cr
-
- { colors primary secondary } constant the-sets
-
- : print-the-sets ( -- )
- the-sets block[ execute print-set cr ]; map-set
- ;
-
-
- .( 6: Testing the symbol set management) cr
-
- print-the-sets cr
-
- yellow colors append-set colors print-set cr
- secondary colors copy-set print-set cr
- brown colors remove-set colors print-set cr
- primary colors union-set print-set cr
- blue colors remove-set colors print-set cr
- { brown blue yellow } colors intersection-set print-set cr
-
- forth only
-