Re: MAKE-INSTANCE and STRUCTURE-CLASS
"Marco Antoniotti (as marco dot antoniotti at unimib dot it)" <[email protected]> Mon, 6 Jul 2026 17:29:42 +0200
| Newsgroups | gmane.lisp.lispworks.general,gmane.lisp.cl-pro |
|---|---|
| Message-ID | <CAG0Nw2kaoktukemiUFxTvdcBbu-sy+CMUCSdV2_wLKwZ462Nyg@mail.gmail.com> |
--0000000000008440110655f2f2db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The Rust and the Julia docs have replaced those economies :) On Mon, Jul 6, 2026 at 5:25=E2=80=AFPM Tim Bradshaw <[email protected]> wrote: > ... and it is 2062 and the length of the standard text will no longer fit > in a fixnum in several implementations. A recent abortive attempt was ma= de > to print it: there are strong suspicions that this was an in fact mostly > manipulation of the stock prices of paper companies. > > No implementation has made any attempt to conform since 2016: it is > estimated that the construction of a conforming implementation is still > possible in the sense that sufficient storage does exist. > > Automated analysis reveals that the number of inconsistencies still to be > resolved has been growing faster than the size of the text for > some years and will exceed its absolute size within a decade. > > Three major economies have collapsed as a direct result of resources spen= t > on the standard. > > On 6 Jul 2026, at 15:59, Marco Antoniotti <[email protected]> > wrote: > > =EF=BB=BF > Of course, of course. > > And yet... why don't we have a STRUCT-FIELDS and a STRUCT-CONSTRUCTORS? > (Etc, etc etc) > > My answer is "because they punted" =F0=9F=A5=B9 > > Cheers > > Marco > > > On Mon, Jul 6, 2026 at 4:56=E2=80=AFPM Tim Bradshaw <[email protected]> wrote: > >> On 6 Jul 2026, at 15:15, Marco Antoniotti <[email protected]> >> wrote: >> > >> > my question was about "how can you do this in the least gross way?" >> >> To which my answer is 'the only non-gross way is to not do that: use >> constructor functions passed as arguments instead'. >> >> Obviously that is not what everyone wants to do. >> >> > The question is "how"? >> >> Same answer. >> >> > And the sub question is "why the standard writers punted on this?". >> Because, IMHO, they did. >> >> I don't know. I know why I would have. That's because any answer I can >> think of leads you into a tangled mess. >> >> For instance here's an answer: >> >> 'There should be a method on make-instance for structure-class which >> calls the constructor for the class given. There is no initialization o= r >> reinitialization protocol, [or may be there is?]'. >> >> OK. My structure definition has six constructors: which should be >> called? My other structure definition has a strictly BOA constructor: h= ow >> does this get mapped onto make-instance's signature, if at all? My othe= r >> structure definition has no constructors: is this an error? >> >> Should defstruct be extended compatibly to specify which constructor is >> called, which can't be a strictly BOA constructor? What are the >> implementors going to say when we suggest that? >> >> And on and on and more and more complicated. And now it's 2007 and the >> spec still hasn't been published. >> >> Or just don't. Just ship the spec as it is. >> >> And over here tfb is waving his hands and saying 'stop already, just pas= s >> in a constructor function'. >> >> --tim > > > > -- > Marco Antoniotti, Professor, Director tel. +39 - 02 64 48 79 01 > DISCo, University of Milan-Bicocca U14 2043 http://dcb.disco.unimib.it > Viale Sarca 336 > I-20126 Milan (MI) ITALY > > REGAINS: https://regains.disco.unimib.it/ > > --=20 Marco Antoniotti, Professor, Director tel. +39 - 02 64 48 79 01 DISCo, University of Milan-Bicocca U14 2043 http://dcb.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY REGAINS: https://regains.disco.unimib.it/ --0000000000008440110655f2f2db Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">The Rust and the Julia docs have replaced those economies = :)</div><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"lt= r" class=3D"gmail_attr">On Mon, Jul 6, 2026 at 5:25=E2=80=AFPM Tim Bradshaw= <<a href=3D"mailto:[email protected]">[email protected]</a>> wrote:<br></div><= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"auto"><div dir= =3D"ltr"></div><div dir=3D"ltr">... and it is 2062 and the length of the st= andard text will no longer fit in a fixnum in several implementations.=C2= =A0 A recent abortive attempt was made to print it: there are strong suspic= ions that this was an in fact mostly manipulation of the stock prices of pa= per companies.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">No implemen= tation has made any attempt to conform since 2016: it is estimated that the= construction of a conforming implementation is still possible in the sense= that sufficient storage does exist.</div><div dir=3D"ltr"><br></div><div d= ir=3D"ltr">Automated analysis reveals that the number of inconsistencies st= ill to be resolved has been growing faster than the size of the text for</d= iv><div dir=3D"ltr">some years and will exceed its absolute size within a d= ecade.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">Three major economi= es have collapsed as a direct result of resources spent on the standard.</d= iv><div dir=3D"ltr"><br><blockquote type=3D"cite">On 6 Jul 2026, at 15:59, = Marco Antoniotti <<a href=3D"mailto:[email protected]" target= =3D"_blank">[email protected]</a>> wrote:<br><br></blockquote><= /div><blockquote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div dir=3D"ltr"><= div><div><div>Of course, of course.<br><br></div>And yet... why don't w= e have a STRUCT-FIELDS and a STRUCT-CONSTRUCTORS? (Etc, etc etc)<br><br></d= iv>My answer is "because they punted"=C2=A0=F0=9F=A5=B9<br><br></= div><div>Cheers</div><div><br></div><div>Marco</div><div><br></div></div><b= r><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, = Jul 6, 2026 at 4:56=E2=80=AFPM Tim Bradshaw <<a href=3D"mailto:tfb@cley.= com" target=3D"_blank">[email protected]</a>> wrote:<br></div><blockquote cla= ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid = rgb(204,204,204);padding-left:1ex">On 6 Jul 2026, at 15:15, Marco Antoniott= i <<a href=3D"mailto:[email protected]" target=3D"_blank">marco= [email protected]</a>> wrote:<br> > <br> > my question was about "how can you do this in the least gross way= ?"<br> <br> To which my answer is 'the only non-gross way is to not do that: use co= nstructor functions passed as arguments instead'.<br> <br> Obviously that is not what everyone wants to do.<br> <br> > The question is "how"?<br> <br> Same answer.<br> <br> > And the sub question is "why the standard writers punted on this?= ".=C2=A0 Because, IMHO, they did.<br> <br> I don't know.=C2=A0 I know why I would have.=C2=A0 That's because a= ny answer I can think of leads you into a tangled mess.<br> <br> For instance here's an answer:<br> <br> 'There should be a method on make-instance for structure-class which ca= lls the constructor for the class given.=C2=A0 There is no initialization o= r reinitialization protocol, [or may be there is?]'.<br> <br> OK.=C2=A0 My structure definition has six constructors: which should be cal= led?=C2=A0 My other structure definition has a strictly BOA constructor: ho= w does this get mapped onto make-instance's signature, if at all?=C2=A0= My other structure definition has no constructors: is this an error?<br> <br> Should defstruct be extended compatibly to specify which constructor is cal= led, which can't be a strictly BOA constructor?=C2=A0 What are the impl= ementors going to say when we suggest that?<br> <br> And on and on and more and more complicated.=C2=A0 And now it's 2007 an= d the spec still hasn't been published.<br> <br> Or just don't.=C2=A0 Just ship the spec as it is.<br> <br> And over here tfb is waving his hands and saying 'stop already, just pa= ss in a constructor function'.<br> <br> --tim</blockquote></div><div><br clear=3D"all"></div><br><span class=3D"gma= il_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signatur= e"><div dir=3D"ltr"><div><span style=3D"font-family:monospace">Marco Antoni= otti, Professor, Director =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tel. += 39 - 02 64 48 79 01<br>DISCo, University of Milan-Bicocca U14 2043=C2=A0=C2= =A0 <a href=3D"http://dcb.disco.unimib.it" target=3D"_blank">http://dcb.dis= co.unimib.it</a><br>Viale Sarca 336<br>I-20126 Milan (MI) ITALY<br><br></sp= an></div><span style=3D"font-family:monospace">REGAINS: <a href=3D"https://= regains.disco.unimib.it/" target=3D"_blank">https://regains.disco.unimib.it= /</a><br></span></div></div> </div></blockquote></div></blockquote></div><div><br clear=3D"all"></div><b= r><span class=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" cla= ss=3D"gmail_signature"><div dir=3D"ltr"><div><span style=3D"font-family:mon= ospace">Marco Antoniotti, Professor, Director =C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 tel. +39 - 02 64 48 79 01<br>DISCo, University of Milan-Bic= occa U14 2043=C2=A0=C2=A0 <a href=3D"http://dcb.disco.unimib.it" target=3D"= _blank">http://dcb.disco.unimib.it</a><br>Viale Sarca 336<br>I-20126 Milan = (MI) ITALY<br><br></span></div><span style=3D"font-family:monospace">REGAIN= S: <a href=3D"https://regains.disco.unimib.it/" target=3D"_blank">https://r= egains.disco.unimib.it/</a><br></span></div></div> --0000000000008440110655f2f2db-- _______________________________________________ Lisp Hug - the mailing list for LispWorks users [email protected] http://www.lispworks.com/support/lisp-hug.html