Bruce McFarling <agila61@[EMAIL PROTECTED]
> writes:
> On Apr 2, 3:00 pm, Aleksej Saushev <a...@[EMAIL PROTECTED]
> wrote:
>> Data types enforce rules, otherwise you have denotate for nothing,
>> because you can't distinguish between their presence and their absense.
>
> You seem to be trying to logically infer a definition.
>
> However, from:
>
> http://www.nist.gov/dads/HTML/abstractDataType.html
>
> National Institute of Standards and Technology, the definition of
> Abstract Data Type is:
>
> Definition: A set of data values and associated operations that are
> precisely specified independent of any particular implementation.
>
> So when you regarding:
>
> "A system shall document the values for, or behaviors of, each item.
> <...>
> Behavior of 6.1.1320 EMIT for non-graphic characters."
>
> that:
>
> "It is required that system documents behaviour for EMIT, thus making
> it possible to know the behaviour. In this sense it isn't distinct
> from
> character set, which is implementation-defined too."
>
> The Forth-94 characters are an open set, including the ASCII7
> printable character set.
This means precisely what I say: Forth-94 characters are just integer
numbers and nothing more than that, because their implementation is
fixed to be ASCII in range 0...127, "char 9" can't return anything,
than number 39 (hex), because it returns _integer_, not _character_
type, which could be encoded any other way.
> CHAR 9 EMIT
>
> is an operation on the character '9', which is valid whether the
> character 9 is implemented on the stack as $0039 or $00039 or
> $00000039, and whether the character typed into and sent back to the
> console is $39 or $00000039 or $F9.
The reversibility of single pair of operations doesn't prove anything,
your representation, for instance, doesn't provide natural character
comparison, where "char Ù ( Cyrillic ) char b <". And there's no rule
to prevent such construct, if there should be another character
comparison operation, e.g. "c<", which may be different from "<".
F9 (hex) isn't a code for "9", since it isn't ASCII, and Forth-94
doesn't state it must be converted by stripping the bit, thus you've
failed even in providing correct example. This example proves
exactly what I say: there's no separate character type in Forth,
it's a mere interpretation of integer numbers.
--
BECHA...
CKOPO CE3OH...


|