From: Timothy J. H. <ti...@cs...> - 2004-10-11 14:33:02
|
Hi Noel, On Oct 11, 2004, at 8:55 AM, Noel Welsh wrote: > Hi SISCers, > > You may be interested to know that SISC is in use in at > Birmingham University's Introduction to AI course: > > http://www.cs.bham.ac.uk/~mmk/Teaching/AI/index.html > > Unfortunately the code isn't online but I am happy to send > tarballs to anyone who requests them. > > SISC has been a pleasant environment for me to glue > together Java code, but for beginners it could use some > additions. Grief seems to come from the Scheme to Java > interface, particularly: > > - having to import classes and define generic methods > - type conversion > > I imagine both these problems could be overcome with > something built on top of s2j. It might not always do the > Right Thing, but that wouldn't always matter. Depending on your needs you might be interested in using JScheme (jscheme.sourceforge.net) for Java intensive applications. JScheme has a very simple and powerful interface to Java (the javadot notation) which makes it easy to access all of the Java libraries without predeclaring methods, fields, etc. For example, here is some code I wrote recently for restricting access to a servlet ... http://popper.cs-i.brandeis.edu:8088/cs2a04/students/tjhickey/servlets/ compound2.servletV for a lecture in an Intro to Computers Class for non-CS majors http://popper.cs-i.brandeis.edu:8080/cs2a04/index.html symbols containing a "." or a "$" refer to Java members. A "." at the beginning indicates an instance method a "." at the end indicates a constructor > (servlet (pw) > ; compound conditions can be created using > ; the logical connectives ... > ; (or A B C ...) - this is true iff any of A,B,C... are > ; (and A B C ...) - this is true iff all of A,B,C,.. are > ; (not A) - this is true if condition A is false > ; > ; e.g. lets have a page that can be visited from Brandeis > ; with no pw, but away from Brandeis only by pw ... > > (if (or > (.startsWith (.getRemoteAddr request) "129.64") > (equal? "jb007" pw) > (.before (java.util.Date. "13 October 2004 11:00 am") > (java.util.Date.)) > ) ; close or > > #{ ok, you made it ... }# > #{ sorry you can't visit this page }# > > ) > ) ) SISC offers a fully compiant R5RS Scheme which has a general interface to object oriented languages (in this case instantiated to Java, but the same approach would work for C#). JScheme is not fully compliant (and does not have full call/cc), but if you want to use Scheme to interact closely with Java, JScheme has some benefits.... We are looking into adding a javadot interface to SISC for those cases where you want to quickly access some Java code from inside SISC. We might even have SISC code call JScheme to create some Java objects.... ---Tim--- > > Cheers, > Noel > > ===== > Email: noelwelsh <at> yahoo <dot> com > AIM: noelhwelsh > > > > _______________________________ > Do you Yahoo!? > Declare Yourself - Register online to vote today! > http://vote.yahoo.com > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on > ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give > us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out > more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Sisc-users mailing list > Sis...@li... > https://lists.sourceforge.net/lists/listinfo/sisc-users > |