3 ms·
The programmer can define functions that operate on matrices without having to be explicit about the number of dimensions and possibly (types of data, size of d
by djoldman 1y ago
The programmer can define functions that operate on matrices without having to be explicit about the number of dimensions and possibly (types of data, size of data, or length).
Example 1: A function that can take as input a 4x2x8 matrix or a 3x7 matrix.
Example 2: A function that can take as input a 4x2x8 matrix and a 3x7 matrix and output a third matrix.
- almostgotcaught 1y ago> A function that can take as input a 4x2x8 matrix and a 3x7 matrix and output a third matrix. which shows that this feature request is complete jibberish
- rscho 1y agoWhy gibberish ? It's a common feature in both array languages and Iverson ghosts, and many find it extremely useful.
- tracker1 1y agoYou mean like a "winner" function able to check for both Tic-Tac-Toe, a Connect Four field and a Similar 3D+ tower game?
- taeric 1y agoI'm not sure I follow? The "winning" condition is different in all of those examples?
- tracker1 1y agoX adjacent cell values in an N dimensional array? For tic tac toe, it's 3 in a row, for connect 4 it's 4 in a row.
- taeric 1y agoFair enough, I guess. The "available moves" would be dramatically different, such that I'm not clear I see much of a win on this reuse. But, yeah, fair enough.
- tracker1 1y agoIt was just the simplest case I could think of that would be reasonable. I'm not a heavy enough pure math guy to really get how an Array centric language is even all that valuable myself TBF.
- tomsmeding 1y agoRank polymorphism means that a function can be polymorphic in the additional dimensions of arrays. For example, if you write a function that takes a 2x3 and a 4x5 array, it can also work on 10x15x2x3 and 10x15x4x5 arrays by broadcasting. If rank polymorphism results in accepting both 4x2x8 and 3x7, then that means the function was a function on elements to begin with. Which is possible, but not the most interesting application of rank polymorphism.
- djoldman 1y ago> Rank polymorphism means that a function can be polymorphic in the additional dimensions of arrays. For example, if you write a function that takes a 2x3 and a 4x5 array, it can also work on 10x15x2x3 and 10x15x4x5 arrays by broadcasting. Thanks, this is what I was ineloquently attempting to describe with "A function that can take as input a 4x2x8 matrix or a 3x7 matrix."