d0f0079898
FossilOrigin-Name: da12a75d7886b4295d6794a3a84a3166ea017d9ab322103186303476d0810b5f
39 lines
863 B
Forth
39 lines
863 B
Forth
# New Words
|
|
|
|
This contains a variety of words from my more recent systems.
|
|
|
|
Notes:
|
|
|
|
`aa:` is a new set of array words. These will be replacing the
|
|
existing set in the future.
|
|
|
|
~~~
|
|
:aa:make (...n-a) here [ dup comma &comma times ] dip ;
|
|
|
|
:aa:map
|
|
swap [ fetch-next [ [ fetch over call ] sip
|
|
&store sip n:inc ] times
|
|
drop-pair ] sip ;
|
|
|
|
:aa:contains? (an-f)
|
|
swap #0 swap [ swap [ over eq? ] dip or ] a:for-each nip ;
|
|
|
|
:aa:first (a-n) #0 a:fetch ;
|
|
:aa:last (a-n) dup a:length n:dec a:fetch ;
|
|
|
|
:a:dup here [ dup a:length comma &comma a:for-each ] dip ;
|
|
~~~
|
|
|
|
~~~
|
|
:d:use-hashes
|
|
&eq? &d:lookup #5 - store
|
|
[ d:hash fetch ] &d:lookup #8 - store
|
|
#2049 &d:lookup store
|
|
&s:hash &d:lookup n:inc store ;
|
|
|
|
:d:use-strings
|
|
&s:eq? &d:lookup #5 - store
|
|
&d:name &d:lookup #8 - store
|
|
#0 &d:lookup store
|
|
#0 &d:lookup n:inc store ;
|
|
~~~
|