In reading McCarthy's papers, there are things that struck me:
0. The only purpose of NIL is to mark the end of a list. When
representing falsity, McCarthy uses the symbol F .
1. There are some references to an expression being undefined.
I would like to know your thoughts, about what being undefined actually
is. Should an undefined expression be represented by a symbol, or should
an undefined expression be silent (without returning a symbol)?
In reading McCarthy's papers, there are things that struck me:
0. The only purpose of NIL is to mark the end of a list. When
representing falsity, McCarthy uses the symbol F .
1. There are some references to an expression being undefined.
I would like to know your thoughts, about what being undefined actually
is. Should an undefined expression be represented by a symbol, or should
an undefined expression be silent (without returning a symbol)?
On Fri, 21 Mar 2025 22:47:38 +0000, Daniel Cerqueira wrote:
I would like to know your thoughts, about what being undefined actually
is. Should an undefined expression be represented by a symbol, or should
an undefined expression be silent (without returning a symbol)?
Should an attempt to evaluate such an expression even terminate?
Should an undefined expression be represented by a symbol, or should
an undefined expression be silent (without returning a symbol)?
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Fri, 21 Mar 2025 22:47:38 +0000, Daniel Cerqueira wrote:
I would like to know your thoughts, about what being undefined
actually is. Should an undefined expression be represented by a
symbol, or should an undefined expression be silent (without
returning a symbol)?
Should an attempt to evaluate such an expression even terminate?
My opinion is that it should...
On Sat, 22 Mar 2025 12:07:14 +0000, Daniel Cerqueira wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Fri, 21 Mar 2025 22:47:38 +0000, Daniel Cerqueira wrote:
I would like to know your thoughts, about what being undefined
actually is. Should an undefined expression be represented by a
symbol, or should an undefined expression be silent (without
returning a symbol)?
Should an attempt to evaluate such an expression even terminate?
My opinion is that it should...
So undefined behaviour cannot be really undefined, it must return some
kind of value we are going to arbitrarily name as “undefined”?
Can you give an example of an undefined expression? In denotational >semantics, a divergent expression is represented by the symbol ⊥ ("bottom", >_|_ if the unicode glyph didn't show up for you).
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
... two special objects "_" (termed /bottom/, representing |information
which is completely undetermined) and "¯" (termed |/top/, representing information which is inconsistent or |overdetermined).
On Sun, 23 Mar 2025 16:56:35 +0000, Daniel Cerqueira wrote:
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
Which is why I said, the natural way to have an “undefined” value is for the computation not to terminate at all.
Not to terminate at all means to go into an infinite loop or some
hardware suspend state.
On Sun, 23 Mar 2025 16:56:35 +0000, Daniel Cerqueira wrote:
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
Which is why I said, the natural way to have an “undefined” value is for the computation not to terminate at all.
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Sun, 23 Mar 2025 16:56:35 +0000, Daniel Cerqueira wrote:
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
Which is why I said, the natural way to have an “undefined” value is
for the computation not to terminate at all.
To not terminate is not natural at all, it is also not a natural way.
Also, programs being stuck in a idle forever loop, is also not natural,
and it is the opposite at what programs are meant to do.
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Mon, 24 Mar 2025 15:24:03 +0000, Daniel Cerqueira wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Sun, 23 Mar 2025 16:56:35 +0000, Daniel Cerqueira wrote:
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
Which is why I said, the natural way to have an “undefined” value is >>>> for the computation not to terminate at all.
To not terminate is not natural at all, it is also not a natural way.
That’s a very unnatural thing to say.
Unnatural and ungrammatical.
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Sat, 22 Mar 2025 12:07:14 +0000, Daniel Cerqueira wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:So undefined behaviour cannot be really undefined, it must return some
On Fri, 21 Mar 2025 22:47:38 +0000, Daniel Cerqueira wrote:My opinion is that it should...
I would like to know your thoughts, about what being undefinedShould an attempt to evaluate such an expression even terminate?
actually is. Should an undefined expression be represented by a
symbol, or should an undefined expression be silent (without
returning a symbol)?
kind of value we are going to arbitrarily name as “undefined”?
Does every LISP S-expression need to have a value (need to be
evaluated)? Is atributing a symbol to undefined behaviour needed?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 469 |
Nodes: | 16 (2 / 14) |
Uptime: | 60:03:19 |
Calls: | 9,454 |
Calls today: | 1 |
Files: | 13,596 |
Messages: | 6,113,305 |