Hacker News new | ask | show | jobs
by nerdponx 870 days ago
I get that, but why is / "over"?
1 comments

  +/1 2 3 4 5
meaning

  plus over 1 2 3 4 5
meaning

  the plus reduction of 1 2 3 4 5
meaning

  1+2+3+4+5
meaning

  15
"over" (/) is a higher order function that takes the function "+" and applies it to "1 2 3 4 5"

over can also be used with *

  */1 2 3 4 5
meaning

  the product reduction of 1 2 3 4 5
meaning

  120 
"/" as "over" comes from a mathematical notation by Ken Iverson: APL (A Programming Language) [0][1] which Ken names "reduction" (h/t mlochbaum)

> An operation (such as summation) which is applied to all components of a vector to produce a result of a simpler structure is called a reduction.

"/" is known as "insert" in J [2] and "over" in k dialects (like Goal)[3].

[0] https://en.wikipedia.org/wiki/APL_(programming_language)#Mat...

[1] https://www.softwarepreservation.org/projects/apl/Books/APRO...

[2] https://code.jsoftware.com/wiki/Vocabulary/slash

[3] https://k.miraheze.org/wiki/Primitives

also see

"/" as "over" in k reference (see Chapter 5)

http://www.nsl.com/k/k2/k295/kreflite.pdf

and "over" in the Q reference:

https://code.kx.com/q/ref/over/