Created
February 10, 2017 23:36
-
-
Save adolfopa/64a1a59c28cbd77b71449d68f4c36dc0 to your computer and use it in GitHub Desktop.
Revisions
-
adolfopa created this gist
Feb 10, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,17 @@ : -range ( a-addr1 u -- a-addr2 a-addr1 ) cells over + ; : range ( a-addr1 u -- a-addr1 a-addr2) -range swap ; : map! ( xt a-addr u -- ) range ?do i @ over execute i ! cell +loop ; : foldl ( xt w1 a-addr u2 -- w2 ) 2over drop >r range ?do i @ j execute cell +loop r> drop ; : foldr ( xt w1 a-addr u2 -- w3 ) 2over drop >r -range ?do j i @ execute cell negate +loop r> drop ; : reduce ( xt a-addr u1 -- w ) over @ -rot foldl ;