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.