I can confirm that. And the definition is a bit obscure, also. Determinant DotProduct DotProduct [: :+/ .* Determinant i.3 3 144 1 2 3 DotProduct 4 5 6 32 DotProduct [: :+/ .*
I think that DotProduct was intended to be [: :(+/ .*) which would have thrown an error when used as Determinant. And, to be consistent, I think Determinant should have been -/ .* :[: But, given the coding style, the quick fix that I would be tempted to implement would be to just add those two definitions at the bottom... (As an aside, note that for these particular constructs, : needs a parenthesis around its right argument but not around its left argument, unless that left argument was something like a verb train.) Anyways, until it gets adequately tested and fixed, I would advise avoiding that particular script. Thanks, -- Raul On Sat, Nov 25, 2017 at 3:07 PM, Andrew Dabrowski <[email protected]> wrote: > Thanks for those links. > > There seems to be a slight bug in Aliases.ijs - Determinant returns the > permanent rather than the determinant. > > > > On 11/19/2017 09:52 PM, Arthur Anger wrote: >> >> Andrew-- >> Yes, there are readable names that you may use for J's primitive >> graphic-character definitions. Some are defined in the scripts >> automatically loaded at startup. >> >> Names for the character primitives can be had by loading: >> http://code.jsoftware.com/wiki/File:Primitiv.ijs . >> Translations between these names and characters are discussed in: >> http://code.jsoftware.com/wiki/Primitives_to_Mnemonics >> This script also allows for defining mnemonics which are Unicode >> characters in the spirit of APL. >> >> My extension of the above definition process is at: >> http://code.jsoftware.com/wiki/File:Aliases.ijs >> For describing many of the operations, this version offers some >> abbreviations and alternate names; you may add others. This script alters >> the former "primitives" script to enforce the relevant monadic or dyadic >> interpretation of different verbs which employ the same ambivalent graphic >> symbol; they yield syntax or domain errors rather than unexpected values >> when used with the wrong number of arguments. >> >> As for tacit definitions, I don't see them as being "the heart" of J, but >> I do use them frequently. A related tricky aspect is the use of Fork and >> Hook for routing arguments to their destinations; I tend to wish that >> visible symbols had been provided to denote their use. >> >> Welcome to the J-world. One writer claims that it can give you immediate >> results--and a lifetime of exploration. >> --Art Anger >> --------- >> Date: Sun, 19 Nov 2017 14:15:32 -0500 >> From: Andrew Dabrowski <[email protected]> >> ... >> 6. In the age of unicode, why /not/ use the special symbols from APL? >> We could use the J expressions to type them, but wouldn't the APL >> symbols look and read better? As it is J might be said to have the >> worst of both worlds. >> >> 7. Has anyone made up a set of aliases for beginners which provides >> natural language based names for the operations? A newbie could slowly >> add the abbreviations to his vocabulary, as one does with e.g. emacs. >> >> 8. The failure to clearly distinguish at the syntactic level between >> monadic and dyadic verbs, along with the laconic culture, makes tacit >> definitions almost unreadable for a beginner. This could have been >> avoided, but it seems the drive to score an eagle won out over the >> desire for clarity. >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
