Google Groups Home
Help | Sign in
Message from discussion Terminology: Thunking vs Quoting
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Scott Prouty  
View profile
 More options Apr 5 2007, 3:30 pm
From: "Scott Prouty" <scott.pro...@solimarsystems.com>
Date: Thu, 05 Apr 2007 12:30:01 -0700
Local: Thurs, Apr 5 2007 3:30 pm
Subject: Re: Terminology: Thunking vs Quoting

On Apr 4, 3:42 pm, "Christopher Diggins" <cdigg...@gmail.com> wrote:

> On 4/4/07, Scott Prouty <scott.pro...@solimarsystems.com> wrote:

> > I kind of like "qv".   When I encountered just "quote", it made me
> > think of what "quote" meant in other langauges and I tried to reconcile its
> > meaning

> Out of curiosity, what are the different interpretations you can think
> of for the following statements given your previous experience of
> quote:

> 5 quote
> [f] quote

Actually, since I have no experience of an operator named "quote",
my mind grabbed for the next closest thing which was that quotes
(i.e. the ") are used to delimit strings.  That thought kept getting
in the way of what "quote" really is in Cat.

The "qv" seems to not evoke any connotations, so it is easier
for me to just concentrate on what it is...

> To be honest I never learned a "quote" operator in any other language
> prior to adding it to Cat and asking the question. I come from a
> primarily imperative background. I like Manfred von Thun's (the Joy
> language designer) nomenclarature of "quotations" to refer to
> anonymous functions. Joy doesn't differentiate between lists and
> functions, wheras Cat does, so I had to come up with a new operator.
> This lead me to create "quote", which seemed apropos given the path I
> followed.

Well, looking at the Cat documentation, you do say that [ and ]
are quotation constructs.  Hence, "quote" would follow from that
description.  But for me, in PostScript, this would be
called constructing an "executable array" (or more
commonly called a "procedure").

> I may make the "qv" the official term, and leave "quote" in the
> library for posterity. Heck I will probably even add "constantly" to
> the library just for the lispers. :-) Maybe programmers will come to
> prefer one over another. The only concern I have with "qv" is how
> cryptic it may seem (but I do like its brevity), however I am hoping
> that it won't come up frequently. People would be more likely to use
> "curry" than doing actual quoting, interestingly enough, given a curry
> one can define "qv" as "[id] curry", but I do it the other way around
> "curry = [qv] dip compose". Quoting just seems to me to be more
> primitive than currying.

I agree.  However, I do have a question about this.  It seems that
everything on the stack in Cat is a function, correct?  So a 5 on
the stack is really a function that returns the integer 5.  So what
use would "quote" really be?  Or is there really a distinction between
what kind of objects are on the stack?

> The hardest part of designing a language might simply be finding names
> for things!

It is your language, so you can be as creative as you want.  Sometimes
it might be good to signal that some functionality is really
different, so
a quirky name like "qv" or "fconv" might be just the ticket...

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google