Newsgroups: comp.lang.apl
From: randy@godin.on.ca (Randy A MacDonald)
Subject: Re: Pinheads and diction...
Message-ID: <m1994.9.14.1.53.27@godin.on.ca>
Originator: daemon@watserv1.uwaterloo.ca
Sender: news@watserv1.uwaterloo.ca
Nntp-Posting-Host: watserv1.uwaterloo.ca
Organization: Godin London incorporated
Date: Wed, 14 Sep 1994 06:53:22 GMT
Lines: 103


In <GURR.94Sep12202812@swag.0> David Gurr types:

><|   I suspect your laughter comes from your pinhead-language inspired idea o
     what an "argument" is.

> Jay is the wrong person to be calling a pin-head.  Do check out the NESL
> docs.  APL it is not, and I was initially not very impressed by the fact
> that it was only 1D arrays, BUT the lessons to be learned from NESL on
> how to compile, especially how to compile nested array code are very
> pertenent to APL.

~'pinhead language inspired' = 'Jay is pinhead'

pinhead language = language where functions can only return scalar
   (read small, read pin-head) results, and you K**w d**m w**l pointer
   schizophrenia does NOT count.

(LISP APL SMALLTALK..) "subsetof" non-pinhead languages

BTW, what IS the URL for the NESL docs?

   Actually someone pointed out that two arguments
   are actually more than that is needed. (I think his name was Codd,

> Codd is relational data bases.

Codd is "all relations are expressible as (rank 2) tables"
  which is equiv. to "Functions only need one argument"

> Use of various FP systems has lead
> more than one user to conclude that automatic Currying of functions is
> not always helpful in program developement.

.. if of course you identify the components of the argument as "component 1"
  component 2, ad nauseum.  Property list arguments never occur to you?

> Furthermore APL's del
> editor does not help with writing Curryed functions.

Who uses del-editors? They don't help with much of anything.

>   NOT TRUE!  Object Orientation is NOT a language property. It is a language
>   ENVIRONMENT property.  An OO-APL can be constructed COMPLETELY from elemen
>   that exist in any 2nd generation (i.e. nested/boxed) APL. OO requires NO
>   radical change to APL.

>Uhhh, would you care to explain (or better yet code) a meta-object protocol
>in APL2?  I'll grant that one can write OO style stuff in APL2, but there is
>a more than small gap between the OO in APL that I have seen and a full
>OOS like CLOS.

Do you mean, code Chapter 16 of Goldberg & Robson?  Do I want to reproduce a
property of a specific OO system.  Why bother?  What you have seen, I expect
is someone trying to reproduce Smalltalk, or some such thing in APL.

I don't need that.  APL is bread and butter; we're some of the few for whom
it is. I just want to use any X in

   R #is edit X

 or, to be "formal"

   R #is 'edit' to X

 where "to" is the "mercurial" function.


>    Later...
>   ---------------------------------------------------------------------
>   |\/| Randy A MacDonald       |"You just ASK them?"
>   |\\| randy@godin.on.ca       |        Richard P. Feynmann
>        BSc(Math) UNBF '83      | APL: If you can say it, it's done.
>        Natural Born APL'er     |
>   ------------------------------------------------------------{ gnat }-
??? echoed signatures waste bandwidth....


> Re: APL: If you can say it, it's done.

> Try saying

> (define foo
>    (lambda (n)
>       (lambda (f)
>          (lambda (x)
>             (f n x)))))

You coded it, so why don't you say it? Actually it looks some sort of
"APL-operator" to me.  Actually, let me ponder this... igbty.

> Other languages have some tricks we ought to learn.

But APL has more tricks they ought to learn. wyp?

Later...
---------------------------------------------------------------------
|\/| Randy A MacDonald       |"You just ASK them?"
|\\| randy@godin.on.ca       |        Richard P. Feynmann
     BSc(Math) UNBF '83      | APL: If you can say it, it's done.
     Natural Born APL'er     |
------------------------------------------------------------{ gnat }-

