Annotation of gforth/chains.fs, revision 1.1

1.1     ! jwilke      1: \ chains.fs execution chains for gforth                        21jun97jaw
        !             2: 
        !             3: 0 [IF]
        !             4: This defines execution chains.
        !             5: The first application for this is building initialization chains:
        !             6: Think of many modules or program parts, each of it with some specific
        !             7: initialization code. If we hardcode the initialization routines into a
        !             8: "master-init" we will get unflexible and are not able only to load some
        !             9: specific modules...
        !            10: 
        !            11: The chain is basicaly a linked-list. Define a Variable for the head of
        !            12: linked-list. Name it "foo8" or "foo-chain" to indicate it is a execution
        !            13: chain.
        !            14: 
        !            15: You can add a word to the list with "' my-init foo8 chained". You can
        !            16: execute all the code with "foo8 chainperform".
        !            17: [THEN]
        !            18: 
        !            19: [IFUNDEF] linked
        !            20: : linked        here over @ a, swap ! ;
        !            21: [THEN]
        !            22: 
        !            23: \ generic chains
        !            24: 
        !            25: : chained      ( xt list -- ) \ gforth
        !            26:   linked , ;
        !            27: 
        !            28: : chainperform ( list -- ) \ gforth
        !            29:   BEGIN @ dup WHILE dup cell+ perform REPEAT drop ;
        !            30: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>