Yes, J is a subject where google does not perform very well. For language primitives, I usually like to start at http://www.jsoftware.com/help/dictionary/vocabul.htm (or, for j7, that would be http://www.jsoftware.com/docs/help701/dictionary/vocabul.htm).
The !: definitions are covered in the Foreigns link from the vocabulary page. If you have time, it's worth reading some of the other material (for example, the Dic link at the top of the page is the "Dictionary" -- roughly speaking, it's the language specification (and the Vocabulary is a part of that)). I hope this helps. -- Raul On Tue, Nov 1, 2011 at 1:25 PM, Andrew Pennebaker <[email protected]> wrote: > Raul, because I saw no semantics explaining how an obscure operation like > 4!:4@< bind 'lcd' { 4!:3 bind '' would work, so I had to guess. The > operators 4!, @, <, and " are unintelligible to a new J programmer, and > they can't be Googled. > > Cheers, > > Andrew Pennebaker > www.yellosoft.us > > On Tue, Nov 1, 2011 at 6:33 AM, Raul Miller <[email protected]> wrote: > >> Given that, when executed, (4!:4@< bind 'lcd' { 4!:3 bind '') gives >> you the location of the script that defined the name lcd, why would >> you expect the same result when defining the name from two completely >> different sources? >> >> -- >> Raul >> >> On Mon, Oct 31, 2011 at 2:18 PM, Andrew Pennebaker >> <[email protected]> wrote: >> > This snippet behaves differently in the interpreter vs a J code file: >> > >> > $ jconsole >> > lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' >> > COMMON_SCRIPT_PATH =: ;}:}:;:>lcd'' >> > >> > COMMON_SCRIPT >> > /Applications/j64-701/system/main/ >> > >> > $ cat jlib.j >> > #!/usr/bin/env jconsole >> > >> > lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' >> > COMMON_SCRIPT_PATH =: ;}:}:;:>lcd'' >> > >> > echo COMMON_SCRIPT_PATH >> > >> > exit '' >> > >> > $ ./jlib.j >> > /Users/andrew/Desktop/src/mcandre/j/./ >> > >> > This is unfortunate because I was planning to use the snippet as part of >> a >> > Makefile that would install my J package when a user enters "make >> install". >> > >> > Cheers, >> > >> > Andrew Pennebaker >> > www.yellosoft.us >> > >> > On Mon, Oct 31, 2011 at 10:29 AM, Tracy Harms <[email protected]> >> wrote: >> > >> >> I have found the following code helpful in loading J scripts: >> >> >> >> lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' >> >> COMMON_SCRIPT_PATH=: ;}:}:;:>lcd'' >> >> NB. path of directory from which this script is being run. >> >> >> >> This allows me to put associated scripts in any directory, launch the >> root >> >> script of that set (via jconsole.exe) and have that script load the >> other >> >> scripts by determining its own path. The load sentences are like this: >> >> >> >> load COMMON_SCRIPT_PATH, 'somescript.ijs' >> >> >> >> Thanks goes to Dan Bron for directing me to this useful code. >> >> >> >> --Tracy >> >> >> >> >> >> On Sun, Oct 30, 2011 at 5:03 PM, Andrew Pennebaker < >> >> [email protected]> wrote: >> >> >> >> > If I have a local file coolstuff.j, where do I put coolstuff.j so >> that I >> >> > can do load 'coolstuff.j' from anywhere? If possible I'd like to put >> all >> >> my >> >> > J code in ~/.j or a similar directory and have J know to look there >> when >> >> > loading code. >> >> > >> >> > In other words, where does J search for code? >> >> > >> >> > Does J have an environment variable similar to Java's $CLASSPATH? >> >> > >> >> > Cheers, >> >> > >> >> > Andrew Pennebaker >> >> > www.yellosoft.us >> >> > ---------------------------------------------------------------------- >> >> > 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
