From me@nellardo.com Thu Jan 24 13:50:31 2002
Return-Path: <me@nellardo.com>
X-Sender: me@nellardo.com
X-Apparently-To: lojban@yahoogroups.com
Received: (EGP: mail-8_0_1_3); 24 Jan 2002 21:50:31 -0000
Received: (qmail 19614 invoked from network); 24 Jan 2002 21:50:31 -0000
Received: from unknown (216.115.97.171)
  by m6.grp.snv.yahoo.com with QMQP; 24 Jan 2002 21:50:31 -0000
Received: from unknown (HELO mail12.speakeasy.net) (216.254.0.212)
  by mta3.grp.snv.yahoo.com with SMTP; 24 Jan 2002 21:50:30 -0000
Received: (qmail 25141 invoked from network); 24 Jan 2002 21:50:30 -0000
Received: from unknown (HELO dsl027-135-047.nyc1.dsl.speakeasy.net) ([216.27.135.47]) (envelope-sender <me@nellardo.com>)
  by mail12.speakeasy.net (qmail-ldap-1.03) with SMTP
  for <lojban@yahoogroups.com>; 24 Jan 2002 21:50:30 -0000
Date: Thu, 24 Jan 2002 16:50:29 -0500
Subject: Re: lojban as a programming language [was Re: [lojban] Lojban for lay programmers]
Content-Type: text/plain; charset=US-ASCII; format=flowed
Mime-Version: 1.0 (Apple Message framework v480)
Cc: lojban@yahoogroups.com
To: Invent Yourself <xod@sixgirls.org>
In-Reply-To: <Pine.NEB.4.44.0201241529390.17492-100000@reva.sixgirls.org>
Message-Id: <622D38E9-1114-11D6-9015-003065B787D6@nellardo.com>
Content-Transfer-Encoding: 7bit
X-Mailer: Apple Mail (2.480)
From: Brook Conner <me@nellardo.com>
X-Yahoo-Group-Post: member; u=66018878
X-Yahoo-Profile: nellardo


On Thursday, January 24, 2002, at 03:36 pm, Invent Yourself wrote:
> We actually had a discussion about this a while ago. It revolved around
> the question: does lu'e la djan mean " "John" ", or "a symbol for 
> "John"";
> is it the symbol, or does it mean the symbol?

This is actually a different topic from lazy vs strict evaluation. The 
lazy/strict difference has to do with deciding when to change "lu'e 
<<parsed but unknown>>" to "lu'e la djan."

The meaning of lu'e is a matter of indirection, not time of evaluation. 
The action of lu'e when applied to a name seems pretty clear. Consider 
it this way: lu'e and la'e are inverses of each other. Thus:

la'e lu'e la djan. == lu'e la'e la djan. == la djan.

So lu'e la djan. is a pointer to "la djan." whatever that happens to be. 
In this case, it happens to be a name, which itself can be thought of as 
a pointer to the actual person we call djan. Thus, lu'e la djan. is a 
pointer to a pointer to the actual person djan. and la'e la djan. is the 
actual person. mi visko la'e la djan. I see John (for real, in the 
flesh, directly).


> In Lojban, I think ci'i gets treated just like any other member of 
> selma'o
> pa. And I find that refreshing.

As was noted, syntactically, it is a number. Treating it semantically 
like a number raises all sorts of hairy formal questions. Some 
programming languages have arbitrary precision arithmetic - 
factorial(50) in C just ain't a happy camper, as it has about three 
times as many digits as a 64-bit number:

Prelude> 2^64
18446744073709551616
Prelude> product [1..50]
30414093201713378043612608166064768844377641568960512000000000000

Other programming languages, like haskell (the above code is straight 
from hugs, the most common haskell interpreter), quite obviously have no 
real problem with really big numbers.

> At least it's simple than doing so with any other "full" language.

Any non-constructed language, certainly, as those typically have 
incomplete grammars (at best) and multiple meanings for any given word.

Brook


