There is a set of about 400 test scripts.  Two 
interpreters that can run these test scripts can not
deviate significantly from each other or from the language specified by the J 
dicitionary.

Parts of the interpreter obviously do symbolic
computation.  e.g.

   *: b. _1
%:
   +: b. _1
-:
   +:@*: b. _1
%:@-:

   ^ t. i.10x
1 1 1r2 1r6 1r24 1r120 1r720 1r5040 1r40320 1r362880
   [EMAIL PROTECTED]: t. i.10x
1 2 2 4r3 2r3 4r15 4r45 8r315 2r315 4r2835
   +:@^ t. i.10x
2 2 1 1r3 1r12 1r60 1r360 1r2520 1r20160 1r181440
   (%-.-*:) t. i.13x
0 1 1 2 3 5 8 13 21 34 55 89 144
 
The "special code" described in Appendix B of the dictionary
http://www.jsoftware.com/help/dictionary/special.htm
implement certain recognized patterns using
more efficient code.  The recognition is symbolic
because the function definitions are being 
analyzed and/or manipulated.  e.g.

   x=: 1e6 [EMAIL PROTECTED] 1e5
   y=: 1e6 [EMAIL PROTECTED] 1e5

   ts=: 6!:2 , 7!:[EMAIL PROTECTED]

   x (> i. 1:) y  NB. index of first place where x>y
0
   
   ts 'x (> i. 1:) y'  
5.5873e_6 1152

The fork > i. 1: is recognized and implemented
efficiently.
 


----- Original Message -----
From: Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]>
Date: Sunday, September 24, 2006 6:20 pm
Subject: [Jgeneral] Intrigued by the Interpreter....

> Hello,
> 
> As I am starting on J, I would like to know:
> 
> 1) How is the J interpreter tested to verify & validate the 
> properties of
> the various symbols of the language?
> I am particularly interested in knowing about how the rank 
> semantics is
> validated.
> 
> 2) Is it possible to introduce symbolic computation in functional 
> languages,particularly J?


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to