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

Reply via email to