On 5 February 2012 06:28, Marshall Lochbaum <mwlochb...@gmail.com> wrote: > I've written a paper which describes a way to replicate and extend J's > behavior with arrays and forks as part of a single framework. I thought > this would be interesting to the J community since it elaborates on the > kind of thinking that drives J's powerful approach to function application.
May I share some comments? 3.3: What is called ‘fork’ is not a fork in the J sense. 3.3: What is called commutativity in the last paragraph is in fact associativity. Moreover, I find the whole explanation in this last paragraph incorrect. 3.5: I am not sure I understand what it says. 4: ‘The idea of mapping when a function needs to map, rather than when a user tells it to map, makes the mapping much more flexible and powerful.’ If you are saying that implicit (as opposed to explicit) mapping is ‘much more flexible and powerful’, then I disagree. First, in J, it is the combination of rank and implicitness – and not the latter alone – that ensures flexibility. Without controllable verb ranks, implicit mapping is of little use. (Strange that you do not discuss ranks, of nouns or verbs, at all.) Second, explicit mapping has its own ways of bringing in flexibility and power: when map is a function, it can be properly typed (and type checked), composed, passed to other functions, partially applied, etc. Overall, it is hard to choose implicit or explicit as ‘the better’ mapping – they are just different. One form of ‘almost implicit’ mapping is Haskell's ‘deriving’ descriptor that one can attach to a type (you do mention Haskell but omit this relevant and very useful bit): once given, it ensures implicit lifting (mapping) of functions to the level of the said type; but one has the choice to use it or not. 6: Matrix-vector multiplication on p.7 does not work the way you are presenting it. 7: This is really so much non-Haskell that it is probably not worth including it at all. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm