Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

What ``undefined'' means

Name: Anonymous 2017-02-16 5:17

There are only two cases: defined here (in some document) and defined elsewhere. ``Undefined'' means defined somewhere else.

Here are some ``red pills'' for domain theorists and other ``computer pseudoscientists'', respectively from the Algol 60, Algol 68, and PL/I definitions.

Whenever the precision of arithmetic is stated as being in general not specified, or the outcome of a certain process is left undefined or said to be undefined, this is to be interpreted in the sense that a program only fully defines a computational process if the accompanying information specifies the precision assumed, the kind of arithmetic assumed, and the course of action to be taken in all such cases as may occur during the execution of the computation.

If something is left "undefined" or is said to be "undefined", then this means that it is not defined by this Report alone and that, for its definition, information from outside this Report has to be taken into account.

The standard definition of PL/I for a particular implementation is completed by defining (not necessarily in the style of this document) the implementation-defined features listed in Section 1.2.2, together with the representation of a program-run's elements (<symbol-list>s, <entry-value>, and <dataset-list>) in the implementation's operating environment. With this information available, the conceptual PL/I machine gives one or more interpretations to a program.

``Undefined'' for a programming language means not defined in this document, but somewhere else. You can't get much clearer than that.

This means that the action taken for division by zero is defined. The action taken when the program runs out of memory is defined. Nothing remains undefined in an actual program run.

In contrast, the domain theoretic approach to ``undefined behavior'' is ``anything in, garbage out''.

Name: Anonymous 2017-02-17 22:12

>>19
Your last 0=1 doesn't follow from previous step.

0*(10^inf)=(1/(10^inf))*(10^inf)

^^ okay, but then we get rid of (10^inf) on both sides and we get

0 = 1/(10^inf)

which is perfectly fine. Where did you get the 0=1?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List