Not an answer to "Why", but interesting:
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Henry Rich Sent: Saturday, October 10, 2015 9:37 PM To: Programming forum Subject: [Jprogramming] A canon of J violated B Jonas reported that ~. is inconsistent with the definition: tb=. 1+2e_14*i:3 ~: tb 1 0 0 0 0 0 0 =tb 1 1 1 0 0 0 0 You could fix that in the docs. But the problem is much more serious: the partitioning induced by ~. does not match that induced by u/. . That these be identical is a canon of J, relied on by code whose name is legion. ~. tb 1 tb </. tb +-----+-+-+-+-+ |1 1 1|1|1|1|1| +-----+-+-+-+-+ What!? Only 1 unique item, but 4 partitions??? The special code for #/. shares the problem: #/.~ tb 3 only 3 items from a list of 7! The interpreter itself relies on the equivalence, and is let down: (#,{.)/.~ tb |length error | (#,{.)/.~tb there shouldn't be any error. IMO this will be the first bug for us to fix, if Jsoftware ever creates a proper open-source setup that allows user contributions to get into the official release. Henry Rich ---------------------------------------------------------------------- For information about J forums see <http://www.jsoftware.com/forums.htm> http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
