swh:1:snp:e8e13ca35eedebf8782ecc03b3ada52000dd4bbc
Tip revision: e023b8fcadc2e1b35a37b911250b251e0ec1da0b authored by Joshua Cogliati on 31 December 2020, 15:53:53 UTC
Merge pull request #87 from jrincayc/update_version
Merge pull request #87 from jrincayc/update_version
Tip revision: e023b8f
foreach
;;; -*- logo -*-
.macro foreach [:foreach.inputs] 2
catch "foreach.catchtag ~
[op foreach.done runresult ~
[foreach1 bl :foreach.inputs last :foreach.inputs 1]]
op []
end
to foreach1 :template.lists :foreach.template :template.number
if emptyp first :template.lists [throw "foreach.catchtag]
apply :foreach.template firsts :template.lists
.maybeoutput foreach1 bfs :template.lists :foreach.template :template.number+1
end
to foreach.done :foreach.result
if emptyp :foreach.result [op [stop]]
op (list "output "first (list first :foreach.result))
end
to ?rest [:which 1]
output bf item :which :template.lists
end
bury [foreach foreach1 foreach.done ?rest]