On 29 Apr 2007 at 18:14, Terrence Brannon said:
> fname=.'Harry'
> sname=.'Potter'
> fpubl=.1998
> shelfcode=.'childrens'
> rec1=.fname;sname;fpubl;shelfcode
> rec2=.'Jane';'Eyre';1847;'classics'
>
> rec3=.'Peter';'Rabbit';1904;'childrens'
>
> ds=.(rec1,:rec2),rec3
>
> /:1{|:ds
>
> NB. ok, all that works fine. I'm trying to figure out how /:1{|:ds
> parses into pieces so I
> NB. I tried running trace on it, but I get a syntax error when doing so:
>
> trace '/:1{|:ds'
I think this may be a problem in trace. On J601 I get
trace '/:1{|:ds'
--------------- 5 Trident ----
{
|:
ds
{ |: ds
--------------- 0 Monad ------
/:
1
0
--------------- 6 Bident -----
,0
{ |: ds
|syntax error: executet
| t_z=. (,0)({|:ds)
whereas the same code run on J504 gives (omitting data for brevity):
trace '/:1{|:ds'
--------------- 1 Monad ------
|:
3 4$'...'
+----+----+----+
...
+----+----+----+
--------------- 2 Dyad -------
1
{
4 3$'...'
+------+----+------+
|Potter|Eyre|Rabbit|
+------+----+------+
--------------- 0 Monad ------
/:
<;._1 ' Potter Eyre Rabbit'
1 0 2
==============================
1 0 2
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm