| ( 100doors-list | |
| = doors door doorIndex step | |
| . :?doors | |
| & 0:?door | |
| & whl | |
| ' ( 1+!door:~>100:?door | |
| & closed !doors:?doors | |
| ) | |
| & 0:?skip | |
| & whl | |
| ' ( :?ndoors | |
| & whl | |
| ' ( !doors:?skipped [!skip %?door ?doors { the [<number> pattern only succeeds when the scanning cursor is at position <number> } | |
| & !ndoors | |
| !skipped | |
| ( !door:open&closed | |
| | open | |
| ) | |
| : ?ndoors | |
| ) | |
| & !ndoors !doors:?doors | |
| & 1+!skip:<100:?skip | |
| ) | |
| & out$!doors | |
| ) |