Don't try to fit J into any pre-existing mental models you may have. Create a clean, empty category for it in your mind, and enter J as the first member of the population.
You can call the category "array-oriented languages", if you like. Other potential members are APL and K. -Dan PS: My apologies to the Forum for the empty or mostly-empty messages over the weekend. I'm moving apartments and hitting my pocket in weird ways. Please excuse typos; composed on a handheld device. -----Original Message----- From: Andrew Pennebaker <[email protected]> Sender: [email protected] Date: Mon, 31 Oct 2011 13:53:52 To: Programming forum<[email protected]> Reply-To: Programming forum <[email protected]> Subject: Re: [Jprogramming] [Jbeta] conditionals What if I used FP terminology instead of OO: Are =. declarations like let expressions? Cheers, Andrew Pennebaker www.yellosoft.us On Mon, Oct 31, 2011 at 1:41 PM, Raul Miller <[email protected]> wrote: > If you do this: > > a=. 1 > a=: 1 > > That will fail. But you can work around this by doing > > a=. 1 > 3 :'a=.y' 1 > > If that was not what you were asking about, perhaps you could clarify > your question? > > And a compare and a contrast with private methods in OO should, I > think, wait until you have a deeper understanding of the language. > (You can use local names like private OO members but there's a lot of > subtleties that I think should be addressed when making this kind of > comparison, and =. names are more like local variables of a block -- > though it's true that they they can be verbs.) > > -- > Raul > > On Mon, Oct 31, 2011 at 1:30 PM, Andrew Pennebaker > <[email protected]> wrote: > > Raul, does that mean =: declarations that depend on =. declarations will > > still work? Are =. like private methods in OO? > > > > Cheers, > > > > Andrew Pennebaker > > www.yellosoft.us > > > > On Mon, Oct 31, 2011 at 7:45 AM, Raul Miller <[email protected]> > wrote: > > > >> [Sent to programming forum, Bcc to beta forum. If you respond, please > >> do so in programming.] > >> > >> Yes: > >> > >> =: definitions survive in the current locale (which defaults to 'base'). > >> > >> =. definitions end when the current explicit context ends. > >> > >> 'load' happens in a local context (which was generated specifically to > >> intercept =. definitions in the loaded file). > >> > >> -- > >> Raul > >> > >> On Mon, Oct 31, 2011 at 12:55 AM, Andrew Pennebaker > >> <[email protected]> wrote: > >> > I think I understand, but I want to put it in my words to > double-check. > >> > > >> > Declarations that are to be exposed to code that loads this J file > should > >> > use =: for assignment, and local declarations inside of code blocks > >> should > >> > use =. Right? > >> > > >> > Cheers, > >> > > >> > Andrew Pennebaker > >> > www.yellosoft.us > >> > > >> > On Sun, Oct 30, 2011 at 10:18 PM, Don Guinn <[email protected]> > wrote: > >> > > >> >> In immediate mode it makes no difference. With explicit verbs or > >> whatever > >> >> names which are to be retained after the verb finishes should be > >> assigned > >> >> using global copula (=:). Other assignments in the definition should > be > >> >> local (=.) so the names go away after the verb ends. That way the > names > >> >> don't clutter up your work space and possibly accidentally overwrite > a > >> name > >> >> you want to retain. > >> >> > >> >> On Sun, Oct 30, 2011 at 7:13 PM, Andrew Pennebaker < > >> >> [email protected]> wrote: > >> >> > >> >> > Thanks Don. If there's no particular reason to use globals, should > I > >> use > >> >> =. > >> >> > every place in my code? > >> >> > > >> >> > Cheers, > >> >> > > >> >> > Andrew Pennebaker > >> >> > www.yellosoft.us > >> >> > > >> >> > On Sun, Oct 30, 2011 at 5:03 PM, Don Guinn <[email protected]> > >> wrote: > >> >> > > >> >> > > =: is a global copula. =. is a local copula within explicit > >> >> definitions. > >> >> > In > >> >> > > immediate mode or not enclosed in an explicit definition is the > >> same as > >> >> > =: > >> >> > > . Need to be aware that if you use "load" that puts the script > >> within > >> >> an > >> >> > > explicit definition. So =. produces a local definition that > >> disappears > >> >> > when > >> >> > > the "load" verb ends. > >> >> > > > >> >> > > On Sun, Oct 30, 2011 at 2:37 PM, Andrew Pennebaker < > >> >> > > [email protected]> wrote: > >> >> > > > >> >> > > > What's the difference between =: and =. ? > >> >> > > > > >> >> > > > Cheers, > >> >> > > > > >> >> > > > Andrew Pennebaker > >> >> > > > www.yellosoft.us > >> >> > > > > >> >> > > > 2011/10/30 Björn Helgason <[email protected]> > >> >> > > > > >> >> > > > > happy=.0 > >> >> > > > > > happy # <'clap hands' > >> >> > > > > > >> >> > > > > happy=.1 > >> >> > > > > > happy # <'clap hands' > >> >> > > > > clap hands > >> >> > > > > > >> >> > > > > > >> >> > > > > 2011/10/30 Andrew Pennebaker <[email protected]> > >> >> > > > > > >> >> > > > > > J won't let me write if. ... end. by itself; it must be > >> enclosed > >> >> > in a > >> >> > > > > > function definition. E.g., I'd like to do this: > >> >> > > > > > > >> >> > > > > > if. happy do. > >> >> > > > > > clapHands > >> >> > > > > > end. > >> >> > > > > > > >> >> > > > > > Rather than: > >> >> > > > > > > >> >> > > > > > arewehappy =: monad : 0 > >> >> > > > > > if. happy do. > >> >> > > > > > clapHands > >> >> > > > > > end. > >> >> > > > > > ) > >> >> > > > > > > >> >> > > > > > arewehappy 0 > >> >> > > > > > > >> >> > > > > > Can we add the ability to do the former to J? > >> >> > > > > > > >> >> > > > > > By the way, what's the preferred notation for long variable > >> and > >> >> > > > function > >> >> > > > > > names? camelCase? with_underscores? > >> >> > > > > > > >> >> > > > > > Cheers, > >> >> > > > > > > >> >> > > > > > Andrew Pennebaker > >> >> > > > > > www.yellosoft.us > >> >> > > > > > > >> >> > > > >> ---------------------------------------------------------------------- > >> >> > > > > > For information about J forums see > >> >> > > http://www.jsoftware.com/forums.htm > >> >> > > > > > > >> >> > > > > > >> >> > > > > > >> >> > > > > > >> >> > > > > -- > >> >> > > > > Björn Helgason, Verkfræðingur > >> >> > > > > Fornustekkum II > >> >> > > > > 781 Hornafirði, > >> >> > > > > t-póst: [email protected] > >> >> > > > > gsm: +3546985532 > >> >> > > > > twitter: @flugfiskur > >> >> > > > > http://groups.google.com/group/J-Programming > >> >> > > > > > >> >> > > > > > >> >> > > > > Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari > >> >> > > einfaldleikans > >> >> > > > > > >> >> > > > > góður kennari getur stigið á tær án þess að glansinn fari af > >> skónum > >> >> > > > > /|_ .-----------------------------------. > >> >> > > > > ,' .\ / | Með léttri lund verður | > >> >> > > > > ,--' _,' | Dagurinn í dag | > >> >> > > > > / / | Enn betri en gærdagurinn | > >> >> > > > > ( -. | `-----------------------------------' > >> >> > > > > | ) | (\_ _/) > >> >> > > > > (`-. '--.) (='.'=) ♖♘♗♕♔♙ > >> >> > > > > `. )----' (")_(") ☃☠ > >> >> > > > > > >> >> > > ---------------------------------------------------------------------- > >> >> > > > > 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 > ---------------------------------------------------------------------- > 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
