Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 4.51 KB

Essence.md

File metadata and controls

45 lines (39 loc) · 4.51 KB

image

Original Tweet

The Essence of Array Programming

1. "Higher Order Functions"

Name Reduce Scan Outer Product
APL Operators
Adverbs
💚 / (reduce)
⌿ (reduce first)
💚 \ (scan)
⍀ (scan first)
💚 ∘. (outer product)
J Adverbs &
Conjunctions
💚 / (insert) 💚 \ (prefix) 💚 / (table)
BQN Modifiers 💚 ´ (fold)
˝ (insert)
💚 ` (scan) 💚 ⌜ (table)
Uiua Modifiers 💚 / (reduce) 💚 \ (scan) 💚 ⊞ (table)
Q Iterators 💚 /
over
💚 \
scan
💚 /:\:
Julia Functions 💚 reduce 💚 accumulate 💛 broadcast
MATLAB ❤️ - ❤️ - 💛 broadcast
NumPy Functions 💚 _.reduce() 💚 _.accumulate() 💚 _.outer()
R Functions 💚 Reduce 💚 Reduce(accumulate=TRUE) 💚 outer
Nial Transformers 💚 REDUCE 💚 ACCUMULATE 💚 OUTER
Futhark Functions
SOAC
💚 foldl/r
reduce(_comm)
💚 scan 💛 outer_product
Dex Functions 💚 reduce ❤️ scan & scan' are NOT scan ❤️ -
Ivy Operators 💚 / (reduce) 💚 \ (scan) 💚 o. (outer product)
SaC ❤️ - ❤️ - ❤️ -
ArrayFire ❤️ - ❤️ - ❤️ -

2. Language Features

Booleans = 0 & 1 Strings are Character Arrays
APL 💚 💚
J 💚 💚
BQN 💚 💚
Uiua 💚 💚
Q 💚 💚
Julia 💛 ❤️
MATLAB 💚 💚
NumPy 💛 ❤️
R 💛 ❤️
Nial 💚 💚
Futhark ❤️ 💚
Dex ❤️ ❤️
Ivy 💚 💚
SaC ❤️ ❤️
ArrayFire ❤️ ❤️