On Tue, 12 Sep 2006, Boyko Bantchev wrote:

> On 9/11/06, Ewart Shaw <[EMAIL PROTECTED]> wrote:
> > ... I'm talking several hundred k of .ijs scripts
>
> Ewart,
>
> I have no experience with large J projects, but
> may I ask what kind of system is the one you are building?

It's a system called "BINGO"
(Bayesian Inference - Numerical, Graphical & Other stuff).
The aim is to analyse a wide range of statistical problems
with up to say 20 (actually 23) parameters, mainly using cubature.
This is very efficient in situations like nonlinear regression
where parameter estimates are highly correlated.

There's a bit about it at
   http://www.ewartshaw.co.uk/numint.html
and at other pages on my website.  It involves coding theory,
sphere packing, lattices, multivariate orthogonal polynomials,
Gram-Charlier expansions, arbitrary parameter transformations,
Metropolis-Hastings, tensor-product splines, graphics
(e.g. incorporating PNG+TeX figures in PDF documents for publication),
etc. etc. blah blah.

The "several hundred k of .ijs scripts" mentioned include test scripts,
example problems and even some NB... comments.

Many thanks to all for their comments on developing large
programming projects.  I think a JWiki page with advice & techniques
from those who have actually "finished" & distributed complex J
applications would be invaluable!

Ob.Programming content:
I mentioned my use of (e.g.)
   setpc=: 3 : 'PENCOL=: y'
   getpc=: 3 : 'PENCOL'
      ...
   getpc''

As Bill Lam said, if setpc/getpc have no side-effects,
then using PENCOL directly is no different from using setpc/getpc.
My main reason for setpc/getpc is that I may later want to change
the structure of PENCOL, e.g. to
   setpc=: 3 : 'try. PENCOL=: PENCOL,y catch. PENCOL=: ,y end.'
   getpc=: 3 : '{: PENCOL'
   pcback=: 3 : 'PENCOL=: }: PENCOL'
However, your mileage may vary.

J.E.H.Shaw   [Ewart Shaw]      [EMAIL PROTECTED]    TEL: +44 2476 523069
  Department of Statistics,  University of Warwick,  Coventry CV4 7AL,  UK
  http://www.warwick.ac.uk/statsdept            http://www.ewartshaw.co.uk
3  ((4&({*.(=+/))++/=3:)@([:,/0&,^:(i.3)@|:"2^:2))&.>@]^:([EMAIL PROTECTED])  
<#:3 6 2

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

Reply via email to