From: Geoffrey K. <ge...@kn...> - 2003-08-05 16:07:57
|
This is music to my ears, not because I ever doubted the creativity and succintness JScheme enables, but because you convinced your management and legal folks to think outside the box and approve development. That's been the major stumbling block in my work. Geoffrey -- Geoffrey S. Knauth | http://knauth.org/gsk On Tuesday, Aug 5, 2003, at 11:52 US/Eastern, Jonathan A Rees wrote: > > Thought it might be time for me to speak up on what I'm doing, just > FYI... I work at Millennium Pharmaceuticals in the computational > biology group, and am maintaining a sort of 'knowledge base' - a > little database of interactions between biological objects. This is > used in the analysis of transcription profiling experiments. We're > dealing with a big curation problem right now in reconciling > information from two different sources (internally curated > vs. Ingenuity-derived). I'm using Jscheme for all of the analysis at > this point. This means reading tab-delimited files, writing reports > of many different kinds, doing lookups and filtering and conversions > and set operations and so on. > > I also use jscheme for debugging a web services-based application > (that uses GLUE to do SOAP), and for reading an S-expression-syntax > configuration file that's then used by Java code. > > We got the seal of approval from the MPI legal department to use > jscheme in applications developed here, FWIW. > > Random particulars: > > - I use Java collections heavily, and wrote some simple procedures > to make doing so easier from jscheme (I wish that lists were > Lists! - they could be, you know) > - I have classes for tab-delimited table input and output, and > use these from jscheme; I have a number of other classses and > methods exclusively for use from jscheme (e.g. ProcedureComparator > for calling Collections.sort with a scheme-supplied comparison > function) > - I wish I could interrupt runaway evaluations without losing all > my state (there's probably a way to do this but I don't know it) > - I wish map and for-each would throw exceptions when a list > argument isn't a list - current behavior makes bugs harder to > track down > - I wish the jscheme and java backtraces were interleaved properly > (right now I often retry a failing evaluation with > (tryCatch ... .printStackTrace) wrapped around the form) > - I wish compatibility with R^nRS were a bit higher, esp. regarding > numbers. (/ 1 2) => 0 etc. are very frustrating, makes reuse of > existing Scheme code more difficult. > > Overall I'm much happier using jscheme than Perl or Java, the other > primary choices around here. 'wc' tells me my jscheme files total > about 3000 lines. And the best part is - I didn't have to write it. > > Cheers > Jonathan |