From adfb477ea53d3e6ca7b07a77d514f56dc6a2e996 Mon Sep 17 00:00:00 2001 From: kitty Date: Thu, 16 Apr 2026 23:19:10 +1000 Subject: do of loop --- sanctuary.fs | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'sanctuary.fs') diff --git a/sanctuary.fs b/sanctuary.fs index de37b52..8880ccb 100644 --- a/sanctuary.fs +++ b/sanctuary.fs @@ -339,22 +339,41 @@ privatise begin refill while interpret repeat 1 -to include-depth r> to source-id ; : included ( a u -- ) s>z r/o open-file 0= if - dup >r - include-file - r> - close-file + dup >r include-file + r> close-file else drop abort" file open for include failed" then ; : include ( "path" -- ) parse-name included ; \ }}} -\ \ VOCABULARY {{{ +\ DO LOOP {{{ +\ todo doc +: do postpone swap postpone >r postpone >r ?branch >mark +\ postpone swap postpone >r postpone >r postpone + postpone r@ + postpone over postpone >r ( n+i lim , R: lim n+i ) + postpone >= + ?branch postpone 1+ postpone r@ + postpone over postpone >r ( n+i lim , R: lim n+i ) + postpone >= + ?branch