- ABORT
- ABORT"
- ABS
- ACCEPT
- ACTION-OF
- AGAIN
- ALIGN
- ALIGNED
- ALLOT
- AND
- BASE
- BEGIN
- BL
- BUFFER:
- [
- [CHAR]
- [COMPILE]
- [']
- CASE
- C,
- CELL+
- CELLS
- C@
- CHAR
- CHAR+
- CHARS
- COMPILE,
- CONSTANT
- COUNT
- CR
- CREATE
- C!
- :
- :NONAME
- ,
- C"
- DECIMAL
- DEFER
- DEFER@
- DEFER!
- DEPTH
- DO
- DOES>
- DROP
- DUP
- /
- /MOD
- .R
- .(
- ."
- ELSE
- EMIT
- ENDCASE
- ENDOF
- ENVIRONMENT?
- ERASE
- EVALUATE
- EXECUTE
- EXIT
- =
- FALSE
- FILL
- FIND
- FM/MOD
- @
- HERE
- HEX
- HOLD
- HOLDS
- I
- IF
- IMMEDIATE
- INVERT
- IS
- J
- KEY
- LEAVE
- LITERAL
- LOOP
- LSHIFT
- MARKER
- MAX
- MIN
- MOD
- MOVE
- M*
- -
- NEGATE
- NIP
- OF
- OR
- OVER
- 1-
- 1+
- PAD
- PARSE-NAME
- PARSE
- PICK
- POSTPONE
- +
- +LOOP
- +!
- QUIT
- RECURSE
- REFILL
- REPEAT
- RESTORE-INPUT
- R@
- ROLL
- ROT
- RSHIFT
- R>
- SAVE-INPUT
- SIGN
- SM/REM
- SOURCE-ID
- SOURCE
- SPACE
- SPACES
- STATE
- SWAP
- ;
- S\"
- S"
- S>D
- !
- THEN
- TO
- TRUE
- TUCK
- TYPE
- '
- *
- */
- */MOD
- 2DROP
- 2DUP
- 2/
- 2@
- 2OVER
- 2R@
- 2R>
- 2SWAP
- 2!
- 2*
- 2>R
- U.R
- UM/MOD
- UM*
- UNLOOP
- UNTIL
- UNUSED
- U.
- U<
- U>
- VALUE
- VARIABLE
- WHILE
- WITHIN
- WORD
- XOR
- 0=
- 0<
- 0>
- 0<>
- \
- .
- <
- >
- <>
- #>
- <#
- #
- #S
- (
- ?DO
- ?DUP
- >BODY
- >IN
- >NUMBER
- >R
6.1.0890 CELLS CORE
n2 is the size in address units of n1 cells.
See:
Rationale:
Testing:
ContributeContributions
ruv
[444] Inconsistent semantic description in `CELLS`Request for clarification2026-08-02 11:09:02
The text description in section 6.1.0890 CELLS states:
n2 is the size in address units of n1 cells.
But n1 can be a negative integer, such as -3. What does "the size of -3 cells" mean?
Another problem is that if we apply 2s-Complement Wrap-Around Integers (accepted in 2015), there will be no ambiguous condition on overflow. Consequently, the phrase max-int cells is always valid, but it probably will not be evaluated to the size of max-int cells.
Another issue is that the stack diagram mentions only n (signed integers), but cells actually applies to unsigned integers as well.
Thus, a more complete stack diagram is: ( n1 -- n2 ^^ u1 -- u2 ), where the symbol "^^" denotes the intersection of the left left and right arrow types, that is, the arrow type that is the meet of the other two arrow types.
A possible correct text description:
n2 is n1 multiplied by the cell size in address units. u2 is u1 multiplied by the cell size in address units. If no overflow occurs, u2 is the size in address units of u1 cells.
A similar correction also applies to 6.1.0898 CHARS (in current wording).