4,494
edits
No edit summary |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 26: | Line 26: | ||
* evaluative, display, and control functions: Execute, Execute in Context, Protected Execute, Value, Value in Context, Result, Signal, Print, Stop; Time.}} | * evaluative, display, and control functions: Execute, Execute in Context, Protected Execute, Value, Value in Context, Result, Signal, Print, Stop; Time.}} | ||
=== [[User:Bubbler|Bubbler]] ([[User talk:Bubbler|talk]]) 07:59, 22 June 2020 (UTC) === | |||
Given the flood of primitives, I think we might need a multi-level categorization. Here is a very rough (and kind-of arbitrary) draft for non-scalar functions (IMO, such an organization is also needed for scalar ones). - | Given the flood of primitives, I think we might need a multi-level categorization. Here is a very rough (and kind-of arbitrary) draft for non-scalar functions (IMO, such an organization is also needed for scalar ones). | ||
==== Non-scalar functions ==== | |||
* Identity | * Identity | ||
Line 34: | Line 36: | ||
* Structural | * Structural | ||
** Query: Shape, Tally, Depth | ** Query: Shape, Tally, Depth | ||
** Flat transform: Reshape, Ravel, Table, Catenate, Reverse, Rotate, Transpose | ** Flat transform: Reshape, Ravel, Table, Catenate, Reverse, Rotate, Transpose | ||
** Nested transform: | ** Nested transform: Enclose, Nest, Mix, Split, Enlist, Partitioned Enclose, Partition, Pair, Link | ||
* Selective | * Selective | ||
** Indexing: First, Pick, Select, | ** Indexing: Bracket, First, Pick, Index, Select | ||
** Take/Drop: Take, Drop | |||
** Replicate/Expand: Replicate, Expand | ** Replicate/Expand: Replicate, Expand | ||
** Set: Unique, Intersection, Union, Without | ** Set: Unique, Intersection, Union, Without | ||
* Computational | * Computational | ||
** Range: Index Generator | |||
** Equality: Match, Not Match, Membership, Index Of, Find, Nub Sieve | ** Equality: Match, Not Match, Membership, Index Of, Find, Nub Sieve | ||
** | ** Ordering: Grade, Interval Index | ||
** Matrix: Matrix Inverse, Matrix Divide | ** Matrix: Matrix Inverse, Matrix Divide | ||
** Base: Encode, Decode | ** Base: Encode, Decode | ||
** Format/Execute: Format, Execute | ** Format/Execute: Format, Execute | ||
** Miscellaneous: Index | ** Random: Deal | ||
** Miscellaneous: Materialise | |||
==== Scalar functions ==== | |||
* Arithmetic | |||
** Monadic: Negate, Reciprocal, Magnitude, Exponential, Natural Logarithm, Floor, Ceiling, Square Root | |||
** Dyadic: Add, Subtract, Times, Divide, Residue, Power, Logarithm, Root | |||
* Boolean: Not, And, Or, Nand, Nor | |||
* Comparison: Minimum, Maximum, Comparison functions | |||
* Complex numbers: Conjugate, Imaginary, Complex | |||
* Advanced mathematics: GCD, LCM, Factorial, Binomial, Pi Times, Circular | |||
* Random numbers: Roll | |||
* Miscellaneous: Type | |||
==== Operators ==== | |||
* Spread: Each, Rank, Depth | |||
* Product: Inner Product, Outer Product | |||
* Replicate/Expand: Replicate, Expand | |||
* Reduce/Scan: Reduce, Windowed Reduce, Scan | |||
* Primitive Modifier: Function axis, Variant | |||
* Functional: Commute, Constant, Bind, Compositions, Under | |||
* Other: Power, Key, At, Stencil, Spawn, I-beam | |||
=== [[User:Adám Brudzewsky|Adám Brudzewsky]] ([[User talk:Adám Brudzewsky|talk]]) 06:33, 30 June 2020 (UTC) === | |||
==== Non-scalar functions ==== | |||
* Structural | |||
** Array properties: Shape, Tally, Depth | |||
** Flat transform: Reshape, Ravel, Table, Catenate, Reverse, Rotate, Transpose | |||
** Nested transform: First, Enclose, Nest, Mix, Split, Enlist, Partitioned Enclose, Partition, Pair, Link | |||
* Selective | |||
** No-op: Identity, Materialise | |||
** Indexing: Bracket, Pick, Index, Select | |||
** Affix: Take, Drop | |||
** Mask: Replicate, Expand | |||
** Set: Unique, Intersection, Union, Without | |||
* Computational | |||
** Generation: Integers, Deal | |||
** Equality: Match, Not Match, Membership, Index Of, Find, Nub Sieve | |||
** Ordering: Grade, Interval Index | |||
** Matrix: Inverse, Divide | |||
** Conversion: Encode, Decode, Format, Execute | |||
==== Scalar functions ==== | |||
* Basic arithmetic: Negate, Reciprocal, Add, Subtract, Times, Divide | |||
* Advanced mathematics: Exponential, Power, Natural Logarithm, Logarithm, Square Root, Root | |||
* Comparison: Minimum, Maximum, Comparison functions | |||
* Boolean: Not, And, Or, Nand, Nor | |||
* Number theory: Residue, Floor, Ceiling, GCD, LCM | |||
* Combinatorics: Roll, Factorial, Binomial | |||
* Complex and trigonometry: Conjugate, Imaginary, Complex, Pi Times, Circular | |||
* Properties: Magnitude, Sign, Type | |||
==== Operators ==== | |||
* Spread: Each, Rank, Depth | |||
* Product: Inner Product, Outer Product | |||
* Mask: Replicate, Expand | |||
* Reduction: Reduce, Windowed Reduce, Scan | |||
* Modification: Axis, Variant, Spawn | |||
* Functional: Commute, Constant, Bind, Compositions, Power, Under | |||
* Selective application: At, Stencil, Key |