,---------------. | Contributions | `---------------´ ,------------------------------------------ | 2023-09-23 01:06:43 ruv wrote: | requestClarification - Why do we use +n and not u in the stack diagram for n>r and nr> | see: https://forth-standard.org/proposals/fix-stack-comments-for-n-r-and-nr-#contribution-310 `------------------------------------------ A citation from the Discussion section (in [r1079](https://forth-standard.org/proposals/fix-stack-comments-for-n-r-and-nr-?hideDiff#reply-1079)): > On the data stack `x_n ... x_1 +n` because that is the way we usually specify a numbered number of cells (even for `+n=0`). See, e.g., `get-order`. Well, in [`get-order`](https://forth-standard.org/standard/search/GET-ORDER) _n_ (the signed number data type) is probably incorrectly used after [`set-order`](https://forth-standard.org/standard/search/SET-ORDER), where _n_ can be `-1`. But in other words: [`pick`](https://forth-standard.org/standard/core/PICK), [`roll`](https://forth-standard.org/standard/core/ROLL), [`cs-pick`](https://forth-standard.org/standard/tools/CS-PICK), [`cs-roll`](https://forth-standard.org/standard/tools/CS-ROLL), — the unsigned number data type (identified by _u_) is used to indicate the number of items. So the question is: why is `+n` used in the stack diagrams for `n>r` and `nr>` instead of `u`? ,---------. | Replies | `---------´ ,------------------------------------------ | 2023-09-23 08:25:11 Klaus_Schleisiek replies: | proposal - DEFER this not :-) | see: https://forth-standard.org/proposals/defer-this-not-#reply-1108 `------------------------------------------ What's wrong with DEFER foo bla bla :noname ; IS foo No additional name needed. ,------------------------------------------ | 2023-09-23 10:04:40 ruv replies: | proposal - DEFER this not :-) | see: https://forth-standard.org/proposals/defer-this-not-#reply-1109 `------------------------------------------ @Klaus_Schleisiekavatar, Form a readability point of view, "additional name" doesn't mean a dictionary entry, but additional mention of the name. And, in the case of mutual recursion, this looks differ: ``` defer FOO : BAR ( ... -- ... ) bla bla FOO bla bla ; :noname ( ... -- ... ) bla bla BAR bla bla ; is FOO ``` What's wrong is poor readability. Since at the begin of the second definition it's unclear what is it for. I can add a comment at the begin of this anonymous definition: ``` :noname ( ... -- ... ) \ the word "FOO" bla bla BAR bla bla ; is FOO ``` Such a comment is not elegant. And moreover, by that I introduce additional mention of the name `FOO`.