Would it be correct to say ^:_1 uses memoization? If so, when does the memoization happen? Does J memoize the function to be ^:_1'd as soon as the function is defined, or does J wait to do so when ^:_1 is called?
What does J do if you try to ^:_1 a non-injective function? Does it just return the first correct input it encounters? Cheers, Andrew Pennebaker www.yellosoft.us On Wed, Nov 2, 2011 at 2:23 PM, Roger Hui <[email protected]> wrote: > > How powerful is J's ^:_1 operator? > Very. > > > How is it implemented? > Carefully. ☺ It's a giant table look-up. Some of the inverses were > put in to impress particular people, lying in wait for years. (It > worked! Worth all the effort and all the waiting because of who it > was.) > > See http://www.jsoftware.com/jwiki/Essays/Under , the raison d'être > for having inverses. > > > > On Wed, Nov 2, 2011 at 11:14 AM, Andrew Pennebaker > <[email protected]> wrote: > > Fascinating. > > > > How powerful is J's ^:_1 operator? How is it implemented? > > > > Cheers, > > > > Andrew Pennebaker > > www.yellosoft.us > > > > On Wed, Nov 2, 2011 at 10:02 AM, Roger Hui <[email protected] > >wrote: > > > >> It's better to define functions in the form "F from G" rather than "G > >> to F", because then the argument and result would be adjacent to the > >> function whose domain/range they are in: > >> > >> f =: FfG g > >> f =: GtF g > >> > >> > >> > >> On Wed, Nov 2, 2011 at 1:32 AM, Alan Stebbens <[email protected]> wrote: > >> >> How would one parse a hex string back to an integer? > >> > > >> > Two ways: > >> > > >> > Hard way: > >> > > >> > H2D =: [: +/ 16 1 * '0123456789abcdef' I. ] > >> > H2D 'A0' > >> > 160 > >> > > >> > Easy way: > >> > > >> > h2d =: d2h ^:_1 > >> > h2d 'a0' > >> > 160 > >> > h2d d2h i.20 > >> > 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 > >> > > >> > > >> > ---------------------------------------------------------------------- > >> > 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 > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
