From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5c89acd494ea9116 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Self pointer in limited record Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1183577468.034566.57830@n60g2000hse.googlegroups.com> <1188578849.187422.280620@50g2000hsm.googlegroups.com> <9fy1xoukz1e3$.h574sqmiauri$.dlg@40tude.net> <46d968ee$0$30368$9b4e6d93@newsspool4.arcor-online.net> <137iu0lr82dtb$.wqy3zjz2vr9q.dlg@40tude.net> <46d972e8$0$30384$9b4e6d93@newsspool4.arcor-online.net> <1alyfwaig93sk$.99oy269uon$.dlg@40tude.net> <46d9c138$0$4531$9b4e6d93@newsspool3.arcor-online.net> <1rt8kdcrj6tf.1qgvycc6vh357$.dlg@40tude.net> <46db2bf4$0$7699$9b4e6d93@newsspool2.arcor-online.net> <1188816674.2630.25.camel@kartoffel.vocalweb.de> <9cdmw7k85sey.85sb2t1bjefy$.dlg@40tude.net> <1mbajw59c3eir.jyl8bdp6qvj8.dlg@40tude.net> <1188850449.2630.60.camel@kartoffel.vocalweb.de> Date: Tue, 4 Sep 2007 10:24:44 +0200 Message-ID: <1aza6nzawgcnm.sf76q4dvzw4n$.dlg@40tude.net> NNTP-Posting-Date: 04 Sep 2007 10:24:18 CEST NNTP-Posting-Host: ed4ab8e9.newsspool3.arcor-online.net X-Trace: DXC=`;KKlX8:B1^1`E>oC;JXEZMcF=Q^Z^V3X4Fo<]lROoRQ^;5]aA^R6>RnA;SO3Eo^o^[6LHn;2LCV^[ On Mon, 03 Sep 2007 22:14:09 +0200, Georg Bauhaus wrote: > On Mon, 2007-09-03 at 21:17 +0200, Dmitry A. Kazakov wrote: >> On Mon, 03 Sep 2007 17:55:33 +0200, Jean-Pierre Rosen wrote: >> >>> Dmitry A. Kazakov a �crit : >>>> It is difficult to see how an abstract state machine is not a type. The >>>> very word abstract assumes generalization, reuse and instances. It is types >>>> and generics, the tools to express the idea of instances. >>>> >>> Sorry, but I beg to disagree here. >>> >>> Abstraction is about the reduction of a real world objet to those >>> elements that are relevant for a given point of view. >> >> Of just one object? I think that an abstraction always apply to a set of >> things. What could be an abstraction of Spike, the dog? > > (Hope you don't mind be stepping in here.) > > The abstraction could be: Those elements of Spike that are relevant > for the given point of view on Spike? "Elements of Spike" is plural. Do you abstract Spike or its elements? > I wonder, though, why then we can still talk about abstract data > type and abstract state machine. Abstract data type is an abstraction of concrete data types. Abstract state machine is an abstraction of concrete state machines. >>> A singleton is an abstraction of a single object, and does not need a >>> type. I don't see anything in the word abstract that assumes generalization. >> >> There is little abstraction in being alone. This is actually the reason why >> no type is need for a singleton: no abstraction, no instances, no type. > > Is there little abstraction in being alone (hm, who said that being > along is the source of the thing being an abstract?) > or is there no abstraction? > >> In my view an abstract state machine has nothing to do with singletons. A >> state machine might be a singleton, per chance. > > Could you say what you mean by "having nothing to do with"? Let A, B be two concepts defined as subsets of some common domain set X. _def_ A has nothing to do with B = not (A in B or B in A) in = equal or subset of if � were a truth-valued set measure chosen on X, then having �A you could not deduce anything certain about �B and reverse: not (�A |= �B or �B |= �A) Neither implies another. Was that enough pedantic? (:-)) >> But an *abstract* state >> machine is definitely a type that generalizes many concrete state machines. > > By what definition of type is an ASM a type that generalizes many > concrete state machines (=what, in Ada terms?)? type State is (...); type Transition_Relation is array (State, State) of Boolean; type ASM is private; function Create (Initial : State; Wiring : Transition_Relation) return ASM; procedure Step (Machine : in out ASM; Input : State); This machine is abstract because its wiring is a parameter (abstracted). The set of states can also be abstracted, but I wished not to complicate otherwise obvious, I hope, things. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de