When I start a definition as soon as I type in the starting line I double
space and enter the closing paren before I fill in the body. Haven't had
that problem since I started doing this.

On Sun, Nov 2, 2008 at 4:48 PM, Henry Rich <[EMAIL PROTECTED]> wrote:

> Verb definitions that lack trailing ) are the thing that causes
> me the most trouble teaching beginners.  When they execute the
> erroneous verb, nothing seems to happen (because it's waiting for
> the ) to be entered from the console) and they say 'Roger has died'.
>
> I have just realized that I can do something about this.  I am
> going to redefine the script_z_ verb for my students so that it
> checks for missing ) in scripts before they are loaded.  The changed
> script_z_, which will go into their profile, is given below.
>
> 0. Can anyone think of anything else that should go into a
> beginner-protection script?  (I don't claim that this change
> should go into the system)
>
> 1.  Can anyone explain why the script_z_ verb goes to the trouble of
> erasing y before loading the script?  Do I need to erase all
> the temporary variables I create?
>
> Henry Rich
>
> NB. Override the load verb with one that checks for malformed
> NB. verb definitions
> script_z_ =: [: 3 : 0 jpath_z_&.:>
> try.
>  fd =. CR -.~ 1!:1 y
>  NB. Check for explicit definitions that lack a trailing )
>  lines =.  <;._2 fd , LF
>  wdlines =. ;: :: ((0$a:)"_)&.> lines
>  vstart =. +./@:((<@;:@> 'define';':0')&(((+./@:E.)~ >)~"0 _/))@> wdlines
>  vend =. -:&(<,')')@{.@> wdlines
>  vendct =. vstart +/;.1 vend
>  if. +./ toofew =. 1 > vendct do.
>    smoutput }. ; (LF,'missing ending ): ')&,&.> (lines {~ (I. vstart) {~ I.
> toofew)
>  else.
>    0!:0 y [ 4!:55<'y'
>  end.
> catch.
>  smoutput 'File not found: ' , >y
> end.
> )
>
>
>
>
> ----------------------------------------------------------------------
> 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