1. RE: a.i

Well, try to program in such a language and you'll see.
I know, because Oracle, for instance, has these three alternatives. For this
system it is perhaps necessary, but to program with these assumptions is a
mess.
----- Original Message -----
From: Rom <kjehas at frisurf.no>
Subject: Re: a.i



From: "Kat" <kat at kogeijin.com>

> .....
> Would the Ai know who these nicks are, normally, given only the
> intelligence i those lines? This is an example of why you haveto build in
methods of
> determining data, what it means, and instanciating new methods to
manipulate the  data.

> Some things no one can predict, and these events > raise errors at the
worst times.

Very true.
If you mean that uninstanciated vars will raise logical errors ...  very
true.

You are appraching what essensially is a design flaw in modern computer
languages, including Euphoria. While it may be too late to do anything about
the design flaws in C, it is maybe not too late to correct the design flaw i
Euphoria. I am afraid this design flaw has to corrected before Euphoria can
truely be usable for formulating logic.

The design flaw in Euphoria is the same as expressed in this pascal
documentation:

"A Boolean variable can assume the ordinal values 0 and 1 only, but
variables of type ByteBool, WordBool, and LongBool can assume other ordinal
values. An expression of type ByteBool, WordBool, or LongBool is considered
False when its ordinal value is zero, and True when its ordinal value is
nonzero. Whenever a ByteBool, WordBool, or LongBool value is used in a
context where a Boolean value is expected, the compiler will automatically
generate code that converts any nonzero value to the value True."

This is NOT correct boolean logic. Neither Pascal nor Euphoria can handle
uninstanciated  vars correctly.  "a > 1" is such a structure that implicitly
uses a boolean var that cannot always be resolved, that means the value of
the var is undecidable. Then the result is neither true not false! But
Pascal and Euphoria will not catch that result.

So the control structure should have been like this:

    if a > 1 then ....    -- a > 1 is true
    ifnot then ....         -- a > 1 is false
    ifnil then ...           -- a > 1 is undecidable

The truth table is like this:

    (a > 1)      result
    true     ->    true
    false    ->    false
    a is uninstanciated    ->  nil

Rom

==^^===============================================================
This email was sent to: rforno at tutopia.com

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu