variable fid create c 1 chars allot : open ( c-addr u -- ) r/o open-file throw fid ! ; : close ( -- ) fid @ close-file throw ; : read ( -- u ) c 1 fid @ read-file throw ; : display ( -- ) c c@ emit ; : go-show ( c-addr u -- ) open begin read while display repeat close ; : go-store ( c-addr1 u1 -- c-addr2 u2 ) here >r open begin read while c c@ c, repeat close r> here over - ; \ produces: include file.forth ok s" file.forth" go-store ok .s <2> 2243200 406 ok type variable fid create c 1 chars allot : open ( c-addr u -- ) r/o open-file throw fid ! ; : close ( -- ) fid @ close-file throw ; : read ( -- u ) c 1 fid @ read-file throw ; : display ( -- ) c c@ emit ; : go-show ( c-addr u -- ) open begin read while display repeat close ; : go-store ( c-addr1 u1 -- c-addr2 u2 ) here >r open begin read while c c@ c, repeat close r> here over - ; ok