: make/0 ( table quot effect -- quot )
out>> [
packer '[
- _ dup first-unsafe
- [ ] [ @ @ [ 0 rot set-nth-unsafe ] keep ] ?if-old
+ _
+ [ first-unsafe ]
+ [ @ @ [ 0 rot set-nth-unsafe ] keep ] ?unless
]
] keep unpacker compose ;
no-word-restarted ;
: parse-word ( string -- word )
- dup search [ ] [ no-word ] ?if-old ;
+ [ search ] [ no-word ] ?unless ;
ERROR: number-expected ;
M: string hashcode*
nip
- dup string-hashcode
- [ ] [ dup rehash-string string-hashcode ] ?if-old ;
+ [ string-hashcode ]
+ [ dup rehash-string string-hashcode ] ?unless ;
M: string length
length>> ; inline
] when* require ;
: run ( vocab -- )
- dup load-vocab vocab-main [
- execute( -- ) ]
+ load-vocab
+ [ vocab-main ]
+ [ execute( -- ) ]
[
"The " write vocab-name write
" vocabulary does not define an entry point." print
"To define one, refer to \\ MAIN: help" print
- ] ?if-old ;
+ ] ?if ;
<PRIVATE