3 ms·
For a language focused on math… giving up the natural division operator for comments seems like a really weird sense of priorities.
by numbsafari 3y ago
For a language focused on math… giving up the natural division operator for comments seems like a really weird sense of priorities.
- RodgerTheGreat 3y agoAPL-family languages have a long history of using the symbol / as "over"; a reduction adverb. The composition +/ for taking a sum is mutually intelligible in APL, J, K, and Goal. It's only a comment, in this case, if it is preceded by whitespace.
- nerdponx 3y agoIs that not a pun on the use of "/" for division, and how it's often expressed in spoken English? It might still be a weird sense of priorities, but an historical one rather than a new one.
- abrudz 3y agoNo, it stems from North American use of ÷ for division, which is then ASCIIfied to %.
- nerdponx 3y agoI get that, but why is / "over"?
- tosh 3y ago+/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)#Mathematical_notation https://en.wikipedia.org/wiki/APL_(programming_language)#Mat... [1] https://www.softwarepreservation.org/projects/apl/Books/APROGRAMMING%20LANGUAGE https://www.softwarepreservation.org/projects/apl/Books/APRO... [2] https://code.jsoftware.com/wiki/Vocabulary/slash https://code.jsoftware.com/wiki/Vocabulary/slash [3] https://k.miraheze.org/wiki/Primitives https://k.miraheze.org/wiki/Primitives
- tosh 3y agoalso see "/" as "over" in k reference (see Chapter 5) http://www.nsl.com/k/k2/k295/kreflite.pdf http://www.nsl.com/k/k2/k295/kreflite.pdf and "over" in the Q reference: https://code.kx.com/q/ref/over/ https://code.kx.com/q/ref/over/
- tosh 3y agoDivision in Goal is % Reference: https://codeberg.org/anaseto/goal/raw/branch/master/docs/help.txt https://codeberg.org/anaseto/goal/raw/branch/master/docs/hel... Playground: https://anaseto.codeberg.page/try-goal/#eJwyNFI1AQAAAP__AQAA__8B3AC9 https://anaseto.codeberg.page/try-goal/#eJwyNFI1AQAAAP__AQAA...
- omaranto 3y agoI wouldn't characterize languages in the K family as particularly focused on math. They have vectors, but do not have matrices or higher dimensional arrays, they don't have a built-in to compute factorials, binomial coefficients, roots of a polynomial or hypergeometric functions. And Ks do have dictionaries and tables. Maybe you're thinking of J or some dialects of APL?