Woah. This is a much deeper language than I thought. I expected J to be like Single Assignment C, or Factor but backwards.
Cheers, Andrew Pennebaker www.yellosoft.us On Wed, Nov 2, 2011 at 3:14 PM, bob therriault <[email protected]>wrote: > Roger, > > The other aspect that I find very powerful is that it is that you can > define what you want the inverse to be using the obverse conjunction (:.). > Thus the under conjunction (&.)can be non symmetrical if the programmer > defines a non-symmetrical inverse when creating a verb. > > Cheers, bob > > On 2011-11-02, at 12:06 PM, Roger Hui wrote: > > > It would not be correct. It signals domain error on a non-invertible > function. > > > > > > > > On Wed, Nov 2, 2011 at 11:37 AM, Andrew Pennebaker > > <[email protected]> wrote: > >> 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 > > ---------------------------------------------------------------------- > > 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
