Thanks, Roger.  Kip

Sent from my iPad


On Feb 2, 2013, at 10:14 AM, Roger Hui <[email protected]> wrote:

> See *Programming Style in APL <http://www.jsoftware.com/papers/APLStyle.htm> ,
> *by Ken Iverson in 1978.
> 
> 
> On Sat, Feb 2, 2013 at 6:15 AM, km <[email protected]> wrote:
> 
>> Consider comparing the writing of J to the writing of English.  What would
>> be in your "Strunk and White" for the writing of J?
>> 
>> (The Elements of Style by William Strunk, Jr and E B White is a "writing"
>> book.  Famously brief, it discusses rules for writing correctly and well.)
>> 
>> Kip
>> 
>> Sent from my iPad
>> 
>> 
>> On Feb 2, 2013, at 7:38 AM, Raul Miller <[email protected]> wrote:
>> 
>>> While I am comparing the learning of J to the learning of english:
>>> 
>>> Do we have grammar school students learn english by asking them to
>>> only use [insert grammatical structure here]?  Why or why not?
>>> 
>>> If so, how well does that work?
>>> 
>>> If not, what do we do instead?
>>> 
>>> Thanks,
>>> 
>>> --
>>> Raul
>>> 
>>> On Sat, Feb 2, 2013 at 2:13 AM, Linda Alvord <[email protected]>
>> wrote:
>>>> Also, this has only forks:
>>>> 
>>>> 
>>>> 
>>>> 5!:4 <'t1'
>>>> 
>>>>     ┌─ 2
>>>> ┌───┼─ {.
>>>> │   └─ [
>>>> ├─ $
>>>> │        ┌─ [:
>>>> ──┤   ┌────┼─ ;
>>>> │   │    └─ ]
>>>> │   ├─ /:
>>>> └───┤    ┌─ [:
>>>>     │    ├─ ;
>>>>     └────┤    ┌─ [:
>>>>          │    ├─ /. ─── <
>>>>          └────┤
>>>>               │      ┌─ [:
>>>>               └──────┼─ i.
>>>>                      └─ [
>>>> 
>>>> 
>>>> 
>>>> This has both forks and hooks:
>>>> 
>>>> 
>>>> 
>>>>  5!:4 <'t2'
>>>> 
>>>>     ┌─ 2
>>>> ┌───┼─ {.
>>>> │   └─ [
>>>> ├─ $
>>>> ──┤   ┌─ ]
>>>> │   │     ┌─ /:
>>>> │   ├─ & ─┴─ ;
>>>> └───┤
>>>>     │     ┌─ [:
>>>>     │     ├─ /. ─── <
>>>>     └─────┤
>>>>           │      ┌─ [:
>>>>           └──────┼─ i.
>>>>                  └─ [
>>>> 
>>>> 
>>>> 
>>>> Linda
>>>> 
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: [email protected] [mailto:programming-
>>>> [email protected]] On Behalf Of Linda Alvord
>>>> Sent: Saturday, February 02, 2013 2:00 AM
>>>> To: [email protected]
>>>> Subject: Re: [Jprogramming] inverse oblique
>>>> 
>>>> 
>>>> 
>>>> I remember fondly how Ken loved to read the unabridged dictionary.
>> Richness
>>>> of the language and the derivations of the words was a joyous experience
>>>> for him.  The J language has this same richness.
>>>> 
>>>> 
>>>> 
>>>> For students coming to the language with years of mathematical
>> background
>>>> in abstract algebra, calculus, differential equations and the like, they
>>>> are ready t o jump easily to abstract combinations.
>>>> 
>>>> 
>>>> 
>>>> I keep thinking in terms of the long time it takes high school students
>> to
>>>> master functional notation like  f(x)  and  g(x).
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> To get from  t1 to t2 requires and "idiom"  x u&v y ↔ (v x) u (v y)
>>>> 
>>>> 
>>>> 
>>>> t1=: 13 :'(2{.x)$(;y)/:;</.i.x'
>>>> 
>>>> t2=: 13 :'(2{.x)$y/:&;</.i.x'
>>>> 
>>>> 
>>>> 
>>>> So although t1 is longer than t2,  t2 is more condensed and compex.
>> This
>>>> is why I say easier:
>>>> 
>>>> 
>>>> 
>>>>   t1
>>>> 
>>>> (2 {. [) $ ([: ; ]) /: [: ; [: </. [: i. [
>>>> 
>>>>   t2
>>>> 
>>>> (2 {. [) $ ] /:&; [: </. [: i. [
>>>> 
>>>> 
>>>> 
>>>> The condensed spacing of  /:&;  gives away the increased complexity of
>> the
>>>> second tacit version.
>>>> 
>>>> 
>>>> 
>>>> My guess is that you would spend less time reading the dictionary to
>> master
>>>> 
>>>> t1 than t2.
>>>> 
>>>> 
>>>> 
>>>> Linda
>>>> 
>>>> 
>>>> 
>>>> -----Original Message----- wo
>>>> 
>>>> From:  <mailto:[email protected]> programming-
>>>> [email protected] [mailto:programming-
>>>> <mailto:[email protected]> [email protected]] On
>>>> Behalf Of Raul Miller
>>>> 
>>>> Sent: Friday, February 01, 2013 9:20 AM
>>>> 
>>>> To:  <mailto:[email protected]> [email protected]
>>>> 
>>>> Subject: Re: [Jprogramming] inverse oblique
>>>> 
>>>> 
>>>> 
>>>> How do you define "easier"?
>>>> 
>>>> 
>>>> 
>>>> In my opinion, it's easier to go from simple (fewer tokens) to complex
>>>> (more tokens), but also someone has to write the code to do the
>>>> transformation and until that's been done even this concept of "easier"
>> can
>>>> be indistinguishable from "can't be done".
>>>> 
>>>> 
>>>> 
>>>> --
>>>> 
>>>> Raul
>>>> 
>>>> 
>>>> 
>>>> On Fri, Feb 1, 2013 at 5:05 AM, Linda Alvord <
>>>> <mailto:[email protected]> [email protected]>
>>>> 
>>>> wrote:
>>>> 
>>>>> If t1 is easy tacit and t2 is advanced tacit, wouldn't it be easier
>>>> 
>>>>> for  J to figure  t2  from  t1  than it is for me?
>>>> 
>>>> 
>>>>>   t=: 5 7 2 ?@$ 1e6
>>>> 
>>>>>   s=: $t
>>>> 
>>>>>   x=: </.t
>>>> 
>>>>>  t1=: 13 :'(2{.x)$(;y)/:;</.i.x'
>>>> 
>>>>>  t-:s f x
>>>> 
>>>>> 1
>>>> 
>>>>>  t2=: 13 :'(2{.x)$y/:&;</.i.x'
>>>> 
>>>>>  t-:s g x
>>>> 
>>>>> 1
>>>> 
>>>>>  t1
>>>> 
>>>>> (2 {. [) $ ([: ; ]) /: [: ; [: </. [: i. [
>>>> 
>>>>>  t2
>>>> 
>>>>> (2 {. [) $ ] /:&; [: </. [: i. [
>>>> 
>>>> 
>>>>> Or is that just wishful thinking?
>>>> 
>>>> 
>>>>> Linda
>>>> 
>>>> 
>>>> 
>>>>> -----Original Message-----
>>>> 
>>>>> From:  <mailto:[email protected]> programming-
>>>> [email protected]
>>>> 
>>>>> [ <mailto:[email protected]> mailto:
>> programming-
>>>> [email protected]] On Behalf Of Roger
>>>> 
>>>>> Hui
>>>> 
>>>>> Sent: Thursday, January 31, 2013 1:49 PM
>>>> 
>>>>> To: Programming forum
>>>> 
>>>>> Subject: Re: [Jprogramming] inverse oblique
>>>> 
>>>> 
>>>>>  t -: (2{.s) $ x /:&; </.i.s
>>>> 
>>>>> 1
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> On Thu, Jan 31, 2013 at 10:47 AM, Roger Hui
>>>> 
>>>>> < <mailto:[email protected]> [email protected]>wrote:
>>>> 
>>>> 
>>>>>>  t=: 5 7 2 ?@$ 1e6
>>>> 
>>>>>>  s=: $t
>>>> 
>>>>>>  x=: </.t
>>>> 
>>>> 
>>>>>>  t -: (2{.s) $ (;x)/:;</.i.s
>>>> 
>>>>>> 1
>>>> 
>>>> 
>>>> 
>>>> 
>>>>>> On Thu, Jan 31, 2013 at 10:28 AM, Raul Miller
>>>> 
>>>>> < <mailto:[email protected]> [email protected]>wrote:
>>>> 
>>>> 
>>>>>>> Let's start with an arbitrary array:
>>>> 
>>>> 
>>>>>>>  A=: i. 2 3
>>>> 
>>>> 
>>>>>>> We can box oblique lines from this array:
>>>> 
>>>> 
>>>>>>>  </. A
>>>> 
>>>>>>> +-+---+---+-+
>>>> 
>>>>>>> |0|1 3|2 4|5|
>>>> 
>>>>>>> +-+---+---+-+
>>>> 
>>>> 
>>>>>>> However, the interpreter does not currently provide us with an
>>>> 
>>>>>>> inverse for this operation:
>>>> 
>>>> 
>>>>>>>  </.inv </. A
>>>> 
>>>>>>> |domain error
>>>> 
>>>> 
>>>>>>> One problem is that you cannot uniquely determine the first two
>>>> 
>>>>>>> elements of the shape of the original array by inspecting </.'s
>>>> 
>>>>>>> result:
>>>> 
>>>> 
>>>>>>>  (</. 5 7$0) -: </.7 5$0
>>>> 
>>>>>>> 1
>>>> 
>>>> 
>>>>>>> If its shape is provided, how might we reconstruct the original
>> array?
>>>> 
>>>> 
>>>>>>> [For the sake of simple code, it's ok to focus on numeric, rank 2
>>>> 
>>>>>>> arrays.]
>>>> 
>>>> 
>>>>>>> --
>>>> 
>>>>>>> Raul
>>>> 
>>>>>>> --------------------------------------------------------------------
>>>> 
>>>>>>> -
>>>> 
>>>>>>> - For information about J forums see
>>>> 
>>>>>>> <http://www.jsoftware.com/forums.htm>
>>>> http://www.jsoftware.com/forums.htm
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> ----------------------------------------------------------------------
>>>> 
>>>>> For information about J forums see  <
>> http://www.jsoftware.com/forums.htm>
>>>> http://www.jsoftware.com/forums.htm
>>>> 
>>>> 
>>>>> ----------------------------------------------------------------------
>>>> 
>>>>> For information about J forums see  <
>> http://www.jsoftware.com/forums.htm>
>>>> http://www.jsoftware.com/forums.htm
>>>> 
>>>> ----------------------------------------------------------------------
>>>> 
>>>> For information about J forums see  <
>> http://www.jsoftware.com/forums.htm>
>>>> http://www.jsoftware.com/forums.htm
>>>> 
>>>> 
>>>> 
>>>> ----------------------------------------------------------------------
>>>> 
>>>> For information about J forums see  <
>> http://www.jsoftware.com/forums.htm>
>>>> http://www.jsoftware.com/forums.htm
>>>> 
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to