There are 235 messages in this thread.
You are currently looking at messages 90 to 100.
Charles Richmond wrote: > (see below) wrote: >> On 23/02/2010 17:48, in article >> 4...@z25g2000vbb.googlegroups.com, "Eric >> Chomko" <p...@comcast.net> wrote: >> >> [snip...] [snip...] [snip...] >> >>> Speaking of ALGOL parameter passing, what's a "thunk"? >> >> A thunk is the anonymous function (pair) described above. >> > > A "thunk" was a method of implementing "call by name". > http://www.jargon.net/jargonfile/t/thunk.html -- +----------------------------------------+ | Charles and Francis Richmond | | | | plano dot net at aquaporin4 dot com | +----------------------------------------+______________________________
On 23/02/2010 22:35, in article hm1l73$q4q$1...@news.eternal-september.org, "Charles Richmond" <f...@tx.rr.com> wrote: > (see below) wrote: >> On 23/02/2010 17:48, in article >> 4...@z25g2000vbb.googlegroups.com, "Eric >> Chomko" <p...@comcast.net> wrote: >> >> [snip...] [snip...] [snip...] >> >>> Speaking of ALGOL parameter passing, what's a "thunk"? >> >> A thunk is the anonymous function (pair) described above. >> > > A "thunk" was a method of implementing "call by name". Strangely, enough, that is precisely what I said. -- Bill Findlay <surname><forename> chez blueyonder.co.uk
In article <C7AA0F62.137643%y...@blueyonder.co.uk>, (see below) <y...@blueyonder.co.uk> wrote: >On 23/02/2010 22:35, in article hm1l73$q4q$1...@news.eternal-september.org, >"Charles Richmond" <f...@tx.rr.com> wrote: > >> (see below) wrote: >>> On 23/02/2010 17:48, in article >>> 4...@z25g2000vbb.googlegroups.com, "Eric >>> Chomko" <p...@comcast.net> wrote: >>> >>> [snip...] [snip...] [snip...] >>> >>>> Speaking of ALGOL parameter passing, what's a "thunk"? >>> >>> A thunk is the anonymous function (pair) described above. >>> >> >> A "thunk" was a method of implementing "call by name". > >Strangely, enough, that is precisely what I said. Or rather, to be pedantic, "what you had said, precisely".______________________________
In comp.arch.fpga Charles Richmond <f...@tx.rr.com> wrote: > (see below) wrote: >> On 23/02/2010 17:48, in article >> 4...@z25g2000vbb.googlegroups.com, "Eric >> Chomko" <p...@comcast.net> wrote: >> [snip...] [snip...] [snip...] >>> Speaking of ALGOL parameter passing, what's a "thunk"? >> A thunk is the anonymous function (pair) described above. > A "thunk" was a method of implementing "call by name". Much of the discussion about ALGOL, including this, is in the past tense. As ALGOL60 hasn't changed recently, and the compilers still exist, even if new ones aren't being written, it seems to me that present tense is fine. A "thunk" is a method of implementing "call by name". More to the hardware side, an archetecture still exists even if no implementations of it exist. (Though in most cases at least one still does.) The PDP8 still IS a 12 bit machine, even if you implement it in an FPGA. -- glen -- glen______________________________
glen herrmannsfeldt wrote: > > More to the hardware side, an archetecture still exists even > if no implementations of it exist. (Though in most cases at > least one still does.) The PDP8 still IS a 12 bit machine, > even if you implement it in an FPGA. > Glad to see I'm not the only one who puzzles over the correct tense;-) I tend to use past tense for something I don't think too much of, and present tense for stuff IO like.
On Feb 23, 5:37=A0pm, Charles Richmond <friz...@tx.rr.com> wrote: > Charles Richmond wrote: > > (see below) wrote: > >> On 23/02/2010 17:48, in article > >> 4178548f-5618-49dd-ad72-008bdb53e...@z25g2000vbb.googlegroups.com, "Er= ic > >> Chomko" <pne.cho...@comcast.net> wrote: > > >> =A0 =A0[snip...] =A0 =A0 =A0 =A0 =A0 =A0[snip...] =A0 =A0 =A0 =A0 =A0 = =A0[snip...] > > >>> Speaking of ALGOL parameter passing, what's a "thunk"? > > >> A thunk is the anonymous function (pair) described above. > > > A "thunk" was a method of implementing "call by name". > > http://www.jargon.net/jargonfile/t/thunk.html > Thanks for the above reference. It had everything except "throwing functions" as thunk, which is how I had heard it referenced.
On Feb 23, 2:07=A0pm, "(see below)" <yaldni...@blueyonder.co.uk> wrote: > On 23/02/2010 17:52, in article > 3ec03225-3a0f-4bcd-9db1-51201d1b3...@w12g2000vbj.googlegroups.com, "Eric > > Chomko" <pne.cho...@comcast.net> wrote: > > But an ALGOL "activation record" (stack frame) had a lot more than > > that. As I recall, they copied a lot more just pointers and parameter > > values. > > Just the usual red tape: return address, frame pointer of caller; and eit= her > a static pointer or some housekeeping for 'display' registers (if used) t= o > access non-locals. But bear in mind that in decent languages arrays are > storable values, so a value array parameter gets copied in toto, unlike C= . > Are you saying that C doesn't implement true recursion? I have only used recursion in college and not with C. ALGOL, SIMPL-T and LISP were the only languages I used to write recursive algorithms.
glen, "More to the hardware side, an architecture still exists even if no implementations of it exist. (Though in most cases at least one still does.) " Can you list them fully? I am interested in them. Weng
(see below) wrote: > > Just the usual red tape: return address, frame pointer of caller; and either > a static pointer or some housekeeping for 'display' registers (if used) to > access non-locals. But bear in mind that in decent languages arrays are > storable values, so a value array parameter gets copied in toto, unlike C. It will be in C if the array is wrapped in a struct. Letting array parameters decay to pointers was a feature of early C that couldn't be changed for historical reasons, but when the standardization committee added support for struct parameters, they made them first-class. struct (and not the misnamed "typedef") is C's mechanism for creating new types and ADTs, so if you want a pass-by-value array in C, the correct thing to do is to put it in a struct. This is not to say that C's parameter passing doesn't still have a number of infelicities. Exposing the use of pointers to implement pass-by-reference (which C lacks, strictly speaking) has some advantages, but it has led to great confusion over matters like the const and restrict qualifiers. -- Michael Wojcik Micro Focus Rhetoric & Writing, Michigan State University______________________________
On 24/02/2010 19:31, in article d...@o16g2000prh.googlegroups.com, "Eric Chomko" <p...@comcast.net> wrote: > On Feb 23, 2:07 pm, "(see below)" <yaldni...@blueyonder.co.uk> wrote: >> On 23/02/2010 17:52, in article >> 3ec03225-3a0f-4bcd-9db1-51201d1b3...@w12g2000vbj.googlegroups.com, "Eric >> >> Chomko" <pne.cho...@comcast.net> wrote: >>> But an ALGOL "activation record" (stack frame) had a lot more than >>> that. As I recall, they copied a lot more just pointers and parameter >>> values. >> >> Just the usual red tape: return address, frame pointer of caller; and either >> a static pointer or some housekeeping for 'display' registers (if used) to >> access non-locals. But bear in mind that in decent languages arrays are >> storable values, so a value array parameter gets copied in toto, unlike C. > >> > > Are you saying that C doesn't implement true recursion? I have only > used recursion in college and not with C. ALGOL, SIMPL-T and LISP were > the only languages I used to write recursive algorithms. > No. I'm at a loss as to how you could put that interpretation on it. I'm saying that array parameters in C are not called by value, but they are in Algol 60 and cognate languages, requiring more stack space than C does. -- Bill Findlay <surname><forename> chez blueyonder.co.uk______________________________