Friends, you can lead a freshman to an idea but you can't make him think.

Sent from my iPad


On Feb 3, 2012, at 1:03 PM, Raul Miller <rauldmil...@gmail.com> wrote:

> I liked the reference which Roger Hui posted:
> http://www.jsoftware.com/papers/EvalOrder.htm which points out some of
> the ambiguities in PEMDAS.
> 
> -- 
> Raul
> 
> On Fri, Feb 3, 2012 at 1:55 PM, Devon McCormick <devon...@gmail.com> wrote:
>> You could also highlight the difference in complexity between the baroque -
>> http://en.cppreference.com/w/cpp/language/operator_precedence - and the
>> simple - "right to left".
>> 
>> On Fri, Feb 3, 2012 at 1:19 PM, Roger Hui <rogerhui.can...@gmail.com> wrote:
>> 
>>> You can point out that when there are 100 functions a hierarchy like that
>>> is unwieldy.  See also Ken's paper from 1966, *Conventions governing order
>>> of evaluation* <http://www.jsoftware.com/papers/EvalOrder.htm>.
>>> 
>>> <http://www.jsoftware.com/papers/EvalOrder.htm>
>>> 
>>> On Fri, Feb 3, 2012 at 9:24 AM, km <k...@math.uh.edu> wrote:
>>> 
>>>> A big problem for college freshmen is that calculators tell them 2*3+4 is
>>>> 10 and J tells them 14.  With apologies to "South Pacific": they have
>>> been
>>>> carefully taught PEMDAS.
>>>> 
>>>> Sent from my iPad
>>>> 
>>>> 
>>>> On Feb 3, 2012, at 10:44 AM, Michael Dykman <mdyk...@gmail.com> wrote:
>>>> 
>>>>> This may sound trite, but
>>>>> 
>>>>> Who is the audience? Everyone who does math, be it for engineering,
>>>>> finance, or middle-school algebra. Interactive J should be
>>>>> approachable for a 10 year-old and would be a huge improvement over
>>>>> the calculators and spreadsheets in current use.
>>>>> 
>>>>> What do they already know about J? Nothing or less.  While I am
>>>>> occasionally surprised by the extent that J is used among very senior
>>>>> financial types, it is a fact that J remains deep in obscurity within
>>>>> the IT industry. I can't imagine that the picture is any clearer among
>>>>> educators.
>>>>> 
>>>>> What the want to know is how to do basic math with the console. What
>>>>> they need is enough of a foundation to begin exploring complex
>>>>> relationships.
>>>>> 
>>>>> I agree, Khan Academy provides an excellent model. If we (as a
>>>>> community) were ever fortunate enough to have Khan produce some
>>>>> introductory materials, usage would explode.
>>>>> 
>>>>> Having said that, shouldn't this thread be migrated to Chat?
>>>>> 
>>>>> - michael dykman
>>>>> 
>>>>> On Fri, Feb 3, 2012 at 11:02 AM, Dan Bron <j...@bron.us> wrote:
>>>>>> Hmm.  I could do a basic intro to J course at one of the NYC JUGs.  If
>>>> we
>>>>>> broadcast & record it, we could then post it on youtube.
>>>>>> 
>>>>>> The question is: who is the audience?  What do they already know about
>>>> J?
>>>>>> What do they want to know?
>>>>>> 
>>>>>> -Dan
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: programming-boun...@jsoftware.com
>>>>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of William
>>>> Tanksley, Jr
>>>>>> Sent: Friday, February 03, 2012 10:43 AM
>>>>>> To: Programming forum
>>>>>> Subject: Re: [Jprogramming] Demise of @ and [: debate
>>>>>> 
>>>>>> I'd love to see a youtube class on J. I'd download every episode as it
>>>>>> aired to my phone and watch it on the train, using my computer to do
>>>>>> experiments and take notes. That's what I do with "njwilberger"
>>>>>> rational trig and hyperbolic geometry lessons.
>>>>>> 
>>>>>> -Wm
>>>>>> 
>>>>>> On Fri, Feb 3, 2012 at 6:57 AM, Skip Cave <s...@caveconsulting.com>
>>>> wrote:
>>>>>>> A methodical approach to teaching J might be to group the primitives
>>>> into
>>>>>>> groups of similar functionality. Order these groups by complexity
>>>> (simple
>>>>>>> to complex), as well as perhaps ranking them by familiarity with
>>>>>>> already-learned concepts from traditional math classes, most familiar
>>>>>>> first.
>>>>>>> 
>>>>>>> With a learning sequence defined, spend a class on each group of
>>>>>>> primitives, starting with the simplest and most familiar functions
>>>> (+-*%,
>>>>>>> or perhaps = =. =:), and progress to the most complex and unfamiliar
>>>>>>> functions.You should probably start with direct execution, and
>>>> introduce
>>>>>>> verb creation after a few classes on basic primitives. Some class
>>> time
>>>>>>> should be spent on how to read and understand the vocabulary
>>>> definitions.
>>>>>>> 
>>>>>>> Homework for each class would focus on usage of that current classes'
>>>>>>> primitives, with previously-covered primitives thrown in for good
>>>> measure.
>>>>>>> The homework problems should be constructed to not require primitives
>>>> that
>>>>>>> haven't been covered yet (though nothing would prevent an advanced
>>>> student
>>>>>>> from looking ahead and trying them).
>>>>>>> 
>>>>>>> It would be interesting to create an online J class, much like the
>>> Khan
>>>>>>> Academy on youtube. In fact, if you really wanted to introduce J to
>>> the
>>>>>>> masses, create a math tutorial that follows and supports Khan's math
>>>>>>> tutorials, using J as the tool. This would be similar to Iverson's
>>>>>>> "Concrete Math Companion" which follows 'Concrete Mathematics'
>>> (Graham,
>>>>>>> Knuth, and Patashnik (GKP)).
>>>>>>> 
>>>>>>> Just a thought..
>>>>>>> 
>>>>>>> Skip
>>>>>>> 
>>>>>>> 
>>>>>>> On Fri, Feb 3, 2012 at 2:27 AM, Linda Alvord
>>>>>> <lindaalv...@verizon.net>wrote:
>>>>>>> 
>>>>>>>> I agree, Don. I really was using a post from Roger because I find
>>> his
>>>> the
>>>>>>>> most difficult to untangle. This thread was a good one to explain my
>>>> new
>>>>>>>> thoughts about  @  and  [:
>>>>>>>> 
>>>>>>>> My challenges are topics I might use to teach high school seniors
>>>>>> studying
>>>>>>>> precalculus, probability and statistics. They are similar to old APL
>>>>>>>> contests I invented while I was teaching APL - to get better with
>>> the
>>>>>>>> language myself. However, I'm not sure what would work in classes
>>>> these
>>>>>>>> days.
>>>>>>>> 
>>>>>>>> At least I'm having fun with the readers of the forum. J is even
>>>> becoming
>>>>>>>> fun to use!
>>>>>>>> 
>>>>>>>> Linda
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: programming-boun...@jsoftware.com
>>>>>>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Don Guinn
>>>>>>>> Sent: Friday, February 03, 2012 12:04 AM
>>>>>>>> To: Programming forum
>>>>>>>> Subject: Re: [Jprogramming] Understanding C. , A.
>>>>>>>> 
>>>>>>>> Might want to get beginners a little comfortable with J before
>>> showing
>>>>>> them
>>>>>>>> C. and A.
>>>>>>>> 
>>>>>>>> On Thu, Feb 2, 2012 at 7:56 PM, Linda Alvord <
>>> lindaalv...@verizon.net
>>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> I am rethinking my concern with  @  and  [:  and am leaning toward
>>>>>> using
>>>>>>>>> explicit definitions as a way of teaching  J  to beginners as a
>>>> natural
>>>>>>>>> mathematical language.
>>>>>>>>> 
>>>>>>>>> Some of the programmers responding to the forum think in idioms and
>>>> use
>>>>>>>>  @
>>>>>>>>> happily.
>>>>>>>>> 
>>>>>>>>>   f
>>>>>>>>>  <:@-@[ C.&.|. ]
>>>>>>>>>   i
>>>>>>>>> -@#@[ |. C.
>>>>>>>>>   k
>>>>>>>>> <@i.@-@>:@[ C. ]
>>>>>>>>> 
>>>>>>>>> 0thers favor the tacit approach with lots of  [:
>>>>>>>>> 
>>>>>>>>>   g
>>>>>>>>> ] C.&.|.~ [: <: [: - [
>>>>>>>>>   h
>>>>>>>>> [: |. ([: <: [: - [) C. [: |. ]
>>>>>>>>>   j
>>>>>>>>> C. |.~ [: - [: # [
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Both styles are appropriate and I should not suggest one way or the
>>>>>>>> other.
>>>>>>>>> Many of you have suggested this.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> We are looking for a simple way to introduce  J  to beginners. In
>>> my
>>>>>>>>> opinion
>>>>>>>>> we would introduce J  as a mathematical language for solving
>>> problem.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I am suggest starting with expressions that produce desired
>>> results.
>>>>>>>>> Developing from right to left may come naturally.
>>>>>>>>> 
>>>>>>>>>    (<:-3 6)C.&.|.'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>> The next step is making explicit functions indicating if the
>>> intended
>>>>>> use
>>>>>>>>> is
>>>>>>>>> monadic or dyadic. There is no use of  @  or  [: allowed at this
>>>> point.
>>>>>>>>> 
>>>>>>>>>    g=: 13 :'(<:-x)C.&.|.y'
>>>>>>>>>    h=: 13 :'|.(<:-x)C.|.y'
>>>>>>>>>   j=: 13 :'(-#x)|.x C.y'
>>>>>>>>> 
>>>>>>>>> Now exploring the tacit definitions would be appropriate in some
>>>>>>>>> environments and can be explored an studied in terms of forks and
>>>>>> hooks.
>>>>>>>>> At this special code and common idioms can be explored and timing
>>> of
>>>>>>>>> expressions can be compared. In the end all roads lead to Rome.
>>>>>>>>> 
>>>>>>>>>   3 6 f 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 g 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 h 'abc*ef*g't
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 i 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 j 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: programming-boun...@jsoftware.com
>>>>>>>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda
>>> Alvord
>>>>>>>>> Sent: Wednesday, February 01, 2012 6:01 PM
>>>>>>>>> To: 'Programming forum'
>>>>>>>>> Subject: Re: [Jprogramming] Understanding C. , A.
>>>>>>>>> 
>>>>>>>>> Sorry I missed the version by Arie.  Nice!
>>>>>>>>> 
>>>>>>>>>   3 6 (i=:-@#@[ |. C.) 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   i
>>>>>>>>> -@#@[ |. C.
>>>>>>>>> 
>>>>>>>>>   j=: 13 :'(-#x)|.x C.y'
>>>>>>>>>   j
>>>>>>>>> C. |.~ [: - [: # [
>>>>>>>>> 
>>>>>>>>>   3 6 j 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>> Please let me know if you have concerns or modifications as I plan
>>> to
>>>>>> use
>>>>>>>>> different rules beginning with challenge 6.
>>>>>>>>> 
>>>>>>>>> Henceforth I'll have no opinion concerning the merits of  @  and
>>>  [:
>>>>  I
>>>>>>>>> hope
>>>>>>>>> to learn to favor them both gracefully.
>>>>>>>>> 
>>>>>>>>> Linda
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: programming-boun...@jsoftware.com
>>>>>>>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda
>>> Alvord
>>>>>>>>> Sent: Wednesday, February 01, 2012 5:20 PM
>>>>>>>>> To: 'Programming forum'
>>>>>>>>> Subject: Re: [Jprogramming] Understanding C. , A.
>>>>>>>>> 
>>>>>>>>> I'm happiest with the explicit version. It shows the arguments
>>> needed
>>>>>> for
>>>>>>>>> the application.
>>>>>>>>> 
>>>>>>>>>   3 6 (f=:<:@-@[ C.&.|. ]) 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 f a=:'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>>   g=: 13 :'(<:-x)C.&.|.y'!
>>>>>>>>>   3 6 g a
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>>   f
>>>>>>>>> <:@-@[ C.&.|. ]
>>>>>>>>>   g
>>>>>>>>> ] C.&.|.~ [: <: [: - [
>>>>>>>>> g=: 13 :'(<:-x)C.&.|.y'
>>>>>>>>> 
>>>>>>>>> J provides the  ~  which shows up in the tacit version above.
>>>>>>>>> 
>>>>>>>>> Then there is  h  with no  ~  and no  &.
>>>>>>>>> 
>>>>>>>>>   h=: 13 :'|.(<:-x)C.|.y'
>>>>>>>>>   h
>>>>>>>>> [: |. ([: <: [: - [) C. [: |. ]
>>>>>>>>>   3 6 h a
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>> Linda
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: programming-boun...@jsoftware.com
>>>>>>>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
>>>>>>>>> Sent: Wednesday, February 01, 2012 11:26 AM
>>>>>>>>> To: Programming forum
>>>>>>>>> Subject: Re: [Jprogramming] Understanding C. , A.
>>>>>>>>> 
>>>>>>>>> Personally, I dislike expressions with multiple uses of ~ as they
>>>> make
>>>>>> my
>>>>>>>>> head spin.
>>>>>>>>> 
>>>>>>>>>    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>>   3 6 (<:@-@[ C.&.|. ]) 'abc*ef*g'
>>>>>>>>> **abcefg
>>>>>>>>> 
>>>>>>>>> I much prefer the second over the first.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Wed, Feb 1, 2012 at 8:05 AM, Aai <agroeneveld...@gmail.com>
>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Ah, I see that's a bit like yours David.
>>>>>>>>>> 
>>>>>>>>>> Modifying it for 1< #x
>>>>>>>>>> 
>>>>>>>>>>    3 6 (C. |.~ -@#@[) 'abc*ef*g'
>>>>>>>>>> **abcefg
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> (from Essays)
>>>>>>>>>> 
>>>>>>>>>>    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
>>>>>>>>>> **abcefg
>>>>>>>>>> k
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 01-02-12 16:47, Aai wrote:
>>>>>>>>>>> Sorry for the noise. You should forget the previous ones I sent:
>>>>>> they
>>>>>>>>>>> are wrong.
>>>>>>>>>>> 
>>>>>>>>>>> It looks like this one is ok:
>>>>>>>>>>> 
>>>>>>>>>>> mtf=:_1&|.@C.
>>>>>>>>>>> 
>>>>>>>>>>>    ]samples=: '*abcef' |."0 1 ~-i.6
>>>>>>>>>>> *abcef
>>>>>>>>>>> f*abce
>>>>>>>>>>> ef*abc
>>>>>>>>>>> cef*ab
>>>>>>>>>>> bcef*a
>>>>>>>>>>> abcef*
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>    ]res=: '*' ([,-.~) "1 samples
>>>>>>>>>>> *abcef
>>>>>>>>>>> *fabce
>>>>>>>>>>> *efabc
>>>>>>>>>>> *cefab
>>>>>>>>>>> *bcefa
>>>>>>>>>>> *abcef
>>>>>>>>>>> 
>>>>>>>>>>>    res -: mtf&>/"1 (;~I.@:('*'&=))"1 samples
>>>>>>>>>>> 1
>>>> 
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>> 
>> 
>> 
>> --
>> Devon McCormick, CFA
>> ^me^ at acm.
>> org is my
>> preferred e-mail
>> ----------------------------------------------------------------------
>> 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