From: Ken A. <kan...@bb...> - 2003-08-05 21:25:14
|
This is a great example, thanks! At 11:52 AM 8/5/2003 -0400, 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) Well, i've never thought of that! We have not used Collections so JScheme can be used on the oldest browsers, but maybe its time to move on and take advantage of the newer versions of Java. > - 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) ProcedureComparator must be like elf.SchemeComparator. I wrote some tab delimited code recently too. The first line is field names and i return each row as a HashTable, and an accessor is automatically written for each field. You could do something more space efficient if you have a lot of data. > - 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) see elf/interrupt.scm. This puts up an interrupt button. > - 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 Good idea. > - 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) Do you mean when scheme calls java which calls scheme ...? can you give a simple example? > - 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. Yes, we chose to move closer to Java, and unfortunately left some Scheme behind. I wish we could fit better with Scheme, for example we don't support any SRFI's, probably because we get what we need from Java. I've been wondering if we could provide extended math as a separate module. Bigrats - big rational numbers can be useful for things like knowing how good your numerical approximation is. Tim, what about one for interval arithmetic? >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 > > >------------------------------------------------------- >This SF.Net email sponsored by: Free pre-built ASP.NET sites including >Data Reports, E-commerce, Portals, and Forums are available now. >Download today and enter to win an XBOX or Visual Studio .NET. >http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 >_______________________________________________ >Jscheme-user mailing list >Jsc...@li... >https://lists.sourceforge.net/lists/listinfo/jscheme-user |