Even if you disagree with Iverson check out
https://en.wikipedia.org/wiki/Iverson_bracket notation. That's good
stuff. It should be the standard notation.


On Sat, Aug 20, 2016 at 1:24 PM, Bakul Shah <ba...@bitblocks.com> wrote:
> Thank goodness for loony ideas, eh? I learned a lot from Iverson’s writings
> and APL and its descendents. It is worth revisiting his writings (just like
> Dikjstra’s) from time to time. Array programming should be much more
> aprpeciated these days when many-core processors are becoming more and cloud
> based services essentially stand up an array of identical servers — and we
> have to use clumsy notation for all this. At any rate mathematics doesn’t
> exactly have a completely logical system of symbols.
>
> Incidentally the only meaningful use of unary +  I’ve seen is in K (another
> array programming language), where it stands for the “transpose” function,
> where the first two axes of an array are swapped.
>
>   (1 2;3 4) // outputs as:
> (1 2
>  3 4)
>   +(1 2;3 4)
> (1 3
>  2 4)
>
>
> Another aside: Go’s treatment of - for constants is a bit weird. I’ll
> explain with an example from Gambit Scheme, which has the correct behavior:
>
>> (/ 1.0 0.0)
> +inf.0
>> (/ 1.0 -0.0)
> -inf.0
>
>
> As you can see -0.0 does have a meaning different from +0.0.
>
> In Go there are two issues:
> The compiler refuses to divide by the constant 0.0 — This operation has a
> well defined meaning but the compiler thinks it knows best (this behavior is
> documented in the spec, which is good, but I don’t see the rationale for
> this behavior). So one has to use a variable to test this … where we run
> into the second problem: -0.0 is treated the same as +0.0:
>
> x := -0.0
> fmt.Println(1.0/x)
>
>
> This prints +Inf, when it should be printing -Inf. One has to explicitly
> negate x as in
>
> fmt.Println(1.0/-x)
>
>
> Aside #3: Lucio, knowledge of K and its friendier version Q (used in KDB+)
> can be very rewarding! They are used in quantitative finance (along with
> python, matlab, ocaml etc). Though the number of available jobs are perhaps
> small (also because one APL/J/K/Q programmer can cause a lot of havoc in
> just one line of code!)
>
> On Aug 20, 2016, at 5:28 AM, Michael Jones <michael.jo...@gmail.com> wrote:
>
> I took Thomas’s “loony-land” comment as jest.
>
> Presumably we all study the Turing Award lectures, each being the computer
> science community’s way of passing a life’s celebrated contributions to the
> future. In Dr. Iverson’s Turing Award lecture, “Notation as a Tool of
> Thought,” he explores the link between expression of ideas and the power to
> create and advance ideas. Essentially, that “language shapes thought,” one
> of the beliefs I hold. His use of minus and negative there are not the only
> “loony” (perhaps meaning “other than ordinary”) ideas in what remains to
> this day an intellectual treasure.
>
> I have Iverson’s high-school textbook which uses the notation. You see the
> notation it as APL, but in fact it was created as a way to describe a
> computer architecture (the IBM 360 then in development) in a formalism that
> allowed proofs of operation and implementation. I studied those books too.
> It is not so uncommon that an at first bewildering notation can come to feel
> a comfortable home. This is true of music, mathematics, emacs, and much
> more. Rob Pike’s Ivy is APL themed if you want to explore that. The latest
> descendent of APL is “J,” itself a descendent of “Dictionary APL” which was
> Iverson’s effort to use ordinary notation to lower the initial threshold for
> new programmers.
>
> Michael
>
> From: Lucio <lucio.d...@gmail.com>
> Date: Friday, August 19, 2016 at 10:23 PM
> To: golang-nuts <golang-nuts@googlegroups.com>
> Cc: Michael Jones <michael.jo...@gmail.com>,
> <axel.wagner...@googlemail.com>, <rthornton...@gmail.com>
> Subject: Re: [go-nuts] Unary +
>
>
>
>
> On Saturday, 20 August 2016 02:29:17 UTC+2, Thomas Bushnell, BSG wrote:
>
> With all due respected to the illustrious Dr. Iverson, he was in loony-land
> with his two versions of minus.
>
>
>
> I take exception to the "loony-land" qualification of Dr Iverson's raised
> minus. I think it was immensely appropriate and sadly forgotten that APL
> introduced the brilliant idea of discarding operator precedence in favour of
> making functions themselves operators with NO associated precedence. The use
> of a raised minus to eliminate confusion was a sensible one, one Michael
> Jones further justifies in its use in teaching Algebra (I still smart when I
> remember my confusion in Algebra classes after the teacher dropped all minus
> and plus signs and the parentheses she'd used until then!).
>
> Even sadder, I find the disappearance of RPN from hand-held calculators, for
> which I hold HP almost entirely responsible.
>
> That APL is still available in some form or other I find emotionally,but
> sadly not economically, rewarding. My short liaison with the language has
> given me a perspective I still believe helped shape all of my computing
> experience since those late 1970 years.
>
> Lucio.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to