Interpreter bug reports in 2005 listed in the order when they were submitted. Bugs in 2006, 2007, current; library bug reports.

<.@%: gives wrong answers on extended integers. See example below. -- AndrewNikitin 2005-10-11

```   5 <.@%: 5^5x
11
5 <.@%: 5^5
5```
• This is an ancient and known bug. The preferred fix is to implement extended precision

floating point numbers and compute %: in that domain. For now I have changed  <.@%: to signal error rather than give wrong answers. -- RogerHui 2005-10-20 15:15:08

• The workaround is to use introot verb defined in Phrases/Arith#IntRoot -- AndrewNikitin 2005-10-20 22:22:39

• This bug is now fixed for J6.01. -- RogerHui 2006-01-24 07:20:33

## #. on rational arguments

#. on rational arguments does not always return rational result -- AndrewNikitin 2005-10-22 00:39:50

```   #.1r2,~30#1
4294967293r2
#.1r2,~31#1
4.29497e9```
• This has now been fixed for J6.01. -- RogerHui 2005-10-25 05:23:55

## extended and limited precision numbers

Is the following behaviour a related bug?-- EwartShaw 2005-10-22 13:01:27

```   (8192&#.^:_1) 12^31x
140 3626 2911 3397 3072 0 0 0 0
((2^13)&#.^:_1) 12^31x
140 3626 2911 3397.38 0 0 0 0 0
((2^13x)&#.^:_1) 12^31x
140 3626 2911 3397 3072 0 0 0 0```
• There is no bug here. The table in section II G of the dictionary explains this behaviour. Let I denote integer, X extended integer, and D floating

point. 12 is an I and 31x is an X, so 12^31x is an X.

In the first example, 8192 is an I and 12^31x is an X, so the result is an X. In the second example, 2^13 is a D and 12^31x is an X, so the result is a D. In the third example, 2^13x is an X and 12^31x is an X, so the result is an X.
-- RogerHui 2005-10-25 05:38:24

## *./@:e. special code on empty argument

```   (0\$a:)   *./@:e.   a:,a:  NB.  Should give 1
0```

Reported by -- HenryRich 2005-10-31

• Fixed for the next release. -- RogerHui 2005-11-01 00:10:21

## *./@:E. special code on empty argument

`   (0\$a:)   *./@:E.   a:,a:  NB.  Crashes J`

Reported by -- DanBron 2005-10-31

• Fixed for the next release. -- RogerHui 2005-10-31 23:37:27

## ;: description

Not sure Roger will agree this is a bug, but I will to record it. See the discussion on J Forum for a fuller description and possible solutions.

```    NB.  The Vocabulary description for monad  ;:
NB.  says it implements the rhematics described in
NB.  Part I:
(2 1 2 \$ 1105 127   795 265) qdoj S: 0"_1  ;: ';: dict1'
;:y is the list of boxed words in the list y
according to the rhematic rules of Part I.

The alphabet is standard ASCII, comprising digits, letters
(of the English alphabet), the underline (used in names and numbers),
the (single) quote, and others (which include the space)
to be referred to as graphics.

NB.  However, those rhematics do not mention 'NB.'
NB.  yet  ;:  treats characters trailing it specially:
;: '+. 7: 42 NB. +. 7: 42'
+--+--+--+------------+
|+.|7:|42|NB. +. 7: 42|
+--+--+--+------------+

NB.  ;:  return:
isNB    =:  -:&'NB.'@:(3&{.)
splitNB =:  ({. ,&boxxopen wf@:}.)~ 3:
wf      =:  (}: ,&boxxopen splitNB^:isNB@:>@:{:)@:;:

wf '+. 7: 42 NB. +. 7: 42'
+--+--+--+---+--+--+--+
|+.|7:|42|NB.|+.|7:|42|
+--+--+--+---+--+--+--+

NB.  Note that Part I specifically says space is a graphic,
NB.  and buckets it with the other graphics.  But   ;:  removes
NB.  all spaces (except within noun lists).  That is, even though
NB.  Part I says space is just another graphic,  ;:  treats
NB.  it specially:

graphics =. '+','@',CR,' '
#graphics
4
# ;: graphics
3

inflected=.;:,'.',.~,.graphics
#&> inflected
2 2 2 1
_2 {. inflected
+--+-+
| .|.|
+--+-+```

-- DanBron 2005-11-01 17:51:02

-- Looks like the issue here is that Part I should have a paragraph describing comments. I'm not sure if the dictionary will ever be made available as a part of the wiki, but here's a possible paragraph:

A comment begins with NB.  and continues to the end of the line. Comments are ignored by J and are meant for the reader. -- Raul Miller 2005-11-01 23:12:33

If you're going to be explicit about the trailing space (non-dot, non-colon), you might as well be explicit about the preceding space (non-letter, non-digit). That is, the paragraph should read:

• A comment begins with  NB.  ... ,

because I forgot a spaceNB. Wish I had not contains no comments.

Oh, and Roger parried, so this may no longer be a bug. -- -- DanBron 2006-04-20 19:21:01

## gerund/

```   (,&<)`(,&<)`:3 i.3   NB. why if correct
+-+-----+
|0|+-+-+|
| ||0|2||
| |+-+-+|
+-+-----+```

-- OlegKobchenko 2005-11-01 20:49:27

• gerund`:3 inserts the verbs of the gerund between the items of the argument. See below. -- RogerHui 2006-04-21 17:43:30

```   (,&<)`(,&<)`:3 i.3
┌─┬─────┐
│0│┌─┬─┐│
│ ││0│2││
│ │└─┴─┘│
└─┴─────┘
0 ,&< 1 ,&< 2
┌─┬─────┐
│0│┌─┬─┐│
│ ││1│2││
│ │└─┴─┘│
└─┴─────┘```

• Of course. But why the results are different? -- OlegKobchenko 2006-04-21 20:07:04

• I see. This is a bug and has now been fixed for the next J6.01 beta. -- RogerHui 2006-04-21 20:56:14

## E. on empty arguments

This may be related to the bugs reported above which Roger has already fixed.

```   (i. 0) E. i. 5
1 1 1 1 1
'' E. i. 5
0 0 0 0 0```

-- DanBron 2005-11-01 23:15:52

• The second phrase is a bug and is now fixed for J6.01. -- RogerHui 2006-04-20 19:14:45

## \$. no result

See "2 x \$. A produces no result (like throw. )" thread

I forgot to report this yesterday. The phrase (2 , x) \$. A produces no result, where A is any array and x e. 1 2 . When I say "produces no result", I don't mean an empty result, I mean no result in the same way 3 : 'throw.'  0 produces no result:

```           3 : 'throw.'  0
#\$e=.3 : 'throw.'  0
e
|value error: e

2 1 \$. 0
#\$e=.2 1 \$. 0
e
|value error: e

2 2 \$. i. 4 5
#\$e=.2 2 \$. i. 4 5
e
|value error: e```

What is a good way of describing this symptom? "Prematurely returns to immediate execution"?

-- DanBron 2005-11-29 16:07:22

• This has now been fixed for J6.01. -- RogerHui 2005-11-29 19:28:04

System/Interpreter/Bugs05 (last edited 2008-12-08 10:45:45 by anonymous)