From: Ron Garret on
In article <m3skai9qls.fsf(a)moon.robolove.meer.net>,
Madhu <enometh(a)meer.net> wrote:

> * Ron Garret <rNOSPAMon-6777F5.01442807012010(a)news.albasani.net> :
> Wrote on Thu, 07 Jan 2010 01:44:28 -0800:
>
> | In article <m3pr5mbdq2.fsf(a)moon.robolove.meer.net>,
> | Madhu <enometh(a)meer.net> wrote:
> |
> |> The redefinition of structs has nothing to do with Point 2 Either.
> |
> | I don't know what point 2 is, but the original example included a
> | redefinition because "real" structs are opaque. The redefinition was
> | needed to reveal a particular aspect of the behavior of the underlying
> | implementation.
>
> Let's look at this ex Post - facto justification from the master of
> unchallenged master of dishonest debate of comp.lang.lisp. The
>
> So now you are claiming that redefinition of defstruct (which has
> undefined consequences) shows that a "real" structure instance is
> opaque?

No.

> Matt got "something". He probably understands defstruct more than you
> now

Could well be.

rg
From: Madhu on

* mdj <df6b9976-9854-446e-820e-1041ac715039(a)j14g2000yqm.googlegroups.com> :
Wrote on Wed, 6 Jan 2010 23:55:53 -0800 (PST):

| Ron likes to interact like a teacher. Teaching, and the socratic
| method seems to be another knowledge domain that you're weak in.

Ron likes to interact like Gavino --- posting random CL code (random
because it is unrelated to the issues being discussed) with
undefined/implementation specific consequences which he barely
understands after testing it on his one implementation of openmcl ---
and waiting for someone like kaz or pjb to correct him and give the
explanations he can learn from. By the time the "students" are
grappling with the concepts of undefined consequences --- completely
forgetting the original issues they were discussing, Ron has now learnt
enough to "instruct them" in simpler words.

This pattern has been going on for a while

--
Madhu
From: Madhu on

* Ron Garret <rNOSPAMon-80EA8C.02112007012010(a)news.albasani.net> :
Wrote on Thu, 07 Jan 2010 02:11:20 -0800:

| In article <m3skai9qls.fsf(a)moon.robolove.meer.net>,
| Madhu <enometh(a)meer.net> wrote:
|
|> * Ron Garret <rNOSPAMon-6777F5.01442807012010(a)news.albasani.net> :
|> Wrote on Thu, 07 Jan 2010 01:44:28 -0800:
|>
|> | In article <m3pr5mbdq2.fsf(a)moon.robolove.meer.net>,
|> | Madhu <enometh(a)meer.net> wrote:
|> |
|> |> The redefinition of structs has nothing to do with Point 2 Either.
|> |
|> | I don't know what point 2 is, but the original example included a
|> | redefinition because "real" structs are opaque. The redefinition
|> | was needed to reveal a particular aspect of the behavior of the
|> | underlying implementation.
|>
|> Let's look at this ex Post - facto justification from the master of
|> unchallenged master of dishonest debate of comp.lang.lisp. The
|>
|> So now you are claiming that redefinition of defstruct (which has
|> undefined consequences) shows that a "real" structure instance is
|> opaque?

| No.

OK. I thought not. Your "real structs" would probably be opaque even
sans redefining the defstruct definition.

So the "particular aspect of behaviour of the underlying implementation"
that you wanted to reveal is implementation specific and comes under
"Undefined consequences" AND it acts on a "real struct".

How does this relate with your stated stated goal upthread, which was to
address, in your words, (<rNOSPAMon-79BB44.23220404012010 @
news.albasani.net>):
``whether the assumption that "list based structs are plists and not
alists" is reasonable.''.

(Hint: There is no relation.)

So what purpose did introducing defstruct redefintion (with undefined
consequences) serve? effectively all you now saying is ``I introduced
redefinition" to show "aspects of how a particular common lisp
implementation interprets "undefined consequences''.

So what general conclusion have you drawn on the ordinary list
representation of "list based structs" or the "opaque" representation of
your "real" structs, from observing the behaviour of redefintion
(invoking undefined consequences) in a particular common lisp
implementation?

--
Madhu


From: Ron Garret on
In article <m3k4vu9p3k.fsf(a)moon.robolove.meer.net>,
Madhu <enometh(a)meer.net> wrote:

> * Ron Garret <rNOSPAMon-80EA8C.02112007012010(a)news.albasani.net> :
> Wrote on Thu, 07 Jan 2010 02:11:20 -0800:
>
> | In article <m3skai9qls.fsf(a)moon.robolove.meer.net>,
> | Madhu <enometh(a)meer.net> wrote:
> |
> |> * Ron Garret <rNOSPAMon-6777F5.01442807012010(a)news.albasani.net> :
> |> Wrote on Thu, 07 Jan 2010 01:44:28 -0800:
> |>
> |> | In article <m3pr5mbdq2.fsf(a)moon.robolove.meer.net>,
> |> | Madhu <enometh(a)meer.net> wrote:
> |> |
> |> |> The redefinition of structs has nothing to do with Point 2 Either.
> |> |
> |> | I don't know what point 2 is, but the original example included a
> |> | redefinition because "real" structs are opaque. The redefinition
> |> | was needed to reveal a particular aspect of the behavior of the
> |> | underlying implementation.
> |>
> |> Let's look at this ex Post - facto justification from the master of
> |> unchallenged master of dishonest debate of comp.lang.lisp. The
> |>
> |> So now you are claiming that redefinition of defstruct (which has
> |> undefined consequences) shows that a "real" structure instance is
> |> opaque?
>
> | No.
>
> OK. I thought not. Your "real structs" would probably be opaque even
> sans redefining the defstruct definition.

There is no "probably." DEFSTRUCT can be used to define three different
kinds of things. Two of those things are transparent with respect to
their underlying implementations (lists and vectors), and one (what I'm
calling "real" structs) is opaque.

> So the "particular aspect of behaviour of the underlying implementation"
> that you wanted to reveal is implementation specific and comes under
> "Undefined consequences" AND it acts on a "real struct".
>
> How does this relate with your stated stated goal upthread, which was to
> address, in your words, (<rNOSPAMon-79BB44.23220404012010 @
> news.albasani.net>):
> ``whether the assumption that "list based structs are plists and not
> alists" is reasonable.''.
>
> (Hint: There is no relation.)

Of course there is. The fact that redefining the struct in the way that
I did causes existing instances to behave in the way that they do is
strongly indicative that the underlying implementation is neither a
PList nor an AList (nor any other kind of self-contained associative
map).

BTW, the example works (insofar as the results indicate what I intended
for them indicate) in CLisp and SBCL as well. So while the behavior may
be "undefined" in terms of the standard, my example turns out to be
quite robust with respect to existing practice.

rg
From: Madhu on

* Ron Garret <rNOSPAMon-562C8C.02574207012010(a)news.albasani.net> :
Wrote on Thu, 07 Jan 2010 02:57:42 -0800:

| In article <m3k4vu9p3k.fsf(a)moon.robolove.meer.net>,
| Madhu <enometh(a)meer.net> wrote:
|
|> * Ron Garret <rNOSPAMon-80EA8C.02112007012010(a)news.albasani.net> :
|> Wrote on Thu, 07 Jan 2010 02:11:20 -0800:
|>
|> | In article <m3skai9qls.fsf(a)moon.robolove.meer.net>,
|> | Madhu <enometh(a)meer.net> wrote:
|> |
|> |> * Ron Garret <rNOSPAMon-6777F5.01442807012010(a)news.albasani.net> :
|> |> Wrote on Thu, 07 Jan 2010 01:44:28 -0800:
|> |>
|> |> | In article <m3pr5mbdq2.fsf(a)moon.robolove.meer.net>,
|> |> | Madhu <enometh(a)meer.net> wrote:
|> |> |
|> |> |> The redefinition of structs has nothing to do with Point 2 Either.
|> |> |
|> |> | I don't know what point 2 is, but the original example included a
|> |> | redefinition because "real" structs are opaque. The redefinition
|> |> | was needed to reveal a particular aspect of the behavior of the
|> |> | underlying implementation.
|> |>
|> |> Let's look at this ex Post - facto justification from the master of
|> |> unchallenged master of dishonest debate of comp.lang.lisp. The
|> |>
|> |> So now you are claiming that redefinition of defstruct (which has
|> |> undefined consequences) shows that a "real" structure instance is
|> |> opaque?
|>
|> | No.

[*] <-------------- LOOK HERE. [POINT-FOO]

|>
|> OK. I thought not. Your "real structs" would probably be opaque even
|> sans redefining the defstruct definition.
|
| There is no "probably." DEFSTRUCT can be used to define three different
| kinds of things. Two of those things are transparent with respect to
| their underlying implementations (lists and vectors), and one (what I'm
| calling "real" structs) is opaque.

[*] <------------------- LOOK-HERE [POINTBAR]

OK you have claimed that "opaque representations" are not LIST based
representations (alist or plist or something else).

|
|> So the "particular aspect of behaviour of the underlying implementation"
|> that you wanted to reveal is implementation specific and comes under
|> "Undefined consequences" AND it acts on a "real struct".
|>
|> How does this relate with your stated stated goal upthread, which was to
|> address, in your words, (<rNOSPAMon-79BB44.23220404012010 @
|> news.albasani.net>):
|> ``whether the assumption that "list based structs are plists and not
|> alists" is reasonable.''.
|>
|> (Hint: There is no relation.)
|
| Of course there is.

No there isn't. You are now addressing the representation of opaque
defstructs your "real structs", while your earlier intent was to have
addressed List based defstructs (whether they were alists or plists).
"list based".


Sleight of hand.


| The fact that redefining the struct in the way that I did causes
| existing instances to behave in the way that they do is strongly
| indicative that the underlying implementation is neither a PList nor
| an AList (nor any other kind of self-contained associative map).

So now your claim is that a `particular aspect of behaviour of the
underlying implementation' on changing a defstruct definition (which has
undefined consequences) in specific implementations is strongly
indicative that the underlying representation of "real defstructs" is
neither an alist or a plist. But does it not do this by indicating they
are opaque?

To wit there are three problems with this claim which make it entirely
superflous.

1. It is trivially determined that OPAQUE "real defstructs" are NOT
LIST-BASED. See [POINT-BAR] above where you DEFINED that they cannot
have LIST-BASED representations because they are OPAQUE.

2. Your `particular aspect of behaviour of the underlying
implementation' is as good as any other aspect of behaviour that ANY
implementation may choose --- in implementing defstruct redefinition,
which is defined to have undefined consequences. This means that
ANY[1a] INTERPRETATION of UNDEFINED consequences is JUST AS STRONGLY
indicative that "real defstruct instances" with OPAQUE representation
is NOT list-based.

[1a] with the exceptions where an implementation specifically changes the
representation from of a "real defstruct" from a opaque represenatation
to a list, just to spite you, but these do not exist]

IOW Your `strong indication' does not follow from the specific behaviour
of "undefined consequences" but from definitions.

3.Your last claim that ``The fact that redefining the struct in the way
that I did causes existing instances to behave in the that they do is
strongly indicative that the underlying implementation is neither a
PList nor Alists'', works because the specific behaviour Only
indicates a representation of real defstructs that suggests it is
Opaque (and therefore not plists or alists).

But when I asked this question earlier you dismissed this with a "No."
See [POINT-FOO] above.


| BTW, the example works (insofar as the results indicate what I
| intended for them indicate) in CLisp and SBCL as well. So while the
| behavior may be "undefined" in terms of the standard, my example turns
| out to be quite robust with respect to existing practice.


But still irrelevant to the `clue' you were going to give to
Matt-with-no-surname.

--
Madhu