From luke Sat Sep 14 12:39:55 1991 Resent-Date: Sat, 14 Sep 91 12:39:47 CDT Resent-Message-Id: <9109141739.AA14523@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 14 Sep 91 12:39:55 CDT Date: Sat, 14 Sep 91 12:39:47 CDT From: "Luke Tierney" Message-Id: <9109141739.AA14515@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 14 Sep 91 12:39:47 CDT To: stat-lisp-news Subject: first posting Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Your name has been added to the stat-lisp-news electronic mailing list. The purpose of this list is to provide a forum for discussing issues, asking questions, and distributing information related to the use of Lisp and Lisp-based systems in statistics. You can post messages to the list by mailing to stat-lisp-news@umnstat.stat.umn.edu If you want to have your name removed from the mailing list, send a message to stat-lisp-news-request@umnstat.stat.umn.edu asking to have your name removed to the list. Luke Tierney School of Statistics University of Minnesota Minneapolis, MN 55455 luke@umnstat.stat.umn.edu From owner-SL-news Mon Sep 16 23:51:39 1991 Resent-Date: Mon, 16 Sep 91 21:49:47 -0700 Resent-From: owner-SL-news Resent-Message-Id: <9109170451.AA29846@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 16 Sep 91 23:51:39 CDT Received: from sulu.biostat.washington.edu by umnstat.stat.umn.edu; Mon, 16 Sep 91 23:51:31 CDT Received: by sulu.biostat.washington.edu (5.64/UW-NDC Revision: 2.21 ) id AA12886; Mon, 16 Sep 91 21:49:47 -0700 Date: Mon, 16 Sep 91 21:49:47 -0700 From: Camlin Tierney Message-Id: <9109170449.AA12886@sulu.biostat.washington.edu> To: stat-lisp-news Subject: mail Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Camlin Tierney Status: OR I would like to have my name added to the mailing list. Thanks, Camlin From owner-SL-news Tue Sep 17 03:40:36 1991 Resent-Date: Tue, 17 Sep 91 01:39:09 PDT Resent-From: owner-SL-news Resent-Message-Id: <9109170840.AA01042@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 17 Sep 91 03:40:36 CDT Received: from lewin.psych.washington.edu by umnstat.stat.umn.edu; Tue, 17 Sep 91 03:40:27 CDT Received: by lewin.psych.washington.edu (4.1/UW-NDC Revision: 2.21 ) id AA25044; Tue, 17 Sep 91 01:39:09 PDT Date: Tue, 17 Sep 91 01:39:09 PDT From: richard gonzalez Message-Id: <9109170839.AA25044@lewin.psych.washington.edu> To: stat-lisp-news Subject: doc woes... Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: richard gonzalez Status: OR I just got a copy of xlispstat and am having trouble printing the docs. The README warns about troubles in inputting those postscript files in LaTeX. I went ahead and tried. No luck. But, I just discovered my problem may not be with LaTeX. I can't even print out the postscript version of the docs, let alone the individual figures (e.g., lpr fig1.ps). I don't get any error messages; nothing comes out of the printer. I'm using a SUN IPC, running SUNOS 4.1, and have a LaserWriter II printer. I can always download to a friend's mac and print out the figures. I thought I'd write to see if anyone had suggestions for a more elegant solution. thanks rich gonzalez gonzo@milton.u.washington.edu From owner-SL-news Tue Sep 17 09:06:14 1991 Resent-Date: Tue, 17 Sep 91 10:05:03 EDT Resent-From: owner-SL-news Resent-Message-Id: <9109171406.AA02050@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 17 Sep 91 09:06:14 CDT Received: from Princeton.EDU by umnstat.stat.umn.edu; Tue, 17 Sep 91 09:06:06 CDT Received: from tsar.Princeton.EDU by Princeton.EDU (5.65b/2.82/princeton) id AA02533; Tue, 17 Sep 91 10:05:10 -0400 Received: by tsar.Princeton.EDU (NeXT-1.0 (From Sendmail 5.52)/1.110) id AA03397; Tue, 17 Sep 91 10:05:03 EDT Date: Tue, 17 Sep 91 10:05:03 EDT From: Ira H. Fuchs Message-Id: <9109171405.AA03397@tsar.Princeton.EDU> Received: by NeXT Mailer (1.63.RR) To: stat-lisp-news Subject: LISP-STAT for NeXT? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Ira H. Fuchs Status: OR Has anyone ported LISP-STAT to the NeXT. I realize that the Unix version will work (without graphics) but I was wondering if anyone was working on making it work with NextStep. From owner-SL-news Tue Sep 17 10:36:32 1991 Resent-Date: Tue, 17 Sep 91 11:34:46 EDT Resent-From: owner-SL-news Resent-Message-Id: <9109171536.AA02478@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 17 Sep 91 10:36:32 CDT Received: from alfred.econ.lsa.umich.edu by umnstat.stat.umn.edu; Tue, 17 Sep 91 10:36:21 CDT Received: by alfred.econ.lsa.umich.edu (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0) id AA01979; Tue, 17 Sep 91 11:34:46 EDT Date: Tue, 17 Sep 91 11:34:46 EDT From: hal@alfred.econ.lsa.umich.edu (Hal Varian) Message-Id: <9109171534.AA01979@alfred.econ.lsa.umich.edu> Received: by NeXT Mailer (1.63) To: stat-lisp-news Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: hal@alfred.econ.lsa.umich.edu (Hal Varian) Status: OR Ira H. Fuchs writes: > Has anyone ported LISP-STAT to the NeXT. I realize that > the Unix version will work (without graphics) but I was > wondering if anyone was working on making it work with > NextStep. I've compiled xlispstat on the NeXT to run under coXist. It worked more-or-less out of the box; I had to change one variable name to avoid a conflict in the linker. I have a student who is fairly knowledgeable about both X and NeXT who is interested doing a port to NeXTstep. He hasn't committed the project yet, but odds look good. If anybody else is working on this we could coordinate efforts. Hal Varian Internet: Hal.Varian@um.cc.umich.edu Department of Economics BITNET: userCABX@umichum University of Michigan NeXTmail: hal@alfred.econ.lsa.umich.edu Ann Arbor, MI 48109 voice: 313-764-2364 fax: 313-764-2769 From owner-SL-news Tue Sep 17 17:14:27 1991 Resent-Date: Tue, 17 Sep 91 10:39:33 PDT Resent-From: owner-SL-news Resent-Message-Id: <9109172214.AA04264@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 17 Sep 91 17:14:27 CDT Received: from relay1.UU.NET by umnstat.stat.umn.edu; Tue, 17 Sep 91 17:14:19 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA17166; Tue, 17 Sep 91 18:13:23 -0400 Received: from sputnik.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 181308.12254; Tue, 17 Sep 1991 18:13:08 EDT Received: by sputnik.tc.fluke.COM (version 2.52) from cutter.tc.fluke.COM for stat-lisp-news@umnstat.stat.umn.edu id AA10901; Tue, 17 Sep 91 10:39:36 PDT Received: by cutter.tc.fluke.COM (version 2.52) for stat-lisp-news@umnstat.stat.umn.edu id AA03176; Tue, 17 Sep 91 10:39:33 PDT Message-Id: <9109171739.AA03176@cutter> Date: Tue, 17 Sep 91 10:39:33 PDT From: sbanay@tc.fluke.COM (Sharon Banay) To: stat-lisp-news Subject: dynamic loading on sun4 (sparc) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: sbanay@tc.fluke.COM (Sharon Banay) Status: OR hi, i tried dynamically loading a c function with the dyn-load command, but it didn't work. the first thing i did was to create an object file: cc -c rd.c then, i attemped to dynamically load the routine in XLISP-STAT > (dyn-load "rd.o") first ld pass ld -d -N -x -A /usr/public/lib/xlispstat/xlisp -T 22d000 rd.o -lm -lc -o /tmp/xlispdyn3155 sh: 3157 Memory fault - core dumped error: link failed > does anybody know how to fix this for the sun 4? i successfully dynamically loaded on the sun 3 (as a comparison), but couldn't get it working for the sun 4! thanks, sharon From owner-SL-news Thu Sep 19 08:45:52 1991 Resent-Date: Thu, 19 Sep 91 09:44:34 -0400 Resent-From: owner-SL-news Resent-Message-Id: <9109191345.AA22726@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 19 Sep 91 08:45:52 CDT Received: from holly.stat.ufl.edu by umnstat.stat.umn.edu; Thu, 19 Sep 91 08:45:44 CDT Received: by stat.ufl.edu (5.57/4.08) id AA20776; Thu, 19 Sep 91 09:44:34 -0400 Date: Thu, 19 Sep 91 09:44:34 -0400 From: Mike Conlon Message-Id: <9109191344.AA20776@stat.ufl.edu> To: hal@alfred.econ.lsa.umich.edu Subject: XlispStat on the NeXT Cc: lisp-stat-news Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Mike Conlon Status: OR I took a look at what was involved to port XlispStat to the NeXT and decided this was a big job. Much harder than getting it to run under X, since the X version is in the distribution. Luke Tierney may have notes on what he did to port it to Windows, which he did recently. If you look at the code, you'll see that there are many X-related routiens to pass information to/from X to XlispStat. These would all have to be rewritten using Objective C and IB calls. There appear to be many interface points between the window system and XlispStat. I didn't look at it enough to tell how much of the X code was handling the interface and how much was internal X stuff that might be avoidable in an IB environment. Mike Conlon Dept of Statistics Univ of Florida From luke Thu Sep 19 13:58:43 1991 Resent-Date: Thu, 19 Sep 91 13:58:35 CDT Resent-Message-Id: <9109191858.AA01513@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 19 Sep 91 13:58:43 CDT Date: Thu, 19 Sep 91 13:58:35 CDT From: "Luke Tierney" Message-Id: <9109191858.AA01506@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 19 Sep 91 13:58:35 CDT To: stat-lisp-news Subject: Re: dynamic loading on sun4 (sparc) Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Under SunOS 4.0 and 4.1 you need to link xlispstat with -Bstatic since ld -A, which is used for dynamic loading, dies when run against an executable that uses shared libraries. luke From owner-SL-news Fri Sep 20 12:59:03 1991 Resent-Date: Fri, 20 Sep 91 13:51:45 EDT Resent-From: owner-SL-news Resent-Message-Id: <9109201759.AA11478@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 20 Sep 91 12:59:03 CDT Message-Id: <9109201758.AA11469@umnstat.stat.umn.edu> Received: from KARIBA.BBN.COM by umnstat.stat.umn.edu; Fri, 20 Sep 91 12:58:50 CDT To: stat-lisp-news Cc: kanderson@BBN.COM, jmorrill@BBN.COM Subject: Call for Comments From: aboulang@BBN.COM Sender: aboulang@BBN.COM Reply-To: aboulanger@BBN.COM Date: Fri, 20 Sep 91 13:51:45 EDT Source-Info: From (or Sender) name not authenticated. Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: aboulang@BBN.COM Status: OR We are seeking collaborators for either development or idea input on a language and an environment for exploratory data analysis, pattern recognition, and machine learning. Background In the past two years, a group in BBN STC, developed an environment that uses a tree classifier based on ID3 (like CART), and tools for visualizing the decision trees generated -- like what will be in the next release of S-PLUS. This environment was used to build classification trees for aluminum roll-mill quality diagnostics, seismic classification, and water pollution category determination. Recently, its interactive environment has been used in a system that classifies recorded conversations. The environment is written in CommonLisp and CLOS, the standard object system for CommonLisp. The windowing substrate is implemented using CLIM which is like the window environment in Symbolics Genera. The environment is available for Sun, Silicon Graphics, and Symbolics platforms and would be possible to move to other machine types. Where we are going. We need to provide general matrix manipulation capabilities. It currently lacks a "language" for doing so. This has lead to the thought of enhancing the environment so that is supports an infix language. This language will combine features from the language S and Iverson's follow-on to APL, J. (I can provide a description of J.) It will be implemented as a grammar within a structure editing substrate (point and click style of expression editing as well as normal typing) being developed for the FAES project. However we wish to upgrade the workspace notions in both S and J to be more object oriented. For instance, we wish to have a notion of folders like in Datadesk. This orientation is already present in the current system. We also wish to integrate it with a object oriented database system like Symbolics' Statice so that workspaces and object spaces are persistent. We also wish to provide the ability to dynamically link C programs into the interpretive environment like S. Lucid Commonlisp provides this capability. There is also a design goal that the algorithms and support environment be able to scale well with large datasets. This may entail distributed or parallel computation task dispatching from the interactive front end. The resulting system will combine some of the best features of S, J, Datadesk, and XLISP-Stat, to provide a state-of-the-art substrate for exploratory data analysis and pattern recognition in an age of run-away information. Please send notes of interest or comments to: Albert Boulanger aboulanger@bbn.com (617) 873-3891 From owner-SL-news Mon Sep 23 11:36:36 1991 Resent-Date: Mon, 23 Sep 91 12:35:04 EDT Resent-From: owner-SL-news Resent-Message-Id: <9109231636.AA03770@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 23 Sep 91 11:36:36 CDT Received: from ott.rutgers.edu by umnstat.stat.umn.edu; Mon, 23 Sep 91 11:36:27 CDT Received: by ott.rutgers.edu (5.59/SMI4.0/RU1.4/3.08) id AA00181; Mon, 23 Sep 91 12:35:04 EDT Date: Mon, 23 Sep 91 12:35:04 EDT From: crogers@stat.rutgers.edu Message-Id: <9109231635.AA00181@ott.rutgers.edu> To: stat-lisp-news Subject: Xlispstat Users Group Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: crogers@stat.rutgers.edu Status: OR I have working with xlispstat here at the Rutgers Statistics Department and would like to be included in your group mailings. My email adress is: crogers@stat.rutgers.edu Thanks, Christopher Rogers From owner-SL-news Mon Sep 23 12:08:56 1991 Resent-Date: Mon, 23 Sep 91 13:07 EDT Resent-From: owner-SL-news Resent-Message-Id: <9109231708.AA03907@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 23 Sep 91 12:08:56 CDT Message-Id: <9109231708.AA03900@umnstat.stat.umn.edu> Received: from utstat.toronto.edu by umnstat.stat.umn.edu; Mon, 23 Sep 91 12:08:44 CDT From: davids@utstat.toronto.edu Date: Mon, 23 Sep 91 13:07 EDT To: stat-lisp-news Subject: Archived Data Files and XLISP-STAT Code Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: davids@utstat.toronto.edu Status: OR Subject: Archived Data Files and XLISP-STAT Code Essentially, the subject line says it all. Has an archive site yet been installed for useful XLISP-STAT codings and data sets ? In particular, I am interested in seeing some examples of Byesian analyses incorporating Gibbs sampling ( or other related techniques ), perhaps incorporating dynamic graphical presentations. David P.M. Scollnik Department of Statistics University of Toronto. ps. E-mailed examples of the above would be also be appreciated. From luke Tue Sep 24 05:53:44 1991 Resent-Date: Tue, 24 Sep 91 05:53:33 CDT Resent-Message-Id: <9109241053.AA08682@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 24 Sep 91 05:53:44 CDT Date: Tue, 24 Sep 91 05:53:33 CDT From: "Luke Tierney" Message-Id: <9109241053.AA08675@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 24 Sep 91 05:53:33 CDT To: davids@utstat.toronto.edu, stat-lisp-news Subject: Re: Archived Data Files and XLISP-STAT Code Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR statlib has an archive for contributed code. Send an email message to statlib@lib.stat.cmu.edu containing the line send index from xlispstat and you will get a current listing. Currently there are just a two items (nothing on Gibbs sampling), but several people have indicated they might submit something in the next month or so. luke From owner-SL-news Wed Sep 25 11:22:39 1991 Resent-Date: Wed, 25 Sep 1991 11:13 CST Resent-From: owner-SL-news Resent-Message-Id: <9109251622.AA15258@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 25 Sep 91 11:22:39 CDT Received: from uwpg02.uwinnipeg.ca by umnstat.stat.umn.edu; Wed, 25 Sep 91 11:22:27 CDT Received: from UWPG02.UWINNIPEG.CA by UWPG02.UWINNIPEG.CA (PMDF #12040) id <01GAZWCDQBJ4001I7O@UWPG02.UWINNIPEG.CA>; Wed, 25 Sep 1991 11:13 CST Date: Wed, 25 Sep 1991 11:13 CST From: BILL SIMPSON Subject: sending labels to plot To: stat-lisp-news Message-Id: <01GAZWCDQBJ4001I7O@UWPG02.UWINNIPEG.CA> X-Vms-To: IN%"stat-lisp-news@umnstat.stat.umn.edu" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: BILL SIMPSON Status: OR > I have some suggestions and comments on Xlisp-stat. I am > using the latest version for Macintosh II (floating point coprocessor). > > 1. When I type: > (plot-points x y :variable-labels (list "xlabel" "ylabel")) > it works. > > But this doesn't work: > (def myplot (plot-points x y)) > (send myplot :variable-labels (list "xlabel" "ylabel")) > > Instead of putting the labels on the plot, it returns: > #("xlabel" "ylabel") > I have tried other variations, none of which work. Could someone > please explain? > > 2. "Quantile-plot" doesn't make a quantile plot as described > in Chambers et al. (1983). I have made a function that does a quantile > plot: > > (defun fraction-plot (x &key (title "Fraction Plot") point-labels) > "Args: (data &key (title \"Fraction Plot\") point-labels) > This is really a quantile plot." > (plot-points (/ (1+ (rank x)) (1+ (length x))) > x > :title title > :variable-labels > '("Fraction of data" "Value") > :point-labels point-labels)) > > I called it fraction-plot because the name quantile-plot was > taken. I would like to suggest that in the next version of xlisp-stat, > quantile-plot is my fraction-plot. I can't send variable labels to a plot > using this definition (same problem as in #1). > > I have also written a function to do a quantile-quantile plot > (but again had to give it a weird name): > > (defun fraction-fraction-plot (x y &key (title "Fraction- > fraction Plot") point-labels) > "Args: (xdata ydata &key (title \"Fraction-fraction Plot\") > point-labels) > This is really a quantile-quantile plot." > (plot-points (sort-data x) (sort-data y) > :title title > :variable-labels > '("Ordered x value" "Ordered y value") > :point-labels point-labels)) > > 3. I would like to suggest that nreg-model be changed such > that it receives x y b instead of just y b. The reason is > that with the current version you have to rewrite the model > function each time you have a new set of x data to fit. As > well, this would make nreg-model more similar to regression- > model. > > I like xlisp-stat very much; I hope these suggestions are > useful. > > Any help with the problems I'm having is appreciated. Bill Simpson wsimpson@uwpg02.uwinnipeg.ca From owner-SL-news Wed Sep 25 13:26:54 1991 Resent-Date: 25 Sep 91 12:06:00 MDT Resent-From: owner-SL-news Resent-Message-Id: <9109251826.AA00560@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 25 Sep 91 13:26:54 CDT Message-Id: <9109251826.AA00553@umnstat.stat.umn.edu> Received: from auctus.admin.athabascau.ca by umnstat.stat.umn.edu; Wed, 25 Sep 91 13:26:31 CDT Date: 25 Sep 91 12:06:00 MDT From: "Walter Gray" Subject: Stat-lisp-news Mailing List To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Walter Gray" Status: OR Please add my name to the mailing list. Walter M. Gray Athabasca University Athabasca, Alberta Canada From owner-SL-news Thu Sep 26 09:36:40 1991 Resent-Date: Thu, 26 Sep 91 09:34:08 CDT Resent-From: owner-SL-news Resent-Message-Id: <9109261436.AA04970@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 26 Sep 91 09:36:40 CDT Received: from [129.186.102.19] by umnstat.stat.umn.edu; Thu, 26 Sep 91 09:36:32 CDT Received: by iastate.edu with sendmail-5.57/4.7 id ; Thu, 26 Sep 91 09:34:11 -0500 Message-Id: <9109261434.AA00157@iastate.edu> To: stat-lisp-news Subject: time series question Date: Thu, 26 Sep 91 09:34:08 CDT From: "Mervyn G. Marasinghe" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Mervyn G. Marasinghe" Status: OR Has anyone done any time series stuff in lisp-stat? I am thinking of a project but want to know what's been done. From owner-SL-news Thu Sep 26 10:24:43 1991 Resent-Date: Thu, 26 Sep 1991 11:22:24 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <9109261524.AA05273@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 26 Sep 91 10:24:43 CDT Received: from PO3.ANDREW.CMU.EDU by umnstat.stat.umn.edu; Thu, 26 Sep 91 10:24:35 CDT Received: by po3.andrew.cmu.edu (5.54/3.15) id for stat-lisp-news@umnstat.stat.umn.edu; Thu, 26 Sep 91 11:22:59 EDT Received: via switchmail; Thu, 26 Sep 1991 11:22:58 -0400 (EDT) Received: from meyer.dws.acs.cmu.edu via qmail ID ; Thu, 26 Sep 1991 11:22:34 -0400 (EDT) Received: from meyer.dws.acs.cmu.edu via qmail ID ; Thu, 26 Sep 1991 11:22:25 -0400 (EDT) Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.meyer.dws.acs.cmu.edu.pmax.ul4 via MS.5.6.meyer.dws.acs.cmu.edu.pmax_ul4; Thu, 26 Sep 1991 11:22:24 -0400 (EDT) Message-Id: Date: Thu, 26 Sep 1991 11:22:24 -0400 (EDT) From: Michael Meyer To: stat-lisp-news, "Mervyn G. Marasinghe" Subject: Re: time series question In-Reply-To: <9109261434.AA00157@iastate.edu> References: <9109261434.AA00157@iastate.edu> Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Michael Meyer Status: OR There is a small time series collection for XLS in statli The message send times from xlipstat sent to statlib@lib.stat.cmu.edu should retrieve the software. --Mike Meyer. From luke Fri Sep 27 14:43:45 1991 Resent-Date: Fri, 27 Sep 91 14:43:34 CDT Resent-Message-Id: <9109271943.AA00642@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 27 Sep 91 14:43:45 CDT Date: Fri, 27 Sep 91 14:43:34 CDT From: "Luke Tierney" Message-Id: <9109271943.AA00634@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 27 Sep 91 14:43:34 CDT To: s-news@stat.wisc.edu, stat-lisp-news@umnstat.stat.umn.edu STAT-L@MCGILL1.BITNET Subject: Graphics sessions at 92 ASA meeting in Boston Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR CALL FOR PAPERS/SUGGESTIONS/VOLUNTEERS Section on Statistical Graphics American Statistical Association The 1992 annual meeting of the American Statistical Association will be held in Boston on August 10-13, 1992. The Section on Statistical Graphics is assigned three invited paper sessions at this meeting. I am writing to ask you for your help in organizing these sessions. What I need are Suggestions for talks or session topics you would like to hear or give. Suggestions or volunteers to organize sessions. One idea that has been suggested is to have a session on "Graphical Success Stories" -- examples of real analyses in which graphical methods played a major part or provided key insights that were not revealed by other means. For this session to work I need your help. If you have an application you think would be appropriate and would like to present, or if you know of such an application, please send me a short tentative title and description of the problem and the role of graphics in the analysis. If we get enough good submissions, we may even be able to organize more than one session along these lines! I know it is almost a year away, and it seems like the Atlanta meeting just ended, but these things need to be organized a long time in advance. So if you want to suggest a talk or topic volunteer as an organizer suggest an interesting application please contact me as soon as possible, but no later than OCTOBER 7 1991. Luke Tierney Program Chair Section on Statistical Graphics American Statistical Association luke@umnstat.stat.umn.edu [My apologies if you get several copies of this -- I am sending it to a number of mailing lists.] From owner-SL-news Sun Oct 6 14:24:33 1991 Resent-Date: Sun, 6 Oct 91 21:26:04 +0200 Resent-From: owner-SL-news Resent-Message-Id: <9110061924.AA10923@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 6 Oct 91 14:24:33 CDT Received: from noppa.Helsinki.FI by umnstat.stat.umn.edu; Sun, 6 Oct 91 14:24:22 CDT Received: by noppa.Helsinki.FI (4.1/SMI-4.1) id AA11581; Sun, 6 Oct 91 21:26:04 +0200 Date: Sun, 6 Oct 91 21:26:04 +0200 From: jpuranen@noppa.Helsinki.FI (Juha Puranen) Message-Id: <9110061926.AA11581@noppa.Helsinki.FI> To: stat-lisp-news Subject: box-cox-rewgression Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: jpuranen@noppa.Helsinki.FI (Juha Puranen) Status: OR Here is a lisp program for to teach Box-Cox-transformation. I am not an expert in lisp so the code is not as efficient as it could be. --------8<------------------------8<------------------------- ;; Dynamic Box-Cox-transformation in regression ;; ;; by ;; ;; Juha Puranen ;; Department of statistics ;; University of Helsinki ;; Aleksanterinkatu 7 ;; 00100 Helsinki ;; ;; jpuranen@noppa.helsinki.fi :: ;; Data taken from ;; ;; Ezekiel M. & Fox K. A. ;; Methods of Correlation and Regressio analysis ;; John Wiley & Sons, New York, 1965. ;; ;; Average Distance Required for Stopping after Signal, ;; for Different Speeds. ;; ;; ;; x = speed (Miles per hour) ;; y = distance to stop (Feet) ;; (def x (list 4 5 5 5 5 7 7 8 8 8 8 9 9 9 10 10 10 12 12 12 13 13 13 14 14 15 16 16 16 17 17 18 18 18 19 20 21 21 21 24 25 25 25 25 26 26 27 27 28 28 29 29 30 30 30 31 35 35 36 39 40 40)) (def y (list 4 2 4 8 8 7 7 8 9 11 13 5 5 13 8 14 17 11 19 21 15 18 27 14 16 16 14 19 34 22 29 29 34 47 30 48 39 42 55 56 33 48 56 59 39 41 57 78 64 84 54 68 60 67 101 77 85 107 79 138 110 134)) ;; define a function to compute the Box-Cox transformation (defun bc (x c p) (let* ((x (- x c)) (bcx (if (< (abs p) .0001) (log x) (/ (^ x p) p))) (min (min bcx)) (max (max bcx))) (/ (- bcx min) (- max min)))) ;; compute the normal quantiles of the expected uniform order statistics (def z (normal-quant (/ (iseq 1 62) 63))) ;; Box-Cox-transformation for variable y (def zy (bc y 0 1)) ;; scatterplot (def myplot1 (plot-points x zy)) (send myplot1 :title "Scatterplot") (send myplot1 :location 30 50 ) ; for SVGA 1024x768 (send myplot1 :size 350 450) ; for SVGA ;(send myplot1 :location 30 50 ) ; for SUN ;(send myplot1 :size 400 650) ; for SUN ;; regression model (def suora (regression-model x zy :print nil)) (def res (send suora :residuals)) (def coefs (send suora :coef-estimates)) (send myplot1 :clear-lines :draw nil) (send myplot1 :abline (select coefs 0) (select coefs 1)) ;; sorted residuals ;; construct an initial plot without transformation (def myplot2 (plot-points x res)) (send myplot2 :title "Residual Plot") (send myplot2 :range 1 -0.35 0.45) (send myplot2 :location 390 380) ; for SVGA (send myplot2 :size 580 270) ; for SVGA ;(send myplot2 :location 500 550 ) ; for SUN ;(send myplot2 :size 650 350) ; for SUN (def myplot3 (histogram res)) (send myplot3 :title "Histogramm") (send myplot3 :location 390 50) ; for SVGA (send myplot3 :size 290 200) ; for SVGA ;(send myplot3 :location 440 50 ) ; for SUN ;(send myplot3 :size 300 300) ; for SUN (send myplot3 :range 0 -0.35 0.45) ;; (send myplot3 :x-axis t t 4) (def sres (sort res `<)) (def myplot4 (plot-points z sres)) (send myplot4 :title "Propability Plot") (send myplot4 :location 680 50) ; for SVGA (send myplot4 :size 300 300) ; for SVGA ;(send myplot4 :location 750 50 ) ; for SUN ;(send myplot4 :size 380 380) ; for SUN (send myplot4 :range 1 -.35 .45) ;; ;; construct a dialog for scrolling through powers and recomputing the ;; plot ;; (setf liukuri (interval-slider-dialog (list -1 2) :title "Box-Cox-transformation" :text "Power" :points 60 :action #'(lambda (p) (def zy (bc y 0 p )) (def suora (regression-model x zy :print nil)) (def coefs (send suora :coef-estimates)) (def res (send suora :residuals)) (send myplot1 :clear nil) (send myplot1 :add-points x zy) (send myplot1 :clear-lines :draw nil) (send myplot1 :abline (select coefs 0) (select coefs 1)) (send myplot2 :clear nil) (send myplot2 :add-points x res) (send myplot2 :add-lines (kernel-smooth x res :type `g :width 10)) (send myplot3 :clear nil) (send myplot3 :add-points res) (def sres (sort res `<)) (send myplot4 :clear nil) (send myplot4 :add-points z sres) ))) (send liukuri :value 1) ; (send liukuri :location 470 420) ;for SUN (send liukuri :location 400 350) ; for SVGA --------8<------------------------8<------------------------- I hope You can use it. Juha From owner-SL-news Mon Oct 7 15:23:15 1991 Resent-Date: Mon, 07 Oct 91 16:18 EST Resent-From: owner-SL-news Resent-Message-Id: <9110072023.AA02420@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 7 Oct 91 15:23:15 CDT Received: from vx.acs.umn.edu by umnstat.stat.umn.edu; Mon, 7 Oct 91 15:23:08 CDT Received: from UNC.BITNET by vx.acs.umn.edu; Mon, 7 Oct 91 15:23 CDT Date: Mon, 07 Oct 91 16:18 EST From: "Forrest W. Young (919) 962-5038" Subject: unix menu bar To: stat-lisp-news Message-Id: <03BDBAA833BF410826@vx.acs.umn.edu> X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Forrest W. Young (919) 962-5038" Status: OR i have just moved a lisp-stat program from my mac to my dec 3100, and i now have a (dialog?) window titled "menu bar" that has the menus that i have created in it. how do i access that object? does it have a name? basically, i want to send messages to it to do things and i don't know its name... thanks for your help From luke Mon Oct 7 19:35:15 1991 Resent-Date: Mon, 7 Oct 91 19:35:07 CDT Resent-Message-Id: <9110080035.AA03266@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 7 Oct 91 19:35:15 CDT Date: Mon, 7 Oct 91 19:35:07 CDT From: "Luke Tierney" Message-Id: <9110080035.AA03258@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 7 Oct 91 19:35:07 CDT To: stat-lisp-news Subject: Minor update to XLISP-STAT for MS Windows Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR I have put a new version of xlispstat for MS Windows in the anonymous ftp directory on umnstat.stat.umn.edu. This version, 2.1R3 Alpha 6, incorporates a few minor modifications. The main ones are: Choosing Copy from the Edit menu when a graph is the front window copies a bitmap of the contents of the graph to the clipboard -- this emulates the behavior on the Macintosh. The amount of text retained by the listener window has been increased by about a factor of three. The listener has been modified to wrap long lines instead of providing a horizontal scroll bar. Printing routines have been replaced to work around a bug in the Borland libraries (try entering 0.888888888 in Alpha 5 and see what it prints back!). Some problems with dynamic loading have been fixed. Please let me know if you run into any problems. As always, if your current version works for you, you should save it before getting the new version, just in case I managed to break something. I have not updated the source code for the Windows version; I'll do that with the next release. luke From luke Tue Oct 8 08:26:21 1991 Resent-Date: Tue, 8 Oct 91 8:26:10 CDT Resent-Message-Id: <9110081326.AA06243@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 8 Oct 91 08:26:21 CDT From: "Luke Tierney" Message-Id: <9110081326.AA06235@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 8 Oct 91 08:26:13 CDT Subject: CL version of Lisp-Stat object system To: stat-lisp-news Date: Tue, 8 Oct 91 8:26:10 CDT X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR As a first step towards putting together a Common Lisp version of Lisp-Stat, I have put together a CL implementation of the LS object system. A copy is available for anonymous ftp from umnstat.stat.umn.edu in pub/xlispstat/CL/lsobjects.lsp. It seems to work under AKCL, Allegro CL and Mac CL (for Mac CL you need to add the feature :CLtL2 before loading). In minimal testing under AKCL it seems to be competitive with the xlispstat implementation. If you have a chance to experiment with it, I would appreciate any comments/suggestions/improvements. luke From owner-SL-news Fri Oct 18 03:37:28 1991 Resent-Date: Fri, 18 Oct 91 10:32 SET Resent-From: owner-SL-news Resent-Message-Id: <9110180837.AA09219@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 18 Oct 91 03:37:28 CDT Received: from vx.acs.umn.edu by umnstat.stat.umn.edu; Fri, 18 Oct 91 03:37:13 CDT Received: from IFISTAT.BITNET by vx.acs.umn.edu; Fri, 18 Oct 91 03:39 CDT Received: by IFISTAT (Mailer R2.07) id 0386; Fri, 18 Oct 91 10:35:09 SET Date: Fri, 18 Oct 91 10:32 SET From: MARCH@IFISTAT.BITNET To: STAT-LISP-NEWS Message-Id: X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: MARCH@IFISTAT.BITNET Status: OR I would like to have my name added to the stat-lisp-news mailing list. Thank you Giovanni M Marchetti Dipartimento Statistico University of Florence viale Morgagni, 59 50134 FIRENZE Italy march @ ifistat.bitnet From owner-SL-news Sat Oct 19 15:17:34 1991 Resent-Date: Sat, 19 Oct 91 16:14:57 -0400 Resent-From: owner-SL-news Resent-Message-Id: <9110192017.AA15608@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 19 Oct 91 15:17:34 CDT Received: from corot.isds.duke.edu by umnstat.stat.umn.edu; Sat, 19 Oct 91 15:17:27 CDT Received: by corot.isds.duke.edu (5.57/Ultrix3.0-C) id AA09769; Sat, 19 Oct 91 16:14:59 -0400 Message-Id: <9110192014.AA09769@corot.isds.duke.edu> To: stat-lisp-news Subject: dyn-load on decstation Date: Sat, 19 Oct 91 16:14:57 -0400 From: pm@corot.isds.duke.edu X-Mts: smtp Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pm@corot.isds.duke.edu Status: OR i tried to use "dyn-load" for a C function which requires a library subroutine. obviously the required library subroutine was not compiled with the ld option "-G 0". therefore "dyn-load" failed with a message saying that the library function was not compiled with "-G 0" and will therefore not work linking with "-A". is there any way to solve this? any suggestion would be appreciated. peter mueller pm@isds.duke.edu From owner-SL-news Mon Oct 21 15:30:28 1991 Resent-Date: Mon, 21 Oct 91 16:16:49 EDT Resent-From: owner-SL-news Resent-Message-Id: <9110212030.AA24332@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 21 Oct 91 15:30:28 CDT Received: from vx.acs.umn.edu by umnstat.stat.umn.edu; Mon, 21 Oct 91 15:30:22 CDT Received: from NERVM.NERDC.UFL.EDU by vx.acs.umn.edu; Mon, 21 Oct 91 15:32 CDT Received: from NERVM (FAZEKE) by NERVM.NERDC.UFL.EDU (Mailer R2.08) with BSMTP id 3671; Mon, 21 Oct 91 16:26:14 EDT Date: Mon, 21 Oct 91 16:16:49 EDT From: Mike Lambert Subject: Stat-lisp-news subscribe To: stat-lisp-news Message-Id: X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Mike Lambert Status: OR Please add my name to the news list. While I'm here, does anybody have an insight on printing to an imagewriter with xlisp-stat? I am able to copy my graphics window to a file, but would rather print it from lisp-stat than use a paint program. I'm using a Mac IIcx. thanks for any help. Mike Lambert University of Florida FAZEKE@NERVM (bitnet) fazeke@nervm.nerdc.ufl.edu From owner-SL-news Wed Oct 23 07:41:04 1991 Resent-Date: Wed, 23 Oct 91 08:38:42 -0400 Resent-From: owner-SL-news Resent-Message-Id: <9110231241.AA02960@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 23 Oct 91 07:41:04 CDT Received: from pilot.stat.ufl.edu by umnstat.stat.umn.edu; Wed, 23 Oct 91 07:40:56 CDT Received: by stat.ufl.edu (5.57/4.08) id AA14585; Wed, 23 Oct 91 08:38:42 -0400 Date: Wed, 23 Oct 91 08:38:42 -0400 From: Chuck Kincaid Message-Id: <9110231238.AA14585@stat.ufl.edu> To: stat-lisp-news Subject: compiling xlispstat on the NeXT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Chuck Kincaid Status: OR Hello, I am trying to do what the subject line says. I am a novice c++ user (getting better, though :-) and am stuck on some of the (seemingly) simple steps. If anyone has installed xlispstat on their NeXT either within NeXTStep or X11 (I have both) then I would greatly appreciate any hints or workarounds that you can offer. I can summarize the replies and the final solution to this list if there seems to be a lot of interest. Thank you, charles d. kincaid statman@stat.ufl.edu <----- Non-NeXTmail :-( From owner-SL-news Wed Oct 23 10:20:42 1991 Resent-Date: Wed, 23 Oct 91 11:13 EST Resent-From: owner-SL-news Resent-Message-Id: <9110231520.AA03566@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 23 Oct 91 10:20:42 CDT Received: from vx.acs.umn.edu by umnstat.stat.umn.edu; Wed, 23 Oct 91 10:20:35 CDT Received: from UNC.BITNET by vx.acs.umn.edu; Wed, 23 Oct 91 10:20 CDT Date: Wed, 23 Oct 91 11:13 EST From: "Forrest W. Young (919) 962-5038" Subject: printing To: stat-lisp-news Message-Id: X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Forrest W. Young (919) 962-5038" Status: OR mike lambert wonders about printed output from lisp-stat... so do I. I know how to do it, but its pretty klugy. (you save a text window to a file and print it, or you do a screen dump of a graphics window). i'm ok with the screen dump, but not ok with not being able to directly print text windows...does any one out there have code that can create a PRINT menu item for the File menu on a Mac? thats what we really need to make this mac-like. and... what about the Unix and MSWindows versions? From owner-SL-news Wed Oct 23 14:10:11 1991 Resent-Date: Wed, 23 Oct 91 15:00:08 EDT Resent-From: owner-SL-news Resent-Message-Id: <9110231910.AA04267@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 23 Oct 91 14:10:11 CDT Received: from vx.acs.umn.edu by umnstat.stat.umn.edu; Wed, 23 Oct 91 14:09:57 CDT Received: from ERENJ.BITNET by vx.acs.umn.edu; Wed, 23 Oct 91 14:12 CDT Received: from ERENJ (JKTROXE) by ERENJ.BITNET (Mailer R2.07B) with BSMTP id 9189; Wed, 23 Oct 91 15:04:49 EDT Date: Wed, 23 Oct 91 15:00:08 EDT From: John Troxell Subject: NeXT makefile To: stat-lisp-news Message-Id: X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: John Troxell Status: OR Chuck Kincaid asks in his article (Subject: compiling xlispstat on the NeXT): > If anyone has installed xlispstat on their NeXT either >within NeXTStep or X11 (I have both) then I would greatly appreciate >any hints or workarounds that you can offer. It is pretty easy to compile xlispstat with X11 on the NeXT (after all, even I managed it :-) Mike Conlon scoped making it into a full-fledged NeXT app but said it would be a lot of work. I compiled it under both Mouse-X (free) and co-Xist (commercial) versions of X for the NeXT (grayscale 040 slab, software release 2.0). Attached is an article originally posted by Hal Varian on June 27 to comp.sys.next that contains a makefile and instructions that should probably do the trick and that look cleaner than what I did. I haven't tried this exact approach myself. John K. Troxell Exxon Research & Engineering Co. jktroxe@erenj.bitnet ----------------------------------------------------------------------- >From: hal@econ.lsa.umich.edu (Hal Varian) >Newsgroups: comp.sys.next >Subject: Statistics package for NeXT >Keywords: statistics, xlispstat, X Windows >Message-ID: >Date: 27 Jun 91 16:01:13 GMT >Article-I.D.: engin.R5j#kj= >Organization: The University of Michigan, Ann Arbor >Lines: 272 >A few days ago I posted a note about statistics packages for the NeXT. Here's some more information on xlispstat, including instructions for compiling the X11 version. The program xlispstat is a full-featured statistics package based on xlisp available by ftp from umnstat.stat.umn.edu. A tutorial is available at the same location; the tutorial is for the Mac version, but it applies to the unix version with a few minor changes. Complete documentation is available in Luke Tierney's book, Lisp-Stat, John Wiley and Sons, 1990, ISBN 0-471-50916-7. This package can be compiled for the NeXT with minor changes to the Makefile. There are two ways to do it. X Windows. This gives you access to the many graphics tools, including spinplots, scatterplots, histograms, box plots, etc. The attached Makefile will compile xlispstat using co-Xist libraries for X Windows. It assumes that you have installed co-Xist and xlispstat in the default location. I'm told that it also compiles with mouseX, but haven't checked this myself. Generic unix. This way you have all the computational tools, but only minimal graphics capability. In order to compile this version, change the GRAPHSYS flag from X11WINDOWS to GNUPLOT in the Makefile. In the generic version, xlispstat produces Tektronics output for a few simple types of plots. You can cut and paste this output into a file and run it through ps4014 to view the output on the NeXT. To do this, use the ps4014 emulator in the extended distribution: ps4014 -R -S 7 < infile.tek > outfile.ps The resulting ps file can be viewed using Preview. You can also run it through Darcy Brockbank's program ps2eps (posted here a few weeks ago) and produce an eps file that can inserted into documents, etc. -- Hal Varian Internet: Hal_Varian@um.cc.umich.edu Dept of Economics BITNET: userCABX@umichum Univ of Michigan NeXTmail: hal@alfred.econ.lsa.umich.edu Ann Arbor, MI 48109 313-764-2364 ------------------------------cut here---------------------------------- #Makefile for xlispstat #Minor modifications by Hal Varian (HRV) for NeXT ############################################################################## # Directories # XLISPLIB is where the xlisp executable, the .lsp files to be loaded on # startup and the examples are to be kept. # BINDIR is where the xlispstat shell script is to be put. # # NOTE: if XLISPLIB is not empty it MUST end with a / XLISPLIB=/usr/local/lib/xlispstat/ BINDIR=/usr/local/bin ############################################################################## ############################################################################## # HRV: Graphics system. Uncomment one of the following choices: # HRV: use GNUPLOT if you don't have Xwindows #GRAPHSYS = GNUPLOT #GRAPHSYS = SUNVIEW GRAPHSYS = X11WINDOWS ############################################################################## ############################################################################## # Sun Operating System Version. Only used for SUNVIEW graphics system. # Use SUN3X for sun OS 3.X and SUN4X for sun OS 4.X under SunView; #SUNOS = SUN3X #SUNOS = SUN4X ############################################################################## ############################################################################## # User Compiler Flags # Add a -I directive if the X11 include files are not in a standard place # For Sun's OpenLook, for example, add -I/usr/openwin/include #UCFLAGS = -O -f68881 #ULDFLAGS = -f68881 #HRV: eliminate 68881 option; add= -D flag to avoid link conflict UCFLAGS = -O -v -Draise=rraise ULDFLAGS = CC=cc LD=ld ############################################################################## ############################################################################## # Foreign function call flag. If this flag is defined you should also # define a machine chosen from one of the directories in the machines # directory. Look at the README file in the machine directory for your # machine - you may have to add some additional compiler or ld flags # to make dynamic loading work. # # If you do not want to use foreign function calling define the machine # as `generic' #FOREIGN_FLAG = -DFOREIGNCALL #MACHINE = sun3 #HRV: use generic machine MACHINE = generic ############################################################################## ############################################################################## # Additional libraries and files to load at compile time EXTRALIBS= EXTRAOBJS= ############################################################################## ############################################################################## # Directory to search for X11 libraries (libX11.a, etc.) #HRV: this is where co-Xist puts the X11 libraries X11LIBDIR=/usr/include/X11 ############################################################################### ############################################################################### ### ### ### DO NOT EDIT BELOW THIS LINE ### ### ### ############################################################################### ############################################################################### CFLAGS = -DUNIX -D${GRAPHSYS} ${UCFLAGS} ${FOREIGN_FLAG} LIBS = ${EXTRALIBS} -lm LDFLAGS = ${ULDFLAGS} OSOBJS = xsdynload.o xssystem.o XLISPOBJS = xlbfun.o xlcont.o xldbug.o xldmem.o \ xleval.o xlfio.o xlftab.o xlglob.o xlimage.o xlinit.o xlio.o \ xlisp.o xljump.o xllist.o xlpp.o xlprin.o \ xlread.o xlstr.o xlsubr.o xlsym.o xlsys.o xlstruct.o COMMONOBJS = common.o commonarrays.o commonmath.o complex.o STATOBJS = basics.o compound.o distribs.o ddistribs.o \ hardwareobs.o matrices1.o matrices2.o math.o objectinit.o \ objects.o optimize.o statfloat.o sortdata.o statinit.o \ statistics.o uni.o utilities.o utilities2.o gamln.o splines.o \ kernel.o lowess.o cfft.o DISTOBJS = betabase.o gammabase.o nor.o ppnd.o studentbase.o bivnor.o LINALGOBJS = linalg.o cholesky.o ludecomp.o qrdecomp.o rcondest.o svdecomp.o \ makerotation.o GRAFOBJS = xsiview2.o xsiviewintrn.o xsnewplots.o \ xsgraphics.o xsiview3.o xsiviewwin.o xsiview.o \ xsiviewwin2.o menus.o dialogs.o iviewdata.o iviewscale.o iview.o \ iviewintrn.o xshistogram.o xsnamelist.o xsscatmat.o xsspin.o \ xsscatterpl.o windows.o stmem.o graphics.o myplot.o term.o \ postscript.o BAYESOBJS = minimize.o functions.o derivatives.o xsbayes.o BASICOBJS = ${OSOBJS} ${XLISPOBJS} ${COMMONOBJS} ${STATOBJS} ${DISTOBJS} \ ${LINALGOBJS} ${GRAFOBJS} ${BAYESOBJS} OBJS = ${BASICOBJS} ${EXTRAOBJS} GNUPLOTOBJS = unixstuff.o dummygraph.o SUNOBJS = sunstuff.o sungraphwin.o sunresizebr.o sunwindows.o \ sundialogs.o sunmenus.o X11WINDOWSOBJS = X11BSDstuff.o X11graph.o X11menus.o X11dialogs.o \ X11buttons.o X11text.o X11toggle.o X11choice.o X11slider.o \ X11listitem.o X11resizebr.o X11scroll.o LISPFILES = init.lsp common.lsp help.lsp objects.lsp statistics.lsp \ dialogs.lsp graphics.lsp graphics2.lsp graphics3.lsp regression.lsp \ oneway.lsp nonlin.lsp maximize.lsp bayes.lsp step.lsp autoload.lsp \ menubar.lsp xlisp.help xlispstat: Makefile xlisp setup.shell ./setup.shell xlispstat ${XLISPLIB} chmod a+x xlispstat install: installexecs installlisp installexecs: xlispstat xlisp cp xlispstat ${BINDIR} cp xlisp ${XLISPLIB} installlisp: cp ${LISPFILES} ${XLISPLIB} -mkdir ${XLISPLIB}/Data -mkdir ${XLISPLIB}/Examples cp Data/* ${XLISPLIB}/Data cp Examples/* ${XLISPLIB}/Examples installX11sun: X11sun installlisp cp xlispstat ${BINDIR} cp sunxlisp X11xlisp ${XLISPLIB} xlisp: ${GRAPHSYS}xlisp GNUPLOTxlisp: ${OBJS} ${GNUPLOTOBJS} ${CC} ${LDFLAGS} -o xlisp ${OBJS} ${GNUPLOTOBJS} ${LIBS} touch GNUPLOTxlisp SUNVIEWxlisp: ${OBJS} ${SUNOBJS} ${CC} ${LDFLAGS} -o xlisp ${OBJS} ${SUNOBJS} \ -lsuntool -lsunwindow -lpixrect ${LIBS} touch SUNVIEWxlisp X11WINDOWSxlisp: ${OBJS} ${X11WINDOWSOBJS} ${CC} ${LDFLAGS} -o xlisp ${OBJS} ${X11WINDOWSOBJS} \ -L${X11LIBDIR} -lX11 ${LIBS} touch X11WINDOWSxlisp X11sun: sun X11 setup.shell xlispstat ${XLISPLIB} both chmod a+x xlispstat sun: touch Makefile make xlisp GRAPHSYS=SUNVIEW mv xlisp sunxlisp X11: touch Makefile make xlisp GRAPHSYS=X11WINDOWS mv xlisp X11xlisp clean: rm -f core *.o *~ cleanall: clean rm -f xlisp sunxlisp X11xlisp xlispstat # More dependencies are needed here sunwindows.o: sunwindows.c xlisp.h windows.h sungraphwin.o: sungraphwin.c StGWWindow.h stmem.h sundialogs.o: sundialogs.c xlisp.h dialogs.h sunstuff.o: sunstuff.c xlisp.h version.h ${CC} -c ${CFLAGS} -D${SUNOS} sunstuff.c unixstuff.o: unixstuff.c xlisp.h version.h Makefile graphics.o: graphics.c gnuplot.h xlisp.h myplot.o: myplot.c gnuplot.h xlisp.h term.o: term.c gnuplot.h xlisp.h X11graph.o: X11graph.c xlisp.h StGWWindow.h StX11options.h X11BSDstuff.o: X11BSDstuff.c xlisp.h version.h X11dialogs.o: X11dialogs.c xlisp.h dialogs.h X11buttons.o: X11buttons.c xlisp.h dialogs.h X11text.o: X11text.c xlisp.h dialogs.h X11toggle.o: X11toggle.c xlisp.h dialogs.h X11choice.o: X11choice.c xlisp.h dialogs.h X11slider.o: X11slider.c xlisp.h dialogs.h X11listitem.o: X11listitem.c xlisp.h dialogs.h xlisp.h: xldmem.h xlisp.o: xlisp.c xlisp.h Makefile xlftab.o: xlftab.c osdefs.h osptrs.h Makefile statinit.o: statinit.c Makefile iviewdata.o: iviewdata.c xlisp.h StGWWindow.h stmem.h objectinit.o: objectinit.c xlisp.h Makefile xsdynload.o: xsdynload.c xlisp.h foreign.h Makefile foreign.h: machines/${MACHINE}/foreign.h Makefile cp machines/${MACHINE}/foreign.h . From owner-SL-news Thu Oct 24 11:15:10 1991 Resent-Date: Thu, 24 Oct 91 11:05:58 EDT Resent-From: owner-SL-news Resent-Message-Id: <9110241615.AA08610@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 24 Oct 91 11:15:10 CDT Received: from relay2.UU.NET by umnstat.stat.umn.edu; Thu, 24 Oct 91 11:15:00 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA07250; Thu, 24 Oct 91 12:12:32 -0400 Received: from arris.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 121104.22093; Thu, 24 Oct 1991 12:11:04 EDT Received: from dorcas.arris.com by arris.com (4.1/SMI-4.0) id AA08040; Thu, 24 Oct 91 11:05:58 EDT Date: Thu, 24 Oct 91 11:05:58 EDT From: rshapiro@arris.com (Richard Shapiro) Message-Id: <9110241505.AA08040@arris.com> Received: by dorcas.arris.com (4.1/SMI-4.1) id AA00326; Thu, 24 Oct 91 11:08:24 EDT To: stat-lisp-news Subject: handling missing values Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: rshapiro@arris.com (Richard Shapiro) Status: OR How does lisp-stat handle missing data? I'm looking for something equivalent to the NA value in S. I can't seem to find anything like this in the book. One obvious choice, NIL, makes xlispstat choke. Surely lisp-stat provides this essential functionality in some way... rshapiro@arris.com From luke Wed Oct 30 08:41:50 1991 Resent-Date: Wed, 30 Oct 91 08:41:43 CST Resent-Message-Id: <9110301441.AA23362@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 30 Oct 91 08:41:50 CST Date: Wed, 30 Oct 91 08:41:43 CST From: "Luke Tierney" Message-Id: <9110301441.AA23357@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 30 Oct 91 08:41:43 CST To: stat-lisp-news Subject: Non-graphics Common Lisp version of Lisp-Stat Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR I have put the source code for a preliminary non-graphics Common Lisp version of Lisp-Stat in pub/xlispstat/CL/CLS1.0A1.tar.Z for anonymous ftp from umnstat.stat.umn.edu. Three CL's are supported: AKCL, Allegro and Macintosh CL. Porting to another CL should be fairly simple -- mainly it involves adapting the interface to the C code to the CL's foreign function interface. The AKCL and Allegro versions seem fairly stable; the Macintosh version is rather flakey at least for the amount of memory I have available. If you try out this code and have any comments or suggestions, please let me know. luke From owner-SL-news Sun Nov 3 11:09:25 1991 Resent-Date: Sun, 3 Nov 91 12:02:06 EST Resent-From: owner-SL-news Resent-Message-Id: <9111031709.AA12370@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 3 Nov 91 11:09:25 CST Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sun, 3 Nov 91 11:09:16 CST Received: from neptune.fsu.edu (neptune.stat.fsu.edu) by stat.fsu.edu (4.1/25-eef) id AA19180; Sun, 3 Nov 91 12:02:06 EST Date: Sun, 3 Nov 91 12:02:06 EST From: Shau-Ming Wu Message-Id: <9111031702.AA19180@stat.fsu.edu> To: stat-lisp-news Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Shau-Ming Wu Status: OR ;;;; ;;;; I need a gamma random number which is greater than a. ;;;; However, none of the following functions works. ;;;; Please give me help. ;;;; S.M. Wu ,Deaprtment of Statistics, Florida State University, Tallahassee, ;;;; FL 32306 ;;;; wu@stat.fsu.edu ;;;; (defun cond-exp-rand (a) (do ((x (gamma-rand 1 1) (gamma-rand 1 1)) ) ((> x a) x) ) ) > (COND-EXP-RAND 2) (0.644391) ;;; Why is the output is sent with ( )? > (COND-EXP-RAND 2) (3.13239) ;;; Why is the output is sent with ( )? ;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;; ;; An experimental function. ;; (defun cond-exp-rand (a) (do ((x (gamma-rand 1 1) (+ 1 x)) ) ((> x a) x) ) ) > (COND-EXP-RAND 2) (2.91729) ;;; Why is the output is sent with ( )? > (COND-EXP-RAND 2) (0.0277206) ;;; Why is the output is sent with ( )? ;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; ;; However, this function seems OK in syntax. ;; (defun cond-exp-rand (a) (do ((x 1 (+ 1 x)) ) ((> x a) x) ) ) > (COND-EXP-RAND 2.5) 3 > (COND-EXP-RAND 9) 10 ;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;; ;;Recursive one doesn't work, either. ;; (defun cond-exp-rand (a) (setf x (gamma-rand 1 1)) ;;;(break) (if (>= x a) x (cond-exp-rand a) ) ;;;(break) ) > (COND-EXP-RAND 2) (1.81516) ;;; Why is the output is sent with ( )? > (COND-EXP-RAND 2) (2.32997) ;;; Why is the output is sent with ( )? From owner-SL-news Fri Nov 8 20:57:52 1991 Resent-Date: Fri, 8 Nov 91 18:56:19 PST Resent-From: owner-SL-news Resent-Message-Id: <9111090257.AA20573@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 8 Nov 91 20:57:52 CST Received: from bert.stat.washington.edu by umnstat.stat.umn.edu; Fri, 8 Nov 91 20:57:44 CST Received: by bert.stat.washington.edu (4.1/UW-NDC Revision: 2.13 ) id AA05220; Fri, 8 Nov 91 18:56:19 PST Date: Fri, 8 Nov 91 18:56:19 PST From: Steve McKinney Message-Id: <9111090256.AA05220@bert.stat.washington.edu> To: stat-lisp-news Subject: Lisp-Stat and S Cc: kilroy@biostat.washington.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Steve McKinney Status: OR I acquired some code from Wayne Olford of U. Waterloo which allows users of any Common Lisp to access S functions. I have modified these Common Lisp routines into Xlisp routines, so users of Lisp-Stat can pass lisp data variables off to a background S process, manipulate the data in S and then retrieve the results back into lisp variables. This adds a considerable array of number crunching routines to the Lisp-Stat repertoire without tying into yet another fortran library. Should I send these routines off to some central location at U Minnesota so that they may be generally accessed? For now, contact me kilroy@biostat.washington.edu for more info. \`|'/ (. .) ---uuu-U-uuu--- kilroy was here From owner-SL-news Sat Nov 9 05:45:51 1991 Resent-Date: Sat, 9 Nov 91 13:46:33 +0200 Resent-From: owner-SL-news Resent-Message-Id: <9111091145.AA22097@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 9 Nov 91 05:45:51 CST Received: from noppa.Helsinki.FI by umnstat.stat.umn.edu; Sat, 9 Nov 91 05:45:37 CST Received: by noppa.Helsinki.FI (4.1/SMI-4.1) id AA06332; Sat, 9 Nov 91 13:46:33 +0200 Date: Sat, 9 Nov 91 13:46:33 +0200 From: jpuranen@noppa.Helsinki.FI (Juha Puranen) Message-Id: <9111091146.AA06332@noppa.Helsinki.FI> To: stat-lisp-news Subject: ndf.lsp Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: jpuranen@noppa.Helsinki.FI (Juha Puranen) Status: OR I am trying to visualize, how the form of distribution depends on the parameters. I do it as follows: (I am a beginner in programming lisp, so the code is not very elegant. Sometimes, when I try to give a negative value for std, the program will change the range 0 in myplot2 to the same what it is in myplot1. I don't know why. I am using XLS for Microsoft Windows 3.0 Version 2.1 Alpha 6) ---8<----------------8<--------------------8<----------- ;; starting values (setq mean 0) (setq std 1) (def m1 (cons mean nil)) (def s1 (cons std nil)) (def x (rseq (- 10) 10 100)) (defun ndf(x m s) ( / (exp (/ (* (- .5) (- x m) (- x m)) s)) (sqrt ( * 2 pi s) ))) (def y (ndf x mean std)) (def myplot1 (plot-lines x y)) ;; construct the plots (send myplot1 :title "Normal distribution") ;; (send myplot1 :location 30 50 ) for SVGA ;; (send myplot1 :size 950 300) for SVGA (send myplot1 :location 15 20 ) ; for vga (send myplot1 :size 600 160 ) ; for vga (send myplot1 :range 0 -10.0 10.0) (send myplot1 :range 1 0.0 .7) (def myplot2 (plot-points m1 s1)) ;;(send myplot2 :location 250 400 ) ; for SVGA ;;(send myplot2 :size 515 200) ; for SVGA (send myplot2 :location 148 205 ) ; for VGA (send myplot2 :size 340 150) ; for VGA (send myplot2 :title "Parameter space") (send myplot2 :range 0 -5.0 5.0) (send myplot2 :range 1 0.1 3.0) ;; add a new "mouse mode", with menu title, ;; cusror and mouse method name (send myplot2 :add-mouse-mode 'point-moving :title "Point Moving" :cursor 'finger :click :do-point-moving) ;; add the new mouse method (defmeth myplot2 :do-point-moving (mean std a b) (let ((p (send self :drag-point mean std :draw nil))) (if p (send self :update-picture)))) ;; plot densityfunction (defmeth myplot2 :update-picture () (send self :adjust-screen) (send self :redraw-content) (setq mean (send self :point-coordinate 0 0 )) (setq std (send self :point-coordinate 1 0 )) (cond ((> std 0) std ) ( t (setq std 0.1) (rplaca s1 std) (rplaca m1 mean) (send myplot2 :clear nil) (send self :add-points m1 s1) (send self :show-all-points) ;; (send self :redraw-content) ;; (send self :point-showing mean std t) )) (setq y (ndf x mean std)) (send myplot1 :clear nil) (send myplot1 :add-lines x y) ) ;; put the plot in "point moving" mode (send myplot2 :mouse-mode 'point-moving) ---------8<-------------8<--------------8<-------------------- I have made same kind of programs also for other distributions, but how I can put them together? What is the most elegant way to use menu for to change the distribution function? Juha Puranen University of Helsinki Department of statistics From owner-SL-news Tue Nov 12 02:25:41 1991 Resent-Date: Sat, 9 Nov 91 10:51:17 +0100 Resent-From: owner-SL-news Resent-Message-Id: <9111120825.AA06258@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 12 Nov 91 02:25:41 CST Received: from [141.250.1.50] by umnstat.stat.umn.edu; Tue, 12 Nov 91 02:25:25 CST Received: by ipgaix.unipg.it (5.61-AIX-1.2/1.0) id AA304539 (for stat-lisp-news@umnstat.stat.umn.edu, from glm/glm); Sat, 9 Nov 91 10:51:17 +0100 Date: Sat, 9 Nov 91 10:51:17 +0100 From: glm@ipgaix.unipg.it (Gianfranco Galmacci) Message-Id: <9111090951.AA304539@ipgaix.unipg.it> To: kilroy%stat.washington.edu@IPGUNIV.unipg.it, stat-lisp-news Subject: Re: Lisp-Stat and S Cc: kilroy@biostat.washington.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: glm@ipgaix.unipg.it (Gianfranco Galmacci) Status: OR From luke Fri Nov 15 10:45:41 1991 Resent-Date: Fri, 15 Nov 91 10:45:34 CST Resent-Message-Id: <9111151645.AA21976@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 15 Nov 91 10:45:41 CST Date: Fri, 15 Nov 91 10:45:34 CST From: "Luke Tierney" Message-Id: <9111151645.AA21971@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 15 Nov 91 10:45:34 CST To: stat-lisp-news Subject: New MS WIndows version of xlispstat (Alpha 7) Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR A new MS Windows version of xlispstat, 2.1R3 Alpha 7, has been placed in the anonymous ftp directory on umnstat. This version incorporates a couple of bug fixes and a minor change: Mouse click and while-button-down actions would fail to detect the mouse release if the action popped up a new window, e.g. a dialog. This could cause the system to hang. This bug occurs when using some of Dennis Cook & Sandy Weisberg's dynamic diagnostic tools. This bug should now be fixed. Checks for control-C interrupts have been added to event handlers to allow interrupts out of dialog loops. Dashed lines have been changed to use another Windows line drawing mode that seems to look a bit better (PS_DOT instead of PS_DASH) luke From owner-SL-news Mon Dec 16 21:23:05 1991 Resent-Date: Mon, 16 Dec 91 11:58:25 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <9112170323.AA04194@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 16 Dec 91 21:23:05 CST Received: from PO5.ANDREW.CMU.EDU by umnstat.stat.umn.edu; Mon, 16 Dec 91 21:22:55 CST Received: by po5.andrew.cmu.edu (5.54/3.15) id for stat-lisp-news@umnstat.stat.umn.edu; Mon, 16 Dec 91 22:18:07 EST Received: via switchmail; Mon, 16 Dec 1991 22:18:05 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Mon, 16 Dec 1991 22:18:01 -0500 (EST) Received: from MONACA.MACH.CS.CMU.EDU via qmail ID ; Mon, 16 Dec 91 11:58:26 -0500 (EST) Received: from Messages.7.8.N.CUILIB.3.45.SNAP.NOT.LINKED.MONACA.MACH.CS.CMU.EDU.rt.r3 via MS.5.6.MONACA.MACH.CS.CMU.EDU.rt_r3; Mon, 16 Dec 91 11:58:25 -0500 (EST) Message-Id: Date: Mon, 16 Dec 91 11:58:25 -0500 (EST) From: Serge Taylor To: stat-lisp-news Subject: Xlisp manual? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Serge Taylor Status: OR Does anyone know where I can get a manual for Xlisp, 2.1, preferrable a ftp-able source of a .ps file that I can print out on a postscript printer? Thanks, Serge Taylor From owner-SL-news Thu Dec 19 21:10:12 1991 Resent-Date: Thu, 19 Dec 91 19:04:57 -0800 Resent-From: owner-SL-news Resent-Message-Id: <9112200310.AA24749@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 19 Dec 91 21:10:12 CST Received: from hplms2.hpl.hp.com by umnstat.stat.umn.edu; Thu, 19 Dec 91 21:10:04 CST Received: from hplnpm.hpl.hp.com by hplms2.hpl.hp.com with SMTP (16.5/15.5+IOS 3.20) id AA13524; Thu, 19 Dec 91 19:05:19 -0800 Received: from localhost by hplnpm.hpl.hp.com with SMTP (15.11.1.3/15.5+IOS 3.14) id AA00516; Thu, 19 Dec 91 19:04:58 pst To: stat-lisp-news Subject: Re: Xlisp manual? Organization: Hewlett-Packard Labs, Software & Systems Lab, Palo Alto, CA. X-Mailer: mh6.7 Date: Thu, 19 Dec 91 19:04:57 -0800 Message-Id: <514.693198297@hplnpm.hpl.hp.com> From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" Status: OR > Does anyone know where I can get a manual for Xlisp, 2.1, > preferrable a ftp-able source of a .ps file that I can print out on > a postscript printer? I include Betz's xlisp 2.1 manual, Mikkelsen's "Xlisp 2.0 reference guide", Mikkelsen's "Xlisp Object Primer", and Prothero's "Xlisp internals" document with my WINTERP OSF/Motif Widget INTERPreter (which is based on a modified xlisp 2.1). These are all "plain text" files that come out ok-looking on a printer: -r--r--r-- 1 mayer users 43388 Oct 6 07:04 XlispImpl.doc -r--r--r-- 1 mayer users 23691 Oct 6 07:12 XlispOOP.doc -r--r--r-- 1 mayer users 414134 Oct 6 07:14 XlispRef.doc -r--r--r-- 1 mayer users 90232 Oct 6 07:20 xlisp.doc You can get the latest public release (WINTERP version 1.13) off of the MIT X11r5 contrib tape, or via anonymous ftp from export.lcs.mit.edu, directory contrib/winterp, file winterp-1.13.tar.Z (remember to retrieve in binary mode). After doing 'zcat winterp-1.13.tar.Z | tar xvf -' you'll find the documentation under directory winterp-1.13/doc/ ------------------------------------------------------------------------------- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com Human-Computer Interaction Department Hewlett-Packard Laboratories Palo Alto, CA. * From owner-SL-news Wed Feb 5 09:41:51 1992 Resent-Date: Wed, 5 Feb 92 10:42:00 -0500 Resent-From: owner-SL-news Resent-Message-Id: <9202051541.AA24587@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 5 Feb 92 09:41:51 -0600 Received: by umnstat.stat.umn.edu; Wed, 5 Feb 92 09:41:39 -0600 Received: by stat.ufl.edu (5.57/4.08) id AA09143; Wed, 5 Feb 92 10:42:00 -0500 Date: Wed, 5 Feb 92 10:42:00 -0500 From: Mike Conlon Message-Id: <9202051542.AA09143@stat.ufl.edu> To: stat-lisp-news@umnstat Subject: Changing fonts Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Mike Conlon Status: OR Are there app-defaults for XlispStat in an X11 environment? I would like to be able to change fonts in some situations, but I haven't found anyway to do it. Mike Conlon Department of Statistics University of Florida From owner-SL-news Thu Feb 6 07:57:36 1992 Resent-Date: Thu, 6 Feb 92 7:56:58 CST Resent-From: owner-SL-news Resent-Message-Id: <9202061357.AA11436@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 6 Feb 92 07:57:36 -0600 From: "Luke Tierney" Message-Id: <9202061356.AA11429@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 6 Feb 92 07:56:59 -0600 Subject: Re: Changing fonts To: mconlon@stat.ufl.edu, stat-lisp-news@umnstat Date: Thu, 6 Feb 92 7:56:58 CST In-Reply-To: <9202051542.AA09143@stat.ufl.edu>; from "Mike Conlon" at Feb 5, 92 10:42 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR > > > Are there app-defaults for XlispStat in an X11 environment? > I would like to be able to change fonts in some situations, > but I haven't found anyway to do it. > > Mike Conlon > Department of Statistics > University of Florida > In principle you are supposed to ba eble to change menu, dialog and graphics fonts using X resources; for example, a resource xlisp*menu*font: fixed should change the menu font to "fixed". The way I implemented this seems to work on R3 servers but not R4 or later. This is on the list of things to be fixed (should not be too hard, just have to get around to it :-)) luke From owner-SL-news Mon Feb 10 15:49:04 1992 Resent-Date: Mon, 10 Feb 92 15:49:01 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9202102149.AA14822@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 10 Feb 92 15:49:04 -0600 Date: Mon, 10 Feb 92 15:49:01 -0600 From: "Luke Tierney" Message-Id: <9202102149.AA14815@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 10 Feb 92 15:49:01 -0600 To: stat-lisp-news Subject: a test Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR From owner-SL-news Wed Feb 19 10:09:10 1992 Resent-Date: Wed, 19 Feb 92 10:09:07 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9202191609.AA21463@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 10:09:10 -0600 Date: Wed, 19 Feb 92 10:09:07 -0600 From: "Luke Tierney" Message-Id: <9202191609.AA21458@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 10:09:07 -0600 To: stat-lisp-news Subject: testing 1 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Recently umnstat has undergone an identity change. Most things moved fine, but unfortunately there have been some problems with the mailer. In particular, this mailing list seems to be broken. To help track the problem, I will have to send a few test messages to this list. I will try to keep the number of these messages to a minimum; I apologize for the inconvenience. luke This is test 1 From owner-SL-news Wed Feb 19 11:28:04 1992 Resent-Date: Wed, 19 Feb 92 11:28:02 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9202191728.AA15907@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:28:04 -0600 Date: Wed, 19 Feb 92 11:28:02 -0600 From: "Luke Tierney" Message-Id: <9202191728.AA15902@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:28:02 -0600 To: stat-lisp-news Subject: testing 2 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Recently umnstat has undergone an identity change. Most things moved fine, but unfortunately there have been some problems with the mailer. In particular, this mailing list seems to be broken. To help track the problem, I will have to send a few test messages to this list. I will try to keep the number of these messages to a minimum; I apologize for the inconvenience. luke This is test 2 From owner-SL-news Wed Feb 19 11:35:28 1992 Resent-Date: Wed, 19 Feb 92 11:35:26 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9202191735.AA15941@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:35:28 -0600 Date: Wed, 19 Feb 92 11:35:26 -0600 From: "Luke Tierney" Message-Id: <9202191735.AA15936@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:35:26 -0600 To: stat-lisp-news Subject: testing 3 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Recently umnstat has undergone an identity change. Most things moved fine, but unfortunately there have been some problems with the mailer. In particular, this mailing list seems to be broken. To help track the problem, I will have to send a few test messages to this list. I will try to keep the number of these messages to a minimum; I apologize for the inconvenience. luke This is test 3 From owner-SL-news Wed Feb 19 11:56:12 1992 Resent-Date: Wed, 19 Feb 92 11:56:10 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9202191756.AA16060@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:56:12 -0600 Date: Wed, 19 Feb 92 11:56:10 -0600 From: "System PRIVILEGED Account" Message-Id: <9202191756.AA16055@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 11:56:10 -0600 Apparently-To: stat-lisp-news Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "System PRIVILEGED Account" Status: OR Recently umnstat has undergone an identity change. Most things moved fine, but unfortunately there have been some problems with the mailer. In particular, this mailing list seems to be broken. To help track the problem, I will have to send a few test messages to this list. I will try to keep the number of these messages to a minimum; I apologize for the inconvenience. luke This is test 4 From luke Wed Feb 19 13:58:41 1992 Resent-Date: Wed, 19 Feb 92 13:58:39 -0600 Resent-Message-Id: <9202191958.AA16375@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 13:58:41 -0600 Date: Wed, 19 Feb 92 13:58:39 -0600 From: "Luke Tierney" Message-Id: <9202191958.AA16370@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Feb 92 13:58:39 -0600 To: stat-lisp-news Subject: test 5 Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Status: OR Recently umnstat has undergone an identity change. Most things moved fine, but unfortunately there have been some problems with the mailer. In particular, this mailing list seems to be broken. To help track the problem, I will have to send a few test messages to this list. I will try to keep the number of these messages to a minimum; I apologize for the inconvenience. luke This is test 5 From owner-SL-news Wed Feb 26 10:27:04 1992 Resent-Date: Wed, 26 Feb 92 11:30:10 -0500 Resent-From: owner-SL-news Resent-Message-Id: <9202261627.AA16698@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 26 Feb 92 10:27:04 -0600 Received: by umnstat.stat.umn.edu; Wed, 26 Feb 92 10:26:57 -0600 Received: from frosty.Princeton.EDU by Princeton.EDU (5.65b/2.86/princeton) id AA04738; Wed, 26 Feb 92 11:26:49 -0500 Received: by frosty.Princeton.EDU (911016.SGI/1.111) id AA04149; Wed, 26 Feb 92 11:30:10 -0500 Date: Wed, 26 Feb 92 11:30:10 -0500 From: "Richard D. De Veaux" Message-Id: <9202261630.AA04149@frosty.Princeton.EDU> To: lisp-stat-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Richard D. De Veaux" Status: OR **************Grants for Beginning Researchers Offered************** Through a generous donation from the Statistics Division of the American Society for Quality Control, six grants are available to pay for registration, lodging and food for beginning researchers to attend the 1992 Gordon Research Conference on Statistics in Chemistry and Chemical Engineering (usual cost is $390). Grant recipients will be responsible for their own travel expenses. These grants are available to individuals who have received their highest degree since May 1989 or who are still in school and who are involved in research in statistics, chemistry or chemical engineering. Applications should consist of a letter of interest, a resume, a letter of recommendation from a major professor, research supervisor, or colleague familiar with the applicant's research record, and an abstract of research to be presented in the conference poster session. For consideration at the first decision point, applications must be received by the conference Vice Chair by May 15, 1992. Please send applications (4 copies) for these grants to Roger W. Hoerl, Conference Vice Chair, Scott Paper Company, Scott Plaza II, Phila., PA 19113, with a copy to the conference chair, Richard D. De Veaux, Dept. of Civil Eng'g and OR, Princeton University, Princeton, NJ 08544. Applicants must also apply directly to the conference itself by contacting Dr. A. M. Cruickshank, Gordon Research Center, University of Rhode Island, Kingston, RI 02881; (401) 783-4011 (E-mail:bcp101@uriacc.bitnet). From owner-SL-news Wed Feb 26 10:27:04 1992 Resent-Date: Wed, 26 Feb 92 11:29:59 -0500 Resent-From: owner-SL-news Resent-Message-Id: <9202261627.AA16697@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 26 Feb 92 10:27:04 -0600 Received: by umnstat.stat.umn.edu; Wed, 26 Feb 92 10:26:49 -0600 Received: from frosty.Princeton.EDU by Princeton.EDU (5.65b/2.86/princeton) id AA04734; Wed, 26 Feb 92 11:26:39 -0500 Received: by frosty.Princeton.EDU (911016.SGI/1.111) id AA04146; Wed, 26 Feb 92 11:29:59 -0500 Date: Wed, 26 Feb 92 11:29:59 -0500 From: "Richard D. De Veaux" Message-Id: <9202261629.AA04146@frosty.Princeton.EDU> To: lisp-stat-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Richard D. De Veaux" Status: OR CONFERENCE ANNOUNCEMENT 1992 Gordon Research Conference on Statistics in Chemistry and Chemical Engineering New Hampton School, New Hampton, NH July 27 to July 31, 1992 This conference, which has met annually since 1951, brings together researchers and practitioners in the fields of statistics, chemistry and chemical engineering in a relaxed and informal setting. The objective of the Gordon Research Conferences is to explore the `frontiers of science'. Participants will discuss new developments in statistical methodology and new applications of statistics to chemistry and chemical engineering. There are two talks each day (morning and evening) with the exception of Friday, with extended time for open discussion after each formal presentation. There are also round table discussions at lunch and a poster session, which will provide attendees the opportunity to post recent research results, and to discuss these with others at designated times. The potential for extended formal and informal discussions provides a unique learning opportunity for all conferees. It is customary to attend the entire conference. The fee to attend the Conference (Sunday dinner through Friday lunch) is $390 including registration, lodging and meals for those whose payments and registrations cards are received by July 6, 1992 ($50 additional thereafter). Please note, however, that all applications must be received no later than June 15, 1992 to allow time for approval. Due to the anticipated number of applications, it is advisable to apply earlier than this date. The charge for guests (not attending the technical sessions) is $300. Program details are provided below. Please also bring this conference to the attention of your colleagues. Requests for applications to the conference should be addressed to: Dr. Alexander Cruickshank Gordon Research Conferences, University of Rhode Island, Kingston, RI 02881; (401) 783-4011 (E-mail:bcp101@uriacc.bitnet). with, if convenient, a copy to the Conference Chair. To submit abstracts for poster session papers, please contact the Vice-Chair: Roger W. Hoerl, Scott Paper Company, Scott Plaza II, Philadelphia, PA 19113. (215) 522-5011 All interested persons are encouraged to apply. Further information can be obtained from the Conference Chair: Richard D. De Veaux, Department of Civil Engineering and Operations Research, ACE-43 Engineering Quadrangle, Princeton University, Princeton, NJ 08544; (609) 258-6494 FAX: (609) 258-1270. E-mail:deveaux@frosty.princeton.edu. ********************------------------------------******************** PROGRAM FOR THE 1992 Gordon Research Conference on Statistics in Chemistry and Chemical Engineering New Hampton School, New Hampton, NH July 27 to July 31, 1992 Chair: Richard D. De Veaux, Princeton University Vice Chair: Roger W. Hoerl, Scott Paper Company Speaker: John F. MacGregor, McMaster University, Ontario, Canada Topic: Multivariate Methods for Process Identification Discussant: Svante Wold, Umea University, Sweden Moderator: Karen Kafadar, National Cancer Institute Speaker: Adrian F.M. Smith, Imperial College, London, UK Topic: Bayesian Methods for Reliability Discussant: Bruce Hoadley, Bellcore Moderator: Edward I. George, University of Chicago Speaker: Ingram Olkin, Stanford University Topic: Meta Analysis in Science Discussant: Donald B. Rubin, Harvard Univeristy Moderator: Donna F. Stroup, Centers for Disease Control Speaker: Lyle H. Ungar, University of Pennsylvania Topic: Neural Networks for Chemical Process Control Discussant: James M. Minor, Dupont Moderator: Roger W. Hoerl, Scott Paper Company Speaker: Trevor J. Hastie, AT&T Bell Laboratories Topic: Generalized-Generalized Additive Models Discussant: Anthony C. Atkinson, London School of Economics, UK Moderator: Diane E. Duffy, Bellcore Speaker: Philip K. Hopke, Clarkson University Topic: Multivariate Methods for Environmental Chemical Analysis Discussant: Nouna Kettaneh-Wold, MDS Inc. Moderator: Age Smilde, University Center for Pharmacy, Groningen, Netherlands Speaker: V.V. Fedorov, Academy of Sciences, Moscow, Russia Topic: Moving regression: analysis and design of experiments Discussant: Toby J. Mitchell, Oak Ridge National Laboratory Moderator: James M. Lucas, Consultant Speaker: John C. Bailar, McGill University, Quebec, Canada Topic: New Directions in Risk Assessment Discussant: J. Michael Steele, University of Pennsylvania Moderator: Karen J. Hyver, Baxter Health Care Speaker: Andreas Buja, and Deborah F. Swayne, Bellcore Topic: Interactive Statistical Graphics using the X windows System Discussant: Randall D. Tobias, SAS Institute Moderator: Karen J. Bandeen-Roche, Johns-Hopkins University For applications to attend the conference contact: Dr. A. Cruickshank, Gordon Research Conferences, University of Rhode Island, Kingston, RI 02881; (401)-783-4011 (bcp101@uriacc.bitnet). To submit abstracts for poster session papers, contact: Roger W. Hoerl, Scott Paper Company, Scott Plaza II, Philadelphia, PA 19113. For further information on other aspects of the conference, contact: Richard D. De Veaux, Department of Civil Engineering and Operations Research, ACE-43 Engineering Quadrangle, Princeton University, Princeton, NJ 08544; (609)-258-6494 (deveaux@frosty.princeton.edu). From owner-SL-news Fri Feb 28 18:56:40 1992 Resent-Date: Fri, 28 Feb 92 16:56:23 GMT Resent-From: owner-SL-news Resent-Message-Id: <9202290056.AA21170@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 28 Feb 92 18:56:40 -0600 Received: by umnstat.stat.umn.edu; Fri, 28 Feb 92 18:56:34 -0600 Received: by uhura.biostat.washington.edu (5.64/UW-NDC Revision: 2.21 ) id AA09597; Fri, 28 Feb 92 16:56:25 -0800 From: Steve McKinney Message-Id: <9202290056.AA09597@uhura.biostat.washington.edu> Subject: Xlisp, LispStat to S To: stat-lisp-news@umnstat Date: Fri, 28 Feb 92 16:56:23 GMT Cc: kilroy@uhura.biostat.washington.edu (kilroy) X-Mailer: ELM [version 2.3 PL11] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Steve McKinney Status: OR I have made some improvements to the Xlisp to S package that substantially speeds up the output from S, allowing much better access to the S library of functions from LispStat. I have submitted this version 1.1 to statlib@lib.stat.cmu.edu in the form of a shar file. If you send e-mail to statlib@lib.stat.cmu.edu containing the line send index from xlispstat you should get the information on how to get it. Send me e-mail if that approach doesn't work. kilroy@biostat.washington.edu \`|'/ (. .) ---uuu-U-uuu--- kilroy was here From owner-SL-news Tue Mar 10 08:36:45 1992 Resent-Date: Tue, 10 Mar 1992 08:35:44 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9203101436.AA08670@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 10 Mar 92 08:36:45 -0600 Received: by umnstat.stat.umn.edu; Tue, 10 Mar 92 08:36:42 -0600 Date: Tue, 10 Mar 1992 08:35:44 -0600 From: bates@stat.wisc.edu (Douglas M. Bates) Message-Id: <199203101435.AA06091@wingra.stat.wisc.edu> Received: by wingra.stat.wisc.edu; Tue, 10 Mar 1992 08:35:44 -0600 To: S-news@jupiter.econ.umn.edu, lisp-stat-news@umnstat Subject: Scripts to search the Current Index to Statistics database Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bates@stat.wisc.edu (Douglas M. Bates) Status: OR This is a cross-posting of a message sent to sci.math.stat as I believe it may be of interest to these groups. In article <10002@tamsun.tamu.edu> jhardin@data.tamu.edu (James Hardin) writes: In the UNIX TOOLS session of the Interface '92 conference in College Station (March 16-20), there will be a talk on a collection of scripts written in the perl language. Sorry - I don't know the author's intentions for these scripts. Let me know if you are interested and I can send you a summary of what transpires in case you are not attending the conference. I can pass your name to the presenter if you are interested (I think the presenter is Professor Bates at Wisconsin, but I don't remember). Indeed I am the presenter of that session on perl. In the technical session I will be speaking about perl as a language for data manipulation but I will later give a demo (Friday at noon, I believe) of the CIS search software. If you want to try it out, the perl scripts for searching the CIS database are available for anonymous ftp from wingra.stat.wisc.edu (128.105.5.32) under pub/src/CIS.shar.Z. This is a compressed shar file; please remember to set "bin" mode before transfering it. These scripts are only suitable for Un*x workstations because they use sockets to implement a client/server architecture. There is also an implementation of perl for MS-DOS machines but the scripts would have to be modified somewhat to run under MS-DOS. The scripts use an inverted index so lookups are very fast. To install the system you first need to purchase a departmental license for the database from AMS or IMS, then install perl (freely available from many sites on the net including prep.ai.mit.edu under pub/gnu or by e-mail), then create the inverted index and start the server running. After that clients from any machines you authorize can access the database easily. Some advantages are: - output in a bib-like form, or BibTeX form (undocumented feature - use the -B option). - output piped through a pager by default. Commands to redirect the output to a file or in raw form to a file are available. - client/server means only one machine has to have a copy of the database. (It takes up about 20 Mb with the indices.) Also, integrity of the database is more easily maintained. - two-stage indices enhance the speed of intersecting the set of citations for different keywords - relatively easy to add new output formats, etc. This is a beta release of the software which was jointly written with Paul Tukey. I will announce further releases in this newsgroup. From owner-SL-news Tue Mar 10 16:18:45 1992 Resent-Date: Tue, 10 Mar 1992 16:18:41 -0600 Resent-From: owner-SL-news Resent-Message-Id: <9203102218.AA09725@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 10 Mar 92 16:18:45 -0600 Received: by umnstat.stat.umn.edu; Tue, 10 Mar 92 16:18:42 -0600 Date: Tue, 10 Mar 1992 16:18:41 -0600 From: bates@stat.wisc.edu (Douglas M. Bates) Message-Id: <199203102218.AA06493@wingra.stat.wisc.edu> Received: by wingra.stat.wisc.edu; Tue, 10 Mar 1992 16:18:41 -0600 To: S-news@jupiter.econ.umn.edu, lisp-stat-news@umnstat Subject: forwarded item from NA Digest Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bates@stat.wisc.edu (Douglas M. Bates) Status: OR The following was announced on NA-digest, an electronic newsletter for the numerical analysis community. I thought it was of sufficient interest to forward it to these lists. My apologies if you receive it more than once. ------- Start of forwarded message ------- From: nacomb@surfer.EPM.ORNL.GOV (NA-NET) Message-Id: <9203091235.AA01860@surfer.EPM.ORNL.GOV> Subject: NA Digest, V. 92, # 10 Apparently-To: wahba@stat.wisc.edu Status: R NA Digest Sunday, March 8, 1992 Volume 92 : Issue 10 Today's Editor: Cleve Moler The MathWorks, Inc. moler@mathworks.com Today's Topics: LAPACK is Now Available Second Release of XNETLIB Information about NA-NET: Mail to na.help@na-net.ornl.gov. - ------------------------------------------------------- From: Jack Dongarra Date: Fri, 6 Mar 92 12:36:44 -0500 Subject: LAPACK is Now Available ( L A P A C K ) ( L -A P -A C -K ) ( L A P A -C -K ) ( L -A P -A -C K ) ( L A -P -A C K ) ( L -A -P A C -K ) LAPACK is a transportable library of Fortran 77 subroutines for solving the most common problems in numerical linear algebra: systems of linear equations, linear least squares problems, eigenvalue problems, and singular value problems. It has been designed to be efficient on a wide range of modern high-performance computers. LAPACK is intended to be the successor to LINPACK and EISPACK. It extends the functionality of these packages by including driver routines, iterative refinement and error bounds for linear systems, the capability for finding selected eigenvalues and invariant subspaces, and condition estimation for the eigenproblem. LAPACK improves on the accuracy of standard algorithms for linear systems, for finding singular values and singular vectors of bidiagonal matrices, and for finding eigenvalues and eigenvectors of tridiagonal matrices. The algorithms and software in the package have been restructured to achieve high efficiency on vector processors, high-performance ``superscalar'' workstations, and shared memory multiprocessors. In addition to the LAPACK routines, comprehensive testing and timing suite is provided along with the LAPACK software. The LAPACK Users' Guide will be available from SIAM in or around May, 1992. The Users' Guide gives an informal introduction to the design of the algorithms and software, summarizes the contents of the package, describes conventions used in the software and documentation, and includes complete specifications for calling the routines. The LAPACK routines are available from netlib for users who require only selected pieces of the package. For a description of the contents of LAPACK, send email to netlib@ornl.gov, and in the mail message type: send index from lapack. A set of working notes are available from netlib as well and details can be found in the index to LAPACK. The complete LAPACK package can be obtained on magnetic media from NAG for a nominal handling charge. For further details, contact NAG at one of these addresses: NAG Inc NAG Ltd NAG GmbH 1400 Opus Place Wilkinson House Schleissheimerstrasse 5 Suite 200 Jordan Hill Road W-8046 Garching bei Munchen Downers Grove, IL 60515-5702 Oxford OX2 8DR Germany USA England Tel: +1 708 971 2337 Tel: +44 865 511245 Tel: +49 89 3207395 Fax: +1 708 971 2706 Fax: +44 865 310139 Fax: +49 89 3207396 LAPACK has been funded in part by NSF, DOE, and DARPA, with developmental support from NAG Ltd., Cray Research, and many friends and colleagues around the world. Ed Anderson, Zhao-jun Bai, Chris Bischof, Jim Demmel, Jack Dongarra, Jeremy Du Croz, Anne Greenbaum, Sven Hammarling, Alan McKenney, Susan Ostrouchov, and Danny Sorensen ( l l l l ) ( a -a a -a ) 1/4 * ( p p -p -p ) ( a -a -a a ) ( c c -c -c ) ( k -k -k k ) - ------------------------------ From: Jack Dongarra Date: Fri, 6 Mar 92 17:21:23 -0500 Subject: Second Release of XNETLIB We have a second release version of XNETLIB. XNETLIB is a new version of NETLIB recently developed at the University of Tennessee and Oak Ridge National Laboratory. Unlike NETLIB, which uses electronic mail to process requests for mathematical software, XNETLIB uses an X Window graphical user interface and a socket-based connection between the user's machine and the XNETLIB server machine to process software requests. To receive a copy of XNETLIB send the message "send xnetlib.shar from xnetlib" to netlib@ornl.gov. When you receive the shar file, remove the mail header, save it to a file, type 'sh filename' and follow the instructions in the README file. Send comments to xnetlib@cs.utk.edu. Jack Dongarra Tom Rowan Reed Wade - ------------------------------ ------- End of forwarded message ------- From owner-SL-news Fri May 29 02:48:44 1992 Resent-Date: Fri, 29 May 1992 02:48:44 GMT Resent-From: owner-SL-news Resent-Message-Id: <199205290929.AA04409@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 29 May 1992 04:29:01 -0500 Received: from coco.ms.washington.edu by umnstat.stat.umn.edu; Fri, 29 May 1992 04:28:57 -0500 Received: by coco.ms.washington.edu (5.65/UW-NDC Revision: 2.21 ) id AA13134; Thu, 28 May 92 19:01:13 -0700 Received: from arugula by statsci.com (4.1/SMI-3.2 ssi v3.13) id AA23928; Thu, 28 May 92 18:48:24 PDT Received: by arugula (16.7/16.2) id AA03177; Thu, 28 May 92 21:48:56 -0400 Newsgroups: lists.statlisp,sci.math.stat,comp.lang.lisp.x,comp.ai Path: almond From: statsci!almond@coco.ms.washington.edu (Russell G. Almond) Subject: Announcing ElToY Message-Id: Sender: statsci!usenet@coco.ms.washington.edu (Usenet News Account) Organization: Statistical Sciences, Inc., Seattle, WA USA Date: Fri, 29 May 1992 02:48:44 GMT Lines: 123 Apparently-To: lists-statlisp@mailhost Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: statsci!almond@coco.ms.washington.edu (Russell G. Almond) I have just released a new Bayesian Elicitation tool called ElToY. It demonstrates several elementary statistical concepts, and may eventually form the basis of a more sophisticated elicitation tool. I have included the rather unusual cross posting to comp.ai, because I view this a knowledge caputuring tool. If an "expert" is asked to encode her knowledge in the form of a probability distribution, then she must also understand the implications of her choice of distribution. ElToY provides an interactive environment for exploring the implications of such judgements. ElToY is written in XLISP-STAT; instructions for obtaining it are below. It is released into the public domain under the GNU library copyleft (I hope it may be useful as part of some other more complex software). I am willing to offer limited support over email (my addresses are below). Short Description: ElToY is an XLISP-STAT program which does one parameter elicitation for univariate conjugate priors through dynamic graphics. It contains a tool for interactively displaying a univariate distribuiton and a central limit theorem demonstration. [Russell Almond: almond@statsci.com] Long Description: ElToY is a collection of three program written in XLISP-STAT. Dist-toy displays a univarate distribution dynamically linked to its parameters. CLT-toy provides an illustration of the central limit theorem for univariate distributions. ElToY provides a mechanism for displaying the prior and posterior distributions for a conjugate family dynamically linked so that changes to the prior affect the posterior and visa versa. ElToY is coded relatively cleanly in XLISP-STAT and serves as an illustration of object oriented programming style in statistics. OBTAINING A COPY: 1) Via FTP: ElToY is available via anonymous ftp from stat.washington.edu (128.95.17.34). To get a copy, log in with user name anonymous (password @) and copy the file ElToY.tar.Z in binary mode. This can then be uncompressed and untared on your computer. Then follow the directions in the file INSTALLATION. 2) Via Email: ElToY is available via automatic email from statlib@stat.cmu.edu. To obtain a copy, send mail to statlib@stat.cmu.edu with the single line "send index" (no subject line). This will give you instructions on how to use the automatic mail server. DISTRIBUTION CONTENTS: ElToY is rather large and is broken into several pieces. Documentation: doc --- Plain TeX documentation. Is useful without the rest of ElToY COPYRIGHT --- GNU COPYLEFT, must be copied if other files are copied. README, INSTALLATION, OBJECTS --- misc documentation. General Stuff (may be useful without the rest of ElToY): utils --- Various utilities which may be useful including extensions to LISP-STAT, common lisp functions not provided in XLISP and a cleaned-up slider. fam --- Protocol for probability distribution objects and Graphical User Interfaces. params --- Parameter object protocols and Graphical User Interfaces. Dist-Lib--- Library of univariate distribution objects Required for both Dist-Toy and ElToY: toys --- Top level graphical tools and menus. clt --- Central Limit Theorem Stuff load --- Loading scripts Required only for ElToY: conj --- Conjugate distribution and Data-Link protocols and objects. Conj-Lib--- Library of Conjuage Distributions. This software is proteted by a GNU Library Copyleft which allows: 1) Unlimited redistribution at cost and 2) Inclusion as part of a larger system which is sold. The file COPYING.shar for the exact terms and conditions. I am willing to provide limited support via email, and am happy to hear your suggestions for improvements or bug fixes. I can be reached at either of the addresses below. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu "This is lightly tricky; one wrong calculation and the whole analysis results in different answers." ---From a Stat 390 lab report. From owner-SL-news Sat Jun 6 11:19:58 1992 Resent-Date: Sat, 6 Jun 1992 17:19:58 -0600 Resent-From: owner-SL-news Resent-Message-Id: <199206062118.AA17364@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 6 Jun 1992 16:18:38 -0500 Received: from math.mtu.edu by umnstat.stat.umn.edu; Sat, 6 Jun 1992 16:18:30 -0500 Received: from [141.219.151.138] (wollan.math.mtu.edu) by math.mtu.edu (4.1/SMI-4.1) id AA21762; Sat, 6 Jun 92 17:13:36 EDT Message-Id: <9206062113.AA21762@math.mtu.edu> Date: Sat, 6 Jun 1992 17:19:58 -0600 To: stat-lisp-news@umnstat From: wollan@math.mtu.edu Subject: missing values? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: wollan@math.mtu.edu Is it possible to have Xlisp-Stat handle missing values--at all, much less intelligently? This would seem to be a basic requirement for examining real data. ---------------------------------------------------------------------------- Peter Wollan, Math Dept, Mich. Tech. U., Houghton MI 49931 906-487-2694 wollan@math.mtu.edu ---------------------------------------------------------------------------- From almond@statsci.com Sun Jun 7 12:01:16 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Sun, 7 Jun 1992 21:13:43 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA22756; Sun, 7 Jun 92 22:13:17 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 221306.23724; Sun, 7 Jun 1992 22:13:06 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.17) id AA09818; Sun, 7 Jun 92 19:01:16 PDT Date: Sun, 7 Jun 92 19:01:16 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9206080201.AA09818@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA09818; Sun, 7 Jun 92 19:01:46 PDT To: wollan@math.mtu.edu Cc: SL-news-list@umnstat In-Reply-To: wollan@math.mtu.edu's message of Sat, 6 Jun 1992 17:19:58 -0600 <199206062118.AA17364@umnstat.stat.umn.edu> Subject: missing values? Peter Wollan writes: > Is it possible to have Xlisp-Stat handle missing values--at all, much less > intelligently? This would seem to be a basic requirement for examining > real data. Missing values are a perenial problem, but there are ways of dealing with them. 1) Quick and dirty method for using missing values. Most lisp data structures handle objects of type T and are not restricted to numeric data. Thus: #(1 2.4 1.234567892345 FOO (3 4)) Is a vector consisting of the integer 1 the single-float 2.4 the double-float 1.234567892345 the symbol FOO and a list whose elements are 3 and 4. There is no problem defining and including a symbol for missing values into a Lisp data structure. Thus: (defconstant NA NA "Missing value") ;; I define it as a self-evaluating constant so it will behave like a ;; number. (defun is-na (data) (cond ((numberp data) nil) ((eq data NA) T) ((listp data) (map-elements #'isnt-na data)) ((arrayp data) (map-elements #'isnt-na data)) (t (error "~S Isn't a number or NA." data)))) (defun isnt-na (data) ;; (declare (type data Sequence)) (remove NA data)) Thus (mean (isnt-na '(1 2 NA 4 5))) should yield 3. [Note, the declaration was commented out as XLISP doesn't support them.] Isnt-na doesn't work for compound data structures, but (in theory) you would want to define specific methods for such a structure (e.g, leave out the whole row of the data matrix if one element is missing.) This answers the "At all" part of the question. 2) Statistically intellegent. "Intellegently" has two potential meanings. One is will the procedure provide a sensible way of handling missing data in the input. The problem here is what is the correct way to handle missing data. The "obvious method" of dropping missing observations, or missing rows, rather assumes that the data is missing at random. This is a rather strong assumption and should be verified. It might be better to handle the missing values with multiple imputation, or some other technique. There are a variety of ways that a numeric function can handle missing values. 0) Quietly perform some default behavior, such as ignoring the missing values. 1) Perform some default behavior, but issue a warning. (This is the approach that S-Plus, StatSci's version, takes.) 2) Issue a continuable error, performing some appropriate default behavior as one of the restart conditions. 3) Issue an error. (this is the approach that S, AT&T's version, takes.) As you can see, there is some disagreement among experts about how to handle missing data. AT&T's decision to provide utility functions and force the user to do it for himself is based on Statisical Principle, particularly, the idea that missing values should always be carefully studied. StatSci's approach is somewhat temperred by demmand by non-statisticians to support missing data. I think that a good argument can be put forth for either 1, 2 or 3. 0 is much harder to defend. I think I would push for 2, but it probably requires a full ANSI Common Lisp (in particular, the ANSI condition system) to properly handle the restarts. I think that Luke has taken approach (3) in LISP-STAT because that way he can get on with the stuff he would like to work on without spending a lot of time handling missing data. He may have been partially motivated by efficiency issues as well. As XLISP will signal an error if it gets a symbol where it was expecting a number, the current XLISP-STAT implementation, with a couple of extra utility functions like the ones above is in fact a correct implementation of approach (3). 3) Efficiency Issues. There are a number of different efficiency issues associated with missing data. 3.1) Speed. Missing data checks can add about twices as much overhead to your code. Thus: (* (- X (mean X)) (- X (mean X))) could take four times as long if missing data checks were added to all of the arithmetic statements (once in calculating each of the means, and once in each of the minuses.) Just using normal LISP mechanism for catching items of the wrong type is considerably faster. 3.2) Space. Consider a matrix of values #2A((1.0 0.0) (0.0 1.0)). This can be stored as a matrix of double-floats (or a matrix of single-floats) in an efficient packed format. On the other hand #2A((1.0 0.0) (NA 1.0)) must be stored as a matrix of typed object, adding a typing overhead to the storage requirements. To really support NA, we would need a more efficient storage type which was: (deftype Extended-Float '(or (eq NA) Double-float)) This would need to be done at a very low level. I don't see such an extended Double-float data being supported by any free LISP which would be a platform for LISP-STAT. I could see a comercial vendor such as Lucid or Franz supporting it as part of an IEEE floating point extension, but its not likely to be free. Caviat: I'm not sure if XLISP supports vector and array data types. I have recently been programming with Common Lisp and I often forget which subset of that XLISP is. Hope this throws some fuel on the fire. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From owner-SL-news Mon Jun 8 05:54:12 1992 Resent-Date: Mon, 8 Jun 92 09:54:12 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199206081354.AA19940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 8 Jun 1992 08:54:53 -0500 Received: from stat.ufl.edu (pilot.stat.ufl.edu) by umnstat.stat.umn.edu; Mon, 8 Jun 1992 08:54:48 -0500 Received: by stat.ufl.edu (5.57/4.08) id AA24591; Mon, 8 Jun 92 09:54:12 -0400 Date: Mon, 8 Jun 92 09:54:12 -0400 From: Chuck Kincaid Message-Id: <9206081354.AA24591@stat.ufl.edu> To: stat-lisp-news@umnstat Subject: Re: missing values? Cc: h Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Chuck Kincaid Hello, Hmmm, I'm using a brain-dead mailer from a peecee. Since I can't include the original articles I hope I don't misquote or slander anyone. :-) Can xls take advantage of the ieee NA? On my machine (a NeXTstation) it is defined as HUGE/HUGE. And seems to be propogated in reasonable ways. This might overcome the problem of storing multi-type matrices. Obviously, the actual representation would be machine dependent, but if the machine follows the ieee spec's (whatever they are) it should work. Comments? charles d. kincaid statman@stat.ufl.edu With some work I can receive NeXTMail. 'It just works'. - Steve Jobs From owner-SL-news Tue Jun 9 13:00:31 1992 Resent-Date: Tue, 9 Jun 92 17:00:31 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199206092100.AA23300@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 9 Jun 1992 16:00:28 -0500 Received: from unx.al.alcoa.com by umnstat.stat.umn.edu; Tue, 9 Jun 1992 16:00:23 -0500 Received: by unx.al.alcoa.com (5.57/Ultrix3.0-C) id AA08387; Tue, 9 Jun 92 17:00:31 -0400 Date: Tue, 9 Jun 92 17:00:31 -0400 From: daniel@unx.al.alcoa.com (David Daniel) Message-Id: <9206092100.AA08387@unx.al.alcoa.com> To: stat-lisp-news@umnstat Subject: symbol creation Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: daniel@unx.al.alcoa.com (David Daniel) Given a character string containing the name of a symbol I would like to create, I can't figure out how to create that symbol. The underlying problem seems to be that when I do create a symbol it is unbound. Can anyone tell me what's up? (I suppose I could get around this by creating a string containing a "def" command and then evaluate the string, but I'd really like to know what the problem is with unbound symbols.) Thanks, -David Daniel daniel@unx.al.alcoa.com From almond@statsci.com Tue Jun 9 09:16:20 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Tue, 9 Jun 1992 18:24:39 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA29444; Tue, 9 Jun 92 19:24:26 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 192329.11706; Tue, 9 Jun 1992 19:23:29 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.17) id AA26103; Tue, 9 Jun 92 16:16:20 PDT Date: Tue, 9 Jun 92 16:16:20 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9206092316.AA26103@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA11799; Tue, 9 Jun 92 16:16:50 PDT To: daniel@unx.al.alcoa.com Cc: SL-news-list@umnstat In-Reply-To: David Daniel's message of Tue, 9 Jun 92 17:00:31 -0400 <199206092100.AA23300@umnstat.stat.umn.edu> Subject: symbol creation | Given a character string containing the name of a symbol I would | like to create, I can't figure out how to create that symbol. The | underlying problem seems to be that when I do create a symbol it | is unbound. Can anyone tell me what's up? (I suppose I could get | around this by creating a string containing a "def" command and then | evaluate the string, but I'd really like to know what the problem is | with unbound symbols.) | Thanks, | -David Daniel | daniel@unx.al.alcoa.com Sounds like you are confused between "set" and "setq", which is all the more confusing because LISP-STAT style uses "def" instead of "setq." "Set" is a function, which means when you evaluate an expression like "(set the-answer-to-life-the-universe-and-everything 42)" Lisp first evaluates the arguments and this expression will probably generate an error because "the-answer-to-life-the-universe-and-everything" is probably unbound. There are two ways around this. One is to use the special form quote which protects its argument from evaluation (abbreviated '). Thus: (set 'the-answer-to-life-the-universe-and-everything 42) This is so often what you want to do that lisp provides a built in abbreviation called setq, thus: (setq the-answer-to-life-the-universe-and-everything 42) The LISP-STAT macro "def" expands into a setq call, as well as doing some other stuff (declares the variable to be special and (I believe) recording it on a list. "def" is not standard lisp usage it is unique to LISP-STAT.) The "setf" macro is similar to "setq" except that it will take a generalized variable (a place) instead of just a symbol as an argument. A modern style convention (which Luke used in his book) was to "setf" for variables as well as other places. Between "setf" and "def" he could thus completely ignore the "set"/"setq" dilema. 97.5% of the time, you want to be using "def" (special variable) or "setf" (local variable) anyway, and you don't need to worry about "set." I think your application is one of the lucky 2.5%. The problem is when you create your new symbol, and you then want to set its value, you need to bind the value of the symbol which is stored in a local variable. This is a job for "set". Thus (defun make-new-data-var (name data) "Makes a new symbol with print-name and value " ;(declare (type String name) (type T data) ; (:returns (type Symbol))) (let ((new-symbol (intern name))) (set new-symbol data) new-symbol)) Mind you, this will not do any of the normal processing LISP-STAT does on variables which are "def"ed instead of "setf"ed. To do that, you probably want a macro. (defmacro make-new-data-var (name data) "Makes a new symbol with print-name and value using def" ;(declare (type String name) (type T data) ; (:returns (type Symbol))) `(def ,(intern name) ,data)) Symbols are always created unbound by default, because the are usually created at read time, not eval time. At read time, you are unsure whether the symbol is going to be a function, a variable or just used for its name as a datum. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From daniel@unx.al.alcoa.com Wed Jun 10 06:32:30 1992 Received: from unx.al.alcoa.com by umnstat.stat.umn.edu; Wed, 10 Jun 1992 09:32:22 -0500 Received: by unx.al.alcoa.com (5.57/Ultrix3.0-C) id AA09798; Wed, 10 Jun 92 10:32:30 -0400 Date: Wed, 10 Jun 92 10:32:30 -0400 From: daniel@unx.al.alcoa.com (David Daniel) Message-Id: <9206101432.AA09798@unx.al.alcoa.com> To: almond@statsci.com, daniel@unx.al.alcoa.com Subject: Re: symbol creation Cc: SL-news-list@umnstat Thanks for the replies. The "set" command was what I needed. Nearly all of my exposure to Xlisp/Lisp has been from Luke's text, and to my knowledge it doesn't discuss some of these issues (although it's been a great help to me). I also wish I had a better understanding of "defmacro" (and a number of other things). So... Is there a good literature source to which I can turn? Thanks, -David Daniel daniel@unx.al.alcoa.com > (def what-is-the-question-to (extract-question the-answer-to-life-the-universe-and-everything)) error: insufficient processor speed - try allocating more time From almond@statsci.com Wed Jun 10 04:24:01 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Wed, 10 Jun 1992 13:46:57 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA22871; Wed, 10 Jun 92 14:46:44 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 144546.6508; Wed, 10 Jun 1992 14:45:46 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.17) id AA01518; Wed, 10 Jun 92 11:24:01 PDT Date: Wed, 10 Jun 92 11:24:01 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9206101824.AA01518@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA12600; Wed, 10 Jun 92 11:24:32 PDT To: daniel@unx.al.alcoa.com Cc: SL-news-list@umnstat In-Reply-To: David Daniel's message of Wed, 10 Jun 92 10:32:30 -0400 <9206101432.AA09798@unx.al.alcoa.com> Subject: symbol creation > Is there a good literature source to which I can turn? I highly recommend Peter Norvig's new book "Paradigms of Artificial Intellegence Programming: Case Studies in Common Lisp," Morgan-Kaufmann. If you are used to traditional Fortran Programming this will help you see some other ways of looking at a problem. People have also recommended Winston and Horn, "Lisp", 3rd ed., Addison-Wesley. Wilensky, "Common LISPcraft," Norton is another source (I first learned LISP with an earlier version of this book). Steele, "Common LISP the Language", Digital (frequently abbreviated CLtL) is the defacto standard for Common LISP. The second edition tracks most of the recent changes made by the X3J13 committe which are trying to draft the ansi standard. Note that XLISP is a Common LISP subset, and hence does not track most of the later changes to CLtL-2. If you are exclusively using XLISP, you might be able to pick up a copy of CLtL-1 used. WARNING: XLISP is only a subset. I am sometimes rather fustrated and surprized by looking things up in CLtL-2 and discovering that XLISP doesn't implement that feature. If you have access to USENET, check out comp.lang.lisp and comp.lang.lisp.x. Comp.lang.lisp contains a frequently asked questions list (FAQ) which among other things, gives a longer list of LISP references, as well as some simple hints to basic problems. Comp.lang.lisp.x is a discussing group for XLISP, and is regularly read by both David Betz (XLISP) and Luke Tierney (LISP-STAT). Maybe somebody should cross-post the comp.lang.lisp FAQ lists to this group. --Russell Almond From aboulang@BBN.COM Wed Jun 10 12:48:48 1992 Message-Id: <199206102048.AA25680@umnstat.stat.umn.edu> Received: from KARIBA.BBN.COM by umnstat.stat.umn.edu; Wed, 10 Jun 1992 15:48:57 -0500 To: SL-news-list@umnstat In-Reply-To: "Russell G. Almond"'s message of Wed, 10 Jun 92 11:24:01 PDT <9206101824.AA01518@statsci.com> Subject: Lisp FAQsymbol creation From: aboulang@BBN.COM Sender: aboulang@BBN.COM Reply-To: aboulanger@BBN.COM Date: Wed, 10 Jun 92 16:48:48 EDT Source-Info: From (or Sender) name not authenticated. Date: Wed, 10 Jun 92 11:24:01 PDT From: "Russell G. Almond" Maybe somebody should cross-post the comp.lang.lisp FAQ lists to this group. Here they are (as of Feb 10): **************************************************************** Newsgroups: comp.lang.lisp From: mkant+@cs.cmu.edu (Mark Kantrowitz) Subject: FAQ: Frequently Asked Questions about Lisp 1/2 [Monthly posting] Date: Tue, 11 Feb 92 00:30:26 GMT Organization: School of Computer Science, Carnegie Mellon Nntp-Posting-Host: a.gp.cs.cmu.edu Followup-To: poster Reply-To: lisp-faq@think.com Archive-name: lisp-faq/part1 Last-Modified: Mon Feb 10 17:40:59 1992 by Mark Kantrowitz Version: 1.1 The news.answers newsgroup has been temporarily removed from this posting until the news.answers moderator gets around to reading his email. ;;; **************************************************************** ;;; Answers to Frequently Asked Questions about Lisp *************** ;;; **************************************************************** ;;; Written by Mark Kantrowitz and Barry Margolin ;;; lisp-faq-1.text -- 49756 bytes This post contains Part 1 of the Lisp FAQ. If you think of questions that are appropriate for this FAQ, or would like to improve an answer, please send email us at lisp-faq@think.com. Topics Covered (Part 1): [1] What is the purpose of this newsgroup? [2] What documentation is available on Lisp? How can I learn Lisp? [3] What documentation is available about object-oriented programming in Lisp? [4] How can I improve my Lisp programming style and coding efficiency? [5] Where can I learn about implementing Lisp interpreters and compilers? [6] Where can I get/buy Lisp for the ... architecture? [7] Where can I get an implementation of Prolog in Lisp? [8] What Lisp-related discussion groups and mailing lists exist? Topics Covered (Part 2): [9] What FTP resources are available? [10] Is there a GNU-Emacs interface to Lisp? [11] How can I use the X Window System from Lisp? [12] What does CLOS, PCL, X3J13, CAR, CDR, ... mean? What is CLOS (PCL) and where can I get it? How do you pronounce CLOS? What is CLOS (PCL) and where can I get it? [14] Why does (READ-FROM-STRING "foobar" :START 3) return FOOBAR instead of BAR? [15] Why can't it deduce from (READ-FROM-STRING "foobar" :START 3) that the intent is to specify the START keyword parameter rather than the EOF-ERROR-P and EOF-VALUE optional parameters? [16] How I write a function that can access defstruct slots by name? I would like to write something like (STRUCTURE-SLOT '). [17] Why can't I apply #'AND and #'OR? [18] When is it right to use EVAL? [19] I used a destructive function (e.g. DELETE, SORT), but it didn't seem to work. Why? [20] After I NREVERSE a list, it's only one element long. After I SORT a list, it's missing things. What happened? [21] What is the equivalent of EXPLODE and IMPLODE in Common Lisp? [22] Is Lisp inherently slower than more conventional languages such as C? [23] Why does my program's behavior change each time I use it? [24] Why does Common Lisp have "#'"? [25] How can I list all the CLOS instances in a class? [26] How do I call non-Lisp functions from Lisp? [27] Can I call Lisp functions from other languages? [28] Why does (READ-LINE) return "" immediately instead of waiting for me to type a line? [29] I typed a form to the read-eval-print loop, but nothing happened. Why? [30] I want to call a function in a package that might not exist at compile time. How do I do this? [31] What is CDR-coding? [32] What is garbage collection? [33] How do I save an executable image of my loaded Lisp system? [34] I'm porting some code from a Symbolics Lisp machine to some other platform, and there are strange characters in the code. What do they mean? [35] History: Where did Lisp come from? Search for [#] to get to question number # quickly. Introduction: Certain questions and topics come up frequently in the various network discussion groups devoted to and related to Lisp. This file/article is an attempt to gather these questions and their answers into a convenient reference for Lisp programmers. It (or a reference to it) is posted periodically. The hope is that this will cut down on the user time and network bandwidth used to post, read and respond to the same questions over and over, as well as providing education by answering questions some readers may not even have thought to ask. This is not a Lisp tutorial, nor is it an exhaustive list of all Lisp intricacies. Lisp is a very powerful and expressive language, but with that power come many complexities. This list attempts to address the ones that average Lisp programmers are likely to encounter. If you are new to Lisp, see the answer to the question "How can I learn Lisp?". The latest version of this file should always be available via anonymous FTP from any CMU CS machine (e.g., a.gp.cs.cmu.edu), in the directory /afs/cs.cmu.edu/user/mkant/Public/Lisp-Utilities/ as the files lisp-faq-1.text and lisp-faq-2.text. [Note: You must cd to this directory in one command, as intermediate directories are protected from an anonymous ftp.] Unless otherwise specified, the Lisp dialect referred to is Common Lisp, as defined by "Common Lisp: the Language" (aka "CLtL") as well as corrections (but not enhancements) from "Common Lisp: the Language, 2nd Edition" (aka "CLtL2"), both by Guy L. Steele, Jr. and published by Digital Press. ---------------------------------------------------------------- [1] What is the purpose of this newsgroup? This newsgroup (comp.lang.lisp) exists for general discussion of topics related to the programming language Lisp. For example, possible topics can include (but are not necessarily limited to): announcements of Lisp books and products discussion of programs and utilities written in Lisp discussion of portability issues questions about possible bugs in Lisp implementations problems porting an implementation to some architecture Postings should be of general interest to the Lisp community. Questions about object oriented programming in Lisp should be directed to the newsgroup comp.lang.clos. Similarly, questions about the programming language Scheme should be directed to the newsgroup comp.lang.scheme. Discussion of AI programs implemented in Lisp should sometimes be cross-posted to the newsgroup comp.ai. ---------------------------------------------------------------- [2] What documentation is available on Lisp? How can I learn Lisp? There are several good Lisp introductions and tutorials: 1. David S. Touretzky "Common Lisp: A Gentle Introduction to Symbolic Computation" Benjamin/Cummings Publishers, 1990. 384 pages. Perhaps the best tutorial introduction to the language. It has clear and correct explanations, and covers some fairly advanced topics. The book is an updated Common Lisp version of the 1984 edition published by Harper and Row Publishers. 2. Robert Wilensky "Common LISPcraft" W. W. Norton, 1986. 385 pages. 3. Wade L. Hennessey "Common Lisp" McGraw-Hill, 1989. 395 pages. Fairly good, but jumps back and forth from the simple to the complex rather quickly, with no clear progression in difficulty. 4. Laurent Siklossy "Let's Talk LISP" Prentice-Hall, NJ, 1976. 237 pages. Other introductions to Lisp include: 1. A. A. Berk. "LISP, The Language of Artificial Intelligence" Van Nostrand Reinhold, 1985. 160 pages. 2. Paul Y. Gloess. "An Alfred handy guide to Understanding LISP" Alfred Publishers (Sherman Oaks, CA), 1982. 64 pages. 3. Ward D. Maurer. "The Programmer's Introduction to LISP" American Elsevier, 1972. 112 pages. 4. Hank Bromley and Richard Lamson. "LISP Lore: A Guide to Programming the LISP Machine" Kluwer Academic (Boston), 1987. 337 pages. 5. Sharam Hekmatpour. "Introduction to LISP and Symbol Manipulation" Prentice Hall (New York), 1988. 303 pages. 6. Deborah G. Tatar "A programmer's guide to Common Lisp" Digital Press, 1987. 327 pages. ISBN 0-932376-87-8. Good introduction on Common Lisp. More advanced introductions to Lisp and its use in Artificial Intelligence include: 1. Peter Norvig. "Paradigms of AI Programming: Case Studies in Common Lisp" Morgan Kaufmann, 1992. 946 pages. ISBN 1-55860-191-0. 2. Eugene Charniak, Christopher K. Riebeck, Drew V. McDermott and James R. Meehan. "Artificial Intelligence Programming", 2nd edition. Lawrence Erlbaum Associates (Hillsdale, NJ), 1987. 533 pages. Provides many nice code fragments, all of which are written in Common Lisp. The first half of the book covers topics like macros, the reader, data structures, control structures, and defstructs. The second half of the book describes programming techniques specific to AI, such as discrimination nets, production systems, deductive database retrieval, logic programming, and truth maintenance. 3. Patrick H. Winston and Berthold K. P. Horn. "LISP", 3rd edition. Addison-Wesley (Reading, MA), 1989. 611 pages. Covers the basic concepts of the language, but also gives a lot of detail about programming AI topics such as rule-based expert systems, forward chaining, interpreting transition trees, compiling transition trees and finding patterns in images. Not a tutorial. Has many good examples. 4. Rodney A. Brooks. "Programming in Common Lisp" Wiley, 1985. 303 pages. 5. John R. Anderson, Albert T. Corbett, and Brian J. Reiser. "Essential LISP" Addison-Wesley (Reading, MA), 1987. 352 pages. Concentrates on how to use Lisp with iteration and recursion. 6. Robert D. Cameron and Anthony H. Dixon "Symbolic Computing with Lisp" Prentice-Hall, 1992, 326 pages. ISBN 0-13-877846-9. The book is intended primarily as a third-year computer science text. In terms of programming techniques, it emphasizes recursion and induction, data abstraction, grammar-based definition of Lisp data structures and functional programming style. It uses two Lisp languages: (1) a purely functional subset of Lisp called Small Lisp and (2) Common Lisp. An MS-DOS interpreter for Small Lisp (including source) is provided with the book. It considers applications of Lisp to formal symbolic data domains: algebraic expressions, logical formulas, grammars and programming languages. 7. Hasemer and Domingue. "Common Lisp Programming for Artificial Intelligence" Addison-Wesley, 1989. General Lisp reference books include: 1. Guy L. Steele "Common Lisp: The Language" [CLtL1] Digital Press, 1984. 465 pages. ISBN 0-932376-41-X. 2. Guy L. Steele "Common Lisp: The Language, 2nd Edition" [CLtL2] Digital Press, 1990. 1029 pages. ISBN 1-55558-041-6. 3. Franz Inc. "Common Lisp: The Reference" Addison-Wesley, Reading, MA 1988. ISBN 0-201-11458-5 Entries on lisp functions in alphabetical order. 4. K. Dybvig. "The Scheme programming language" Prentice Hall, 1987. Good reference for Scheme. Lisp periodicals include: 1. LISP Pointers. Published by ACM SIGPLAN six times a year. Volume 1, Number 1 was April-May 1987. 2. LISP and Functional Programming (jlz@lucid.com is the editor). 3. Proceedings of the biannual ACM Lisp and Functional Programming Conference. (First one was in 1980.) 4. Proceedings of the annual Lisp Users and Vendors Conference. Introductions to Scheme (Many books on Scheme are worth reading even if you use Common Lisp, because many of the issues are similar): 1. Harold Abelson and Gerald Jay Sussman, with Julie Sussman. "Structure and Interpretation of Computer Programs" MIT Press (Cambridge, MA) and McGraw-Hill (New York), 1985. 542 pages. Starts off introductory, but rapidly gets into powerful Lisp-particular constructs, such as using closures and engines, building interpreters, compilers and object-oriented systems. 2. Daniel P. Friedman and M. Felleisen. "The Little LISPer" Science Research Associates (Chicago), 1974. 58 pages. MIT Press (Cambridge, MA), 1987. ISBN 0-262-56038-0. Good for a quick introduction. Uses Scheme instead of Common Lisp. 3. George Springer and Daniel P. Friedman "Scheme and the Art of Programming" MIT Press and McGraw Hill, 1989. Introduces basic concepts of programming in Scheme. Also deals with object oriented programming, co-routining, continuations. 4. Wolfgang Kreutzer and Bruce McKenzie "Programming for Artificial Intelligence: Methods, Tools and Applications" Addison-Wesley (Reading, MA), 1990. 682 pages. ISBN 0-201-41621-2. Discusses Scheme, Prolog, and Smalltalk, gives an overview of the history and philosophy of AI, surveys three major programming paradigms (procedural, declarative, and object-oriented), and metaphors to AI programming. 5. Smith "Introduction to Scheme" 1988. Focuses on PC Scheme. 6. Michael Eisenberg "Programming in Scheme" Scientific Press (Redwood City, CA), 1988. 304 pages. ---------------------------------------------------------------- [3] What documentation is available about object-oriented programming in Lisp? Books about object-oriented programming in Lisp include: 1. See CLtL2 for a description of the CLOS standard. 2. Sonya E. Keene "Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS " Addison-Wesley (Reading, MA), 1989. 266 pages. ISBN 0-201-17589-4. Tutorial introduction to CLOS with many examples and a lot of good advice for designing large programs using CLOS. 3. Jo A. Lawless and Molly M. Miller. "Understanding CLOS: the Common Lisp Object System" Digital Press, 1991. 192 pages. 4. Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow. "The Art of the Metaobject Protocol" MIT Press, 1991. 335 pages. ISBN 0-262-61074-4 The first part of the book presents a model CLOS implementation, introduces the basic principles of metaobject protocols, and works through the key elements of the CLOS Metaobject Protocol. The second half is the detailed specification of the CLOS Metaobject Protocol. A simple working interpreter suitable for experimentation is contained in an appendix. 5. Robert R. Kessler and Amy R. Petajan. "LISP, Objects, and Symbolic Programming" Scott, Foresman and Company (Glenview, IL), 1988. 644 pages. Includes a small Lisp compiler. ---------------------------------------------------------------- [4] How can I improve my Lisp programming style and coding efficiency? There are several books about Lisp programming style, including: 1. Molly M. Miller and Eric Benson "Lisp Style and Design" Digital Press, 1990. 214 pages. ISBN 1-55558-044-0. How to write large Lisp programs and improve Lisp programming style. Uses the development of Lucid CL as an example. 2. Robin Jones, Clive Maynard, and Ian Stewart. "The Art of Lisp Programming" Springer-Verlag, 1989. 169 pages. 3. W. Richard Stark. "LISP, Lore, and Logic: an algebraic view of LISP programming, foundations, and applications" Springer-Verlag, 1990. 278 pages. Self-modifying code, self-reproducing programs, etc. 4. CMU CL User's Manual, Chapter 7, (talks about writing efficient code). It is available by anonymous ftp from any CMU CS machine (e.g., lisp-rt1.slisp.cs.cmu.edu) as the file /afs/cs.cmu.edu/project/clisp/docs/cmu-user/cmu-user.ps [when getting this file by anonymous ftp, one must cd to the directory with one command, as intermediate directories a protected during an anonymous ftp]. 5. See also Norvig's book, SICP (Abelson & Sussman), SAP (Springer and Friedman). Here are some general suggestions/notes about improving Lisp programming style: Functions often abused or misunderstood by novices: - EVAL - PROGV. Avoid unnecessary use of special variables; PROGV is especially dangerous because of the risk that variables will get dynamically rebound. - CATCH and THROW. Often a named BLOCK and RETURN-FROM are more appropriate. - Many programmers religiously avoid using BLOCK, PROG, TAGBODY. - Destructive operations, such as NCONC, SORT, DELETE, RPLACA, and RPLACD, should be used carefully and sparingly. In general, trust the garbage collector: allocate new data structures when you need them. Think twice before using any of these functions. To improve the readability of your code, - Don't use any C{A,D}R functions with more than two letters between the C and the R. When nested, they become hard to read. If you have complex data structures, you are often better off describing them with a DEFSTRUCT, even if the type is LIST. If you must use C{A,D}R, try to use destructuring-bind instead. - Use COND instead of IF and PROGN. In general, don't use PROGN if there is a way to write the code within an explicit progn. For example, (if (foo x) (progn (print "hi there") 23) 34) should be written using COND instead. Don't use rplaca and rplacd. If you must, use (setf (car ..) ..) and (setf (cdr ..) ..). Don't use quoted constants where you might later destructively modify them. For example, instead of writing '(c d) in (defun foo () (let ((var '(c d))) ..)) write (list 'c 'd) instead. Using a quote here can lead to unexpected results later. If you later destructively modify the value of var, this is self-modifying code! Some Lisp compilers will complain about this, since they like to make constants read-only. Modifying constants has undefined results in ANSI CL. Don't proclaim unsafe optimizations, such as (proclaim '(optimize (safety 0) (speed 3) (space 1))) since this yields a global effect. Instead, add the optimizations as local declarations to small pieces of well-tested, performance-critical code: (defun well-tested-function () (declare (optimize (safety 0) (speed 3) (space 1))) ..) Such optimizations can remove run-time type-checking, which is necessary unless you've very carefully checked your code and added all the appropriate type declarations. Don't add declarations to code until it is fully debugged. Incorrect declarations can be an annoying source of errors. Use CHECK-TYPE liberally while developing code, if you later intend to add declarations. To produce efficient code, - choose the right algorithm. For example, append is an O(n^2) operation, so replacing it with a more efficient algorithm (e.g., keeping a pointer to the last cons of the list and nconcing onto the end of that) can speed up the code. - use type declarations liberally, if you are a seasoned Lisp programmer. This helps the compiler generate more specific and optimized code. It also lets the reader know what assumptions were made. For example, if you only use fixnum arithmetic, adding declarations can lead to a significant speedup. If you are a novice Lisp programmer, you should use type declarations sparingly, as there is no checking to see if the declarations are correct. - check the code produced by the compiler by using the disassemble function ---------------------------------------------------------------- [5] Where can I learn about implementing Lisp interpreters and compilers? Books about Lisp implementation include: 1. John Allen "Anatomy of Lisp" McGraw-Hill, 1978. 446 pages. ISBN 0-07-001115-X 2. Kamin "Programming Languages, An Interpreter-Based Approach" Includes sources to several interpreters for Lisp-like languages, and a pointer to sources via anonymous ftp. 3. Sharam Hekmatpour "Lisp: A Portable Implementation" Prentice Hall, 1985. ISBN 0-13-537490-X. Describes a portable implementation of a small dynamic Lisp interpreter (including C source code). 4. Peter Henderson "Functional Programming: Application and Implementation" Prentice-Hall (Englewood Cliffs, NJ), 1980. 355 pages. 5. Peter M. Kogge "The Architecture of Symbolic Computers" McGraw-Hill, 1991. ISBN 0-07-035596-7. Includes sections on memory management, the SECD and Warran Abstract Machines, and overviews of the various Lisp Machine architectures. 6. Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes "Essentials of Programming Languages" MIT Press, 1992, 536 pages. ISBN 0-262-06145-7. Teaches fundamental concepts of programming language design by using small interpreters as examples. Covers most of the features of Scheme. Includes a discussion of parameter passing techniques, object oriented languages, and techniques for transforming interpreters to allow their implementation in terms of any low-level language. Also discusses scanners, parsers, and the derivation of a compiler and virtual machine from an interpreter. 7. Also see the proceedings of the biannual ACM Lisp and Functional Programming conferences, and the implementation notes for CMU Common Lisp. ---------------------------------------------------------------- [6] Where can I get/buy Lisp for the ... architecture? There are about eight free implementations of Lisp and Scheme interpreters and compilers and a dozen or so commercially available Lisp and Scheme implementations. Free Lisp implementations: Kyoto Common Lisp (KCL) is free, but requires a license. Austin Kyoto Common Lisp (AKCL) is Bill Schelter's improvements to KCL. Both are available by anonymous ftp from rascal.ics.utexas.edu [128.83.138.20] in the directory /pub. KCL is in the file kcl.tar, and AKCL is in the file akcl-xxx.tar.Z (take the highest value of xxx). Runs on Sparc, IBM RT, RS/6000. Mailing List: kcl@rascal.ics.utexas.edu XLISP is free, and runs on the IBM PC (MSDOS), Amiga (Atari ST), Macintosh, and Unix. It should run on anything with a C compiler. It was written by David Michael Betz, 127 Taylor Road, Peterborough, NH 03458. The reference manual was written by Tim Mikkelsen. Version 2.0 is available by anonymous ftp from cs.orst.edu:/pub/xlisp/ [128.193.32.1] or sumex-aim.stanford.edu:info-mac/lang/ Version 2.1 is the same as XLISP 2.0, but modified to bring it closer to Common Lisp and with several bugs fixed. It can be obtained by anonymous ftp from glia.biostr.washington.edu 128.95.10.115 bikini.cis.ufl.edu 128.227.224.1 in the file xlisp21c.zip (soon xlisp21d.zip) and comes with IBM/PC executables. For obtaining a copy through US mail, send email to Tom Almy, toma@sail.labs.tek.com. CMU Common Lisp is free, and runs on Sparcs (Mach and SunOs), DecStation 3100 (Mach), IBM RT (Mach) and requires 16mb RAM, 25mb disk. It includes an incremental compiler, Hemlock emacs-style editor, source-code level debugger, code profiler and is mostly X3J13 compatible, including the new loop macro. It is available by anonymous ftp from any CMU CS machine, such as lisp-rt1.slisp.cs.cmu.edu and lisp-rt2.slisp.cs.cmu.edu, in the directory /afs/cs.cmu.edu/project/clisp/release. Login with username "anonymous" and "userid@host" (your email address) as password. Due to security restrictions on anonymous ftps, it is important to "cd" to the source directory with a single command. Don't forget to put the ftp into binary mode before using "get" to obtain the compressed/tarred files. The binary releases are contained in files of the form -_.tar.Z Other files in this directory of possible interest are 15b-sun4-source.tar.Z, which contains all the ".lisp" source files used to build version 15b for Sparc machines, and 10-16-91-cmucl-master.tar.Z which contains the project/clisp/master subtree, with RCS source (,v) files for all of CMU CL. Bug reports should be sent to cmucl-bugs@cs.cmu.edu. PC LISP is a Lisp interpreter for IBM PCs (MSDOS) available from any site that archives the group comp.binaries.ibm.pc, such as ix1.cc.utexas.edu:/microlib/pc/languages/pc-lisp/ps-lisp.arc wuarchive.wustl.edu:/mirrors/msdos/lisp/pclisp30.zip Free Scheme implementations: Many free Scheme implementations are available from altdorf.ai.mit.edu [18.43.0.246]. See also the Scheme Repository described below in the section about repositories of Lisp/Scheme code. C-Scheme, free by anonymous ftp from altdorf.ai.mit.edu. PC-Scheme, free by anonymous ftp from altdorf.ai.mit.edu in the directory /archive/pc-scheme/. Written by Texas Instruments. Runs on IBM PCs and compatibles. Includes an optimizing compiler and an emacs-like editor. Conforms to the Revised^4 Report on Scheme. Also supports the dialect used in SICP. The official implementation costs $95 and includes a reference manual and user's guide. Write to: Texas Instruments, 12501 Research Boulevard, MS 2151, Austin, TX 78759 and order TI Part number #2537900-0001, or call 1-800-TI-PARTS and order it using your Visa or Mastercard. MIT Scheme, free by anonymous ftp from altdorf.ai.mit.edu in the directory scheme-7.1. The compiler is currently ported to four architectures: MC68020/30/40, HP Precision Architecture, MIPS, and VAX. The interpreter will soon be available for any Unix-based machine. Includes a reference manual and user's manual, as well as a copy of the Revised^4 Report on Scheme. Send bug reports to bug-cscheme@zurich.ai.mit.edu. The mailing list info-cscheme@altdorf.ai.mit.edu is gatewayed to the comp.lang.scheme.c mailing list. SCM, free by anonymous ftp from altdorf.ai.mit.edu:archive/scm or nexus.yorku.ca:pub/oz/scheme/new. Current version 3c. Runs on Amiga, IBM PC, VMS, Macintosh, Unix, and similar systems. Scm conforms to the Revised^4 Report on the Algorithmic Language Scheme and the IEEE P1178 specification. Scm is written in C. ASCII and EBCDIC are supported. Gambit is an optimizing Scheme compiler/system. It supports the IEEE Scheme standard and `future' construct. It is available by anonymous ftp from acorn.cs.brandeis.edu:/dist [129.64.3.8] and runs on M680x0 based unix machines, such as Sun3, HP300, BBN GP1000, etc. Contact Marc Feeley at feeley@chaos.cs.brandeis.edu. T3.1 is a Scheme-like language developed at Yale. Available by anonymous ftp from altdorf.ai.mit.edu in the directory /archive/t3.1/. Runs on DecStations 3100 (PMAX), Sun4 (SPARC), Sun3, Vax/Unix, Encore, HP workstations, Apollo and Macintosh (AUX). Includes a copy of the online version of the T manual and release notes for T3.0 and T3.1. The vaxen/sun implementations include a foreign function (C) interface. To be informed of fixes, new releases, etc., send your email address to t-project@cs.yale.edu. Bug reports should go to t3-bugs@cs.yale.edu. A multiprocessing version of T is available from masala.lcs.mit.edu:/pub/mult Oaklisp is an seamless integration of Scheme with an object-oriented substrate. Available by anonymous ftp from f.gp.cs.cmu.edu [128.2.250.164] in the directory /usr/bap/oak/ftpable, and includes reference and implementation manuals. Elk (Extension Language Kit) is a Scheme interpreter designed to be used as a general extension language. Available by anonymous ftp from the Scheme Repository in nexus.yorku.ca:/pub/scheme/imp/. Runs on Unix, SunOs, and Ultrix based platforms, including VAX, Sun3, Sun4 (Sparc), 680x0, 80386, MIPS, and IBM RT. The Elk interpreter is mostly R3RS compatible. Elk has interfaces to Xlib and the various widget sets. Implemented by Oliver Laumann. EuLisp is available from gmdzi.gmd.de [129.26.8.90] in the /lang/lisp/eulisp directory. Scheme->C compiles R3RS Scheme to C that is then compiled by the native C compiler for the target machine. Runs on Vaxen and DecStation 3100s running Ultrix, as well as Sun3, Sun4, and Apollo. It is available for anonymous ftp from gatekeeper.dec.com [16.1.0.2] in /pub/DEC/Scheme-to-C. Information on obtaining documentation may be obtained by sending mail to WRL-Techreports@decwrl.dec.com with subject line "help". SIOD (Scheme in One Defun), free by anonymous ftp from bu.edu:users/gjc/siod-v2.4-shar [128.197.2.6]. Runs on VAX/VMS, VAX UNIX, Sun3, Sun4, Amiga, Macintosh, MIPS, Cray. Small scheme implementation in C arranged as a set of subroutines that can be called from any main program for the purpose of introducing an interpreted extension language. Compiles to ~20K bytes of executable. Lisp calls C and C calls Lisp transparently. XScheme is available free by anonymous ftp from uunet.uu.net in the directories MSDOS/languages/X-scheme and amiga-sources/xscheme.20.zoo. Implemented by David Betz. XScheme is discussed in the newsgroup comp.lang.scheme.x. It may also be found in the Scheme Repository. Fools' Lisp is a small Scheme interpreter that is R4RS conformant, and is available by anonymous ftp from scam.berkeley.edu [128.32.138.1] in the directory src/local/fools.tar.Z. Runs on Sun3 and Sun4 (SunOs), DecStation 3100s, Vax (Ultrix), Sequent, and Apollo. Implemented by Jonathan Lee . Scheme84 is in the public domain, and available by mail from Indiana University. It runs on the VAX under either VMS or BSD Unix. To receive a copy, send a tape and return postage to: Scheme84 Distribution, Nancy Garrett, c/o Dan Friedman, Department of Computer Science, Indiana University, Bloomington, Indiana. Call 1-812-335-9770 or send mail to nlg@indiana.edu for more information. UMB Scheme is a R4RS Scheme available by anonymous ftp from ucbarpa.berkeley.edu in pub/UMB_scheme.tar.Z and also in the Scheme Repository. It includes a simple editor, debugger, Written by William Campbell, University of Massachusetts at Boston, bill@cs.umb.edu. Free Scheme Implementations implemented in Lisp: Peter Norvig's book "Paradigms of AI Programming" has a chapters about Scheme interpreters and compilers, both written in Common Lisp. The software from the book is available by anonymous ftp from unix.sri.com:pub/norvig and on disk in Macintosh or DOS format from the publisher, Morgan Kaufmann. For more information, contact: Morgan Kaufmann, Dept. P1, 2929 Campus Drive, Suite 260, San Mateo CA 94403, or call Toll free tel: (800) 745-7323; FAX: (415) 578-0672 PseudoScheme is available free by anonymous ftp from altdorf.ai.mit.edu:/archive/pseudo/pseudo-2-8.tar.Z. It is Scheme implemented on top of Common Lisp, and runs in Lucid, Symbolics CL, VAX Lisp under VMS, and Explorer CL. It should be easy to port to other Lisps. It was written by Jonathan Rees (jar@altdorf.ai.mit.edu, jar@cs.cornell.edu). Send mail to info-clscheme-request@mc.lcs.mit.edu to be put on a mailing list for announcements. Conforms to R3RS except for lacking a correct implementation of call/cc. It works by running the Scheme code through a preprocessor, which generates Common Lisp code. Scheme88 is available by anonymous ftp from rice.edu:public/scheme88.sh and also from the Scheme Repository. Commercial Lisp implementations: Macintosh Common Lisp (MCL) runs on the Apple Macintosh (Mac+ or higher with 2.5mb RAM [4mb recommended] and system software 6.0.4 or later) and is available from APDA for $495. It includes a native CLOS, Macintosh Toolbox/interface toolkit, generational garbage collection, incremental compiler, window-based debugger, source-code stepper, object inspector, emacs-style editor, and a foreign function (C) interface. Write to: APDA, Apple Computer Inc., 20525 Mariani Avenue, MS 33-G, Cupertino, CA 95014-6299 or call toll free 1-800-282-2732 (US), 1-800-637-0029 (Canada), 1-408-562-3910. Their fax number is 1-408-562-3971 and their telex is 171-576. Email may also be sent to APDA@applelink.apple.com. There is a mailing list for users which is gatewayed to the newsgroup comp.lang.lisp.mcl and vice versa. If you don't get news, you can be added to the list by sending mail to info-mcl-request@cambridge.apple.com. Procyon Common Lisp runs on either the Apple Macintosh or IBM PC (MSDOS), costing approximately $2700. It requires 8mb RAM on the Macintosh and 5mb RAM on PCs, and includes a native CLOS with meta-object protocol, incremental compilation, foreign function interface, object inspector, text editor, debugger, and trace. Write to: ExperTelligence, Inc., 5638 Hollister Ave, Suite 302, Goleta, CA 93117 or call 1-800-828-0113, (805) 967-1797. Their fax is (805) 964-8448 and email is D2042@applelink.apple.com. An alternate address for British customers is: Procyon Research Ltd., Block B, Westbrook Centre, Milton Road, Cambridge CB4 1YQ, UK, with phones 011 44-223-421221, 011 44-223-65011, FAX 011 44-223-460290, and email UK0061@applelink.apple.com. Franz Lisp 2.0 runs on the Apple Macintosh, requiring 1mb RAM for the interpreter ($99) and 2.5mb RAM for the compiler ($199). Write to: Fort Pont Research, 15 Fort Pond Road, Acton, MA 01720 or call 1-508-263-9692. Allegro Common Lisp 4.1 runs on a variety of platforms, including Sparcs and DecStations ($3750), as well as the NeXT ($1875). It requires 12mb RAM for the 680x0 and 16mb for RISC. It includes native CLOS, X-windows support, Unix interface, incremental compilation, generational garbage collection, and a foreign function interface. Options include Allegro Composer (development environment, including debugger, inspector, object browser, time/space code profiler, and a graphical user interface), Common LISP Interface Manager (CLIM is a Symbolic's Dynamic WIndows clone) and Allegro CLIP (a parallel version of Lisp for the Sequent). Write to: Franz Inc., 1995 University Avenue, Berkeley, CA 94704 or call (510) 548-3600 (area code was 415), fax (510) 548-8253, telex 340179 WUPUBTLXSFO. Bug reports can be mailed to bugs@franz.com. Questions about Franz Inc. products (e.g., current and special pricing) can be sent to info@franz.com. Ibuki Common Lisp is a commercialized and improved version of Kyoto Common Lisp. It runs on over 30 platforms, including Sparc, Dec (Ultrix), Apollo, HP 9000, IBM RS/6000, Silicon Graphics and IBM PCs. It includes an incremental compiler, interpreter, foreign function interface. It generates C code from the Lisp and compiles it using the local C compiler. Cost is $2800 (workstations), $3500 (servers), $700 (IBM PCs). Ibuki now also has a product called CONS which compiles Lisp functions into linkable Unix libraries. Write to: Ibuki Inc., PO Box 1627, Los Altos, CA 94022, or call 415-961-4996, fax 415-961-8016. Lucid Common Lisp runs on a variety of platforms, including PCs (AIX), Apollo, HP, Sun-3, Sparc, IBM RT, IBM RS/6000, Decstation 3100, Silicon Graphics, and Vax, and costs $2500 (IBM PCs), $4400 (other platforms). Lucid includes native CLOS, foreign function interface, and generational garbage collection. Write to: Lucid Inc., 707 Laurel Street, Menlo Park, CA 94025, or call toll free in CA 800-225-1386 (outside CA 800-843-4204), 415-329-8400, fax 415-329-8480, or email customer-support@lucid.com. Medley is a Common Lisp development environment that includes a native CLOS, window toolkit, window-based debugger, incremental compiler, structure editor, inspectors, stepper, code analysis tools, and browsers. It runs on a variety of platforms, including Suns, DecStations, 386s, IBM RS/6000, MIPS, HP, and Xerox 1186. Requires Unix and 8mb RAM. Write to: Venue, 1549 Industrial Rd, San Carlos, CA 94070, or call 1-800-228-5325, fax 415-508-9770, or email aisupport.mv@envos.xerox.com. Golden Common Lisp (GCLisp) runs on IBM PCs under DOS and Windows, costing $2,000 ($250 extra for Gold Hill Windows), and includes an incremental compiler, foreign function interface, interactive debugger, and emacs-like editor. It supports DDE and other Windows stuff, and is CLtL1 compatible. It requires 4mb RAM. See a review in PC-WEEK 4/1/91 comparing GCLisp with an older version of MCL. Write to: Gold Hill Computers, 26 Landsdowne Street, Cambridge, MA 02139, or call (617) 621-3300. Star Saphire Common LISP provides a subset of Common Lisp and includes an emacs-like editor. It runs on IBM PCs (MSDOS), requires 640kb RAM, and costs $100. Write to: Sapiens Software Corporation, PO Box 3365, Santa Cruz, CA 95063-3365, call (408) 458-1990, or fax (408) 425-0905. Software Engineer is a Lisp for Windows that creates small stand-alone executables. It is a subset of Common Lisp, but includes CLOS. It requires 2mb RAM, but can use up to 16mb of memory, generating 286 specific code. It costs $250. Write to: Raindrop Software, 833 Arapaho Road, Suite 104, Richardson, TX 75081, call (214) 234-2611, or fax (214) 234-2674. CLOE (Common Lisp Operating Environment) is a cross-development environment for IBM PCs (MSDOS) and Symbolics Genera. It includes CLOS, condition error system, generational garbage collection, incremental compilation, code time/space profiling, and a stack-frame debugger. It costs from $625 to $4000 and requires 4-8mn RAM and a 386 processor. Write to: Symbolics, 8 New England Executive Park, Burlington, MA 01803, call 1-800-533-SMBX, or fax (617) 221-1099. Top Level Common Lisp includes futures, a debugger, tracer, stepper, foreign function interface and object inspector. It runs on Unix platforms, requiring 8mb RAM, and costs $687. Write to: Top Level, 100 University Drive, Amherst, MA 01002, call (413) 549-4455, or fax (413) 549-4910. Harlequin Lispworks runs on a variety of Unix platforms, including Sun3, Sparc, RS/6000, DEC (MIPS), MIPS, Intergraph, HP 400, HP 700, and IBM PCs. It is a full graphical Common Lisp environment and costs $2500. Harlequin is coming out with a delivery 386 Lisp in June. Write to: Harlequin Limited, Barrington Hall, Barrington, Cambridge, CB2 5RG, call 0223 872522 (or 44223 872522 outside UK), telex 818440 harlqn g, fax 0223 872519, or send email to ai@uk.co.harlqn (or ai@harlqn.co.uk for US people). Lisp-to-C Translator translates Common Lisp into C. It costs $12,000. Write to: Chestnut Software, Inc., 636 Beacon Street, Boston, MA 02215, call (617) 262-0914, or fax (617) 536-6469. Poplog Common Lisp is an integrated Lisp/Prolog environment with an incremental compiler. It runs on a variety of platforms, including Unix ($749), Sparc ($4500), Macintosh A/UX ($749), and VAX/VMS ($4500). Write to: Computable Functions, Inc., 35 South Orchard Drive, Amherst, MA 01002, call (413) 253-7637, or fax (413) 545-1249. Other Lisps for PCs include: o UO-LISP from Calcode Systems, e-mail:calcode!marti@rand.org It comes complete with compiler and interpreter, and is optimised for large programs. It is Standard LISP, not Common LISP. They are based in Amoroso Place in Venice, CA. o muLISP-87. Not Common Lisp. o LISP/88 v1.0. Gotten from Norell Data Systems, 3400 Wilshire Blvd, Los Angeles, CA 90010, in 1983. They may or may not still exist. o IQLisp. Not a Common Lisp but still very good for PCs - you can actually get a lot done in 640K. The lisp itself runs in less than 128K and every cons cell takes only 6 bytes. Unfortunately that makes the 640K (maybe a little more, but certainly no more than 1M) limit really hard. It has a byte code compiler which costs extra. This has support for all sorts of PC specific things. It costs $175 w/o compiler, $275 with. Write to: Integral Quality, Box 31970, Seattle, WA 98103, call Bob Rorschach, (206) 527-2918 or email rfr@franz.com. Lisps which run on special-purpose hardware (Lisp Machines) include o Symbolics o TI Explorers o Xerox Interlisp. Commercial Scheme implementations: Chez Scheme is fully compatible with the IEEE and R4RS standards for the Scheme programming language and includes an incremental compiler, object inspector, multitasking with engines, and a foreign function interface. It runs on Sparc and Sun3 (SunOs), Vax and DecStation (Ultrix), Apollo, and NeXT, costs approximately $2000 and requires 4-8mb RAM. Implemented by Kent Dybvig, Robert Hieb, and Carl Bruggeman. Write to: Cadence Research Systems, 620 Park Ridge Road, Bloomington, IN 47408, call (812) 333-9269, or fax (812) 332-4688. email: dyb@iuvax.cs.indiana.edu MacScheme is a Scheme interpreter and compiler for the Apple Macintosh, and includes an editor, debugger and object system. MacScheme costs $125 (includes compiler) and Scheme Express costs $70 (interpreter only). It requires 1mb RAM. A development environment (MacScheme+Toolsmith) costs $395. Conforms to the Revised^4 Report on the Algorithmic Language Scheme. MacScheme+Toolsmith includes support for menus, windows, and interfaces to the Macintosh Toolbox, and can create small standalone Macintosh executables. Implemented by Will Clinger, John Ulrich, Liz Heller and Eric Ost. Write to: Lightship Software, PO Box 1636, Beaverton, OR 97075, or call (503) 292-8765. They're moving to California. The temporary phone number is 415-940-4008 (Liz Heller). The new phone number will be 415-694-7799. EdScheme runs on Macintosh, DOS and Atari Amiga and costs $50. It includes an incremental compiler, and editor, and is a close match to the IEEE standard. Implemented by Iain Ferguson, Edward Martin, and Burt Kaufman. The book (The Schemer's Guide) costs $30. Write to: Schemers Inc., 4250 Galt Ocean Mile, Suite 7U, Fort Lauderdale, FL 33308, call (305) 776-7376, or fax (305) 749-3541. You can also send email to 71020.1774@compuserve.com ---------------------------------------------------------------- [7] Where can I get an implementation of Prolog in Lisp? Implementations of Prolog in Lisp: The Frolic package from the University of Utah is written in Common Lisp and available by anonymous ftp from cs.utah.edu:pub/frolic.tar.Z The Prolog package from the University of Calgary is written in Scheme and has support for delayed goals and interval arithmetic. It relies on continuations, and so is not easily ported to Common Lisp. Available by anonymous ftp from cpsc.ucalgary.ca:pub/prolog1.1/prolog11.tar.Z A prolog interpreter for Chez Scheme is available by anonymous ftp from titan.rice.edu:public/slog.sh LM-PROLOG by Ken Kahn and Mats Carlsson is written in ZetaLisp and not easily portable to Common Lisp. It is available by anonymous ftp from sics.se:archives/lm-prolog.tar.Z. Peter Norvig's book "Paradigms of AI Programming" includes Common Lisp implementations of a prolog interpreter and compiler. The software is available by anonymous ftp from unix.sri.com:pub/norvig and on disk in Macintosh or DOS format from the publisher, Morgan Kaufmann. For more information, contact: Morgan Kaufmann, Dept. P1, 2929 Campus Drive, Suite 260, San Mateo CA 94403, (800) 745-7323; FAX: (415) 578-0672 ---------------------------------------------------------------- [8] What Lisp-related discussion groups and mailing lists exist? Before posting to any discussion group, please read the rest of this FAQ, to make sure your question isn't already answered. First of all, there are several lisp-related newsgroups: comp.lang.lisp General Lisp-related discussions. Not currently archived by any known site. comp.lang.clos Discussion related to CLOS, PCL, and object-oriented programming in Lisp. comp.lang.lisp.mcl Discussions related to Macintosh Common Lisp. This newsgroup is gatewayed to the info-mcl@cambridge.apple.com mailing list. comp.lang.lisp.franz Discussion of Franz Lisp, a dialect of Lisp. (Note: *not* Franz Inc's Allegro.) comp.lang.lisp.x Discussion of XLISP, a dialect of Lisp. comp.lang.scheme General Scheme-related discussion. This newsgroup is gatewayed to the scheme@mc.lcs.mit.edu mailing list. comp.lang.scheme.c Discussion of C-Scheme, a scheme dialect. This newsgroup is gatewayed to the info-cscheme@zurich.ai.mit.edu mailing list. comp.ai and subgroups General AI-related dicusssion. We list several mailing lists below. In general, to be added to a mailing list, send mail to the "-request" version of the address. This avoids flooding the mailing list with annoying and trivial administrative requests. General Lisp Mailing Lists: common-lisp@mcc.com Technical discussion of Common Lisp. cl-utilities@cs.cmu.edu Low volume mailing list associated with the Lisp Utilities repository at CMU. Do *NOT* post directly to this list. Send mail to CL-Utilities-Request@cs.cmu.edu instead and the moderator will either answer your question or post the message for you. lisp-faq@think.com A mailing list concerning the contents of this FAQ posting. scheme@mc.lcs.mit.edu Discussion of Scheme. Gatewayed to the comp.lang.scheme newsgroup. Particular Flavors of Lisp: info-mcl@cambridge.apple.com Macintosh Common Lisp. Gatewayed to the comp.lang.lisp.mcl newsgroup. slug@ai.sri.com Symbolics Lisp Users Group allegro-cl@ucbvax.berkeley.edu Franz Allegro Common Lisp allegro-cl@franz.com Franz Allegro Common Lisp kcl@rascal.ics.utexas.edu Kyoto Common Lisp cmucl-bugs@cs.cmu.edu CMU Common Lisp bug reports info-ti-explorer@sumex-aim.stanford.edu TI Explorer Lisp Machine info-cscheme@zurich.ai.mit.edu C-Scheme. Gatewayed to the comp.lang.scheme.c newsgroup. t-project@cs.yale.edu T, a dialect of Scheme. info-clscheme@mc.lcs.mit.edu PseudoScheme Lisp Windowing Systems: cl-windows@mcc.com Common Lisp Window System Discussions. bug-clx@expo.lcs.mit.edu CLX (Common Lisp X Windows) clim@bbn.com Common Lisp Interface Manager clue-review@dsg.csc.ti.com Common Lisp User-Interface Environment express-windows@cs.cmu.edu Express Windows garnet-users@cs.cmu.edu Garnet gina-users@gmdzi.gmd.de GINA and CLM lispworks@harlequin.co.uk LispWorks winterp@hplnpm.hpl.hp.com WinterP yyonx@csrl.aoyama.ac.jp YYonX Lisp Object-Oriented Programming: CommonLoops@Xerox.com PCL (Xerox PARC's portable implementation of CLOS). Miscellaneous: stat-lisp-news-request@umnstat.stat.umn.edu Use of Lisp and Lisp-based systems in statistics. lisp-emacs-forum-request@ucbarpa.berkeley.edu Franz Inc's GNU-Emacs/Lisp interface. ---------------------------------------------------------------- Questions 9-35 are continued in Part 2 of this Lisp FAQ. ;;; ******************************** ;;; Change Log ********************* ;;; ******************************** ;;; Date Who Ver Reason ;;; ------------------------------------------------------------ ;;; 7-FEB-92 mk 1.0 Initial release. ;;; 10-FEB-92 mk 1.1 Pre-release corrections and additions. ;;; ------------------------------------------------------------ ;;; *EOF* Archive-name: lisp-faq/part2 Last-Modified: Mon Feb 10 17:40:59 1992 by Mark Kantrowitz Version: 1.1 The news.answers newsgroup has been temporarily removed from this posting until the news.answers moderator gets around to reading his email. ;;; **************************************************************** ;;; Answers to Frequently Asked Questions about Lisp *************** ;;; **************************************************************** ;;; Written by Mark Kantrowitz and Barry Margolin ;;; lisp-faq-2.text -- 62773 bytes This post contains Part 2 of the Lisp FAQ. If you think of questions that are appropriate for this FAQ, or would like to improve an answer, please send email us at lisp-faq@think.com. Topics Covered (Part 2): [9] What FTP resources are available? [10] Is there a GNU-Emacs interface to Lisp? [11] How can I use the X Window System from Lisp? [12] What does CLOS, PCL, X3J13, CAR, CDR, ... mean? What is CLOS (PCL) and where can I get it? How do you pronounce CLOS? What is CLOS (PCL) and where can I get it? [14] Why does (READ-FROM-STRING "foobar" :START 3) return FOOBAR instead of BAR? [15] Why can't it deduce from (READ-FROM-STRING "foobar" :START 3) that the intent is to specify the START keyword parameter rather than the EOF-ERROR-P and EOF-VALUE optional parameters? [16] How I write a function that can access defstruct slots by name? I would like to write something like (STRUCTURE-SLOT '). [17] Why can't I apply #'AND and #'OR? [18] When is it right to use EVAL? [19] I used a destructive function (e.g. DELETE, SORT), but it didn't seem to work. Why? [20] After I NREVERSE a list, it's only one element long. After I SORT a list, it's missing things. What happened? [21] What is the equivalent of EXPLODE and IMPLODE in Common Lisp? [22] Is Lisp inherently slower than more conventional languages such as C? [23] Why does my program's behavior change each time I use it? [24] Why does Common Lisp have "#'"? [25] How can I list all the CLOS instances in a class? [26] How do I call non-Lisp functions from Lisp? [27] Can I call Lisp functions from other languages? [28] Why does (READ-LINE) return "" immediately instead of waiting for me to type a line? [29] I typed a form to the read-eval-print loop, but nothing happened. Why? [30] I want to call a function in a package that might not exist at compile time. How do I do this? [31] What is CDR-coding? [32] What is garbage collection? [33] How do I save an executable image of my loaded Lisp system? [34] I'm porting some code from a Symbolics Lisp machine to some other platform, and there are strange characters in the code. What do they mean? [35] History: Where did Lisp come from? Search for [#] to get to question number # quickly. ---------------------------------------------------------------- [9] What FTP resources are available? There are several repositories of publicly redistributable and public domain Lisp and Scheme code. The Lisp Utilities collection is accessible by anonymous ftp to any CMU CS machine (e.g., a.gp.cs.cmu.edu, b.gp.cs.cmu.edu) or through AFS in the directory /afs/cs.cmu.edu/user/mkant/Public/Lisp-Utilities/ If accessing this directory through anonymous ftp, it is important to cd to the directory using one command, as intermediate directories are protected during an anonymous ftp. Files included in the repository include: extensions.lisp A collection of extensions to Common Lisp. initializations.lisp Brad Miller's initializations packaged for Allegro CL 4.0. xref.lisp Portable cross referencing tool for Lisp. Similar to the Symbolics Who-Calls and the Xerox MasterScope programs. defsystem.lisp Portable system definition facility (a "Make" for lisp). More featureful than other defsystem implementations. logical-pathnames.lisp Portable implementation of the X3J13 June 1989 specification for logical pathnames. metering.lisp Portable code time/space profiling tool. source-compare.lisp A portable "diff" utility for Lisp. user-manual.lisp Program which helps with documenting Lisp code. psgraph.lisp Joe Bates' PostScript DAG grapher. matcher.lisp A regexp-like matcher for Lisp. framework.lisp A portable generic frame system. date-formatter.lisp Simple code for formatting a date. save-object.lisp Kerry Koitzsch's package to save ASCII representations of Lisp objects to a file. defpackage.lisp Stephen Nicoud's semi-portable CLtL2 version of defpackage. johnson-yacc.lisp Mark Johnson's lisp YACC. ops5.tar.Z Public domain Common Lisp implementation of the OPS5 production system interpreter. "Expert System Shell". Written by Charles Forgy and ported by George Wood and Jim Kowalski. cmu-loop.lisp Implements the CLtL2 Loop Macro. mit-loop.lisp Implements the CLtL1 Loop Macro. sloop.lisp William Schelter's loop macro, not CLtL. yloop.lisp Frank Ritter and Jim Panagos' implementation of the Yale loop macro described in McDermont, Charniak and Riesbeck's AI programming book. Not CLtL. ew/ Express Windows distribution. iterate/ The Iterate Macro. series/ Waters' Series Macro package. The Lisp Utilities repository is maintained by Mark Kantrowitz, cl-utilities-request@cs.cmu.edu. The Scheme Repository contains a Scheme bibliography, copies of the R4RS report, sample Scheme code for a variety of purposes, several utilities, and some implementations. The repository is maintained by Ozan S. Yigit, scheme@nexus.yorku.ca. The repository is accessible by anonymous ftp at nexus.yorku.ca [130.63.9.66] in the directory pub/scheme/. Scheme Implementations may also be found at altdorf.ai.mit.edu:/archive/ The Macintosh Common Lisp repository contains Lisp code for MCL contributed by MCL users. It is available by anonymous ftp from cambridge.apple.com:pub/MACL/CONTRIB [134.149.2.3] and also contains the Info-MCL mailing list archives. MIT AI Lab -- ftp.ai.mit.edu:pub/ loop-macro.tar [LOOP from CLtL] series/ [SERIES from CLtL2] Iterate/ [Alternative to series and loop.] clmath.tar [Symbolic math] xp/ [Waters' XP Lisp Pretty Printer] Common Lisp versions of the mini programs from "Inside Computer Understanding" by Schank and Riesbeck, 1981, are available by anonymous ftp from cs.umd.edu in the directory pub/schank. Contact Bill Andersen (waander@cs.umd.edu) for more information. The directory pub/schank/icbr contains the complete code for "Inside Case-Based Reasoning" by Riesbeck and Schank, 1989. Norvig: The software from Peter Norvig's book "Paradigms of AI Programming" is available by anonymous ftp from unix.sri.com:pub/norvig and on disk in Macintosh or DOS format from the publisher, Morgan Kaufmann. | Software includes Common Lisp implementations of: Eliza and pattern matchers, Emycin, Othello, Parsers, Scheme interpreters and compilers, Unification and a prolog interpreter and compiler, Waltz line-labelling, implementation of GPS, macsyma, and random number generators. | For more information, contact: Morgan Kaufmann, Dept. P1, 2929 Campus Drive, Suite 260 San Mateo CA 94403, (800) 745-7323; FAX: (415) 578-0672 A catalog of free and commercial natural language software is available from the Natural Language Software Registry, by anonymous ftp from tira.uchicago.edu [128.135.96.31] in the directory /registry, or by email to registry@tira.uchicago.edu. Other sites contain specific programs: PCL -- parcftp.xerox.com:pcl/ [13.1.100.206] Portable Common Loops (PCL) is a portable implementation of the Common Lisp Object System (CLOS). Gabriel Lisp Benchmarks are available by anonymous ftp as ai.toronto.edu:/pub/gabriel-lisp-benchmarks.tar.Z. GLisp -- apple.com:/pub/dts/mac/lisp/glisp.tar.Z OBVIUS -- whitechapel.media.mit.edu:/pub/ [18.85.0.125] Object-Based Vision and Image Understanding System (OBVIUS), is a Common Lisp image processing package. Provides a library of image processing routines (e.g., convolutions, fourier transforms, statistical computations, etc.) on gray or binary images and image-sequences (no color support yet), an X windows display interface, postscript printer output, etc. It uses a homebrew interface to X11 (i.e., it does not use clx or clue). However, they eventually hope to port Obvius to a clx/clue platform. Written by David Heeger and Eero Simoncelli . Runs in Lucid-4.0. Includes LaTeX documentation and User's Guide. Scheme Utilities -- brokaw.lcs.mit.edu:/pub/scmutils.tar 18.30.0.33 GNU-Emacs -- prep.ai.mit.edu: StarLisp Simulator -- think.com:/cm/starlisp/starsim-f19-sharfile Simulates *Lisp, one of the programming langauges used to program the Connection Machine. Runs under Symbolics, Lucid, Allegro, and Franz. InterLisp->Common-Lisp Translator -- ai.sri.com:pub/pkarp/lisp/ MCS (Meta Class System) -- gmdzi.gmd.de:/pub/lisp/mcs/ [129.26.1.90] Portable object-oriented extension to Common Lisp. Integrates the functionality of CLOS (the Common Lisp Object System), and TELOS, (the object system of LeLisp Version 16 and EULISP). MCS provides a metaobject protocol which the user can specialize. MCS is claimed to be more efficient in time and space than comparable systems we know, including commercial CLOS implementations. Runs in any valid Common Lisp. Contact: Harry Bretthauer and Juergen Kopp, German National Research Center for Computer Science (GMD), Expert System Research Group, P.O. Box 1240, D-5205 Sankt Augustin 1, FRG, email: kopp@gmdzi.gmd.de LMath -- ucbarpa.berkeley.edu:pub/fateman/lmath.* [128.32.130.11] A Mathematica-style parser written in Common Lisp. Written by Richard Fateman; fateman@renoir.Berkeley.EDU. Runs in any valid Common Lisp. CLOS-on-KEE -- zaphod.lanl.gov:/pub/ A subset of CLOS that is implemented on top of KEE. Contact egdorf%zaphod@LANL.GOV (Skip Egdorf) for more info. ftp.csrl.aoyama.ac.jp: YY/ YY window toolkit sources Lisp/ several common lisp sources, including MIT's FRL. RRL (Rewrite Rule Laboratory) -- herky.cs.uiowa.edu [128.255.28.100] TMYCIN -- sumex-aix.stanford.edu:/tmycin The TMYCIN rule based system. NONLIN -- cs.umd.edu:/pub/nonlin (128.8.128.8) Common Lisp implementation of the NONLIN planning system originally designed and implemented by Austin Tate. Bugs can be reported to nonlin-bugs@cs.umd.edu. User's group is nonlin-users@cs.umd.edu. rascal.ics.utexas.edu:/pub/ 128.83.138.20 Maxima for Common Lisp (License required from National Energy Software Center at Argonne.) Ported by Bill Schelter. nqthm/ Boyer and Moore's theorem prover. Also available from cli.com:/pub/nqthm. proof-checker/ Matt Kaufmann's proof checking enhancements to nqthm. Eliza and similar programs. Besides Norvig's book, see: o The doctor.el is an implementation of Eliza for GNU-Emacs emacs-lisp. Invoke it with "Meta-X doctor" o Source code for ELIZA in Prolog (implemented by Viren Patel) is available by ftp from aisun1.ai.uga.edu. o muLISP-87 (a MSDOS Lisp sold by Soft Warehouse) includes a Lisp implementation of Eliza. o Compute!'s Gazette, June 1984, includes source for a BASIC implementation of Eliza. You can also find it in 101 more computer games, edited by David Ahl, published by Creative Computing (alas, they're defunct, and the book is out of print). o Herbert Schildt "Artificial Intelligence using C", McGraw-Hill, 1987, ISBN 0-07-881255-0, pp315-338, includes a simple version of DOCTOR. BELIEF is a Common Lisp implementation of the Dempster and Kong fusion and propagation algorithm for Graphical Belief Function Models and the Lauritzen and Spiegelhalter algorithm for Graphical Probabilistic Models. It is available by anonymous ftp from hustat.harvard.edu and beligica.stat.washington.edu, and by email from the author, Russell Almond . A Common Lisp implementation of an ABTWEAK-like hierarchical nonlinear planner may be obtained by anonymous ftp from csis.dit.csiro.au in the directory pub/steve. A user's manual and a copy of the associated masters thesis by Steve Woods are also contained in that directory. Send mail to Steven.Woods@csis.dit.csiro.au for more information. Frame Languages: o FrameWork is available in the Lisp Utilities Repository described above. o Theo (learning frame system) is available free from CMU, after signing a license agreement. Send mail to Tom.Mitchell@cs.cmu.edu. o FrameKit is available free from CMU, after signing a license agreement. Send mail to Eric.Nyberg@cs.cmu.edu o KR. Send mail to Brad.Myers@cs.cmu.edu for more info. o PARMENIDES (Frulekit) is available free, after signing a license agreement. Send mail to peter.shell@cs.cmu.edu o FROBS is available free by anonymous ftp from cs.utah.edu:/pub/frobs.tar.Z Contact Robert Kessler for more info. o PFC is a simple frame system written by Tim Finin available free by anonymous ftp from linc.cis.upenn.edu. The UMass GBB system (V1.2) is available by anonymous ftp from dime.cs.umass.edu:/gbb. The commercial GBB product is not. Work on the UMass GBB project (and funding) ended over 2 years ago. Many researchers using it have opted for the commercial release. The UMass research system remains available, but the two should not be confused as the commercial system is substantially improved and extended. MVL (Multi-Valued Logic) is a theorem proving system written in Common Lisp, and is available from t.stanford.edu:/mvl/mvl.tar.Z A user's manual may be found in /mvl/manual.tex. Send mail to ginsberg@t.stanford.edu. Postgres is an object-oriented database, and is available from postgres.berkeley.edu:/pub/postgres* It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent Symmetry. CL-Protos is a Common Lisp implementation of the case-based reasoning system developed by E. Ray Bareiss and Bruce W. Porter of the University of Texas/Austin AI Lab. It runs on Sun3, TI Explorer, HP 9000, and Symbolics, and gobbles a huge amount of memory. Common Lisp implementation by Rita Duran, Dan Dvorak, Jim Kroger, Hilel Swerdlin, and Ben Tso. For more information, bug reports, or comments, contact either Dan Dvorak or Ray Bareiss or Erik Eilerts Available by anonymous ftp from cs.utexas.edu:/pub/porter QSIM is a qualitative reasoning system implemented in Common Lisp. It is available by anonymous ftp from cs.utexas.edu:/pub/qsim RHETORICAL is a planning and knowledge tool available by anonymous ftp from cs.rochester.edu:/pub/knowledge-tools in the files rhet-19-40.tar.Z and cl-lib-3-11.tar.Z. The files tempos-3-6.tar.Z and timelogic-5-0.tar.Z add James Allen's interval logic to Rhet. It runs on Symbolics Genera and Allegro Common Lisp. Written by Brad Miller . KNOWBEL is an implementation of Telos (a sorted/temporal logic system) by Bryan M. Kramer, . It is available by anonymous ftp from ai.toronto.edu:/pub/kr/ as the files knowbel.tar.Z and manual.txt.tar.Z Runs in Allegro CL on Sparcstations and Silicon Graphics 4d and in MCL on Apple Macintoshes. SNePS is a semantic net implementation, available free after signing a license agreement. Contact shapiro@cs.buffalo.edu for more information. PRODIGY is an integrated planning and learning system, available free after signing a license agreement. Contact prodigy@cs.cmu.edu for more information. SOAR is an integrated intelligent agent architecture. It is available free after signing a license agreement. Contact soar-request@cs.cmu.edu for more information. RegExp is an extension to Allegro Common Lisp which adds regular expression string matching, using the foreign function interface. Available by anonymous ftp from ai.sri.com:/pub/pkarp/regexp/. Contact pkarp@ai.sri.com for more information. SNLP is a domain independent systematic nonlinear planner, available by anonymous ftp from cs.washington.edu:/pub/snlp.tar.Z Contact weld@cs.washington.edu for more information. TILEWORLD is a planning testbed/simulator developed at SRI International by Martha Pollack, Michael Frank and Marc Ringuette. TILEWORLD originally ran under Lucid CL, but was later extended and ported to Allegro CL by Badr H. Al-Badr and Steve Hanks. The new tileworld is available by anonymous ftp from cs.washington.edu as the file new-tileworld.tar.Z It includes an X interface. TRUCKWORLD is a simulated world intended to provide a testbed for AI planning programs, where the planning agent is a truck that roams around the simulated world. It is available by anonymous ftp from cs.washington.edu in the file simulator.tar.Z. It includes an X interface. Contact Steve Hanks for more information. COBWEB/3 is a concept formation system available free after signing a license agreement. Contact cobweb@ptolemy.arc.nasa.gov for more information. Xerox Lisp code -- tut.cis.ohio-state.edu:/pub/lispuser [128.146.8.60] ---------------------------------------------------------------- [10] Is there a GNU-Emacs interface to Lisp? ILISP is a powerful GNU-Emacs interface to many dialects of Lisp, including Lucid, Allegro, {A}KCL, IBCL, and CMU. Written by Chris McConnell . It is available by anonymous ftp from atmandu.mt.cs.cmu.edu [128.2.250.68] in the directory pub/ilisp as the file ilisp.tar.Z. If you start using it, send Chris mail, as he maintains a mailing list of users. Franz Inc.'s GNU-Emacs/Lisp interface includes an online Common Lisp manual. It is available by anonymous ftp from uunet.uu.net:/lisp/emacs-lisp-1.5.2.tar.Z ucbvax.berkeley.edu:/pub/franzinc/emacs-lisp-interface/1.5.2.tar.Z Send bug reports to bugs@franz.com. To be added to the mailing list, send mail to lisp-emacs-forum-request@ucbarpa.berkeley.edu. Lucid includes some other Emacs-Lisp interfaces in its goodies directory. ---------------------------------------------------------------- [11] How can I use the X Window System from Lisp? There are several GUI's and Lisp interfaces to the X Window System. Mailing lists for these systems are listed in the answer to question [8]. CLX provides basic Common Lisp/X functionality. It is a de facto standard low-level interface to X, providing equivalent functionality to XLib, but in Lisp. It is also a good source for comparing the foreign function calls in various Lisps. Does *not* depend on CLOS. Available free as part of the X release in the contrib directory. Also available form export.lcs.mit.edu:/contrib as the files CLX.Manual.tar.Z, CLX.R4.5.tar.Z and CLX.R5.tar.Z Primary Interface Author: Robert W. Scheifler Send bug reports to bug-clx@expo.lcs.mit.edu. CLIM (Common Lisp Interface Manager) is a GUI originally developed by Symbolics and International Lisp Associates, and now under joint development by several Lisp vendors, including Symbolics, Franz, and Lucid. It is intended to be a portable analogue of Symbolics UIMS (Dynamic Windows, Presentations Types). It runs on Symbolics Lisp Machines; Allegro and Lucid on several Unix platforms; Harlequin on 386/486 IBM PCs running Windows; and MCL on Apple Macintoshes. It is *not* free, and with the exception of Macintoshes, if it is available it can be purchased from the vendor of the Lisp system you are using. For the Macintosh version write to the ILA: International Lisp Associates, 114 Mt. Auburn St., Cambridge, MA 02138, 617-576-1151 Contact: Dennis Doughty - Doughty@ILA.com International Lisp Associates, 898 Windmill Park Road, Mountain View, CA 94043, 1-800-477-CLIM Contact: Bill York - York@ILA.com CLUE (Common Lisp User-Interface Environment) is from TI, and extends CLX to provide a simple, object-oriented toolkit (like Xt) library that uses CLOS. Provides basic window classes, some stream I/O facilities, and a few other utilities. Still pretty low level (it's a toolkit, not widget library). Available free by anonymous ftp from csc.ti.com:pub/clue.tar.Z Written by Kerry Kimbrough. Send bug reports to clue-bugs@dsg.csc.ti.com. CLIO (Common Lisp Interactive Objects) is a GUI from the people who created CLUE. It provides a set of CLOS classes that represent the standard components of an object-oriented user interface -- such as text, menus, buttons, scroller, and dialogs. It is included as part of the CLUE distribution, along with some packages that use it, both sample and real. Allegro Common Windows provides a front end to CLX. Uses CLOS. It is *not* free. Contact info@franz.com for more information. CLM (Common Lisp Motif) and GINA (Generic Interactive Application) and IB (Interface Builder). CLM runs Motif widgets in a separate C process, with minimal work on the Lisp side and communicates between C and Lisp using TCP sockets. Runs in Allegro CL, Sun CL, and Symbolics Genera. GINA uses CLOS. Available free in the X contrib directory or by anonymous ftp from either export.lcs.mit.edu:/contrib or ftp.gmd.de:/gmd/gina [129.26.8.90] as the files CLM+GINA.README, CLM2.1.tar.Z and GINA2.1.tar.Z. CLM was written by Andreas Baecker , GINA by Mike Spenke , and IB by Thomas Berlage . Contact Mike Spenke for more info. EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user and programmer interfaces. It is available free in the ew/ subdirectory of the Lisp Utilities repository. It is no longer under active development. Runs on Sun/Lucid, Franz Allegro, and Symbolics. Should port easily to other Lisps with CLX. Written by Andrew L. Ressler . Garnet is a large and flexible GUI. Lots of high-level features. Does *not* depend on CLOS, but does depend on CLX. Available free, after signing a license agreement. Contact Brad Myers (bam@a.gp.cs.cmu.edu) for more information. Bug reports: garnet@cs.cmu.edu. LispView is a GUI written at Sun that does not use CLX. Instead it converts Xlib.h directly into Lucid foreign function calls. It is intended to be fast and tight. Uses CLOS. Available for anonymous ftp from export.lcs.mit.edu:contrib/lispview1.1 and xview.ucdavis.edu:pub/XView/LispView1.1 Written by Hans Muller (hmuller@sun.com). Runs in Sun CL and Lucid CL. Direct questions about the source provision to lispview@Eng.Sun.Com. WINTERP (Widget Interpreter) was developed at HP and uses the Xtoolkit and Motif widget set. It is based on David Betz's XLISP interpreter, which is a small subset of Common Lisp that runs on IBM PCs. Runs on DecStation 3100, HP9000s, Sun3, Sparcs. It is a free-standing Lisp-based tool for setting up window applications. Available free in X contrib directory, or by anonymous ftp from export.lcs.mit.edu:contrib/winterp-???.tar.Z where ??? is the version number. If you do not have Internet access you may request the source code to be mailed to you by sending a message to winterp-source%hplnpm@hplabs.hp.com or hplabs!hplnpm!winterp-source. Contact Niels Mayer mayer@hplabs.hp.com for more information. YYonX is a port of the YY system to X windows. Runs in Lucid CL, Allegro CL, and Symbolics Genera. Supports kanjii. Developed at Aoyama Gakuin University. Available free by anonymous ftp from ftp.csrl.aoyama.ac.jp:YY/ Written by Masayuki Ida Picasso is a CLOS based GUI, and is available from postgres.berkeley.edu:/pub/Picasso-2.0 It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent Symmetry in Allegro CL. The file pub/xcl.tar.Z contains X-Common Lisp interface routines. Send mail to picasso@postgres.berkeley.edu for more information. ---------------------------------------------------------------- [12] What does CLOS, PCL, X3J13, CAR, CDR, ... mean? What is CLOS (PCL) and where can I get it? How do you pronounce CLOS? Glossary of acronyms: CAR Originally meant "Contents of Address portion of Register", which is what CAR actually did on the IBM 704. CDR Origianlly meant "Contents of Decrement portion of Register", which is what CDR actually did on the IBM 704. Pronounced "Cudder". LISP Originally from "LISt Processing" GUI Graphical User Interface CLOS Common Lisp Object System. The object oriented programming standard for Common Lisp. Based on Symbolics FLAVORS and Xerox LOOPS, among others. Pronounced either as "See-Loss" or "Claws". PCL Portable Common Loops. A portable CLOS implementation. Available by anonymous ftp from parcftp.xerox.com:pcl/. LOOPS Lisp Object Oriented Programming System. A predecessor to CLOS on Xerox Lisp machines. X3J13 Subcommittee of the ANSI committee X3 which is working on the ANSI Standardization of Common Lisp. ANSI American National Standards Institute CL Common Lisp SC22/WG16 The full name is ISO/IEC JTC 1/SC 22/WG 16. It stands for International Organization for Standardization/International Electronics(?) Congress(?) Joint Technical Committee 1, Subcommittee 22, Working Group 16. This long-winded name is the ISO working group working on an international Lisp standard, (i.e., the ISO analogue to X3J13). CLtL1 First edition of Guy Steele's book, "Common Lisp the Language". CLtL2 Second edition of Guy Steele's book, "Common Lisp the Language". SICP Abelson and Sussman's book "Structure and Interpretation of Computer Programs". SCOOPS An experimental object-oriented programming language for Scheme. R3RS Revised^3 Report on the Algorithmic Language Scheme. R4RS Revised^4 Report on the Algorithmic Language Scheme. ---------------------------------------------------------------- [14] Why does (READ-FROM-STRING "foobar" :START 3) return FOOBAR instead of BAR? READ-FROM-STRING is one of the rare functions that takes both &OPTIONAL and &KEY arguments. When a function takes both types of arguments, all the optional arguments must be specified explicitly before any of the keyword arguments may be specified. In the example above, :START becomes the value of the optional EOF-ERROR-P parameter and 3 is the value of the optional EOF-VALUE parameter. ---------------------------------------------------------------- [15] Why can't it deduce from (READ-FROM-STRING "foobar" :START 3) that the intent is to specify the START keyword parameter rather than the EOF-ERROR-P and EOF-VALUE optional parameters? In Common Lisp, keyword symbols are first-class data objects. Therefore, they are perfectly valid values for optional parameters to functions. There are only four functions in Common Lisp that have both optional and keyword parameters (they are PARSE-NAMESTRING, READ-FROM-STRING, WRITE-LINE, and WRITE-STRING), so it's probably not worth adding a nonorthogonal kludge to the language just to make these functions slightly less confusing; unfortunately, it's also not worth an incompatible change to the language to redefine those functions to use only keyword arguments. ---------------------------------------------------------------- [16] How can I write a function that can access defstruct slots by name? I would like to write something like (STRUCTURE-SLOT '). There is currently no portable, built-in way to access structure slots given only the name. If your Common Lisp includes an implementation of CLOS that supports the meta-object protocol specified in the original X3J13 draft spec (document X3J13/88-003), then it should allow (SLOT-VALUE '); however, not all implementations of CLOS currently provide this. Lacking this, some implementations may provide implementation-dependent functions that allow access to structure slots by name; note that this may cause saved images to be larger, as some implementations normally open-code structure accessors and discard slot name information. While it is not possible to write a fully general STRUCTURE-SLOT function, it is not very difficult to write version that handles specific structure types. For instance, after defining: (defstruct spaceship name captain position velocity) one may then define: (defun spaceship-slot (spaceship slot-name) (ecase slot-name (name (spaceship-name spaceship)) (captain (spaceship-captain spaceship)) (position (spaceship-position spaceship)) (velocity (spaceship-velocity spaceship)))) Another popular way to define this is: (defun spaceship-slot (spaceship slot-name) (funcall (symbol-function (find-symbol (format nil "SPACESHIP-~A" slot-name) #.(package-name *package*))) spaceship)) I personally recommend the first version. It is likely to be much faster and more memory efficient than the second version. It's also easy to get the second one wrong; many people forget to specify the package argument to FIND-SYMBOL, which can cause incorrect results when the package at run time is different from the one at compile time. Even my version assumes that SPACESHIP-SLOT is being defined in a file that is in the same package as the one containing the structure definition; if this isn't the case, #.(PACKAGE-NAME *PACKAGE*) should be replaced by a string naming the correct package. Another workaround is to define a MY-DEFSTRUCT macro that parses the defstruct arguments and expands into a call to DEFSTRUCT along with a definition of the runtime slot-accessor function. Some non-portable techniques include the use of LCL:STRUCTURE-REF in Lucid and EXCL:STRUCTURE-REF in Allegro. ---------------------------------------------------------------- [17] Why can't I apply #'AND and #'OR? Here's the simple, but not necessarily satisfying, answer: AND and OR are macros, not functions; APPLY and FUNCALL can only be used to invoke functions, not macros and special operators. OK, so what's the *real* reason? The reason that AND and OR are macros rather than functions is because they implement control structure in addition to computing a boolean value. They evaluate their subforms sequentially from left/top to right/bottom, and stop evaluating subforms as soon as the result can be determined (in the case of AND, as soon as a subform returns NIL; in the case of OR, as soon as one returns non-NIL); this is referred to as "short circuiting" in computer language parlance. APPLY and FUNCALL, however, are ordinary functions; therefore, their arguments are evaluated automatically, before they are called. Thus, were APPLY able to be used with #'AND, the short-circuiting would be defeated. Perhaps you don't really care about the short-circuiting, and simply want the functional, boolean interpretation. While this may be a reasonable interpretation of trying to apply AND or OR, it doesn't generalize to other macros well, so there's no obvious way to have the Lisp system "do the right thing" when trying to apply macros. The only function associated with a macro is its expander function; this function accepts and returns and form, so it cannot be used to compute the value. The Common Lisp functions EVERY and SOME can be used to get the functionality you intend when trying to apply #'AND and #'OR. For instance, the erroneous form: (apply #'and *list*) can be translated to the correct form: (every #'identity *list*) ---------------------------------------------------------------- [18] When is it right to use EVAL? Hardly ever. Any time you think you need to use EVAL, think hard about it. EVAL is useful when implementing a facility that provides an external interface to the Lisp interpreter. For instance, many Lisp-based editors provide a command that prompts for a form and displays its value. Inexperienced macro writers often assume that they must explicitly EVAL the subforms that are supposed to be evaluated, but this is not so; the correct way to write such a macro is to have it expand into another form that has these subforms in places that will be evaluated by the normal evaluation rules. Explicit use of EVAL in a macro is likely to result in one of two problems: the dreaded "double evaluation" problem, which may not show up during testing if the values of the expressions are self-evaluating constants (such as numbers); or evaluation at compile time rather than runtime. For instance, if Lisp didn't have IF and one desired to write it, the following would be wrong: (defmacro if (test then-form &optional else-form) ;; this evaluates all the subforms at compile time, and at runtime ;; evaluates the results again. `(cond (,(eval test) ,(eval then-form)) (t ,(eval else-form)))) (defmacro if (test then-form &optional else-form) ;; this double-evaluates at run time `(cond ((eval ,test) (eval ,then-form)) (t (eval ,else-form))) This is correct: (defmacro if (test then-form &optional else-form) `(cond (,test ,then-form) (t ,else-form))) ---------------------------------------------------------------- [19] I used a destructive function (e.g. DELETE, SORT), but it didn't seem to work. Why? I assume you mean that it didn't seem to modify the original list. There are several possible reasons for this. First, many destructive functions are not *required* to modify their input argument, merely *allowed* to; in some cases, the implementation may determine that it is more efficient to construct a new result than to modify the original (this may happen in Lisp systems that use "CDR coding", where RPLACD may have to turn a CDR-NEXT or CDR-NIL cell into a CDR-NORMAL cell), or the implementor may simply not have gotten around to implementing the destructive version in a truly destructive manner. Another possibility is that the nature of the change that was made involves removing elements from the front of a list; in this case, the function can simply return the appropriate tail of the list, without actually modifying the list. And example of this is: (setq *a* (list 3 2 1)) (delete 3 *a*) => (2 1) *a* => (3 2 1) Similarly, when one sorts a list, SORT may destructively rearrange the pointers (cons cells) that make up the list. SORT then returns the cons cell that now heads the list; the original cons cell could be anywhere in the list. The value of any variable that contained the original head of the list hasn't changed, but the contents of that cons cell have changed because SORT is a destructive function: (setq *a* (list 2 1 3)) (sort *a* #'<) => (1 2 3) *a* => (2 3) In both cases, the remedy is the same: store the result of the function back into the place whence the original value came, e.g. (setq *a* (delete 3 *a*)) *a* => (2 1) Why don't the destructive functions do this automatically? Recall that they are just ordinary functions, and all Lisp functions are called by value. Therefore, these functions do not know where the lists they are given came from; they are simply passed the cons cell that represents the head of the list. Their only obligation is to return the new cons cell that represents the head of the list. One thing to be careful about when doing this is that the original list might be referenced from multiple places, and all of these places may need to be updated. For instance: (setq *a* (list 3 2 1)) (setq *b* *a*) (setq *a* (delete 3 *a*)) *a* => (2 1) *b* => (3 2 1) ; *B* doesn't "see" the change (setq *a* (delete 1 *a*)) *a* => (2) *b* => (3 2) ; *B* sees the change this time, though One may argue that destructive functions could do what you expect by rearranging the CARs of the list, shifting things up if the first element is being deleted, as they are likely to do if the argument is a vector rather than a list. In many cases they could do this, although it would clearly be slower. However, there is one case where this is not possible: when the argument or value is NIL, and the value or argument, respectively, is not. It's not possible to transform the object referenced from the original cell from one data type to another, so the result must be stored back. Here are some examples: (setq *a* (list 3 2 1)) (delete-if #'numberp *a) => NIL *a* => (3 2 1) (setq *a* nil *b* '(1 2 3)) (nconc *a* *b*) => (1 2 3) *a* => NIL The names of most destructure functions (except for sort, delete, rplaca, rplacd, and setf of accessor functions) have the prefix N. In summary, the two common problems to watch out for when using destructive functions are: 1. Forgetting to store the result back. Even though the list is modified in place, it is still necessary to store the result back into the original location, e.g., (setq foo (delete 'x foo)) If the original list was stored in multiple places, you may need to store it back in all of them, e.g. (setq bar foo) ... (setq foo (delete 'x foo)) (setq bar foo) 2. Sharing structure that gets modified. If it is important to preserve the shared structure, then you should either use a nondestructive operation or copy the structure first using COPY-LIST or COPY-TREE. (setq bar (cdr foo)) ... (setq foo (sort foo #'<)) ;;; now it's not safe to use BAR ---------------------------------------------------------------- [20] After I NREVERSE a list, it's only one element long. After I SORT a list, it's missing things. What happened? These are particular cases of the previous question. Many NREVERSE and SORT implementations operate by rechaining all the CDR links in the list's backbone, rather than by replacing the CARs. In the case of NREVERSE, this means that the cons cell that was originally first in the list becomes the last one. As in the last question, the solution is to store the result back into the original location. ---------------------------------------------------------------- [21] What is the equivalent of EXPLODE and IMPLODE in Common Lisp? Hopefully, the only reason you need to do this is as part of trying to port some old MacLisp code to Common Lisp. These functions predated the inclusion of strings as a first-class data type in Lisp; symbols were used as strings, and they ere EXPLODEd to allow the individual characters to be manipulated in a list. Probably the best approximations of these are: (defun explode (object) (loop for char being the array-elements of (prin1-to-string object) collect (intern (string char)))) (defun implode (list) (read-from-string (coerce (mapcar #'character list) 'string))) ---------------------------------------------------------------- [22] Is Lisp inherently slower than more conventional languages such as C? This is a tough question to answer, as I'm sure you expected. In many cases, it appears to be. Lisp does not require the programmer to specify the data type of variables, so generic arithmetic operators may have to perform type checking at runtime in order to determine how to proceed. However, Lisp code can also be dense (i.e. there is more expressed in a single line) than many other languages: the Lisp expression (+ A B) is more powerful than the C expression A+B (the Lisp version supports bignums, rationals, and complex numbers, while the C version only supports limited-size integers and floating point); therefore, one may claim that it is reasonable that the Lisp version take longer than the C version (but don't expect everyone to accept this rationalization). Solutions to this include hardware support (e.g. processors that support type tags in data, such as SPARC and Symbolics Lisp Machines), declarations, and specialized variants of functions (e.g. in MacLisp, + accepts and returns only fixnums, +$ accepts and returns only flonums, and PLUS is generic). At one time, the MIT PDP-10 MacLisp compiler was compared to DEC's PDP-10 Fortran compiler. When appropriate declarations were supplied in the Lisp code, the performance of compiled Lisp arithmetic rivaled that of the Fortran code. It would hardly be fair to compare Lisp without declarations to Fortran, since the Fortran compiler would have more information upon which it could base its optimizations. Since Lisp is a good language for rapid prototyping, it is easy for a mediocre programmer (or even a good programmer, who isn't being careful) to generate a large amount of inefficient Lisp code. A good example is the use of APPEND to link successive lists together, instead of keeping a pointer to the tail of the list. ---------------------------------------------------------------- [23] Why does my program's behavior change each time I use it? Most likely your program is altering itself, and the most common way this may happen is by performing destructive operations on embedded constant data structures. For instance, consider the following: (defun one-to-ten-except (n) (delete n '(1 2 3 4 5 6 7 8 9 10))) (one-to-ten-except 3) => (1 2 4 5 6 7 8 9 10) (one-to-ten-except 5) => (1 2 4 6 7 8 9 10) ; 3 is missing The DELETE function destructively modified the list that is actually a part of the lambda expression that is in ONE-TO-TEN-EXCEPT's function cell. The next time that the function is called, this modified list is used. In some implementations the result of calling ONE-TO-TEN-EXCEPT may even be that an error is signalled or the Lisp process aborts completely. Some Lisp implementations put self-evaluating and quoted constants onto memory pages that are marked read-only, in order to catch bugs such as this. All of these behaviors are allowed by the draft ANSI Common Lisp specification, which specifically states that the consequences of modifying a constant are undefined. ---------------------------------------------------------------- [24] Why does Common Lisp have "#'"? #' is a macro-character which expands #'FOO to (FUNCTION FOO). Symbols in Lisp have two bindings, one for values and one for functions, allowing them to represent both variables and functions, depending on context. #'FOO accesses FOO's lexical function binding in a context where the value interpretation would normally occur. #' is also used to create lexical closures for lambda expressions. A lexical closure is a function which when invoked executes the body of the lambda-expression in the lexical environment within which the closure was created. See pp. 115-117 of CLtL2 for more details. ---------------------------------------------------------------- [25] How can I list all the CLOS instances in a class? There is no built-in way to enumerate the instances of a class. If you are only interested in listing the instances of classes that you have defined, it is not very difficult to implement it as part of your class definition. Add a shared slot, e.g. ALL-INSTANCES, with an initial value of NIL, to the class definition. Then write an after-method on INITIALIZE-INSTANCE for this class, which pushes the instance being initialized onto ALL-INSTANCES. Note that this must done separately for each class that wants to maintain such a list; it can't be encapsulated in a mixin class, because all its dependent classes would share the same ALL-INSTANCES slot. A compromise would be to use a mixin to define the INITIALIZE-INSTANCE after-method (and any other general-purpose methods that use the slot), but not the shared slot; it would be up to the descendent classes to define the slot at the level of the class hierarchy that is appropriate. ---------------------------------------------------------------- [26] How do I call non-Lisp functions from Lisp? Most Lisp implementations for systems where Lisp is not the most common language provide a "foreign function" interface. As of now there has been no significant standardization effort in this area. They tend to be similar, but there are enough differences that it would be inappropriate to try to describe them all here. In general, one uses an implementation-dependent macro that defines a Lisp function, but instead of supplying a body for the function supplies the name of a function written in another language; the argument list portion of the definition is generally augmented with the data types the foreign function expects and the data type of the foreign function's return value, and the Lisp interface function arranges to do any necessary conversions. There is also generally a function to "load" an object file or library compiled in a foreign language, which dynamically links the functions in the file being loaded into the address space of the Lisp process, and connects the interface functions to the corresponding foreign functions. IF you need to do this, see the manual for your language implementation for full details. In particular, be on the lookout for restrictions on the data types that may be passed. You may also need to know details about the linkage conventions that are used on your system; for instance, many C implementations prepend an underscore onto the names of C functions when generating the assembler output (this allows them to use names without initial underscores internally as labels without worrying about conflicts), and the foreign function interface may require you to specify this form explicitly. ---------------------------------------------------------------- [27] Can I call Lisp functions from other languages? In implementations that provide a foreign function interface as described above, there is also usually a "callback" mechanism. The programmer may associate a foreign language function name with a Lisp function. When a foreign object file or library is loaded into the Lisp address space, it is linked with these callback functions. As with foreign functions, the programmer must supply the argument and result data types so that Lisp may perform conversions at the interface. ---------------------------------------------------------------- [28] Why does (READ-LINE) return "" immediately instead of waiting for me to type a line? Many Lisp implementations on line-buffered systems do not discard the newline that the user must type after the last right parenthesis in order for the line to be transmitted from the OS to Lisp. Lisp's READ function returns immediately after seeing the matching ")" in the stream. When READLINE is called, it sees the next character in the stream, which is a newline, so it returns an empty line. If you were to type "(read-line)This is a test" the result would be "This is a test". The simplest solution is to use (PROGN (CLEAR-INPUT) (READ-LINE)). This discards the buffered newline before reading the input. However, it would also discard any other buffered input, as in the "This is a test" example above; some implementation also flush the OS's input buffers, so typeahead might be thrown away. ---------------------------------------------------------------- [29] I typed a form to the read-eval-print loop, but nothing happened. Why? There's not much to go on here, but a common reason is that you haven't actually typed a complete form. You may have typed a doublequote, vertical bar, "#|" comment beginning, or left parenthesis that you never matched with another doublequote, vertical bar, "|#", or right parenthesis, respectively. Try typing a few right parentheses followed by Return. ---------------------------------------------------------------- [30] I want to call a function in a package that might not exist at compile time. How do I do this? Use (funcall (find-symbol ) ...). ---------------------------------------------------------------- [31] What is CDR-coding? CDR-coding is a space-saving way to store lists in memory. It is normally only used in Lisp implementations that run on processors that are specialized for Lisp, as it is difficult to implement efficiently efficiently in software. In normal list structure, each element of the list is represented as a CONS cell, which is basically two pointers (the CAR and CDR); the CAR points to the element of the list, while the CDR points to the next CONS cell in the list or NIL. CDR-coding takes advantage of the fact that most CDR cells point to another CONS, and further that the entire list is often allocated at once (e.g. by a call to LIST). Instead of using two pointers to implement each CONS cell, the CAR cell contains a pointer and a two-bit "CDR code". The CDR code may contain one of three values: CDR-NORMAL, CDR-NEXT, and CDR-NIL. If the code is CDR-NORMAL, this cell is the first half of an ordinary CONS cell pair, and the next cell in memory contains the CDR pointer as described above. If the CDR code is CDR-NEXT, the next cell in memory contains the next CAR cell; in other words, the CDR pointer is implicitly thisaddress+1, where thisaddress is the memory address of the CAR cell. If the CDR code is CDR-NIL, then this cell is the last element of the list; the CDR pointer is implicitly a reference to the object NIL. When a list is constructed incrementally using CONS, a chain of ordinary pairs is created; however, when a list is constructed in one step using LIST or MAKE-LIST, a block of memory can be allocated for all the CAR cells, and their CDR codes all set to CDR-NEXT (except the last, which is CDR-NIL), and the list will only take half as much storage (because all the CDR pointers are implicit). If this were all there were to it, it would not be difficult to implement in software on ordinary processors; it would add a small amount of overhead to the CDR function, but the reduction in paging might make up for it. The problem arises when a program uses RPLACD on a CONS cell that has a CDR code of CDR-NEXT or CDR-NIL. Normally RPLACD simply stores into the CDR cell of a CONS, but in this case there is no CDR cell -- its contents are implicitly specified by the CDR code, and the word that would normally contain the CDR pointer contains the next CONS cell (in the CDR-NEXT case) to which other data structures may have pointers, or the first word of some other object (in the CDR-NIL case). When CDR-coding is used, the implementation must also provide automatic "forwarding pointers"; an ordinary CONS cell is allocated, the CAR of the original cell is copied into its CAR, the value being RPLACD'ed is stored into its CDR, and the old CAR cell is replaced with a forwarding pointer to the new CONS cell. Whenever CAR or CDR is performed on a CONS, it must check whether the location contains a forwarding pointer. This overhead on both CAR and CDR, coupled with the overhead on CDR to check for CDR codes, is generally enough that using CDR codes on conventional hardware is infeasible. There is some evidence that CDR-coding doesn't really save very much memory, because most lists aren't constructed at once, or RPLACD is done on them enough that they don't stay contiguous. At best this technique can save 50% of the space occupied by CONS cells. However, the savings probably depends to some extent upon the amount of support the implementation provides for creating CDR-coded lists. For instance, many system functions on Symbolics Lisp Machines that operate on lists have a :LOCALIZE option; when :LOCALIZE T is specified, the list is first modified and then copied to a new, CDR-coded block, with all the old cells replaced with forwarding pointers. The next time the garbage collector runs, all the forwarding pointers will be spliced out. Thus, at a cost of a temporary increase in memory usage, overall memory usage is generally reduced because more lists may be CDR-coded. Nevertheless, modern Lisps tend to use lists much less frequently, with a much heavier reliance upon code, strings, and vectors (structures). ---------------------------------------------------------------- [32] What is garbage collection? Garbage Collection (GC) refers to the automatic storage allocation mechanisms present in many Lisps. There are several kinds of storage allocation algorithms, but most fall within two main classes: 1. Stop and Copy. Systems which copy active objects from "old" storage to "new" storage and then recycle the old storage. 2. Mark and Sweep. Systems which link together storage used by discarded objects. Generational scavenging garbage collection is a variation on the first type, in which memory is allocated in layers, with tenured (long-lived) objects in the older layers. Rather than doing a full GC of all of memory every time more room is needed, only the last few layers are GCed during an ephemeral GC, taking much less time. Short-lived objects are quickly recycled, and full GCs are then much less frequent. (Actually, it is possible to implement ephemeral GC in mark and sweep systems, just much more difficult). Stop and copy garbage collection provides simpler storage allocation, avoids fragmentation of memory (intermixing of free storage with used storage). Copying, however, consumes more of the address space, since up to half the space must be kept available for copying all the active objects. This makes stop and copy GC impractical for systems with a small address space or without virtual memory. Also, copying an object requires that you track down all the pointers to an object and update them to reflect the new address, while in a non-copying system you need only keep one pointer to an object, since its location will not change. It is also more difficult to explicitly return storage to free space in a copying system. Garbage collection is not part of the Common Lisp standard. Most Lisps provide a function ROOM which provides human-readable information about the state of storage usage. In many Lisps, (gc) invokes an ephemeral garbage collection, and (gc t) a full garbage collection. ---------------------------------------------------------------- [33] How do I save an executable image of my loaded Lisp system? There is no standard for dumping a Lisp image. Here are the commands from some lisp implementations: Lucid: DISKSAVE Symbolics: Save World [CP command] CMU CL: SAVE-LISP Franz Allegro: SAVE-IMAGE ---------------------------------------------------------------- [34] I'm porting some code from a Symbolics Lisp machine to some other platform, and there are strange characters in the code. What do they mean? The Symbolics Zetalisp character set includes the following characters not present in other Lisps: ^] >= greater than or equal to ^\ <= less than or equal to ^Z != not equal to ^^ == equivalent to ^E not ^G pi ^L +/- ^H lambda ^F epsilon ^W <--> left/right arrow ^X <-- left arrow ^Y --> right arrow Other special characters to look out for are the font-change characters, which are represented as a ^F followed by a digit or asterisk. A digit means to push font #N onto the stack; an asterisk means to pop the most recent font from the stack. You can clean up the code by replacing "\^F." with "". ---------------------------------------------------------------- [35] History: Where did Lisp come from? John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence. He intended it as an algebraic LISt Processing (hence the name) language for artificial intelligence work. The primary dialect of Lisp during the early 60s was Lisp1.5. Early implementations included the IBM 704, the IBM 7090, the DEC PDP-1, the DEC PDP-6 and the DEC PDP-10. The PDP-6 and PDP-10 had 18-bit addresses and 36-bit words, allowing a CONS cell to be stored in one word, with single instructions to extract the CAR and CDR parts. During the early 70s the language diverged, forming the two main dialects of MacLisp and Interlisp. The early PDP machines had a small address space, which limited the size of Lisp programs. This lead to the development in the late 60s and early 70s of special-purpose computers known as Lisp Machines, which were designed specificly to run Lisp programs. The Xerox D-series machines -- the Dorado, Dandelion, Dandetiger, and Dove (Daybreak) -- ran a dialect of Interlisp known as Interlisp-D. The early MIT Lisp Machines ran an extension of MacLisp known as Lisp Machine Lisp. In the early 80s Scott Fahlman and other researchers at CMU developed SPICE-Lisp, a MacLisp dialect of Lisp to run on the Scientific Personal Integrated Computing Environment (SPICE) workstation. Lisp Machines from Xerox, LMI (Lisp Machines Inc) and Symbolics were available commercially starting in 1981. NIL (New Implementation of Lisp), a Lisp for the VAX, developed out of the efforts of the Macsyma group at MIT to fix many of the problems inherent in early versions of Lisp. They later collaborated with a research group at Stanford University and Lawrence Livermore National Laboratory who had worked on the design of a Lisp to run on the S-1 Mark IIA supercomputer. The first attempts to achieve a standard version of Lisp occurred in 1969, when Anthony Hearn and Martin Griss defined Standard Lisp to port REDUCE, a symbolic algebra system, to a variety of architectures. In the late 70s PSL (Portable Standard Lisp) ran on nearly a dozen platforms. Franz Lisp was also developed around this time as a dialect of MacLisp to run on stock-hardware Unix machines, and was available on a variety of hardware platforms. Also in the late 70s, Gerald J. Sussman and Guy L. Steele developed Scheme, a simple dialect of Lisp which incorporated some of the ideas from programming language semantics from the 60s. Some of these ideas included lexical scoping and lexical closures, continuations as first-class objects, and a simplified syntax (i.e., symbols have only one binding, not two as in Lisp). Object-oriented programming concepts, inspired mainly by Smalltalk, began finding their way into Lisp dialects starting in the late 70s. Flavors was developed at MIT for the Lisp machine, and LOOPS (Lisp Object Oriented Programming System) was developed at Xerox. The design of CLOS (Common Lisp Object System) was influenced by both of these object-oriented extensions. In April 1981, many elements of the splintered Lisp community gathered together to define Common Lisp as a description of the common aspects of the family of languages (Lisp Machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp and Scheme). Among the people who worked on this were Fahlman, Weinreb, Moon, Steele and Gabriel. During the late 80s (1984-89), Common Lisp, as published in CLtL1, became a de facto standard. In 1986, X3J13 was formed to produce a draft for an ANSI Common Lisp standard. Their main focusses include portability, object-oriented programming, international character sets, conditions/errors, and iteration facilities. Their work is very nearly complete. [Note: This summary is based primarily upon the History section of the draft ANSI specification. More detail and references can be obtained from that document when it becomes generally available.] ---------------------------------------------------------------- ;;; ******************************** ;;; Change Log ********************* ;;; ******************************** ;;; Date Who Ver Reason ;;; ------------------------------------------------------------ ;;; 7-FEB-92 mk 1.0 Initial release. ;;; 10-FEB-92 mk 1.1 Pre-release corrections and additions. ;;; ------------------------------------------------------------ ;;; *EOF* From fluke!sbanay@uunet.UU.NET Wed Jun 10 03:28:11 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Wed, 10 Jun 1992 16:17:06 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA04599; Wed, 10 Jun 92 17:16:58 -0400 Received: from sputnik.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 171438.17450; Wed, 10 Jun 1992 17:14:38 EDT Received: by sputnik.tc.fluke.COM (version 2.52) from batcomputer.tc.fluke.COM for SL-news-list@umnstat.stat.umn.edu id AA07142; Wed, 10 Jun 92 10:28:13 PDT Received: by batcomputer.tc.fluke.COM (version 2.52) for SL-news-list@umnstat.stat.umn.edu id AA00107; Wed, 10 Jun 92 10:28:11 PDT Message-Id: <9206101728.AA00107@batcomputer> Date: Wed, 10 Jun 92 10:28:11 PDT From: sbanay@tc.fluke.com (Sharon Banay) To: SL-news-list@umnstat Subject: me please remove me from the mailing list thanks sharon From owner-SL-news Mon Jun 18 13:02:00 1992 Resent-Date: 18 Jun 92 19:02:00 CST Resent-From: owner-SL-news Resent-Message-Id: <199206190013.AA03185@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 18 Jun 1992 19:13:05 -0500 Message-Id: <199206190013.AA03178@umnstat.stat.umn.edu> Received: from orion (orion.depaul.edu) by umnstat.stat.umn.edu; Thu, 18 Jun 1992 19:13:00 -0500 Date: 18 Jun 92 19:02:00 CST From: "Adam Gehr" Subject: puzzled about cadr To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Adam Gehr" Could someone explain why I get the following in XLISP- STAT (but not in XLISP)? (setf one '(a b)) (A B) > (car (cdr one)) B > (cadr one) B > (setf (car (cdr one)) 'x) X > one (A X) > (setf (cadr one) 'y) error: bad place form > one (A X) > I thought cadr and (car (cdr did the same thing. Adam Gehr Department of Finance DePaul University From almond@statsci.com Thu Jun 18 11:36:57 1992 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Thu, 18 Jun 1992 21:08:02 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA03737; Thu, 18 Jun 92 22:08:07 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 220749.17087; Thu, 18 Jun 1992 22:07:49 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.19) id AA10705; Thu, 18 Jun 92 18:36:57 PDT Date: Thu, 18 Jun 92 18:36:57 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9206190136.AA10705@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA07310; Thu, 18 Jun 92 18:37:32 PDT To: FINAKG@orion.depaul.edu Cc: SL-news-list@umnstat In-Reply-To: "Adam Gehr"'s message of 18 Jun 92 19:02:00 CST <199206190013.AA03185@umnstat.stat.umn.edu> Subject: puzzled about cadr | Could someone explain why I get the following in XLISP- | STAT (but not in XLISP)? | (setf one '(a b)) | (A B) | > (setf (car (cdr one)) 'x) | X | > (setf (cadr one) 'y) | error: bad place form | I thought cadr and (car (cdr did the same thing. | Adam Gehr [Some portions of example omitted.] They are functionally, but not synatically equivalent. That is #'cadr is a function which takes the second item of a list. It does the same thing as both the function #'second and the composition of the functions #'car and #'cdr, however, it has only one function call. The setf special function looks only at the synatx of its place (first) argument, not the description. In particular, there must be a setf method defined #'car and #'cdr (which setf composes) but not one for #'cadr. This is an ommission in LISP-STAT, and it seems puzzling that it is not backwards compatable with XLISP in this reguard. You can define a setf method for #'cadr, look up "defsetf" in the index. As speculation, there is no setf method for #'cadr because Luke is of the stylistic school which strongly prefers #'second to #'cadr. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From owner-SL-news Fri Jun 26 10:38:54 1992 Resent-Date: Fri, 26 Jun 92 10:29:19 CET Resent-From: owner-SL-news Resent-Message-Id: <199206261538.AA02595@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 26 Jun 1992 10:38:54 -0500 Received: from vx.cis.umn.edu (vx.acs.umn.edu) by umnstat.stat.umn.edu; Fri, 26 Jun 1992 10:38:51 -0500 Received: from EBCESCA1 by vx.cis.umn.edu; Fri, 26 Jun 92 10:32 CDT Received: from EBCESCA1 (UBAESQ01) by EBCESCA1 (Mailer R2.07) with BSMTP id 3858; Fri, 26 Jun 92 10:32:27 CET Date: Fri, 26 Jun 92 10:29:19 CET From: Josep Fortiana Gregori Subject: Difficulty loading DYNDIAG To: stat-lisp-news@umnstat Message-Id: <353BCA966C7F400157@vx.cis.umn.edu> X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Josep Fortiana Gregori When trying to load the Dynamic diagnostics package by Cook and Weisberg with the MS-Windows version of Xlisp-stat, an error message about "menu" appears. Has someone run it succesfully? Thanks Josep ...................................................................... Josep Fortiana Departament d'Estadistica (Facultat de Biologia) Phone : 34 - 3 - 4021561 Universitat de Barcelona E-mail: ubaesq01@ebcesca1.bitnet Av. Diagonal 645 08028 - Barcelona (also ubaesq01@puigmal.cesca.es) SPAIN From owner-SL-news Tue Jun 26 05:25:00 1992 Resent-Date: 26 Jun 92 11:25:00 CST Resent-From: owner-SL-news Resent-Message-Id: <199206270326.AA03560@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 26 Jun 1992 22:26:51 -0500 Message-Id: <199206270326.AA03553@umnstat.stat.umn.edu> Received: from orion (orion.depaul.edu) by umnstat.stat.umn.edu; Fri, 26 Jun 1992 22:26:48 -0500 Date: 26 Jun 92 11:25:00 CST From: "Adam Gehr" Subject: loading dyndiag To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Adam Gehr" I've had not problems with this package. It runs well on my computers both here and at home. I don't recall any particular problems in installation. Adam Gehr Professor of Finance DePaul University Chicago IL From owner-SL-news Thu Jul 9 03:56:18 1992 Resent-Date: Thu, 09 Jul 92 08:56:18 CDT Resent-From: owner-SL-news Resent-Message-Id: <199207091406.AA07503@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 9 Jul 1992 09:06:47 -0500 Received: from hermes.stat.wisc.edu by umnstat.stat.umn.edu; Thu, 9 Jul 1992 09:06:04 -0500 Message-Id: <9207091356.AA02844@hermes.stat.wisc.edu> Received: from localhost by hermes.stat.wisc.edu; Thu, 9 Jul 92 08:56:24 -0500 To: Statistical Lisp Mailing List Cc: software@stat.wisc.edu Subject: dyn-load problems on a decstation Date: Thu, 09 Jul 92 08:56:18 CDT From: kademan@stat.wisc.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kademan@stat.wisc.edu Can anybody put their finger on the problem here, or at least point me in the right direction? When I try to dynamic load a C routine into XLISP-STAT running on a Decstation 5000 the following happens: > (dyn-load "../tmp/a.o") ld: ../tmp/a.o: jump relocation out-of-range, bad object file produced, can't jump from 0x101ff018 to 0x445b24 (rvector) first ld pass ld -d -N -x -A /usr/stat/lib/xlispstat/xlisp -G 0 -T 101ff000 ../tmp/a.o -lm -lc -o /tmp/xlispdyn2474 error: link failed > The code I'm loading references rvector, a function internal to XLISP-STAT. I can get around the problem by compiling a.o with gcc version 2.0 (it's gcc 2.2.2 and ultrix cc that fail) but it would be nice to know just what it is that's giving the linker grief. If I discover anything interesting I'll post a summary. Thanks in advance. internet: kademan@stat.wisc.edu uucp: ...!{allegra,harvard,rutgers,ames, ucbvax}!uwvax!stat.wisc.edu!kademan From owner-SL-news Mon Jul 13 12:34:48 1992 Resent-Date: Mon, 13 Jul 92 16:34:48 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199207132040.AA16537@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 13 Jul 1992 15:40:37 -0500 Received: from stat.ufl.edu (holly.stat.ufl.edu) by umnstat.stat.umn.edu; Mon, 13 Jul 1992 15:36:01 -0500 Received: by stat.ufl.edu (5.57/4.08) id AA18790; Mon, 13 Jul 92 16:34:48 -0400 Date: Mon, 13 Jul 92 16:34:48 -0400 From: Mike Conlon Message-Id: <9207132034.AA18790@stat.ufl.edu> To: sl-news@umnstat Subject: ftp site unavailable? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Mike Conlon We just tried to use anonymous ftp to umnstat.stat.umn.edu. Here's what we got: mconlon@holly> ftp umnstat.stat.umn.edu Connected to umnstat.stat.umn.edu. 220 umnstat.stat.umn.edu FTP server (ULTRIX Version 4.1 Tue Mar 19 00:38:17 EST 1991) ready. Name (umnstat.stat.umn.edu:mconlon): anonymous 331 Guest login ok, send ident as password. Password: 530 User ftp: can't change directory to /usr/misc/anonymous_ftp. Login failed. ftp> quit 221 Goodbye. Is this a problem in Minnesota? Mike Conlon Dept of Statistics University of Florida From gary Mon Jul 13 14:17:04 1992 Resent-Date: Mon, 13 Jul 92 19:17:04 CDT Resent-Message-Id: <199207140017.AA27385@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 13 Jul 1992 19:17:08 -0500 From: "Gary Oehlert" Message-Id: <199207140017.AA27378@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 13 Jul 1992 19:17:05 -0500 Subject: Re: ftp site unavailable? To: sl-news@umnstat, mconlon@stat.ufl.edu Date: Mon, 13 Jul 92 19:17:04 CDT In-Reply-To: <9207132034.AA18790@stat.ufl.edu>; from "Mike Conlon" at Jul 13, 92 4:34 pm X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Gary Oehlert" > > > We just tried to use anonymous ftp to umnstat.stat.umn.edu. > Here's what we got: > > mconlon@holly> ftp umnstat.stat.umn.edu > Connected to umnstat.stat.umn.edu. > 220 umnstat.stat.umn.edu FTP server (ULTRIX Version 4.1 Tue Mar 19 00:38:17 EST 1991) > ready. > Name (umnstat.stat.umn.edu:mconlon): anonymous > 331 Guest login ok, send ident as password. > Password: > 530 User ftp: can't change directory to /usr/misc/anonymous_ftp. > Login failed. > ftp> quit > 221 Goodbye. > > > Is this a problem in Minnesota? > > Mike Conlon > Dept of Statistics > University of Florida > Yes, I think we moved our mail directories around today, and we must have fouled up our /etc/fstab's somewhere. We'll try to get that fixed tomorrow. Gary -- Gary W. Oehlert Voice: 612-625-4758 Dept. of Applied Statistics Fax: 612-624-2719 University of Minnesota 1994 Buford Ave. gary@umnstat.stat.umn.edu St. Paul, MN 55108 stat201@umnacux.bitnet From owner-SL-news Sat Jul 18 13:27:17 1992 Resent-Date: Sat, 18 Jul 92 17:27:17 EDT Resent-From: owner-SL-news Resent-Message-Id: <199207182129.AA27995@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 18 Jul 1992 16:29:18 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sat, 18 Jul 1992 16:29:14 -0500 Received: from uranus.fsu.edu (uranus.stat.fsu.edu) by stat.fsu.edu (4.1/25-eef) id AA18840; Sat, 18 Jul 92 17:27:17 EDT Date: Sat, 18 Jul 92 17:27:17 EDT From: Shau-Ming Wu Message-Id: <9207182127.AA18840@stat.fsu.edu> To: stat-lisp-news@umnstat Subject: Run XlispStat under Emacs Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Shau-Ming Wu I heard that it is convenient to run XlispStat under Emacs. Is there any person knowing how to do it? Shau-Ming Wu wu@stat.fsu.edu From owner-SL-news Sat Jul 18 13:35:44 1992 Resent-Date: Sat, 18 Jul 92 17:35:44 EDT Resent-From: owner-SL-news Resent-Message-Id: <199207182137.AA28068@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 18 Jul 1992 16:37:44 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sat, 18 Jul 1992 16:37:41 -0500 Received: from uranus.fsu.edu (uranus.stat.fsu.edu) by stat.fsu.edu (4.1/25-eef) id AA18850; Sat, 18 Jul 92 17:35:44 EDT Date: Sat, 18 Jul 92 17:35:44 EDT From: Shau-Ming Wu Message-Id: <9207182135.AA18850@stat.fsu.edu> To: stat-lisp-news@umnstat Subject: ElToY Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Shau-Ming Wu I executed 'eltoy' command under X-window in sparc station, but no menu came up, although there was not any error message. Are 'progn' and 'strcat' not XlispStat default functions? See "load-all.lsp" file. Shau-Ming Wu wu@stat.fsu.edu From statsci!almond@uunet.UU.NET Sat Jul 18 08:46:24 1992 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Sat, 18 Jul 1992 17:53:05 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA03213; Sat, 18 Jul 92 18:53:11 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 185242.22461; Sat, 18 Jul 1992 18:52:42 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.25) id AA00574; Sat, 18 Jul 92 15:46:24 PDT Date: Sat, 18 Jul 92 15:46:24 PDT From: statsci!almond@uunet.UU.NET (Russell G. Almond) Message-Id: <9207182246.AA00574@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA17758; Sat, 18 Jul 92 15:46:51 PDT To: wu@stat.fsu.edu Cc: SL-news-list@umnstat In-Reply-To: Shau-Ming Wu's message of Sat, 18 Jul 92 17:35:44 EDT <199207182137.AA28068@umnstat.stat.umn.edu> Subject: ElToY > I executed 'eltoy' command under X-window in sparc station, but no > menu came up, although there was not any error message. I can't figure out why, unless somehow the compiler switches aren't set right. Did you get a message saying Xlispstat was loading "menubar"? Email me a transcript of what you do get, and maybe I can offer some advise. > Are 'progn' and 'strcat' not XlispStat default functions? See > "load-all.lsp" file. They are there when I load Xlispstat (version 2.1 Release 2 for Sun SPARC). By the way 'progn' is not a function it is a special form (you can't apply it!). Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From statsci!almond@uunet.UU.NET Sat Jul 18 08:55:20 1992 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Sat, 18 Jul 1992 18:15:02 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA04902; Sat, 18 Jul 92 19:15:05 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 191426.24279; Sat, 18 Jul 1992 19:14:26 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.25) id AA00599; Sat, 18 Jul 92 15:55:20 PDT Date: Sat, 18 Jul 92 15:55:20 PDT From: statsci!almond@uunet.UU.NET (Russell G. Almond) Message-Id: <9207182255.AA00599@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA17760; Sat, 18 Jul 92 15:55:47 PDT To: wu@stat.fsu.edu Cc: SL-news-list@umnstat In-Reply-To: Shau-Ming Wu's message of Sat, 18 Jul 92 17:27:17 EDT <199207182129.AA27995@umnstat.stat.umn.edu> Subject: Run XlispStat under Emacs Try going through the Info manual on inferior lisp modes. The standard emacs release provides a mechanism for running lisp as a subshell, providing useful features like paren matching, etc. and allows you to send top level forms directly from a file to the inferior lisp. If I recall correctly (its been a while since I used it) all you need to do is set the name of one variable to xlispstat and it should run correctly. There is an improved version of the emacs-lisp available from Franz, Inc. I think it may be posted somewhere for anonymous ftp, take a look at the comp.lang.lisp FAQ lists for details. It is the one I am using (along with Franz Lisp) however, many of the improvements are Common Lisp specific, and still others are specific to Allegro Common Lisp. (Hence my foggy memory on the default emacs-lisp interface.) By the way, if you have been trying write Lisp code without using Emacs, you don't know what you are missing. Emacs understands the syntax of Lisp expressions, and will semi-automatically indent to the common conventions. This really helps you keep track of how deeply nested you are in a complex expression and exactly how many expressions are still open. I couldn't live without it. --Russell Almond From owner-SL-news Sun Jul 19 13:28:20 1992 Resent-Date: Sun, 19 Jul 92 17:28:20 EDT Resent-From: owner-SL-news Resent-Message-Id: <199207192130.AA29743@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 19 Jul 1992 16:30:27 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sun, 19 Jul 1992 16:30:24 -0500 Received: from uranus.fsu.edu (uranus.stat.fsu.edu) by stat.fsu.edu (4.1/25-eef) id AA21015; Sun, 19 Jul 92 17:28:20 EDT Date: Sun, 19 Jul 92 17:28:20 EDT From: Shau-Ming Wu Message-Id: <9207192128.AA21015@stat.fsu.edu> Received: by uranus.fsu.edu (4.1/SMI-4.1) id AA09727; Sun, 19 Jul 92 17:28:50 EDT To: stat-lisp-news@umnstat Subject: Emacs, S, and XLispStat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Shau-Ming Wu (i) Thanks for all the response from this news group. The problems is that we don't have emacs subdirectory nor xlispstat.el in emacs path. However, we are going to fix it up. Special thanks to Russell Almond and Brett Presnell for detailed instructions. (ii) Learning XLispStat is quite a rewarding thing. At least we learn Lisp type of programming language. It even helps understand Emacs. Personally. It is easier to learn and write Lisp codes than C codes. I like lisp, and I used xedit for coding which went along with tedious syntax checking. (iii) It seems that index in Luke Tierney's book does not cover all of the functions and special forms available in XLispStat. Am I correct? (iv) I am preparing an informal talk, "Comparison of S with XLispStat" to a small group of statistics faculty and graduate students here. Suppose you are in the audience, what would you like to know? Any suggestion and advice is welcome. My talk will be based on "Comment: Two Functional Programming Enironments for Statistics - Lisp-Stat and S" by David J. Lubinsky in Statistical Science vol. 6 no. 4 Nov. 1991. Thanks a lot. Shau-Ming Wu wu@stat.fsu.edu From owner-SL-news Fri Jul 20 03:52:00 1992 Resent-Date: 20 Jul 92 09:52:00 CST Resent-From: owner-SL-news Resent-Message-Id: <199207201500.AA01280@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 20 Jul 1992 10:00:18 -0500 Message-Id: <199207201500.AA01273@umnstat.stat.umn.edu> Received: from orion (orion.depaul.edu) by umnstat.stat.umn.edu; Mon, 20 Jul 1992 10:00:15 -0500 Date: 20 Jul 92 09:52:00 CST From: "Adam Gehr" Subject: Stack size on Windows xlisp-stat To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Adam Gehr" Is there any way to increase the size of the stack in the Windows version of xlisp-stat? I can alleviate the problem a bit by re-coding to use loops rather than recursion where that's possible, but that doesn't lead to very readable code, and I still get crashes when I make the problem big enough. I'm running a 486 PC with 4 meg of memory and windows 3.1. When the program crashes it requires closing down xlisp-stat (and I've found it also helps to dump windows and start it up again). Failing this, can someone recommend a version of Lisp which runs on the PC? I prefer Xlisp-stat, because I'd like to use the statistical and graphical tools to analyse the output of the simulation I'm writing. Adam Gehr Department of Finance DePaul University From statsci!almond@uunet.UU.NET Mon Jul 20 07:13:16 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 20 Jul 1992 16:37:56 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA22124; Mon, 20 Jul 92 17:37:49 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 173608.14724; Mon, 20 Jul 1992 17:36:08 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.25) id AA10316; Mon, 20 Jul 92 14:13:16 PDT Date: Mon, 20 Jul 92 14:13:16 PDT From: statsci!almond@uunet.UU.NET (Russell G. Almond) Message-Id: <9207202113.AA10316@statsci.com> Received: by bass.statsci.com (4.1/SMI-4.1) id AA18638; Mon, 20 Jul 92 14:13:46 PDT To: wu@stat.fsu.edu Cc: SL-news-list@umnstat In-Reply-To: Shau-Ming Wu's message of Sun, 19 Jul 92 17:27:22 EDT <199207192129.AA29729@umnstat.stat.umn.edu> Subject: Emacs, S, and XLispStat (i) Emacs and Xlispstat I think that all you need to run xlispstat under emacs is available with the standard (GNU emacs 18.xx) distribution. All bets are off if your not using GNU emacs. (ii) XLISPSTAT and C. Peter Norvig's new book _Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp_, Morgan Kaufmann has some good introductory examples giving some comparisons between LISP and more conventional programming languages. (Note that S shares some of those same advantages, such as "interactive" and "dynamic memory management.") (iii) Xlispstat reference. Luke's book gives a once over to most of the important ones, however it is not a thorough treatment. Steele[1990] _Common Lisp: The Language_ is the de facto standard for Common LISP of which XLISP is a subset. (The ANSI X3J13 committee writing the draft standard is actually working from the earlier version Steele[1984]). Because XLISP is a subset of the earlier draft, you may actually be better off using Steele[1984]. A lot of the keyword args for the sequence functions are missing, as are a large number of other functions. It is usually easy enough to write the functions that you are missing though. You may want to look at a standard intro to LISP such as Wilensky or Winston and Horn, or the first couple of chapter's of Norvig. Remember that one of the features of LISP programming is that you no longer need to think like a FORTRAN programmer. Standard LISP tricks include creating a data structure which captures your knowledge about the problem and other code which translates that into procedures. Luke's book simply doesn't have time to show you those sorts of tricks. (iv) On LISP-STAT and S. One of the big differences between LISP-STAT and S is that S does lazy evaluation. LISP always evaluates all arguments of a function (as opposed to a macro or a special form) before applying the function to the argument. In S, however, arguments are not evaluated until they are used. This makes for a difficult interaction with generic function definitions. I recently heard John Chambers talk on planned improvements to New^3 S, and one of the things is improved Generic Function and method stuff. I'm still not sure how is is planning to do this and keep lazy evaluation. A second big difference is that S can always back out of a calculation if an error occurs in the middle. This is rather like having all function wrapped in unwind-protect. Incidentally, alot of the inefficiencies of S stem from this feature. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From owner-SL-news Tue Jul 21 05:58:31 1992 Resent-Date: Tue, 21 Jul 92 10:58:31 CDT Resent-From: owner-SL-news Resent-Message-Id: <199207211558.AA03889@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 21 Jul 1992 10:58:52 -0500 Received: from hermes.stat.wisc.edu by umnstat.stat.umn.edu; Tue, 21 Jul 1992 10:58:45 -0500 Message-Id: <9207211558.AA20143@hermes.stat.wisc.edu> Received: from localhost by hermes.stat.wisc.edu; Tue, 21 Jul 92 10:58:32 -0500 To: Statistical Lisp Mailing List Subject: dynamic loading on a decstation Date: Tue, 21 Jul 92 10:58:31 CDT From: kademan@stat.wisc.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kademan@stat.wisc.edu A while ago I had a question about dynamic loading with XLISP-STAT. > I'm working on a DECstation 5000 and using a > statistical package called XLISP-STAT that allows you to write your own C > code and then dynamically link your routine in with the executive. This > used to work fine with gcc 2.0 but now with 2.2.2 (and with the same > XLISP-STAT executable) I get the following error message: > > > (dyn-load "../tmp/a.o") > first ld pass > ld -d -N -x -A /usr/stat/lib/xlispstat/xlisp -G 0 -T 101ff000 ../tmp/a.o > -lm -lc -o /tmp/xlispdyn2474 > ld: > ../tmp/a.o: jump relocation out-of-range, bad object file produced, can't jump from 0x101ff018 to 0x445b24 (rvector) > error: link failed > > > > The code I'm loading references rvector, a function internal to XLISP-STAT. > Thanks to Joe Burger and Bill Dunlap for the solution. The text and data segments of the xlisp executable were so far apart that when it loaded in the new code the relative branch instructions that the compiler generated were inadequate to reference the routines already resident in xlisp. To remedy this I needed to rebuild the executable with text and data closer together. The "size" utility tells you what the sizes of these segments are and the "-T" and "-D" options to ld allow you to specify their starting addresses. For example, linking xlisp with "-D 800000" and with the default text address worked. Another option that seemed to work was "-N" which puts the text and data right next to one another (though the text is now no longer shareable among multiple users). Ed Kademan internet: kademan@stat.wisc.edu uucp: ...!{allegra,harvard,rutgers,ames, ucbvax}!uwvax!stat.wisc.edu!kademan From owner-SL-news Tue Aug 4 12:24:05 1992 Resent-Date: Tue, 04 Aug 92 10:24:05 +0200 Resent-From: owner-SL-news Resent-Message-Id: <199208040824.AA10244@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 4 Aug 1992 03:24:31 -0500 Received: from ns3.hq.eso.org by umnstat.stat.umn.edu; Tue, 4 Aug 1992 03:24:26 -0500 Message-Id: <9208040824.AA08507@ns3.hq.eso.org> Received: from localhost.hq.eso.org by ns3.hq.eso.org (4.1/ eso-1.1) id AA08507; Tue, 4 Aug 92 10:24:06 +0200 To: stat-lisp-news@umnstat, info-macl@cambridge.apple.com Subject: XLISP/XSTAT under Macintosh Common Lisp Date: Tue, 04 Aug 92 10:24:05 +0200 From: hmadorf@eso.org Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: hmadorf@eso.org Hi netters, I am a happy user of both MCL and XLISP/XSTAT. Of course it is tedious to switch between the two environments. Also XLISP does not offer the full functionality of CLtL2. Has anyone made an effort to implement/emulate the XLSIP/XSTAT functionality on top of MCL (or another Common Lisp for that matter)? Thanks Hans-Martin Adorf Space Telescope - European Coordinating Facility Garching, FRG From owner-SL-news Tue Aug 4 03:49:00 1992 Resent-Date: Tue, 4 Aug 92 08:49 CDT Resent-From: owner-SL-news Resent-Message-Id: <199208041348.AA10714@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 4 Aug 1992 08:48:53 -0500 Message-Id: <199208041348.AA10707@umnstat.stat.umn.edu> Received: from aardvark.ucs.uoknor.edu by umnstat.stat.umn.edu; Tue, 4 Aug 1992 08:48:50 -0500 Date: Tue, 4 Aug 92 08:49 CDT From: JBEHRENS@aardvark.ucs.uoknor.edu Subject: Instructional uses of XLISP-STAT To: stat-lisp-news@umnstat X-Vms-To: IN%"stat-lisp-news@umnstat.stat.umn.edu" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: JBEHRENS@aardvark.ucs.uoknor.edu I am an Educational Psychologist (basically we study how to improve learning and instruction) and am using XLISP-STAT both for my own data analysis and for instructional purposes. I was wondering if any other list members were using XLISP-STAT for instructional purposes and if so, of what type. Would be glad to summarize responses for redistribution on the list. John T. Behrens University of Oklahoma Department of Educational Psychology From owner-SL-news Tue Aug 4 06:01:06 1992 Resent-Date: Tue, 4 Aug 1992 11:01:06 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199208041547.AA11005@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 4 Aug 1992 10:47:59 -0500 Received: from brazil.cambridge.apple.com by umnstat.stat.umn.edu; Tue, 4 Aug 1992 10:47:54 -0500 Received: from ministry.cambridge.apple.com by brazil.cambridge.apple.com with SMTP (5.64/25-eef) id AA01427; Tue, 4 Aug 92 11:12:31 -0400 for stat-lisp-news@umnstat.stat.umn.edu Received: from [90.223.0.29] by cambridge.apple.com with SMTP (5.64/25-eef) id AA19094; Tue, 4 Aug 92 10:24:05 -0400 Message-Id: <9208041424.AA19094@cambridge.apple.com> Date: Tue, 4 Aug 1992 11:01:06 -0500 To: stat-lisp-news@umnstat From: Steve Strassmann Subject: XLISP/XSTAT under Macintosh Common Lisp Cc: info-mcl@cambridge.apple.com Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Steve Strassmann >To: stat-lisp-news@umnstat.stat.umn.edu, info-macl@cambridge.apple.com >Subject: XLISP/XSTAT under Macintosh Common Lisp >Date: Tue, 04 Aug 92 10:24:05 +0200 >From: hmadorf@eso.org > >Hi netters, > >I am a happy user of both MCL and XLISP/XSTAT. Of course it is tedious >to switch between the two environments. Also XLISP does not offer >the full functionality of CLtL2. > >Has anyone made an effort to implement/emulate the XLSIP/XSTAT >functionality on top of MCL (or another Common Lisp for that matter)? > >Thanks > >Hans-Martin Adorf >Space Telescope - European Coordinating Facility >Garching, FRG > > Well, you're in luck! The XSTAT folks have been working on the Common Lisp port, which is available by anonymous ftp from umnstat.stat.umn.edu:/pub/xlispstat/CL/CLS1.0A1.tar.Z MCL owners don't even have to ftp - it's on the MCL 2.0 cd-rom! Warning: this code has not been tested (as far as I know) under MCL. If someone has "Macified" it, please let me know! enjoy, - steve From owner-SL-news Tue Aug 4 09:10:12 1992 Resent-Date: Tue, 04 Aug 92 13:10:12 EDT Resent-From: owner-SL-news Resent-Message-Id: <199208041713.AA11466@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 4 Aug 1992 12:13:42 -0500 Message-Id: <199208041713.AA11459@umnstat.stat.umn.edu> Received: from ukcc.uky.edu by umnstat.stat.umn.edu; Tue, 4 Aug 1992 12:13:37 -0500 Received: from ukcc.uky.edu by UKCC.uky.edu (IBM VM SMTP V2R2) with BSMTP id 6622; Tue, 04 Aug 92 13:13:13 EDT Received: from UKCC.uky.edu (ASTRO11) by ukcc.uky.edu (Mailer R2.08) with BSMTP id 0563; Tue, 04 Aug 92 13:13:13 EDT Date: Tue, 04 Aug 92 13:10:12 EDT From: arny stromberg Subject: xlispstat on HP-730 To: stat-lisp-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: arny stromberg Is anyone running or interested in running xlispstat on an HP-730? Thanks, Arny Stromberg (astro11@ukcc.uky.edu) From luke Fri Aug 7 05:41:42 1992 Resent-Date: Fri, 7 Aug 92 10:41:42 CDT Resent-Message-Id: <199208071541.AA20962@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 7 Aug 1992 10:41:46 -0500 From: "Luke Tierney" Message-Id: <199208071541.AA20954@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 7 Aug 1992 10:41:43 -0500 Subject: XLISP-STAT 2.1R3 Alpha 7 for Macintosh; 32-bit fix To: stat-lisp-news@umnstat Date: Fri, 7 Aug 92 10:41:42 CDT X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" XLISP-STAT 2.1R3 Alpha 7 for the Macintosh is now available for ftp from umnstat.stat.umn.edu. It is in files XLISP-STAT2.1R3A7.Disk1.SEA.hqx and XLISP-STAT2.1R3A7.Disk2.SEA.hqx. These are binhexed self-extracting archives. This release brings the Mac version in line with the current MS Windows version (in particular it includes an improved eigenvalue routine from EISPACK). This is not a major release; I hope to make a final release of 2.1R3 in a few months. The reason for putting this out now is that I have found and fixed a bug in the allocation of the color buffer that would cause XLISP-STAT 2.1R2 to fail on some systems under System 7 with 32-bit addressing turned on. The symptom was usually failure on startup with an "unknown error 1" or some such message, perhaps followed by freezing of the system requiring a reboot. I hope that this fix makes the new version 32-bit clean. On my test configurations it seems to work with 32-bit addressing turned on. If you have had problems with 32-bit addressing, please try this new version and let me know if there are still problems. luke From owner-SL-news Sat Aug 11 15:13:13 1992 Resent-Date: 11 Aug 1992 08:13:13 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199208110018.AA25980@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 10 Aug 1992 19:18:09 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Mon, 10 Aug 1992 19:17:47 -0500 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GNFEKYQY749JD6T3@vx.cis.umn.edu>; Mon, 10 Aug 1992 19:20:11 CDT Received: by NUSVM (Mailer R2.03B) id 5563; Tue, 11 Aug 92 08:16:48 SST Date: 11 Aug 1992 08:13:13 +0700 (SST) From: Forrest Young Subject: LISP QUESTION To: STAT-LISP-NEWS@umnstat Message-Id: <01GNFEKYR7UA9JD6T3@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young I have a lisp problem I can't figure out how to solve. The problem is as follows: I have a variable that has a string value, such as: (setf a "foo") and i wish to create a new variable whose name is the string value of the first variable, and which has some value that doesn't matter at this point. I thought about (setf (eval a) 1) but anticipated that it wouldn't work. I can't think of any other way. HELP! Thanks... From kilroy@biostat.washington.edu Mon Aug 10 23:58:32 1992 Received: from uhura.biostat.washington.edu by umnstat.stat.umn.edu; Mon, 10 Aug 1992 23:58:32 -0500 Received: by uhura.biostat.washington.edu (5.64/UW-NDC Revision: 2.21 ) id AA03950; Mon, 10 Aug 92 21:56:32 -0700 From: Steve McKinney Message-Id: <9208110456.AA03950@uhura.biostat.washington.edu> Subject: Re: LISP QUESTION To: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu (Forrest Young) Date: Mon, 10 Aug 92 21:56:30 BST Cc: SL-news-list@umnstat In-Reply-To: <01GNFEKYR7UA9JD6T3@vx.cis.umn.edu>; from "Forrest Young" at Aug 11, 92 8:13 am X-Mailer: ELM [version 2.3 PL11] > > I have a lisp problem I can't figure out how to solve. The problem is > as follows: I have a variable that has a string value, such as: > (setf a "foo") > and i wish to create a new variable whose name is the string value of the > first variable, and which has some value that doesn't matter at this point. > I thought about > (setf (eval a) 1) > but anticipated that it wouldn't work. I can't think of any other way. HELP! > Thanks... > Another question and a bit of an answer. My impression from LISP manuals is that the following should work > (setf a "foo") "foo" > (intern a) foo but LISPSTAT does this > (setf a "foo") "foo" > (intern a) |foo| Why the bars around foo? Anyway this is a partial answer to the question. I have implemented code along the lines of the following example in some of my programming work using Lispstat. The (set ) function is the way to set the new variable created from a string. > (let ((var1 (intern (with-output-to-string (s) (princ "foo" s)))) (var2 (intern (with-output-to-string (s) (princ "bar" s))))) (set var1 1) ; (set ) function evaluates all arguments (set var2 2) (princ var1) (princ var2) (terpri) (princ (eval var1)) (terpri) (princ (eval var2)) (terpri) (+ (eval var1) (eval var2))) foobar 1 2 3 > foo error: unbound variable - FOO > bar error: unbound variable - BAR > |foo| 1 > |bar| 2 Why (princ var1) yields foo and not |foo| I do not understand, but in any event I have made and manipulated variables within Lispstat functions using the above ( ... (intern (with-output-to-string (s) (princ "foo" s))) ... ) stuff. \`|'/ (. .) ---uuu-U-uuu--- kilroy was here From owner-SL-news Wed Aug 12 17:27:23 1992 Resent-Date: Wed, 12 Aug 92 16:27:23 +0100 Resent-From: owner-SL-news Resent-Message-Id: <199208121426.AA29225@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 12 Aug 1992 09:26:31 -0500 Received: from ipgaix.unipg.it (aixstat.unipg.it) by umnstat.stat.umn.edu; Wed, 12 Aug 1992 09:26:23 -0500 Received: by ipgaix.unipg.it (5.61-AIX-1.2/1.0) id AA338270 (for STAT-LISP-NEWS@umnstat.stat.umn.edu, from glm/glm@ipgaix.unipg.it); Wed, 12 Aug 92 16:27:23 +0100 Date: Wed, 12 Aug 92 16:27:23 +0100 From: glm@ipgaix.unipg.it (Gianfranco Galmacci) Message-Id: <9208121527.AA338270@ipgaix.unipg.it> To: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu, STAT-LISP-NEWS@umnstat Subject: Re: LISP QUESTION Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: glm@ipgaix.unipg.it (Gianfranco Galmacci) Try the following (setf a "foo") (set (with-input-from-string (str a) (read str)) '(1 2 3)) now you can use foo or its content as you wish Gianfranco Galmacci Dept of Statistics Perugia - Italy From owner-SL-news Wed Aug 12 09:31:55 1992 Resent-Date: Wed, 12 Aug 92 13:31:55 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199208121733.AA29647@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 12 Aug 1992 12:33:02 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Wed, 12 Aug 1992 12:32:59 -0500 Received: from uranus.stat.fsu.edu by stat.fsu.edu (4.1/25-eef) id AA01639; Wed, 12 Aug 92 13:30:37 EDT Message-Id: <9208121730.AA01639@stat.fsu.edu> To: stat-lisp-news@umnstat Subject: Is there a Quick reference guide for Xlisp? Date: Wed, 12 Aug 92 13:31:55 -0400 From: naras@stat.fsu.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: naras@stat.fsu.edu I am making some notes as I am going thru' Tierney's book. I think that a quick reference for Xlisp, along with documentation for Xlisp-Stat functions would not be a bad idea. At least for me. Comments, suggestions? Or is there one already? ---------------------------------------------------------------------- B. Narasimhan Division of Science and Math. naras@cda.mrs.umn.edu University of Minnesota, Morris Morris, MN 56267. ---------------------------------------------------------------------- From owner-SL-news Wed Aug 12 06:18:58 1992 Resent-Date: Wed, 12 Aug 92 13:18:58 PDT Resent-From: owner-SL-news Resent-Message-Id: <199208122023.AA29999@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 12 Aug 1992 15:23:31 -0500 Received: from hp.com by umnstat.stat.umn.edu; Wed, 12 Aug 1992 15:20:24 -0500 Received: from labmdv.lsid.hp.com by hp.com with SMTP (16.8/15.5+IOS 3.13) id AA29109; Wed, 12 Aug 92 13:19:07 -0700 Received: by labmdv.lsid.hp.com (16.6/15.5+IOS 3.22) id AA21048; Wed, 12 Aug 92 13:18:59 -0700 From: Bill Harris Message-Id: <9208122018.AA21048@labmdv.lsid.hp.com> Subject: Re: Is there a Quick reference guide for Xlisp? To: naras@stat.fsu.edu Date: Wed, 12 Aug 92 13:18:58 PDT Cc: stat-lisp-news@umnstat In-Reply-To: <9208121730.AA01639@stat.fsu.edu>; from "naras@stat.fsu.edu" at Aug 12, 92 1:31 pm Mailer: Elm [revision: 66.25] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Bill Harris > >I am making some notes as I am going thru' Tierney's book. I think that >a quick reference for Xlisp, along with documentation for Xlisp-Stat functions >would not be a bad idea. At least for me. > >Comments, suggestions? Or is there one already? > I would think it would be helpful. I occasionally run Xlisp-Stat on a PC, and I do end up making lots of searches through the text to find out something that could have been found in a quick reference. How about something like an 8.5" x 11" sheet, folded into 3 sections along the 11" side, with 3 columns of text front and back? I have seen cards from a vendor of MS-DOS and UN*X quick reference cards formatted like that. >---------------------------------------------------------------------- >B. Narasimhan Division of Science and Math. >naras@cda.mrs.umn.edu University of Minnesota, Morris > Morris, MN 56267. >---------------------------------------------------------------------- > Regards, Bill -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 330 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From almond@stat.washington.edu Wed Aug 12 13:05:39 1992 Received: from grover.stat.washington.edu by umnstat.stat.umn.edu; Wed, 12 Aug 1992 22:06:32 -0500 Received: from bert.stat.washington.edu by grover.stat.washington.edu (5.64/UW-NDC Revision: 2.23 ) id AA08434; Wed, 12 Aug 92 20:05:39 -0700 Date: Wed, 12 Aug 92 20:05:39 -0700 From: Russell G. Almond Message-Id: <9208130305.AA08434@grover.stat.washington.edu> Received: by bert.stat.washington.edu.sccc (4.1/SMI-4.1) id AA00456; Wed, 12 Aug 92 20:05:38 PDT To: statsci!naras%stat.fsu.edu@uunet.uu.net Cc: SL-news-list@umnstat In-Reply-To: statsci!naras%stat.fsu.edu@uunet.uu.net's message of Wed, 12 Aug 92 13:31:55 -0400 <199208121733.AA29647@umnstat.stat.umn.edu> Subject: Is there a Quick reference guide for Xlisp? Actually, I would say it is badly needed. Especially a more systematic catalog of objects and methods. We also need a book of stupid Lisp tricks for statisticians. Russell Almond U. Washington, Statistical Sciences, Inc. Statistics, GN-22 1700 Westlake Ave., N Suite 500 Seattle, WA 98195 Seattle, WA 98109 (206) 685-7428 (206) 283-8802 almond@stat.washington.edu almond@statsci.com Spring Sunshine, The Tree-of-Cliques in Hyperbloom. Eschew Affine Constraints! (future ancient Japaneese Haiku) (my affliations are reversed today because I'm posting from the other account). From deleeuw@laplace.sscnet.ucla.edu Wed Aug 12 13:27:18 1992 Received: from sscnet.ucla.edu (weber.sscnet.ucla.edu) by umnstat.stat.umn.edu; Wed, 12 Aug 1992 22:28:25 -0500 Received: from laplace.sscnet.ucla.edu by sscnet.ucla.edu (4.1/ssc-02/26) id AA26741; Wed, 12 Aug 92 20:27:22 PDT Received: by laplace.sscnet.ucla.edu (4.1/SMI-4.1) id AA20209; Wed, 12 Aug 92 20:27:18 PDT Date: Wed, 12 Aug 92 20:27:18 PDT From: deleeuw@laplace.sscnet.ucla.edu (Jan Deleeuw) Message-Id: <9208130327.AA20209@laplace.sscnet.ucla.edu> To: SL-news-list@umnstat Maybe somebody could take the excellent XLISP Reference Guide as an example, and add the about 100-200 pages needed for the XLISP-STAT commands. This means that Tim Mikkelsen has already done most of the work, and his guide can also serve as a model. --- Jan From almond@stat.washington.edu Wed Aug 12 13:32:10 1992 Received: from grover.stat.washington.edu by umnstat.stat.umn.edu; Wed, 12 Aug 1992 22:32:11 -0500 Received: from bert.stat.washington.edu by grover.stat.washington.edu (5.64/UW-NDC Revision: 2.23 ) id AA08442; Wed, 12 Aug 92 20:32:10 -0700 Date: Wed, 12 Aug 92 20:32:10 -0700 From: Russell G. Almond Message-Id: <9208130332.AA08442@grover.stat.washington.edu> Received: by bert.stat.washington.edu.sccc (4.1/SMI-4.1) id AA00461; Wed, 12 Aug 92 20:32:09 PDT To: SL-news-list@umnstat In-Reply-To: Steve McKinney's message of Mon, 10 Aug 92 21:56:30 BST <9208110456.AA03950@uhura.biostat.washington.edu> Subject: LISP QUESTION (Creating Symbols) Steve McKinney writes: | My impression from LISP manuals is that the following should work | > (setf a "foo") | "foo" | > (intern a) | foo | but LISPSTAT does this | > (setf a "foo") | "foo" | > (intern a) | |foo| | Why the bars around foo? Actually this happens for all Common Lisps, not just Xlisp, it is a "feature" not a bug. The internal storage mode for lisp is uppercase letters, however the reader converts them by default. Thus > 'foo FOO That is, you talk quietly at Lisp and it shouts back. However, this conversion is done by read, not by the intern function. Thus: > (intern "FOO") FOO > (intern "foo") |foo| As the default specifications for print is to print readably, it prints the lower case symbol name within the `|' which suppress the automatic capitolization. Thus > (symbol-name 'FOO) "FOO" > (symbol-name '|foo|) "foo" The solution to your problem is probably to coerce the name into upper-case before interning. Something like: (intern (force-string-into-upper-case-function name)) where force-string-into-upper-case-function is whatever the appropriate function is. I don't have a XLISP manual handy. Russell Almond U. Washington, Statistical Sciences, Inc. Statistics, GN-22 1700 Westlake Ave., N Suite 500 Seattle, WA 98195 Seattle, WA 98109 (206) 685-7428 (206) 283-8802 almond@stat.washington.edu almond@statsci.com Spring Sunshine, The Tree-of-Cliques in Hyperbloom. Eschew Affine Constraints! (future ancient Japaneese Haiku) From owner-SL-news Mon Aug 13 22:31:13 1992 Resent-Date: 13 Aug 1992 15:31:13 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199208130735.AA00974@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Aug 1992 02:35:07 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 13 Aug 1992 02:35:05 -0500 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GNIMFYN99C9JDH01@vx.cis.umn.edu>; Thu, 13 Aug 1992 02:37:36 CDT Received: by NUSVM (Mailer R2.03B) id 0532; Thu, 13 Aug 92 15:34:30 SST Date: 13 Aug 1992 15:31:13 +0700 (SST) From: Forrest Young Subject: MY LISP QUESTION To: STAT-LISP-NEWS@umnstat Message-Id: <01GNIMFYN99E9JDH01@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Thanks for all the replys to my lisp question about how to turn a string into a variable. There were two general ways suggested, the most elegant being (intern (string-upcase "foo")) The string-upcase converst "foo" into "FOO" (which is needed since all variables are internally stored in uppercase, as i learned from the net replys) and the intern does the work of converting "FOO" into the variable FOO (which, confusingly, prints as foo). Thanks again... From owner-SL-news Mon Aug 13 22:36:16 1992 Resent-Date: 13 Aug 1992 15:36:16 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199208130746.AA01012@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Aug 1992 02:46:56 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 13 Aug 1992 02:46:54 -0500 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GNIMUMIPHS9JDH01@vx.cis.umn.edu>; Thu, 13 Aug 1992 02:49:25 CDT Received: by NUSVM (Mailer R2.03B) id 0619; Thu, 13 Aug 92 15:45:51 SST Date: 13 Aug 1992 15:36:16 +0700 (SST) From: ECSFWY@NUSVM.BITNET Subject: LISP REFERENCE To: STAT-LISP-NEWS@umnstat Message-Id: <01GNIMUMIPHU9JDH01@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: ECSFWY@NUSVM.BITNET I think it would be wonderful to have 1) a quick reference card 2) a complete listing of functions added by tierney 3) a complete guide along the lines of the xlisp guide (which i've never seen) There is a document that contains a listing of functions added by Tierney, which I use frequently. It is the precursor to Tierney's book, entitled XLISP-STAT: A Statistical Environment Based on the XLISP Language" from Univ. Minn Sch of Stat (Technical Report Number 528) July 1988. It has two parts. The first part is the same as the tutorial chapter in Luke's book. The second part is a listing of (some) of the functions added by Luke, categorized by the role of the function (Arithmetic and Logical Functions; Statistical Functions; Plotting Functions; Object Methods; and Array Functions) I regularly xerox the listing portion for my Lisp-Stat classes. Unfortunately, it is not a complete listing, but it is better than nothing. I've always wondered why it wasn't included as an appendix to Luke's book (Luke, are you listening?). From owner-SL-news Mon Aug 13 03:37:00 1992 Resent-Date: 13 Aug 92 09:37:00 CST Resent-From: owner-SL-news Resent-Message-Id: <199208131438.AA01565@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Aug 1992 09:38:34 -0500 Message-Id: <199208131438.AA01558@umnstat.stat.umn.edu> Received: from orion (orion.depaul.edu) by umnstat.stat.umn.edu; Thu, 13 Aug 1992 09:38:30 -0500 Date: 13 Aug 92 09:37:00 CST From: "Adam Gehr" Subject: lisp-stat handbook To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Adam Gehr" The document "Xlisp-Stat: A statistical environment...." referred to in a previous message on this list is available for ftp from the same address at UMN as Xlisp-Stat it must be untarred and run thru LATEX, however (and if you want the pictures printed on a Postscript printer). Adam Gehr Professor of Finance DePaul University From owner-SL-news Thu Aug 13 07:28:09 1992 Resent-Date: Thu, 13 Aug 92 11:28:09 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199208131557.AA01740@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Aug 1992 10:57:11 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Thu, 13 Aug 1992 10:57:07 -0500 Received: from uranus.stat.fsu.edu by stat.fsu.edu (4.1/25-eef) id AA03162; Thu, 13 Aug 92 11:26:46 EDT Message-Id: <9208131526.AA03162@stat.fsu.edu> To: stat-lisp-news@umnstat Subject: Re: Quick reference guide. Date: Thu, 13 Aug 92 11:28:09 -0400 From: naras@stat.fsu.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: naras@stat.fsu.edu Ok, I will work on one. But don't expect it very soon, since I have other projects going. I would welcome suggestions and ideas from anyone. For starters, I plan to find the Xlisp guide and add stuff to it. Since I have not yet seen it, I don't know how big it is. I will also use the tech report by Tierney as a starting point. If you mail me stuff, use the Subject line "Quick reference Guide", so that I can file it away automatically. The quick reference guide, I would most favor is something like the one that Vromans has created for Perl. But I am willing to consider others. Cheers, - - --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From deleeuw@laplace.sscnet.ucla.edu Thu Aug 13 03:13:09 1992 Received: from sscnet.ucla.edu (weber.sscnet.ucla.edu) by umnstat.stat.umn.edu; Thu, 13 Aug 1992 12:14:19 -0500 Received: from laplace.sscnet.ucla.edu by sscnet.ucla.edu (4.1/ssc-02/26) id AA28178; Thu, 13 Aug 92 10:13:15 PDT Received: by laplace.sscnet.ucla.edu (4.1/SMI-4.1) id AA22482; Thu, 13 Aug 92 10:13:09 PDT Date: Thu, 13 Aug 92 10:13:09 PDT From: deleeuw@laplace.sscnet.ucla.edu (Jan Deleeuw) Message-Id: <9208131713.AA22482@laplace.sscnet.ucla.edu> To: SL-news-list@umnstat Various people have enquired about the xlisp reference guide. It is XLISP 2.0 LANGUAGE REFERENCE by Tim I Mikkelsen It is dated December, 1989. There are 325 pages, each page is one xlisp command, with syntax, description, examples (!), common lisp compatibilities, whether it is a built-in (i.e. in C) or an add-on (i.e. in LISP and loaded at run-time). It is undescribably useful. There are quite a few XLISP functions in there that are not in Luke's book. Now where does one get it ? I append the output of archie -s xlispref, which makes it possible for you to select your favourite ftp-site and your favourite compression format. Host athene.uni-paderborn.de Location: /pcsoft/msdos/xlisp FILE -rw-r--r-- 200487 Dec 15 1991 xlispref.arc Host capella.eetech.mcgill.ca Location: /wuarchive/mirrors/msdos/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc Host cs.dal.ca Location: /pub/comp.archives DIRECTORY drwxrwxrwx 512 Jul 8 1990 xlispref Host cs.orst.edu Location: /pub/xlisp FILE -rw-r--r-- 412955 Jan 5 1990 xlispref.txt Host cs.ubc.ca Location: /mirror2/x-contrib/winterp/papers FILE -rw-r--r-- 134945 Oct 29 1990 XlispRef.doc.Z Host export.lcs.mit.edu Location: /contrib/winterp/papers FILE -rw-rw-rw- 134945 Oct 30 1990 XlispRef.doc.Z Location: /pub/R5untarred/contrib/Motif/clients/winterp/doc FILE -r--r--r-- 414134 Oct 6 1991 XlispRef.doc Host faui43.informatik.uni-erlangen.de Location: /mounts/cyber/iwiftp/public/pc/language/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc Host ftp.uu.net Location: /pub/window-sys/X/contrib/winterp/papers FILE -rw-r--r-- 134945 Oct 29 1990 XlispRef.doc.Z Location: /systems/ibmpc/msdos/simtel20/xlisp FILE -rw-r--r-- 200487 Feb 3 1990 xlispref.arc Host gatekeeper.dec.com Location: /.1/X11/contrib/winterp/papers FILE -r--r--r-- 134945 Oct 29 1990 XlispRef.doc.Z Host gdr.bath.ac.uk Location: /simtel-cdrom/msdos/xlisp FILE -r-xr-xr-x 200487 Feb 4 1990 xlispref.arc Host geocub.greco-prog.fr Location: /pub/X11R5/contrib-R5/contrib/Motif/clients/winterp/doc FILE -rwxr-xr-x 414134 Nov 15 1991 XlispRef.doc Host ipc1.rrzn.uni-hannover.de Location: /pub/unix/windows/X11R5/contrib/Motif/clients/winterp/doc FILE -r--r--r-- 414134 Oct 6 1991 XlispRef.doc Host isfs.kuis.kyoto-u.ac.jp Location: /mirrors/simtel20.msdos/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc Host mcsun.eu.net Location: /windows/X/R4.contrib/winterp/papers FILE -rw-r--r-- 134945 Sep 24 1991 XlispRef.doc.Z Host nic.switch.ch Location: /mirror/msdos/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc Host nz20.rz.uni-karlsruhe.de Location: /pub/msdos/xlisp FILE -rw-r--r-- 200576 Mar 25 17:10 xlispref.arc Host plaza.aarnet.edu.au Location: /X11/contrib/winterp/papers FILE -rw-rw-r-- 134945 Dec 12 1990 XlispRef.doc.Z Location: /micros/pc/oak/xlisp FILE -rw-r--r-- 200487 Feb 4 1990 xlispref.arc Location: /micros/pc/simtel-20/xlisp FILE -rw-r--r-- 200487 Feb 4 1990 xlispref.arc Host rigel.acs.oakland.edu Location: /pub/msdos/xlisp FILE -rw-r--r-- 200487 Feb 4 1990 xlispref.arc Host rs3.hrz.th-darmstadt.de Location: /pub/X11/contrib/winterp/papers FILE -rw-rw-r-- 134945 Oct 30 1990 XlispRef.doc.Z Host src.doc.ic.ac.uk Location: /graphics/X11/contrib/winterp FILE -r--r--r-- 134945 Jun 18 1990 XlispRef.txt.Z Location: /graphics/X11/contrib/winterp/papers FILE -r--r--r-- 134945 Nov 3 1990 XlispRef.doc.Z Location: /ibmpc/wsmr-simtel20.army.mil/xlisp FILE -r--r--r-- 200487 Feb 4 1990 xlispref.arc Location: /usenet/comp.archives DIRECTORY drwxr-xr-x 512 May 3 1991 xlispref Host sun0.urz.uni-heidelberg.de Location: /pub/msdos/simtel/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc Host swdsrv.edvz.univie.ac.at Location: /pc/dos/xlisp FILE -rw-r--r-- 200487 Feb 4 1990 xlispref.arc Location: /x11/contrib/winterp/papers FILE -rw-r--r-- 134945 Oct 30 1990 XlispRef.doc.Z Host theta.iis.u-tokyo.ac.jp Location: /contrib/winterp/papers FILE -rw-r--r-- 134945 Oct 31 1990 XlispRef.doc.Z Host toklab.ics.osaka-u.ac.jp Location: /UUNET/tape2/X/contrib/winterp FILE -rw-r--r-- 134945 Jun 8 1990 XlispRef.txt.Z Location: /X/X.V11R5/contrib/Motif/clients/winterp/doc FILE -r--r--r-- 414134 Oct 6 1991 XlispRef.doc Location: /X/contrib/EXPO/winterp/papers FILE -rw-rw-r-- 134945 Jan 20 00:00 XlispRef.doc.Z Host walhalla.germany.eu.net Location: /pub/X11/contrib/winterp/papers FILE -rw-r--r-- 134945 Oct 30 1990 XlispRef.doc.Z Host world.std.com Location: /src/Simtel20/msdos/xlisp FILE -r-xr-xr-x 200487 Feb 4 1990 xlispref.arc Host wuarchive.wustl.edu Location: /mirrors/msdos/xlisp FILE -rw-rw-r-- 200487 Feb 4 1990 xlispref.arc --- Jan Jan de Leeuw; Dept Math UCLA; phone (213)-825-9550; fax (213)-206-6673 mail: 405 Hilgard Ave, Los Angeles, CA 90024-1555 UUCP:...!{rutgers,ucbvax,sdcrdcf,{hao!cepu}}!ucla-cs!math.ucla.edu!deleeuw INTERNET: deleeuw@laplace.sscnet.ucla.edu BITNET: deleeuw@uclasscf From owner-SL-news Thu Aug 13 12:23:17 1992 Resent-Date: Thu, 13 Aug 92 16:23:17 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199208132135.AA02559@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Aug 1992 16:35:16 -0500 Received: from fredrik.oit.itd.umich.edu by umnstat.stat.umn.edu; Thu, 13 Aug 1992 16:35:13 -0500 Received: by fredrik.oit.itd.umich.edu (NX5.67a/NX3.0M) id AA05013; Thu, 13 Aug 92 16:23:17 -0400 Date: Thu, 13 Aug 92 16:23:17 -0400 From: Gregor Purdy Message-Id: <9208132023.AA05013@fredrik.oit.itd.umich.edu> Received: by NeXT Mailer (1.82) To: stat-lisp-news@umnstat Subject: REMOVE ME Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Gregor Purdy Friends-- I tried to send this to stat-lisp-request, but it bounced so: Please remove me from the list. Thanks! --Gregor From owner-SL-news Fri Aug 21 15:34:42 1992 Resent-Date: Fri, 21 Aug 92 13:34:42 +0200 Resent-From: owner-SL-news Resent-Message-Id: <199208211135.AA16702@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 21 Aug 1992 06:35:11 -0500 Received: from ns3.hq.eso.org by umnstat.stat.umn.edu; Fri, 21 Aug 1992 06:35:06 -0500 Message-Id: <9208211134.AA15001@ns3.hq.eso.org> Received: from localhost.hq.eso.org by ns3.hq.eso.org (4.1/ eso-1.1) id AA15001; Fri, 21 Aug 92 13:34:43 +0200 To: stat-lisp-news@umnstat Subject: linking the C code Date: Fri, 21 Aug 92 13:34:42 +0200 From: hmadorf@eso.org Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: hmadorf@eso.org Hi, a few days ago I tried to install the Common Lisp version of LISP-STAT on my Mac under MCL 2.0f. I am in need of the C code object files/library which I cannot produce on my own since I have no MPW. Is there anyone out there who could provide me with a StuffIt archive containing the library of compiled C-code (it's called clib.a, I believe)? Thanks a lot. Hans-Martin Adorf ST-ECF/ESO Garching, FRG From owner-SL-news Fri Sep 11 23:47:54 1992 Resent-Date: Sat, 12 Sep 92 06:47:54 PDT Resent-From: owner-SL-news Resent-Message-Id: <199209121347.AA03024@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 12 Sep 1992 08:47:59 -0500 Received: from enet-gw.pa.dec.com by umnstat.stat.umn.edu; Sat, 12 Sep 1992 08:47:56 -0500 Received: by enet-gw.pa.dec.com; id AA07649; Sat, 12 Sep 92 06:46:20 -0700 Message-Id: <9209121346.AA07649@enet-gw.pa.dec.com> Received: from bigq.enet; by decwrl.enet; Sat, 12 Sep 92 06:47:54 PDT Date: Sat, 12 Sep 92 06:47:54 PDT From: Just DoE it To: lisp-stat-news@umnstat Apparently-To: lisp-stat-news@umnstat Subject: XLISP & TIME SERIES Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Just DoE it Hi!! I was wondering if there are any macros available for the MAC version of XLISP-STAT to do time series analysis. If so, how can I get a copy? Thanks, Jose G. Ramirez From rlenth@stat.uiowa.edu Thu Sep 17 06:38:43 1992 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Thu, 17 Sep 1992 11:39:41 -0500 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/920408) on Thu, 17 Sep 92 11:39:38 -0500 id AA20727 with SMTP Received: from nuthatch.stat.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA19432; Thu, 17 Sep 92 11:38:43 CDT Date: Thu, 17 Sep 92 11:38:43 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9209171638.AA19432@ stat.uiowa.edu> To: SL-news-list@umnstat Subject: dynamic loading on HP 9000? Does anybody know what to put in foreign.h for an HP9000 unix workstation, so that dynamic loading in XLISP-STAT is possible? ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | I O W A \_ and Actuarial Science Tel: (319)335-0814 \ \ The University of Iowa FAX: (319)335-3017 \ * _/ Iowa City, IA 52242 USA CW: *= * ====== *=* | Iowa City / ------------------------------------------------ ----------v "Everything happens for a reason, but that doesn't mean that there's a point." --- Sue Grafton From rlenth@stat.uiowa.edu Fri Sep 18 06:30:00 1992 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Fri, 18 Sep 1992 11:30:58 -0500 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/920408) on Fri, 18 Sep 92 11:30:55 -0500 id AA11395 with SMTP Received: from nuthatch.stat.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA20563; Fri, 18 Sep 92 11:30:00 CDT Date: Fri, 18 Sep 92 11:30:00 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9209181630.AA20563@ stat.uiowa.edu> To: SL-news-list@umnstat Subject: Re: dynamic loading on HP 705 (not 9000) What I REALLY wanted to know about yesterday was the [[HP 705]] workstation, not the HP 9000 (is there such a thing?) I don't even know what we have here... Anyway, here's my (revised) question again: Does anybody know what to put in foreign.h for an HP 705 unix workstation, so that dynamic loading in XLISP-STAT is possible? ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | I O W A \_ and Actuarial Science Tel: (319)335-0814 \ \ The University of Iowa FAX: (319)335-3017 \ * _/ Iowa City, IA 52242 USA CW: *= * ====== *=* | Iowa City / ------------------------------------------------ ----------v "Everything happens for a reason, but that doesn't mean that there's a point." --- Sue Grafton From mayer@hplnpm.hpl.hp.com Fri Sep 18 09:20:04 1992 Received: from hplms2.hpl.hp.com by umnstat.stat.umn.edu; Fri, 18 Sep 1992 18:20:43 -0500 Received: from hplnpm.hpl.hp.com by hplms2.hpl.hp.com with SMTP (16.5/15.5+IOS 3.20) id AA25822; Fri, 18 Sep 92 16:20:40 -0700 Received: from localhost by hplnpm.hpl.hp.com with SMTP (15.11.1.3/15.5+IOS 3.14) id AA21916; Fri, 18 Sep 92 16:20:05 pdt To: SL-news-list@umnstat Subject: Re: dynamic loading on HP 705 (not 9000) Organization: Hewlett-Packard Labs, Media Technology Lab, Palo Alto, CA. X-Mailer: mh6.7 Date: Fri, 18 Sep 92 16:20:04 -0700 Message-Id: <21914.716858404@hplnpm.hpl.hp.com> From: "Niels P. Mayer" First, let me say that I'm not speaking for HP, officially or unoficially. Second, the best place to ask questions about such unix/hpux arcana would be the usenet newsgroup comp.sys.hp.... > What I REALLY wanted to know about yesterday was the [[HP 705]] workstation, > not the HP 9000 (is there such a thing?) I don't even know what we have > here... Anyway, here's my (revised) question again: The "705" is an HP9000. Here's what all those number mean: HP9000, series 3xx -- Motorola 68040 modular personal workstations. (HPUX OS) HP9000, series 4xx -- Motorola 68040 desktop workstations. (HPUX or Apollo Domain OS) HP9000, series 6xx -- PA RISC 1.1 servers. (HPUX OS) HP9000, series 7xx -- PA-RISC 1.0 and 1.1 personal workstations. (HPUX OS) HP9000, series 8xx -- PA-RISC 1.0 and 1.1 multiuser minicomputers. (HPUX OS) > Does anybody know what to put in foreign.h for an HP 705 unix workstation, > so that dynamic loading in XLISP-STAT is possible? I don't know much about xlisp-stat; however, if foreign.h is a header for, (say) Sun's dynamic loader, "putting" something in foreign.h won't help you at all.... As far as I know, there are no current standards for dynamic loading, or if there are any, neither HP nor Sun are following them.... If anyone implements dynamic loading for XLISP that is portable across HP, Sun, DEC, IBM, SGI, etc. platforms, let me know -- I'm interested in introducing such functionality into my WINTERP package (XLISP based OSF/Motif application development environment). I know there's a gnu dynamic loader package, but (1) I'm not sure if it's portable; (2) I can't make use of any copylefted software. The following manual pages may give some hints on implementing programmatic dynamic loading on HPUX 8.0. ------------------------------------------------------------------------------ dld.sl(5) dld.sl(5) NAME dld.sl - dynamic loader DESCRIPTION The /lib/dld.sl program is the dynamic loader. It is invoked automatically at startup time by /lib/crt0.o in programs that use shared libraries. The dynamic loader is, itself, a shared library, although it defines no symbols for use by user programs. Shared Libraries Shared libraries are executable files created with the -b option to ld(1). They contain position-independent code (PIC) that can be mapped anywhere in the address space of a process and executed with a minimum of relocation. PIC can use PC-relative addressing modes and/or linkage tables. It can be generated with the +z option to the compilers. See the Programming on HP-UX manual for details on writing PIC in assembly language. Incomplete Executables When creating an executable (a.out) file from object files and libraries, the linker does not copy text from the shared library into the output file. Instead, the dynamic loader maps the library into the address space of the process at run time. The linker binds all program references to shared library routines to entries in a linkage table, and relies on the dynamic loader to fill in the linkage table entries once the libraries have been mapped. This linkage table serves as a jump table. Shared-library data items referenced by the program are copied into the program executable file so that the data references can be resolved statically. The resultant program is called an incomplete executable. Loading At run time, the dynamic loader attaches to the process all shared libraries that were linked with the program. The text segment of a library is shared among all processes that use it. The data and bss segments are shared on a page-by-page basis. When a process writes to a data or bss page, a modified copy of that page is made for the process. Binding The dynamic loader also resolves symbolic references between the executable and libraries. By default, function calls are trapped via the linkage table and bound on first reference. References to variables and other absolute address references cannot be trapped. They are bound on the first resolution of a function call that could Hewlett-Packard Company - 1 - HP-UX Release 8.0: January 1991 dld.sl(5) dld.sl(5) potentially reference the object. If the -B immediate option to ld(1) is used, the loader will bind all necessary references at startup time. This dramatically increases the startup cost of a program, but ensures that no more binding operations will be required later. Thus, better real time response may result, and the risk of a later abort due to unresolved externals is eliminated. Version Control Since code from a shared library is mapped at run time from a separate shared library file, modifications to a shared library may alter the behavior of existing executables. In some cases, this may cause programs to operate incorrectly. A means of version control is provided to solve this problem. Whenever an incompatible change is made to a library interface, both versions of the affected module or modules are included in the library. A mark indicating the date (month/year) the change was made is recorded in the new module via the pragma HP_SHLIB_VERSION in C, or the compiler directive SHLIB_VERSION in Fortran and Pascal. This date applies to all symbols defined within the module. A high water mark giving the date of the latest incompatible change is recorded in the shared library, and the high water mark for each library linked with the program is recorded in the incomplete executable file. At run time, the dynamic loader checks the high water mark of each library and loads the library only if it is at least as new as the high water mark recorded at link time. When binding symbolic references, the loader will choose the latest version of a symbol that is not later than the high water mark recorded at link time. These two checks help ensure that the version of each library interface used at run time is the same as was expected at link time. Explicit Loading And Binding The duties of the dynamic loader as described above are all performed automatically, although they can be controlled somewhat by appropriate options to ld(1). The dynamic loader can also be accessed programmatically. The reserved variable __dld_loc, which is defined in /lib/crt0.o, points to a jump table within the dynamic loader. The routines described under shl_load(3X) provide a portable interface that allows the programmer to explicitly attach a shared library to the process at run time, to calculate the addresses of symbols defined within shared libraries, and to detach the library when done. Hewlett-Packard Company - 2 - HP-UX Release 8.0: January 1991 dld.sl(5) dld.sl(5) DIAGNOSTICS If the dynamic loader is not present, or cannot be invoked by the process for any reason, an error message is printed to stderr, and the process terminates with a non-zero exit code. Normally, the operation of the dynamic loader is visible only when there is a fatal error of some kind. In these cases, an error message is printed to stderr, and a SIGABRT signal is sent to the process. These errors fall into two basic categories: errors in attaching a shared library, and errors in binding symbols. The former can occur only at process startup time but the latter can occur at any time during process execution unless the -B immediate option is used with ld(1). Possible errors that can occur while attaching a shared library include library not present, library not executable, library corrupt, high water mark too low, or insufficient room in the address space for the library. Possible errors that can occur while binding symbols include symbol not found (unresolved external), or library corrupt. When using the explicit load facilities of the dynamic loader, these types of errors are not considered fatal. Consult shl_load(3X) for information on error handling. WARNINGS The startup cost of the dynamic loader is significant, even with deferred binding, and can cause severe performance degradation in processes dominated by startup costs (such as simple ``hello world'' programs). In addition, position-independent code is usually slower than normal code, so performance of a program may be adversely affected by the presence of PIC in shared libraries. However, the advantages of decreased disk space usage and decreased memory requirements for executables should outweigh these concerns in most cases. There are rare cases where the behavior of a program differs when using shared libraries as opposed to archive libraries. This happens primarily when relying on undocumented and unsupported features of the compilers, assembler, and linker. See the Programming on HP-UX manual for more details. The library developer is entirely responsible for version control and must be thorough in identifying incompatible changes to library interfaces. Otherwise, programs may malfunction unexpectedly with later versions of the library. There is little an application user can do if version control is not handled properly by the library Hewlett-Packard Company - 3 - HP-UX Release 8.0: January 1991 dld.sl(5) dld.sl(5) developer. The application developer can usually resolve problems by modifying the source code to use the new interfaces then recompiling and relinking against the new libraries. DEPENDENCIES Series 300/400 The Series 300/400 Pascal compiler does not generate PIC, so true shared libraries cannot be created from Pascal source. Dynamic load libraries that are not completely shared can be created from modules that do not contain position-independent code, as long as the +s option to the assembler is used. No such option is required from Pascal. The resultant library text segment contains absolute addresses that must be relocated at run time. This causes each text page with code that is not position independent to be modified at run time for each process, which effectively defeats sharing. The text segments of such libraries cannot be made read only. Series 700/800 Copy-on-write of shared library data and bss pages is not supported; a separate copy of a page is made for each process that references (that is, either writes or reads) it. The Series 700/800 dynamic loader is conservative about deciding when data references should be bound. All such references within a shared library are bound the first time any routine within the library is called. AUTHOR The /lib/dld.sl program was developed by HP. SEE ALSO as_300(1), as_800(1), cc(1), f77(1), ld(1), pc(1), crt0(3), shl_load(3X), a.out_300(4), a.out_800(4). Programming on HP-UX manual. Hewlett-Packard Company - 4 - HP-UX Release 8.0: January 1991 ------------------------------------------------------------------------------ shl_load(3X) shl_load(3X) NAME shl_load, shl_findsym, shl_unload, shl_get - explicit load of shared libraries SYNOPSIS #include shl_t shl_load(const char *path, int flags, long address); int shl_findsym( shl_t *handle, const char *sym, short type, long *value ); int shl_unload(shl_t handle); int shl_get(int index, struct shl_descriptor *desc); DESCRIPTION These routines can be used to programmatically load and unload shared libraries, and to obtain information about the libraries (such as the addresses of symbols defined within them). The routines themselves are accessed by specifying -ldld on the cc(1) or ld(1) command line. In addition, the -E option to ld(1) can be used to ensure that all symbols defined in the program are available to the loaded libraries. Shared libraries are created by compiling source files with the +z (position-independent code) option, and linking the resultant object files with the -b (create shared library) option. shl_load attaches the shared library named by path to the process. The library is mapped at the specified address. If address is 0L, the system chooses an appropriate address for the library. This is the recommended practice because the system has the most complete knowledge of the address space (see DEPENDENCIES). The flags argument should be one of the constants BIND_IMMEDIATE or BIND_DEFERRED to specify the preferred binding time for entry points in the library. If successful, shl_load returns a handle which can be used in subsequent calls to shl_findsym or shl_unload; otherwise NULL is returned. Hewlett-Packard Company - 1 - HP-UX Release 8.0: January 1991 shl_load(3X) shl_load(3X) shl_findsym obtains the address of an exported symbol sym from a shared library. The handle argument should be a pointer to the handle of a loaded shared library that was returned from a previous call to shl_load or shl_get. If a pointer to NULL is passed for this argument, shl_findsym searches all currently loaded shared libraries to find the symbol, and returns the handle of the library where the symbol was found in the variable pointed to by handle; otherwise, shl_findsym searches only the specified shared library. The special handle PROG_HANDLE can be used to refer to the program itself, so that symbols exported from the program can also be accessed dynamically. The type argument specifies the expected type for the symbol, and should be one of the defined constants TYPE_PROCEDURE, TYPE_DATA, or TYPE_UNDEFINED. The latter value suppresses type checking. The address of the symbol is returned in the variable pointed to by value. If a shared library contains multiple versions of the requested symbol, the latest version is returned. This routine returns 0 if successful; otherwise -1 is returned. shl_unload can be used to detach a shared library from the process. The handle argument should be the handle returned from a previous call to shl_load. shl_unload returns 0 if successful; otherwise -1 is returned. All explicitly loaded libraries are detached automatically on process termination. shl_get returns information about currently loaded libraries, including those loaded implicitly at startup time. The index argument is the ordinal number of the shared library in the process. For libraries that were loaded implicitly at startup time, the index is the ordinal number of the library as it appeared on the linker command line. For libraries that were loaded explicitly via shl_load, the index values are assigned consecutively, beginning immediately above the last implicitly loaded library. A subsequent call to shl_unload decrements the index values of all libraries having an index greater than the unloaded library. The index value 0 refers to the executable program, and -1 refers to the dynamic loader. The desc argument is used to return a pointer to a statically allocated buffer containing a descriptor for the shared library. The format of the descriptor is implementation dependent; to examine its format, look at the contents of Hewlett-Packard Company - 2 - HP-UX Release 8.0: January 1991 shl_load(3X) shl_load(3X) file /usr/include/dl.h. Information common to all implementations includes the library handle, pathname, and the range of addresses the library occupies. The buffer for the descriptor used by shl_get is static; the contents should be copied elsewhere before a subsequent call to the routine. The routine returns 0 normally, or -1 if an invalid index is given. DIAGNOSTICS If a library cannot be loaded, shl_load returns NULL and sets errno. The other functions all return -1 on error, and also set errno. ERRORS Possible values for errno include: [ENOEXEC] The specified file is not a shared library, or a format error was detected. [ENOSYM] Some symbol required by the shared library could not be found. [EINVAL] The specified handle or index is not valid or an attempt was made to load a library at an invalid address. [ENOMEM] There is insufficient room in the address space to load the library. [ENOENT] The specified library does not exist. [EACCES] Read or execute permission is denied for the specified library. WARNINGS If a call to shl_load with BIND_IMMEDIATE or a call to shl_findsym fails with ENOSYM, the process may be left in an inconsistent state. Some symbol resolutions may have occurred before the failure, and these may be invalid. shl_unload detaches the library from the process and frees the memory allocated for it, but does not break existing symbolic linkages into the library. In this respect, an unloaded shared library is much like a block of memory deallocated via free(3C). Hewlett-Packard Company - 3 - HP-UX Release 8.0: January 1991 shl_load(3X) shl_load(3X) Some implementations may not, by default, export all symbols defined by a program (instead exporting only those symbols that are imported by a shared library seen at link time). Therefore the -E option to ld(1) should be used when using these routines if the loaded libraries are to refer to program symbols. DEPENDENCIES Series 700/800: The only value for the address field is 0L. Any other value is treated as if it had been specified as 0L. AUTHOR shl_load(3X) and related functions were developed by HP. SEE ALSO ld(1), dld.sl(5). Hewlett-Packard Company - 4 - HP-UX Release 8.0: January 1991 ------------------------------------------------------------------------------ ------------------------------------------------------------------------------- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com Collaborative Multimedia Project Hewlett-Packard Laboratories Palo Alto, CA. * From luke Sat Sep 19 03:40:56 1992 Resent-Date: Sat, 19 Sep 92 8:40:56 CDT Resent-Message-Id: <199209191342.AA27101@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 19 Sep 1992 08:42:23 -0500 From: "Luke Tierney" Message-Id: <199209191340.AA27085@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 19 Sep 1992 08:40:58 -0500 Subject: Re: dynamic loading on HP 705 (not 9000) To: mayer@hplnpm.hpl.hp.com (Niels P. Mayer), stat-lisp-news@umnstat Date: Sat, 19 Sep 92 8:40:56 CDT In-Reply-To: <21914.716858404@hplnpm.hpl.hp.com>; from "Niels P. Mayer" at Sep 18, 92 4:20 pm X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" I have not added dynamic loading for the HP risk series since I don't have acces to one and can't do the necessary testing. I don't think it should be too hard, since ld on these machines seems to support the -A option and the a.out file format seems fairly reasonable. It should only be necessary to write an appropriate foreign.h file that defines appropriate macros to read in an a.out file and find its symbols. A little more background (my terminology probably isn't quite right, but this is the general idea): Dynamic loading requires two steps: resolving undefined references in the code you are loading by either references into the running executable or by linking in library modules reading in the code and recording the names and locations of the entry points of the routines in the loaded code. xlispstat's UNIX dynamic loading is based on the approach used by dyn.load2 for S and by akcl for some architectures. It assumes that ld understands the -A flag; this means that ld takes care of the first step. This flag is supported on most bsd-derived systems. The second step is carried out by the code in xsdynload.c. There are two flavors, one for bsd-style a.out formats and one for COFF. within these two there are still minor variations that are usually described in the a.out man age or the a.out.h header file. Ideally it should be possible to take care of these minor differences by redefining macros in foreign.h, but it may also be necessary to make changes to xsdynload.c. Based on the fasl code in akcl, it looks to me as if HP's OS for their RISC machines does have an ld that understands -A, and that the a.out format is bsd-like. The code in akcl should help if someone who has one of these boxes wants to work on this. kcl does have a slightly easier job since it doesn't have to dig out the symbols. luke From owner-SL-news Sat Sep 19 08:20:36 1992 Resent-Date: Sat, 19 Sep 1992 12:20:36 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199209191625.AA03309@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 19 Sep 1992 11:25:35 -0500 Received: from PO2.ANDREW.CMU.EDU by umnstat.stat.umn.edu; Sat, 19 Sep 1992 11:21:50 -0500 Received: by po2.andrew.cmu.edu (5.54/3.15) id for stat-lisp-news@umnstat.stat.umn.edu; Sat, 19 Sep 92 12:21:41 EDT Received: via switchmail; Sat, 19 Sep 1992 12:21:37 -0400 (EDT) Received: from pcs5.andrew.cmu.edu via qmail ID ; Sat, 19 Sep 1992 12:20:41 -0400 (EDT) Received: from pcs5.andrew.cmu.edu via qmail ID ; Sat, 19 Sep 1992 12:20:39 -0400 (EDT) Received: from mms.0.1.873.MacMail.0.9.CUILIB.3.45.SNAP.NOT.LINKED.pcs5.andrew.cmu.edu.pmax.ul4 via MS.5.6.pcs5.andrew.cmu.edu.pmax_ul4; Sat, 19 Sep 1992 12:20:36 -0400 (EDT) Message-Id: Date: Sat, 19 Sep 1992 12:20:36 -0400 (EDT) From: Lael Schooler To: stat-lisp-news@umnstat Subject: How do I get LISP Stat Cc: In-Reply-To: <9209171638.AA19432@ stat.uiowa.edu> References: <9209171638.AA19432@ stat.uiowa.edu> Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Lael Schooler Is LISP-Stat public domain software? If so could someone tell me how to get it? thanks, Lael Schooler ls2o@andrew.cmu.edu From owner-SL-news Sun Sep 27 08:12:18 1992 Resent-Date: Sun, 27 Sep 92 13:12:18 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199209271812.AA20815@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 27 Sep 1992 13:12:22 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Sun, 27 Sep 1992 13:12:20 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA21383; Sun, 27 Sep 92 13:12:19 -0500 Message-Id: <9209271812.AA21383@sci234e.mrs.umn.edu> To: stat-lisp-news@umnstat Subject: A question regarding dynamic loading. Date: Sun, 27 Sep 92 13:12:18 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" An object-prototype has its own data and methods and for a particular method, which we shall call recompute, it calls a C function. The method recompute is called quite frequently and everytime it is called, a large number of parameters have to be passed. I wish to avoid this. The parameters that are passed are constant for any one instance of the object. And yes, the recompute method is unacceptably slow in Xlisp. One option seems to be "call-lfun" but as Tierney's book indicates, there is very little documentation for it. I can certainly think of a few programming tricks to do this, but I have portability in mind. Which means that calloc'ing some area and playing with the pointers is probably not the solution. I would be interested in some suggestions and advice as to where to look for documentation. Meanwhile, I am looking at the source of Xlisp-Stat. Thanks in advance. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From statsci!almond@uunet.UU.NET Mon Sep 28 06:01:49 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 28 Sep 1992 15:50:09 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA27910; Mon, 28 Sep 92 16:49:58 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 164704.22964; Mon, 28 Sep 1992 16:47:04 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.26) id AA14876; Mon, 28 Sep 92 12:59:46 PDT Received: by bass.statsci.com (4.1/SMI-4.1) id AA19449; Mon, 28 Sep 92 13:01:49 PDT Date: Mon, 28 Sep 92 13:01:49 PDT From: statsci!almond@uunet.UU.NET (Russell G. Almond) Message-Id: <9209282001.AA19449@bass.statsci.com> To: naras@sci234e.mrs.umn.edu Cc: SL-news-list@umnstat In-Reply-To: "B. Narasimhan"'s message of Sun, 27 Sep 92 13:12:18 -0500 <199209271812.AA20815@umnstat.stat.umn.edu> Subject: A question regarding dynamic loading. In the random number generators I wrote for BELIEF (in Common Lisp, not Xlisp, avialable through ftp.stat.washington.edu). I use a table of calloced caches. I was using some fast rng routines I found in Applied Statistics, and they all precomputed a number of constants once and used them a number of times in the rn generation. On the C side I maintained a global table of these caches. The setup routine would pass an integer index into this table back to the Lisp side. Then when I wanted to call a random number, I would pass the index back to the C side which would return a real number. This results in a relatively clean interface between the C and Lisp, passing only a limited number of reals and integers, no pointers! This has proved to be easily ported accross an number of different Common Lisps (calling C code is a common extension, but not necessarily portable). The source code is available with the BELIEF distribution, you may want to look at it. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From naras@sci234e.mrs.umn.edu Wed Sep 30 03:26:04 1992 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Wed, 30 Sep 1992 08:26:07 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA25823; Wed, 30 Sep 92 08:26:05 -0500 Message-Id: <9209301326.AA25823@sci234e.mrs.umn.edu> To: statsci!almond@uunet.uu.net (Russell G. Almond) Cc: SL-news-list@umnstat Subject: Re: A question regarding dynamic loading. In-Reply-To: Your message of "Mon, 28 Sep 92 13:01:49 PDT." <9209282001.AA19449@bass.statsci.com> Date: Wed, 30 Sep 92 08:26:04 -0500 From: "B. Narasimhan" Thanks for your response. The technique that you have mentioned is something I considered but found too unwieldy. The crucial problem is that the code I have written may create make multiple instances of the object-prototype. Inorder that the C program deal with the data corresponding to the particular instance of the object, I would have to determine which object it came from and do all the processing. This is not impossible (an index passed by the method will do) but it is inelegant especially when quite a few instances of the object-prototype are floating around. I wasn't too clear about this in my post. I have now understood the data structures used in Xlisp and I have found a way to directly access the data structures. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From naras@sci234e.mrs.umn.edu Wed Sep 30 03:36:10 1992 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Wed, 30 Sep 1992 08:36:12 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA25871; Wed, 30 Sep 92 08:36:11 -0500 Message-Id: <9209301336.AA25871@sci234e.mrs.umn.edu> To: statsci!almond@uunet.uu.net (Russell G. Almond) Cc: SL-news-list@umnstat Subject: SUMMARY (was: A question regarding dynamic loading.) In-Reply-To: Your message of "Mon, 28 Sep 92 13:01:49 PDT." <9209282001.AA19449@bass.statsci.com> Date: Wed, 30 Sep 92 08:36:10 -0500 From: "B. Narasimhan" I got quite a few responses regarding my question, all quite useful. Here is a concatenated file of all the responses. Thanks all. From: Patrick McAllister The following should work: (1) split up the work into two functions: one that gets the data and one that does the computation; (2) store all needed data on the LISP heap, with pointers in the C code (type LVAL) declared static but global to the module containing the two functions; (3) now, when the object is initialized (receives the :new message), call the data function with all the data values; the function just copies the pointers and protects them from gc; (4) finally, in the compute method you can simply refer to the data through the pointers. Have fun! Pat ----- From: luke@umnstat.stat.umn.edu Here is an annotated example of a function you can use with call-lfun. Keep in mind that this is highly dependent on the current implementation, which may (or may not) change in the near future. luke --------------------------------(calltest.c)----------------------------------- #include "xlisp.h" /* put the source on the include path to get this */ LVAL myfun() /* no arguments - pick them up with the stack reading macros */ { LVAL args, f, x, y, result; double val; f = xlgetarg(); /* no argument checking */ x = xlgaflonum(); /* checks type; signals error if it is not right */ y = xlgafixnum(); /* again checks arguments */ xllastarg(); /* This signals an error if there are more */ /* arguments. The macro call moreargs() tests */ /* for more arguments and can be used to make */ /* a function with optional arguments. */ xlsave1(args); /* protect from garbage collect - MUST be mathed */ /* by a pop at the end or the stack gets */ /* confused and you bomb. */ /* build up the arguments list - do this once for multiple calls */ /* and use rplaca to fill it with new arguments */ args = consa(y); /* same as cons(y, NIL); */ args = cons(x, args); /* apply the function */ result = xlapply(pushargs(f, args)); /* check and examine result */ if (! fixp(result) && ! floatp(result)) xlfail("bad result type"); val = (floatp(result)) ? getflonum(result) : getflonum(result); /* pop the saved entry -- I forgot this in the previous version!! */ xlpop(); /* repackage and return the result as a FLONUM */ return(cvflonum((FLOTYPE) val)); } ------ Subject: A question regarding dynamic loading. In the random number generators I wrote for BELIEF (in Common Lisp, not Xlisp, avialable through ftp.stat.washington.edu). I use a table of calloced caches. I was using some fast rng routines I found in Applied Statistics, and they all precomputed a number of constants once and used them a number of times in the rn generation. On the C side I maintained a global table of these caches. The setup routine would pass an integer index into this table back to the Lisp side. Then when I wanted to call a random number, I would pass the index back to the C side which would return a real number. This results in a relatively clean interface between the C and Lisp, passing only a limited number of reals and integers, no pointers! This has proved to be easily ported accross an number of different Common Lisps (calling C code is a common extension, but not necessarily portable). The source code is available with the BELIEF distribution, you may want to look at it. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu ----- From: mmeehan@eesof.com (Mike Meehan) Message-Id: <9209282134.AA01934@sauron> To: naras@sci234e.mrs.umn.edu Subject: Re: A question regarding dynamic loading. Dear Narasimhan, I think the solution to your problem may require more explanation of what your trying to do...I've found that if you wanna go fast in Xlisp-Stat, you will need to study/modify the xlstat code rather than using the c interface... One solution to your problem might be to provide your own module with your own special purpose kernel functions so that you can access the elements of the object from within those functions (see the attachment below for instruction on how to add functions). I found that for fast vector processing, I had to modify the xlstat code directly...Once you get into the code you will realize that you have access to the best of both worlds - lisp and c, because you can call lisp-like c functions to process the stack and data etc...I do wish it were a bit easier to specify and implement new basic data types though. The down side to the "modify the code approach" is that when new versions come out, you need to reimplement your changes...Or make the changes specific to the xlstat upgrade...Just keep accurate change log... Hope this helps and good luck. ttfn, MM ----------------------------------------------------------------------------------- Forwarded: Fri, 16 Nov 90 16:08:00 PST Forwarded: winterp@hplnpm.hpl.hp.com Path: hplabsz!hplabs!ucbvax!bloom-beacon!mintaka!ogicse!milton!milton.u.washington.edu!jsp From: jsp@glia.u.washington.edu (Jeff Prothero) Newsgroups: comp.lang.lisp.x Subject: xlisp 2.1/winterp internals (26K long) Message-ID: Date: 15 Nov 90 22:56:23 GMT Sender: news@milton.u.washington.edu Distribution: comp Organization: Biological Structure, U of Wash, Seattle Lines: 689 I've just finished reading the xlisp 2.1 source code for the first time. The tutorial and reference material included with the winterp distribution are well done, but I would have liked an overview of the interpreter internals. Here's a first cut at such a document. Comments welcome... ---------------------------cut here------------------------------- 90Nov13 jsp@milton.u.washington.edu Public Domain. +---------------------+ | xlisp 2.1 internals | +---------------------+ Who should read this? --------------------- Anyone poking through the C implementation of xlisp for the first time. This is intended to provide a rough roadmap of the global xlisp structures and algorithms. If you just want to write lisp code in xlisp, you don't need to read this file -- go read xlisp.doc, XlispOOP.doc, and XlispRef.doc, in about that order. If you want to tinker with the xlisp implementation code, you should *still* read those three before reading this. The following isn't intended to be exhaustively precise -- that's what the source code is for! It is intended only to give you sufficient orientation give you a fighting chance to understand the code the first time through, instead of the third time. At the bottom of the file you'll find an example of how to add new primitive functions to xlisp. What is an LVAL? ---------------- An "LVAL" is the C type for a generic pointer to an xlisp garbage-collectable something. (Cons cell, object, string, closure, symbol, vector, whatever.) Virtually every variable in the interpreter is an LVAL. Cons cells contain two LVAL slots, symbols contains four LVAL slots, etc. What is the obarry? ------------------ The obarray is the xlisp symbol table. More precisely, it is is a hashtable mapping ascii strings (symbol names) to symbols. ("obarray" is a misnomer, since it contains only xlisp SYMBOLs, and in particular contains no xlisp OBJECTs.) It is used when converting lisp expressions from text to internal form. Since it is a root for the garbage collector, it also serves to distinguish permanent global-variable symbols from other symbols -- you can permanently protect a symbol from the garbage collector by entering it into the obarray. This is called "interning" the symbol. The obarray is called "obarray" in C and "*OBARRAY*" in xlisp. The Interpreter Stacks ---------------------- xlisp uses two stacks, an "evaluation stack" and an "argument stack". Both are roots for the garbage collector. The evaluation stack is largely private to the interpreter and protects internal values from garbage collection, while the argument stack holds the conventional user-visible stackframes. The evaluation stack is an EDEPTH-long array of "LVAL" allocated by xldmem.c:xlminit(). It grows zeroward. xlstkbase points to the zero-near end of the evaluation stack. xlstktop points to the zero-far end of the evaluation stack: the occupied part of the stack lies between xlstack and xlstktop. NOTE that xlstktop is *NOT* the top of the stack in the conventional sense of indicating the most recent entry on the stack: xlstktop is a static bounds pointer which never changes once the stack is allocated. xlstack starts at the zero-far end of the evaluation stack. *xlstack is the most recent LVAL on the stack. The garbage collector MARKs everything reachable from the evaluation stack (among other things), so we frequently push things on this stack while C code is manipulating them. (Via xlsave(), xlprotect(), xlsave1(), xlprot1().) The argument stack is an ADEPTH-long array of "LVAL". It also grows zeroward. The evaluator pushes arguments on the argument stack at the start of a function call (form evaluation). Built-in functions usually eat them directly off the stack. For user-lisp functions xleval.c:evfun() pops them off the stack and binds them to the appropriate symbols before beginning execution of the function body proper. xlargstkbase is the zero-near end of argument stack. xlargstktop is the zero-far end of argument stack. Like xlstktop, xlargstktop is a static bounds pointer which never changes after the stack is allocated. *xlsp ("sp"=="stack pointer") is the most recent item on the argument stack. xlfp ("fp"=="frame pointer") is the base of the current stackframe. What is a context? ------------------ An xlisp "context" is something like a checkpoint, recording a particular point buried in the execution history so that we can abort/return back to it. Contexts are used to implement call/return, catch/throw, signals, gotos, and breaks. xlcontext points to the chain of active contexts, the top one being the second-newest active context. (The newest -- that is, current -- active context is implemented by the variables xlstack xlenv xlfenv xldenv xlcontext xlargv xlargc xlfp xlsp.) Context records are written by xljump.c:xlbegin() and read by xljump.c:xljump(). Context records are C structures on the C program stack; They are not in the dynamic memory pool or on the lisp execution or argument stacks. What is an environment? ----------------------- An environment is basically a store of symbol-value pairs, used to resolve variable references by the lisp program. xlisp maintains three environments, in the global variables xlenv, xlfenv and xldenv. xlenv and xlfenf are conceptually a single environment, although they are implemented separately. They are linked-list stacks which are pushed when we enter a function and popped when we exit it. We also switch xlenv+xlfenf environments entirely when we begin executing a new closure (user-fn written in lisp). The xlenv environment is the most heavily used environment. It is used to resolve everyday data references to local variables. It consists of a list of frames (and objects). Each frame is a list of sym-val pairs. In the case of an object, we check all the instance and class variables of the object, then do the same for its superclass, until we run out of superclasses. The xlfenv environment is maintained strictly parallel to xlenv, but is used to find function values instead of variable values. The separation may be partly for lookup speed and partly for historical reasons. When we send a message, we set xlenv to the value it had when the message CLOSURE was built, then push on (obj msg-class), where msg-class is the [super]class defining the method. (We also set xlfenv to the value xlfenv had when the method was built.) This makes the object instance variables part of the environment, and saves the information needed to correctly resolve references to class variables, and to implement SEND-SUPER. The xldenv environment tracks the old values of global variables which we have changed but intend to restore later to their original values, particularly when we bind and unbind s_evalhook and s_applyhook (*EVALHOOK* and *APPLYHOOK*). (This is mostly to support the debug facilities.) It is a simple list of sym-val pairs, treated as a stack. These environments are manipulated in C via the xlisp.h macros xlframe(e), xlbind(s,v), xlfbind(s,v), xlpbind(s,v,e), xldbind(s,v), xlunbind(e). How are xlisp entities stored and identified? --------------------------------------------- Conceptually, xlisp manages memory as a single array of fixed-size objects. Keeping all objects the same size simplifies memory management enormously, since any object can be allocated anywhere, and complex compacting schemes aren't needed. Every LVAL pointer points somewhere in this array. Every xlisp object has the basic format (xldmem.h:typdef struct node) struct node { char n_type; char n_flags; LVAL car; LVAL cdr; } where n_type is one of: FREE A node on the freelist. SUBR A function implemented in C. (Needs evalutated arguments.) FSUBR A special function implemented in C. (Needs unevaluated arguments). CONS A regular lisp cons cell. SYMBOL A symbol. FIXNUM An integer. FLONUM A floating-point number. STRING A string. OBJECT Any object, including class objects. STREAM An input or output file. VECTOR A variable-size array of LVALs. CLOSURE Result of DEFUN or LAMBDA -- a function written in lisp. CHAR An ascii character. USTREAM An internal stream. STRUCT A structure. Messages may be sent only to nodes with n_type == OBJECT. Obviously, several of the above types won't fit in a fixed-size two-slot node. The escape is to have them malloc() some memory and have one of the slots point to it -- VECTOR is the archetype. For example, see xldmem.c:newvector(). To some extent, this malloc() hack simply exports the memory- fragmentation problem to the C malloc()/free() routines. However, it helps keep xlisp simple, and it has the happy side-effect of unpinning the body of the vector, so that vectors can easily be expanded and contracted. The garbage collector has special-case code for each of the above node types, so it can find all LVAL slots and recycle any malloc()ed ram when a node is garbage-collected. Xlisp pre-allocates nodes for all ascii characters, and for small integers. These nodes are never garbage-collected. As a practical matter, allocating all nodes in a single array is not very sensible. Instead, nodes are allocated as needed, in segments of one or two thousand nodes, and the segments linked by a pointer chain rooted at xldmem.c:segs. How are vectors implemented? ---------------------------- An xlisp vector is a generic array of LVAL slots. Vectors are also the canonical illustration of xlisp's escape mechanism for node types which need more than two LVAL slots (the maximum possible in the fixed-size nodes in the dynamic memory pool). The node CAR/CDR slots for a vector hold a size field plus a pointer to a malloc()ed ram chunk, which is automatically free()ed when the vector is garbage-collected. xldmem.h defines macros for reading and writing vector fields and slots: getsize(), getelement() and setelement(). It also defines macros for accessing each of the other types of xlisp nodes. How are strings implemented? ---------------------------- Strings work much like vectors: The node has a pointer to a malloc()ed ram chunk which is automatically free()ed when the string gets garbage-collected. How are symbols implemented? ---------------------------- A symbol is a generic user-visible lisp variable, with separate slots for print name, value, function, and property list. Any or all of these slots (including name) may be NIL. You create a symbol in C by calling "xlmakesym(name)" or "xlenter(name)" (to make a symbol and enter it in the obarray). You create a symbol in xlisp by using the single-quote operator: "'name", or by calling "(gensym)", or indirectly in various ways. Most of the symbol-specific code in the interpreter is in xlsym.c. Physically, a symbol is implemented like a four-slot vector. Random musing: Abstractly, the LISP symbols plus cons cells (etc) constitute a single directed graph, and the symbols mark spots where normal recursive evaluation should stop. Normal lisp programming practice is to have a symbol in every cycle in the graph, so that recursive traversal can be done without MARK bits. How are closures implemented? ----------------------------- A closure, the return value from a lambda, is a regular coded-in-lisp fn. Physically, it it implemented like an eleven-slot vector, with the node n_type field hacked to contain CLOSURE instead of VECTOR. The vector slots contain: name symbol -- 1st arg of DEFUN. NIL for LAMBDA closures. type (s_lambda or s_macro). Must be s_lambda to be executable. args List of "required" formal arguments (as symbols) oargs List of "optional" args, each like: (name (default specified-p)) rest Name of "&rest" formal arg, else NIL. kargs keyword args, each like: ((':foo 'bar default specified-p)) aargs &aux vars, each like: (('arg default)) body actual code (as lisp list) for fn. env value of xlenv when the closure was built. NIL for macros. fenv value of xlfend when the closure was built. NIL for macros. lambda The original formal args list in the DEFUN or LAMBDA. The lambda field is for printout purposes. The remaining fields store a predigested version of the formal args list. This is a limited form of compilation: by processing the args list at closure-creation time, we reduce the work needed during calls to the closure. How are objects implemented? ---------------------------- An object is implemented like a vector, with the size determined by the number of instance variables. The first slot in the vector points to the class of the object; the remaining slots hold the instance variables for the object. An object needs enough slots to hold all the instance variables defined by its class, *plus* all the instance variables defined by all of its superclasses. How are classes implemented? ---------------------------- A class is a specific kind of object, hence has a class pointer plus instance variables. All classes have the following instance variables: MESSAGES A list of (interned-symbol method-closure) pairs. IVARS Instance variable names: A list of interned symbols. CVARS Class variable names: A list of interned symbols. CVALS Class variable values: A vector of values. SUPERCLASS A pointer to the superclass. IVARCNT Number of class instance variables, as a fixnum. IVARTOTAL Total number of instance variables, as a fixnum. IVARCNT is the count of the number of instance variables defined by our class. IVARTOTAL is the total number of instance variables in an object of this class -- IVARCNT for this class plus the IVARCNTs from all of our superclasses. How is the class hierarchy laid out? ------------------------------------ The fundamental objects are the OBJECT and CLASS class objects. (Both are instances of class CLASS, and since CLASSes are a particular kind of OBJECT, both are also objects, with n_type==OBJECT. Bear with me!) OBJECT is the root of the class hierarchy: everything you can send a message to is of type OBJECT. (Vectors, chars, integers and so forth stand outside the object hierarchy -- you can't send messages to them. I'm not sure why Dave did it this way.) OBJECT defines the messages: :isnew -- Does nothing :class -- Returns contents of class-pointer slot. :show -- Prints names of obj, obj->class and instance vars. A CLASS is a specialized type of OBJECT (with instance variables like MESSAGES which generic OBJECTs lack), class CLASS hence has class OBJECT as its superclass. The CLASS object defines the messages: :new -- Create new object with self.IVARTOTAL LVAR slots, plus one for the class pointer. Point class slot to self. Set new.n_type char to OBJECT. :isnew -- Fill in IVARS, CVARS, CVALS, SUPERCLASS, IVARCNT and IVARTOTAL, using parameters from :new call. (The :isnew msg inherits the :new msg parameters because the :isnew msg is generated automatically after each :new msg, courtesy of a special hack in xlobj.c:sendmsg().) :answer -- Add a (msg closure) pair to self.MESSAGES. Here's a figure to summarize the above, with a generic object thrown in for good measure. Note that all instances of CLASS will have a SUPERCLASS pointer, but no normal object will. Note also that the messages known to an object are those which can be reached by following exactly one Class Ptr and then zero or more Superclass Ptrs. For example, the generic object can respond to :ISNEW, :CLASS and :SHOW, but not to :NEW or :ANSWER. (The functions implementing the given messages are shown in parentheses.) NIL ^ | |Superclass Ptr | Msg+--------+ :isnew (xlobj.c:obisnew) <----| class |Class Ptr :class (xlobj.c:obclass) <----| OBJECT |------------+ :show (xlobj.c:objshow) <----| | | +--------+ | +---------+ ^ ^ | | generic |Class Ptr | | | | object |----------------+ |Superclass Ptr | +---------+ | | Msg+--------+ | :isnew (xlobj.c:clnew) <----| class |Class Ptr | :new (xlobj.c:clisnew) <----| CLASS |--------+ | :answer(xlobj.c:clanswer)<----| | | | +--------+ | | ^ ^ | | | | | | | +-----------+ | +------------------+ Thus, class CLASS inherits the :CLASS and :SHOW messages from class OBJECT, overrides the default :ISNEW message, and provides new the messages :NEW and :ANSWER. New classes are created by (send CLASS :NEW ...) messages. Their Class Ptr will point to CLASS. By default, they will have OBJECT as their superclass, but this can be overridden by the second optional argument to :NEW. The above basic structure is set up by xlobj.c:xloinit(). How do we look up the value of a variable? ------------------------------------------ When we're cruising along evaluating an expression and encounter a symbol, the symbol might refer to a global variable, an instance variable, or a class variable in any of our superclasses. Figuring out which means digging throught the environment. The canonical place this happens is in xleval.c:xleval(), which simply passes the buck to xlsym.c:xlgetvalue(), which in turn passes the buck to xlxsym.c:xlxgetvalue(), where the fun of scanning down xlenv begins. The xlenv environment looks something like Backbone Environment frame contents -------- -------------------------- xlenv --> frame ((sym val) (sym val) (sym val) ... ) frame ... object (obj msg-class) frame ... object ... frame ... ... The "frame" lines are due to everyday nested constructs like LET expressions, while the "object" lines represent an object environment entered via a message send. xlxgetvalue scans the enviroment left to right, and then top to bottom. It scans down the regular environment frames itself, and calls xlobj.c:xlobjgetvalue() to search the object environment frames. xlobjgetvalue() first searches for the symbol in the msg-class, then in all the successive superclasses of msg-class. In each class, it first checks the list of instance-variable names in the IVARS slot, then the list of class-variables name in the CVARS slot. How are function calls implemented? ----------------------------------- xleval.c contains the central expression-evaluation code. xleval.c:xleval() is the standard top-level entrypoint. The two central functions are xleval.c:xlevform() and xleval.c:evfun(). xlevform() can evaluate four kinds of expression nodes: SUBR: A normal primitive fn coded in C. We call evpushargs() to evaluate and push the arguments, then call the primitive. FSUBR: A special primitive fn coded in C, which (like IF) wants its arguments unevaluated. We call pushargs() (instead of evpushargs()) and then the C fn. CLOSURE: A preprocessed written-in-lisp fn from a DEFUN or LAMBDA. We call evpushargs() and then evfun(). CONS: We issue an error if it isn't a LAMBDA, otherwise we call xleval.c:xlclose() to build a CLOSURE from the LAMBDA, and fall into the CLOSURE code. The common thread in all the above cases is that we call evpushargs() or pushargs() to push all the arguments on the evaluation stack, leaving the number and location of the arguments in the global variables xlargc and xlargv. The primitive C functions consume their arguments directly from the argument stack. xleval.c:evfun() evaluates a CLOSURE by: (1) Switching xlenv and xlfenv to the values they had when the CLOSURE was built. (These values are recorded in the CLOSURE.) (2) Binding the arguments to the environment. This involves scanning through the section of the argument stack indicated by xlargc/xlargv, using information from the CLOSURE to resolve keyword arguments correctly and assign appropriate default values to optional arguments, among other things. (3) Evaluating the body of the function via xleval.c:xleval(). (4) Cleaning up and restoring the original environment. How are message-sends implemented? ---------------------------------- We scan the MESSAGES list in the CLASS object of the recipient, looking for a (message-symbol method) pair that matches our message symbol. If necessary, we scan the MESSAGES lists of the recipients superclasses too. (xlobj.c:sendmsg().) Once we find it, we basically do a normal function evaluation. (xlobjl.c:evmethod().) Two oddities: We need to replace the message-symbol by the recipient on the argument stack to make things look normal, and we need to push an 'object' stack entry on the xlenv environment so we remember which class is handling the message. How is garbage collection implemented? -------------------------------------- The dynamic memory pool managed by xlisp consists of a chain of memory *segments* rooted at global C variable "segs". Each segment contains an array of "struct node"s plus a pointer to the next segment. Each node contains a n_type field and a MARK bit, which is zero except during garbage collection. Xlisp uses a simple, classical mark-and-sweep garbage collector. When it runs out of memory (fnodes==NIL), it does a recursive traversal setting the MARK flag on all nodes reachable from the obarray, the three environments xlenv/xlfenv/xldenv, and the evaluation and argument stacks. (A "switch" on the n_type field tells us how to find all the LVAL slots in the node (plus associated storage), and a pointer-reversal trick lets us avoid using too much stack space during the traversal.) sweep() then adds all un-MARKed LVALs to fnodes, and clears the MARK bit on the remaining nodes. If this fails to produce enough free nodes, a new segment is malloc()ed. The code to do this stuff is mostly in xldmem.c. How do I add a new primitive fn to xlisp? ----------------------------------------- Add a line to the end of xlftab.c:funtab[]. This table contains a list of triples: The first element of each triple is the function name as it will appear to the programmer. Make it all upper case. The second element is S (for SUBR) if (like most fns) your function wants its arguments pre-evaluated, else F (for FSUBR). The third element is the name of the C function to call. Remember that your arguments arrive on the xlisp argument rather than via the usual C parameter mechanism. CAUTION: Try to keep your files separate from generic xlisp files, and to minimize the number of changes you make in the generic xlisp files. This way, you'll have an easier time re-installing your changes when new versions of xlisp come out. It's a good idea to put a marker (like a comment with your initials) on each line you change or insert in the generic xlisp fileset. For example, if you are going to add many primitive functions to your xlisp, use an #include file rather than putting them all in xlftab.c. CAUTION: Remember that you usually need to protect the LVAL variables in your function from the garbage-collector. It never hurts to do this, and often produces obscure bugs if you dont. Generic code for a new primitive fn: /* xlsamplefun - do useless stuff. */ /* Called like (samplefun '(a c b) 1 2.0) */ LVAL xlsamplefun() { /* Variables to hold the arguments: */ LVAL list_arg, integer_arg, float_arg; /* Get the arguments, with appropriate errors */ /* if any are of the wrong type. Look in */ /* xlisp.h for macros to read other types of */ /* arguments. Look in xlmath.c for examples */ /* of functions which can handle an argument */ /* which may be either int or float: */ list_arg = xlgalist() ; /* "XLisp Get A LIST" */ integer_arg = xlgafixnum(); /* "XLisp Get A FIXNUM" */ float_arg = xlgaflonum(); /* "XLisp Get A FLONUM" */ /* Issue an error message if there are any extra arguments: */ xllastarg(); /* Call a separate C function to do the actual */ /* work. This way, the main function can */ /* be called from both xlisp code and C code. */ /* By convention, the name of the xlisp wrapper */ /* starts with "xl", and the native C function */ /* has the same name minus the "xl" prefix: */ return samplefun( list_arg, integer_arg, float_arg ); } LVAL samplefun( list_arg, integer_arg, float_arg ) LVAL list_arg, integer_arg, float_arg; { FIXTYPE val_of_integer_arg; FLOTYPE val_of_float_arg; /* Variables which will point to LISP objects: */ LVAL result; LVAL list_ptr; LVAL float_ptr; LVAL int_ptr; /* Protect our internal pointers by */ /* pushing them on the evaluation */ /* stack so the garbage collector */ /* can't recycle them in the middle */ /* of the routine: */ xlstkcheck(3); /* Make sure following xlsave */ /* calls won't overrun stack. */ xlsave(list_ptr); /* Use xlsave1() if you don't */ xlsave(float_ptr);/* do an xlstkcheck(). */ xlsave(int_ptr); /* Create an internal list structure, protected */ /* against garbage collection until we exit fn: */ list_ptr = cons(list_arg,list_arg); /* Get the actual values of our fixnum and flonum: */ val_of_integer_arg = getfixnum( integer_arg ); val_of_float_arg = getflonum( float_arg ); /*******************************************/ /* You can have any amount of intermediate */ /* computations at this point in the fn... */ /*******************************************/ /* Make new numeric values to return: */ integer_ptr = cvflonum( val_of_integer_arg * 3 ); float_ptr = cvflonum( val_of_float_arg * 3.0 ); /* Cons it all together to produce a return value: */ result = cons( list_ptr, cons( integer_ptr, cons( float_ptr, NIL ) ) ); /* Restore the stack, cancelling the xlsave()s: */ xlpopn(3); /* Use xlpop() for a single argument.*/ return result; } Minor Observations: ------------------- xlapply, xlevform and sendmsg will issue an error if they encounter a s_macro CLOSURE. This is presumably because all macros are expanded by xleval.c:xlclose when it builds a closure. Neither xlapply nor sendmsg will handle FSUBRs. This is presumably a minor bug, left due to the difficulty of keeping arguments unevaluated to that point. ? Minor Mysteries: ---------------- Why doesn't xlevform trace FSUBRs? Is this a speed hack? Why do both xlobj.c:xloinit() and xlobj.c:obsymvols() initialize the "object" and "class" variables? -- - Jeff (S) --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From rlenth@stat.uiowa.edu Thu Oct 8 05:28:07 1992 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Thu, 8 Oct 1992 10:29:05 -0500 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/920408) on Thu, 8 Oct 92 10:29:02 -0500 id AA02371 with SMTP Received: from nuthatch.stat.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA02373; Thu, 8 Oct 92 10:28:07 CDT Date: Thu, 8 Oct 92 10:28:07 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9210081528.AA02373@ stat.uiowa.edu> To: SL-news-list@umnstat Subject: apply #'or A Lisp-Stat question... This is undoubtedly a dumb question, but it's got me stumped. I need to test whether a condition is true for ANY element of a list. Here's what I tried: > (def a '(3 4 5)) A > (< a 4) (T NIL NIL) However, I want only a single value, (or T NIL NIL) = T, so I try... > (or (< a 4)) (T NIL NIL) This doesn't help since or is vectorized; so I try this: > (apply #'or (< a 4)) error: bad function - # I guess this is because or is a macro, not a function. What can I do??? ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | \_ "The Athens and Actuarial Science Tel: (319)335-0814 \ Iowa City \ of the The University of Iowa FAX: (319)335-3017 \ * _/ Midwest" Iowa City, IA 52242 USA CW: *= * ====== *=* | / ------------------------------------------------ ----------v From luke Thu Oct 8 05:49:19 1992 From: "Luke Tierney" Message-Id: <199210081549.AA02680@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Oct 1992 10:49:20 -0500 Subject: Re: apply #'or To: rlenth@stat.uiowa.edu (Russ Lenth) Date: Thu, 8 Oct 92 10:49:19 CDT Cc: SL-news-list@umnstat In-Reply-To: <9210081528.AA02373@ stat.uiowa.edu>; from "Russ Lenth" at Oct 8, 92 10:28 am X-Mailer: ELM [version 2.3 PL6] > > A Lisp-Stat question... > > This is undoubtedly a dumb question, but it's got me stumped. > I need to test whether a condition is true for ANY element of > a list. Here's what I tried: > > > (def a '(3 4 5)) > A > > (< a 4) > (T NIL NIL) > > However, I want only a single value, (or T NIL NIL) = T, so I try... > > > (or (< a 4)) > (T NIL NIL) > > This doesn't help since or is vectorized; so I try this: > > > (apply #'or (< a 4)) > error: bad function - # > > I guess this is because or is a macro, not a function. > > What can I do??? Actually, its "<" that is vectorized, not "or". One approach is to use the functions "some" or "every" which apply a predicate to a sequence until an element satisfying the predicate is found (for some) or an element failing to satisfy the predicate is found (for every). For your example, > (def a '(3 4 5)) A > (some #'(lambda (x) (< x 4)) a) T > (not (every #'null (< a 4))) T I'm sure there are lots of other approaches. luke From fed!m1phm02@uunet.UU.NET Thu Oct 8 09:00:35 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Thu, 8 Oct 1992 12:13:16 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA24556; Thu, 8 Oct 92 13:13:13 -0400 Received: from fed.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 131259.25146; Thu, 8 Oct 1992 13:12:59 EDT Received: from mfsss1.FRB.GOV by fed.FRB.GOV (4.1/SMI-4.0) id AA04829; Thu, 8 Oct 92 13:02:24 BST Received: from localhost by mfsss1.FRB.GOV (4.1/SMI-4.0) id AA28775; Thu, 8 Oct 92 17:00:36 GMT Message-Id: <9210081700.AA28775@mfsss1.FRB.GOV> To: uunet!stat.uiowa.edu!rlenth@uunet.UU.NET (Russ Lenth) Subject: Re: apply #'or Cc: uunet!umnstat.stat.umn.edu!SL-news-list@uunet.UU.NET In-Reply-To: Your message of Thu, 08 Oct 92 10:28:07 -0500. <9210081528.AA02373@ stat.uiowa.edu> Date: Thu, 08 Oct 92 13:00:35 -0400 From: Patrick McAllister The problem stems from the fact that or is not a function; it is a special form, meaning that it need not evaluate all of its arguments. In the case of or, it stops evaluating once it reaches a true form in its argument list (since the result is known as of that point to be true). It appears that the implementation of apply in xlisp cannot take a special form as its first argument, it has to be a function. My workaround was to define a function that or-ed its arguments: (defun or-fun (condn &rest more-cond) "args: (condn &rest more-cond) Like the special form or but a regular function, so it evaluates all arguments." (if condn condn (if (eq 0 (length more-cond)) nil (apply #'or-fun more-cond)))) It's not very efficient as it stands, unfortunately, but suffices for my purposes. It would not be difficult to implement in C and compile into xlisp, if you wanted. (disclaimer: I haven't bothered to actually read the C code for apply to verify my hypothesis regarding special forms, but the workaround works, so it seems pretty plausible) Pat From deal@hobbes.kzoo.edu Thu Oct 8 10:27:03 1992 Received: from hobbes.kzoo.edu by umnstat.stat.umn.edu; Thu, 8 Oct 1992 13:24:37 -0500 Received: by hobbes.kzoo.edu (5.57/Ultrix 4.0) id AA03943; Thu, 8 Oct 92 14:27:04 -0400 From: deal@hobbes.kzoo.edu (Ralph Deal) Message-Id: <9210081827.AA03943@hobbes.kzoo.edu> Subject: simple graphics in XLISP-stat To: SL-news-list@umnstat Date: Thu, 8 Oct 92 14:27:03 EDT Cc: deal@hobbes.kzoo.edu (Ralph Deal) X-Mailer: ELM [version 2.3 PL11] I am using Luke Tierney's modification of XLISP 2.1 in a course for non-majors using my text "Getting to Know LISP" where it works well except that I would like to enable my students to do some LOGO-like exercises in LISP. I had written a LOGO interface for XLISP 2.0 that let the user create a split interpreter/graphics screen and move a "turtle" thereon using LOGO commands such as (fwd 35) and (right 45). Unfortunately the primitives in XLISP 2.0 that my interface used are not implemented in XLISP-stat 2.1. Those primitives include move and line commands that generate patterns of line on the screen. I should appreciate any suggestions on how to adapt my LOGO interface to XLISP-stat 2.1 Thanks, Ralph M. Deal Computer Science and Chemistry, Kalamazoo College, Kalamazoo, MI 49006 DEAL@KZOO.EDU -- From rlenth@stat.uiowa.edu Thu Oct 8 08:55:43 1992 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Thu, 8 Oct 1992 13:56:41 -0500 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/920408) on Thu, 8 Oct 92 13:56:38 -0500 id AA04426 with SMTP Received: from nuthatch.stat.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA02963; Thu, 8 Oct 92 13:55:43 CDT Date: Thu, 8 Oct 92 13:55:43 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9210081855.AA02963@ stat.uiowa.edu> To: SL-news-list@umnstat Subject: Re: apply #'or I've gotten some nifty answers from several people, so I thought I'd summarize them for the group. I thank all these helpful people. From Sandy Weisberg, sandy@umnstat.stat.umn.edu... I don't know the "official" way of doing this, but here is a nifty solution. Suppose > (def a (iseq 10)) A > a (0 1 2 3 4 5 6 7 8 9) > (position 12 a :test #'<=) NIL > (position 6 a :test #'<=) 6 What position does is return the index of the first element of the list that satisfies test (the default is probably eql, but I'm not sure), and if the test is never satisfied, it returns nil. Pretty neat, huh? From Luke Tierney, luke@umnstat.stat.umn.edu... Actually, its "<" that is vectorized, not "or". One approach is to use the functions "some" or "every" which apply a predicate to a sequence until an element satisfying the predicate is found (for some) or an element failing to satisfy the predicate is found (for every). For your example, > (def a '(3 4 5)) A > (some #'(lambda (x) (< x 4)) a) T > (not (every #'null (< a 4))) T From Patrick McAllister The problem stems from the fact that or is not a function; it is a special form, meaning that it need not evaluate all of its arguments. In the case of or, it stops evaluating once it reaches a true form in its argument list (since the result is known as of that point to be true). It appears that the implementation of apply in xlisp cannot take a special form as its first argument, it has to be a function. My workaround was to define a function that or-ed its arguments: (defun or-fun (condn &rest more-cond) "args: (condn &rest more-cond) Like the special form or but a regular function, so it evaluates all arguments." (if condn condn (if (eq 0 (length more-cond)) nil (apply #'or-fun more-cond)))) It's not very efficient as it stands, unfortunately, but suffices for my purposes. It would not be difficult to implement in C and compile into xlisp, if you wanted. From Peter Wollan, wollan@mayo.EDU... Here's another approach that I learned from Peggy Burnett, CS dept. MTU: > (def a (list 3 4 5)) A > (eval (cons 'or (< a 4))) T > The "cons" builds a list by inserting the first argument into the next, and "eval" evaluates it. =============================================================================== After having gotten just Sandy's and Luke's answers, I came up with this: > (defun any (logexp) "returns T if any element of logexp is T" (not (eql (position t logexp) nil))) ANY > (def a '(3 4 5)) A > (any (< a 4)) T > (any (< a 1)) NIL The above is based on Sandy's suggestion. Originally, I had tried this, based on Luke's answer: > (defun anee (logexp) (not (every #'null logexp))) ANEE > (anee (< a 4)) T > (anee (< a 1)) NIL This looks ok, until you give it an argument that is not a list! > (def a 5) A > (any (< a 4)) NIL > (anee (< a 4)) T So, "anee" doesn't work right. Well, now look at this: > (any (< a 6)) error: bad arguments > (anee (< a 6)) error: not a sequence - T Well, folks, this is getting unpleasant. Moving on to Peter's answer... > (defun anyway (logexp) (eval (cons 'or logexp))) ANYWAY > (anyway (< a 4)) NIL > (anyway (< a 6)) NIL > (def a '(3 4 5)) A > (anyway (< a 4)) T > (anyway (< a 1)) NIL I think this is a no-win situation! ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | \_ "The Athens and Actuarial Science Tel: (319)335-0814 \ Iowa City \ of the The University of Iowa FAX: (319)335-3017 \ * _/ Midwest" Iowa City, IA 52242 USA CW: *= * ====== *=* | / ------------------------------------------------ ----------v From luke Thu Oct 8 09:21:27 1992 Resent-Date: Thu, 8 Oct 92 14:21:27 CDT Resent-Message-Id: <199210081921.AA03041@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Oct 1992 14:21:32 -0500 From: "Luke Tierney" Message-Id: <199210081921.AA03033@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Oct 1992 14:21:28 -0500 Subject: Re: apply #'or To: rlenth@stat.uiowa.edu (Russ Lenth) Date: Thu, 8 Oct 92 14:21:27 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9210081855.AA02963@ stat.uiowa.edu>; from "Russ Lenth" at Oct 8, 92 1:55 pm X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" ... > > This looks ok, until you give it an argument that is not a list! > > > (def a 5) > A > > (any (< a 4)) > NIL > > (anee (< a 4)) > T > If you want something that will work with both compound and simple data you could try defining your `any' function as (defun any (x) (not (every #'null (combine x)))) The `combine' flattens recursive compound data, and makes simple data into lists. > (combine 1) (1) > (combine '(1 2 #(3 4 (5)))) (1 2 3 4 5) Here is what this version of `any' does with your examples. > (def a '(3 4 5)) A > (any (< a 4)) T > (any (< a 1)) NIL > (def a 5) A > (any (< a 4)) NIL > (any (< a 6)) T > luke From fed!m1phm02@uunet.UU.NET Thu Oct 8 12:24:58 1992 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Thu, 8 Oct 1992 21:53:42 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA07783; Thu, 8 Oct 92 17:23:24 -0400 Received: from fed.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 165124.10061; Thu, 8 Oct 1992 16:51:24 EDT Received: from mfsss1.FRB.GOV by fed.FRB.GOV (4.1/SMI-4.0) id AA05800; Thu, 8 Oct 92 16:26:48 BST Received: from localhost by mfsss1.FRB.GOV (4.1/SMI-4.0) id AA29363; Thu, 8 Oct 92 20:24:59 GMT Message-Id: <9210082024.AA29363@mfsss1.FRB.GOV> To: uunet!stat.uiowa.edu!rlenth@uunet.UU.NET (Russ Lenth) Subject: Re: apply #'or Cc: SL-news-list@umnstat In-Reply-To: Your message of Thu, 08 Oct 92 13:55:43 -0500. <9210081855.AA02963@ stat.uiowa.edu> Date: Thu, 08 Oct 92 16:24:58 -0400 From: Patrick McAllister You describe the failure of the function: (defun anyway (logexp) (eval (cons 'or logexp))) when logexp is not a list. The problem is that in this case the cons function constructs a single cons cell, not a list. An alternative to Luke's remedy (more straightforward but not able to move recursively down nested lists): (defun anyway (logexp) (eval (cons 'or (cond ((listp logexp) logexp) ((atom logexp) (cons logexp nil)) (t nil))))) Then: > (setq a 5) 5 > (anyway (< a 6)) T I should also note that your original idea of using (apply #'or would not work in this case, even if or could be applied, since apply that its third argument be a list. Pat From almond@uunet.uu.net Thu Oct 8 13:33:41 1992 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Fri, 9 Oct 1992 00:10:41 -0500 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA20076; Fri, 9 Oct 92 01:10:11 -0400 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 010813.29490; Fri, 9 Oct 1992 01:08:13 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.30) id AA13273; Thu, 8 Oct 92 20:31:22 PDT Received: by bass.statsci.com (4.1/SMI-4.1) id AA04129; Thu, 8 Oct 92 20:33:41 PDT Date: Thu, 8 Oct 92 20:33:41 PDT From: almond@uunet.uu.net (Russell G. Almond) Message-Id: <9210090333.AA04129@bass.statsci.com> To: SL-news-list@umnstat In-Reply-To: Patrick McAllister's message of Thu, 08 Oct 92 13:00:35 -0400 <9210081700.AA28775@mfsss1.FRB.GOV> Subject: apply #'or > The problem stems from the fact that or is not a function; it is a special > form, meaning that it need not evaluate all of its arguments. In the case of > or, it stops evaluating once it reaches a true form in its argument list > (since the result is known as of that point to be true). It appears that the > implementation of apply in xlisp cannot take a special form as its first > argument, it has to be a function. My workaround was to define a function > that or-ed its arguments: Actually, apply (and similar functions such as map...) take function closures as their arguments. Function closures are produced with the special form "function" (which is usually abbreviated #'). As you can only take the closure of a function (of which a lambda expresion is one type) macros and special forms don't work with apply (or mapcar). This is a design feature of Common LISP, and will hold for any LISP which is anywhere near the ANSI standard. I believe this idea was inhereted from Scheme, which is the other major contributor to XLISP. I just read a very interesting article in the October 1992 _Communications of the ACM_. It was called "Visualizing Evaluation in Applicative Languages," by Touretzky and Lee. It reviews a number of LISP basics, such as how variable bindings and function calls works. It is a very good introduction to those parts of LISP which are very different from other programming langauges, like C and FORTRAN. I recommend it highly if you are new to LISP, and even if you are not. Russell Almond Statistical Sciences, Inc. 1700 Westlake Ave., N Suite 500 Seattle, WA 98109 (206) 283-8802 almond@statsci.com From owner-SL-news Tue Oct 20 03:41:21 1992 Resent-Date: Tue, 20 Oct 92 10:41:21 PDT Resent-From: owner-SL-news Resent-Message-Id: <199210191710.AA09662@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Oct 1992 12:10:44 -0500 Received: from sauron ([150.109.4.177]) by umnstat.stat.umn.edu; Mon, 19 Oct 1992 12:10:44 -0500 Received: by sauron (4.1/1.27) id AA11091; Tue, 20 Oct 92 10:41:21 PDT Date: Tue, 20 Oct 92 10:41:21 PDT From: mmeehan@eesof.com (Mike Meehan) Message-Id: <9210201741.AA11091@sauron> To: stat-lisp-news@umnstat Subject: draw-dialog... Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: mmeehan@eesof.com (Mike Meehan) Greetings lisp-staters... Whats the best way to have dialog items in a graph-window? or, to the same end, how can I draw in a dialog window? I've tried to use multiple inheritance with: (defproto plot-dialog () () (list dialog-proto graph-window-proto)) But I gather that because window-proto doesnt know how to draw, the draw message ends-up in the bit bucket? Helllllpppppp, Mike Meehan, mmeehan@eesof.com From owner-SL-news Wed Oct 21 14:33:16 1992 Resent-Date: Wed, 21 Oct 92 13:33:16 +0100 Resent-From: owner-SL-news Resent-Message-Id: <199210211231.AA11905@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 21 Oct 1992 07:31:14 -0500 Received: from faui45.informatik.uni-erlangen.de by umnstat.stat.umn.edu; Wed, 21 Oct 1992 07:31:02 -0500 Received: from faui78.informatik.uni-erlangen.de by uni-erlangen.de with SMTP; id AA14194 (5.65c-5/7.3l-FAU); Wed, 21 Oct 1992 13:30:55 +0100 Received: from faui78t.informatik.uni-erlangen.de by immd7.informatik.uni-erlangen.de with SMTP (5.64+/7.3h-FAU) id AA14816; Wed, 21 Oct 92 13:29:44 +0100 From: Winfried Dulz Message-Id: <9210211229.AA14816@faui78.informatik.uni-erlangen.de> Date: Wed, 21 Oct 92 13:33:16 +0100 To: stat-lisp-news@umnstat Subject: Discrete event simulation using Xlispstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Winfried Dulz Is there any group (or person) who tried to build object-oriented simulations with hierarchical, modular models - in analogy to Bernard Zeiglers DEVS-Scheme framework - based on Xlispstat? I am grateful for any hints. Winfried Dulz, dulz@informatik.uni-erlangen.de From wollan@mayo.EDU Wed Nov 4 08:26:37 1992 Received: from bru.mayo.edu by umnstat.stat.umn.edu; Wed, 4 Nov 1992 14:26:40 -0600 Received: from hsr (hsr.mayo.edu) by bru.mayo.EDU (4.1/SMI-4.0) id AA10821; Wed, 4 Nov 92 14:25:23 CST Received: from butch by hsr (4.1/SMI-4.0) id AA28774; Wed, 4 Nov 92 14:26:37 CST Date: Wed, 4 Nov 92 14:26:37 CST From: wollan@mayo.EDU (Peter Wollan) Message-Id: <9211042026.AA28774@hsr> To: SL-news-list@umnstat Subject: inverse of read-data-columns Something that I often want to do is write out some columns of numbers to a file, so that I can get something xlispstat won't compute--eg, eigenvalues. This "write-data-columns" function should put columns of numbers as columns, like the Minitab write command does. There are even times when I want numbers in columns on the screen... I'd really like someone to present me with a finished function, but failing that I'd settle for hints as to how to go about it. Peter Wollan wollan@mayo.edu From owner-SL-news Wed Nov 4 08:53:38 1992 Resent-Date: Wed, 4 Nov 92 14:53:38 CST Resent-From: owner-SL-news Resent-Message-Id: <199211042053.AA18360@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 4 Nov 1992 14:53:43 -0600 Received: from bru.mayo.edu by umnstat.stat.umn.edu; Wed, 4 Nov 1992 14:53:40 -0600 Received: from hsr (hsr.mayo.edu) by bru.mayo.EDU (4.1/SMI-4.0) id AA10937; Wed, 4 Nov 92 14:52:23 CST Received: from butch by hsr (4.1/SMI-4.0) id AA29028; Wed, 4 Nov 92 14:53:38 CST Date: Wed, 4 Nov 92 14:53:38 CST From: wollan@mayo.EDU (Peter Wollan) Message-Id: <9211042053.AA29028@hsr> To: stat-lisp-news@umnstat Subject: inverse of read-data-columns Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: wollan@mayo.EDU (Peter Wollan) Something that I often want to do is write out some columns of numbers to a file, so that I can get something xlispstat won't compute--eg, eigenvalues. This "write-data-columns" should put lists of numbers as parallel columns, like the Minitab write command does. There are even times when I want numbers in columns on the screen... I'd really like someone to present me with a finished function, but failing that I'd settle for hints as to how to go about it. Peter Wollan wollan@mayo.edu From luke Wed Nov 4 09:07:48 1992 From: "Luke Tierney" Message-Id: <199211042107.AA17550@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 4 Nov 1992 15:07:51 -0600 Subject: Re: inverse of read-data-columns To: wollan@mayo.EDU (Peter Wollan) Date: Wed, 4 Nov 92 15:07:48 CST Cc: SL-news-list@umnstat In-Reply-To: <9211042026.AA28774@hsr>; from "Peter Wollan" at Nov 4, 92 2:26 pm X-Mailer: ELM [version 2.3 PL6] > > Something that I often want to do is write out some columns of numbers to a > file, so that I can get something xlispstat won't compute--eg, eigenvalues. (eigenvalues (bind-columns x y z)) should do that. > This "write-data-columns" function should put columns of numbers as columns, > like the Minitab write command does. There are even times when I want numbers > in columns on the screen... > I'd really like someone to present me with a finished function, but failing Here is a quick and dirty version that can probably be improved in many ways: (defun write-data-columns (cols file) (with-open-file (f file :direction :output) (dolist (row (transpose cols)) (dolist (i row) (format f "~s " i)) (format f "~%")))) luke From owner-SL-news Mon Nov 5 06:49:54 1992 Resent-Date: 05 Nov 1992 11:49:54 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199211051715.AA00299@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 5 Nov 1992 11:15:27 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 5 Nov 1992 11:15:24 -0600 Received: from UTCVM.BITNET (MAILER@UTCVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GQSGVSN6LS9S591F@vx.cis.umn.edu>; Thu, 5 Nov 1992 11:12:33 CDT Received: from UTCVM (GHONG) by UTCVM.BITNET (Mailer R2.08) with BSMTP id 7093; Thu, 05 Nov 92 11:52:26 EST Date: 05 Nov 1992 11:49:54 -0500 (EST) From: Rich Faldowski Subject: Add name To: stat-lisp-news@umnstat Message-Id: <01GQSGWFH5NM9S591F@vx.cis.umn.edu> X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Rich Faldowski Please add my name to the stat-lisp-news mailing list. If my old userid is still on the list, please remove it (FALDOWRA@CTRVAX.VANDERBILT.EDU). From owner-SL-news Mon Nov 9 01:46:18 1992 Resent-Date: Mon, 9 Nov 92 09:46:18 -0800 Resent-From: owner-SL-news Resent-Message-Id: <199211091812.AA10935@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 9 Nov 1992 12:12:49 -0600 Received: from piglet.mmwb.ucsf.EDU by umnstat.stat.umn.edu; Mon, 9 Nov 1992 12:12:45 -0600 Received: by piglet.mmwb.ucsf.EDU (920330.SGI/GSC4.22) id AA06069; Mon, 9 Nov 92 09:46:18 -0800 Date: Mon, 9 Nov 92 09:46:18 -0800 Message-Id: <9211091746.AA06069@piglet.mmwb.ucsf.EDU> From: bic@cgl.ucsf.edu (Bruce Cohen) Sender: bic@piglet.mmwb.ucsf.EDU To: stat-lisp-news@umnstat Subject: Query: Recompiling lisp-stat using Think C 5.0 Cc: bic@piglet.mmwb.ucsf.EDU Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bic@cgl.ucsf.edu (Bruce Cohen) I am using lisp-stat in a high school class. One problem that I have concerns the size of the font on a Mac. I occasionally project the Mac output via an LCD panel and an overhead projector. The size of the font (monaco 9) is rather small. I would like to change it to 18. The source code is for Lightspeed C 3.0. We only have the latest version (Think C 5.0), and there have been many library changes since version 3.0. Has anyone ported lisp-stat to Think C 5.0? Thanks for your help. -Bruce Bruce Cohen | INTERNET: bic@cgl.ucsf.edu Pharmaceutical Chemistry | UUCP: ..ucbvax!ucsfcgl!bic Box 0446 Room S-926 | BITNET: bic@ucsfcgl University of California | VOICE: (415) 476-8291 San Francisco, CA 94143-0446 | FAX: (415) 476-0688 From owner-SL-news Mon Nov 9 04:30:12 1992 Resent-Date: Mon, 9 Nov 92 12:30:12 PST Resent-From: owner-SL-news Resent-Message-Id: <199211092026.AA11433@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 9 Nov 1992 14:26:15 -0600 Received: from sauron ([150.109.4.177]) by umnstat.stat.umn.edu; Mon, 9 Nov 1992 14:26:11 -0600 Received: by sauron (4.1/1.27) id AA04672; Mon, 9 Nov 92 12:30:13 PST Date: Mon, 9 Nov 92 12:30:12 PST From: mmeehan@eesof.com (Mike Meehan) Message-Id: <9211092030.AA04672@sauron> To: stat-lisp-news@umnstat Subject: windows and lisp-stat... Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: mmeehan@eesof.com (Mike Meehan) We are trying to compile XLstat using both the Borland C++ (3.1) compiler and the MS7.0 compiler. Questions: 1. How to turn off the prototyping using the Borland compiler... 2. It compiles and links o.k, but were getting an out of stack error from the system (not xlstat). Any comments would be appreciated... -MM Mike Meehan Simulation Optimization Technology Group EEsof Inc., R&D Department 5601 Lindero Canyon Road Westlake Village CA. 91362 FAX/VOICE: 818.879.6374 mmeehan@eesof.com From owner-SL-news Thu Nov 12 08:48:57 1992 Resent-Date: Thu, 12 Nov 92 14:48:57 CST Resent-From: owner-SL-news Resent-Message-Id: <199211122049.AA22173@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 12 Nov 1992 14:49:57 -0600 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Thu, 12 Nov 1992 14:49:53 -0600 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/920408) on Thu, 12 Nov 92 14:49:51 -0600 id AA05229 with SMTP Received: from nuthatch.stat.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA25212; Thu, 12 Nov 92 14:48:57 CST Date: Thu, 12 Nov 92 14:48:57 CST From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9211122048.AA25212@ stat.uiowa.edu> To: stat-lisp-news@umnstat Subject: keywords and variable args Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: rlenth@stat.uiowa.edu (Russ Lenth) Another in my long series of dumb questions about lisp ... I want to write an extension of the REGRESSION-MODEL function that will pass-on any optional arguments, but can also change one of the keyword arguments. I tried: (defun 2nd-order-model (x y &key (predictor-names nil pset) &rest args) (if pset ... ) (apply #'regression-model (append (list x y ':predictor-names predictor-names) args))) but I get an error message because the &key arg's have to come AFTER the &rest arg's. If I interchange the arg's, then the &key arg's just become part of the &rest arg's and so they are ignored. (This seems like a design flaw to me, but I'm probably overlooking some important reasons that it's like this.) Anyway, what is the best way to intercept a keyword argument and pass the others along? Do I have to explicitly give all of them (numerous)? 2nd question: Given that I solve the above, is there anything less awkward than the (apply ...) stuff at the end? ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | I O W A \_ and Actuarial Science Tel: (319)335-0814 \ \ The University of Iowa FAX: (319)335-3017 \ * _/ Iowa City, IA 52242 USA CW: *= * ====== *=* | Iowa City / ------------------------------------------------ ----------v "Everything happens for a reason, but that doesn't mean that there's a point." --- Sue Grafton From almond@statsci.com Thu Nov 12 08:46:41 1992 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Thu, 12 Nov 1992 22:56:20 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA09071; Thu, 12 Nov 92 23:56:25 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 235356.19237; Thu, 12 Nov 1992 23:53:56 EST Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.33) id AA10981; Thu, 12 Nov 92 16:43:28 PST Received: by bass.statsci.com (4.1/SMI-4.1) id AA18449; Thu, 12 Nov 92 16:46:41 PST Date: Thu, 12 Nov 92 16:46:41 PST From: almond@statsci.com (Russell G. Almond) Message-Id: <9211130046.AA18449@bass.statsci.com> To: rlenth@stat.uiowa.edu Cc: SL-news-list@umnstat In-Reply-To: Russ Lenth's message of Thu, 12 Nov 92 14:48:57 CST <199211122049.AA22173@umnstat.stat.umn.edu> Subject: keywords and variable args Russ Lenth writes: | I want to write an extension of the REGRESSION-MODEL function that will | pass-on any optional arguments, but can also change one of the keyword | arguments. I tried: | | (defun 2nd-order-model (x y | &key (predictor-names nil pset) | &rest args) | (if pset ... ) | (apply #'regression-model | (append (list x y ':predictor-names predictor-names) args))) | | but I get an error message because the &key arg's have to come AFTER | the &rest arg's. If I interchange the arg's, then the &key arg's just | become part of the &rest arg's and so they are ignored. (This seems | like a design flaw to me, but I'm probably overlooking some important | reasons that it's like this.) Anyway, what is the best way to intercept | a keyword argument and pass the others along? Do I have to explicitly | give all of them (numerous)? I use this trick all the time, it is especially handy with call-next-method. There are basically two reasons to use the &rest keyword: (1) you want a variable number of arguments. For example, you could implement max (non-vectorized) as: (defun max (x &rest more-xs) (if (null more-xs) x (let ((y (apply #'max more-xs))) (if (> x y) x y)))) (2) You want to look at only some of the keyword arguments and leave the rest alone: (defmeth foo-proto :isnew (required-arg &rest args &key foo &allow-other-keys) (apply #'call-next-method :foo foo :bar foo args)) Problems come about when you try to mix the two paradigms. In particular, when LISP sees the &key keyword, it assumes that all of the rest of the arguments are in keyword--value pairs. If this assumption is false, you may be in trouble. You can get around it by explicitly parsing the &rest list yourself, but it can get ugly. Another related problem comes about when you try and mix &optional and &key arguments. For example, (defun myprint (obj &optional (stream *standard-output*) &key (format "~S~%)) (format stream format obj)) The problem comes in when you try and invoke (myprint obj :format "(~A)"), you have forgotten the &optional argument. | 2nd question: Given that I solve the above, is there anything less | awkward than the (apply ...) stuff at the end? You still need to use apply, but you can skip the append. Apply assumes that its last argument is a list, but all the rest are just values. Thus you can skip the append and list step and write: (defun 2nd-order-model (x y &key (predictor-names nil pset) &rest keys) (if pset ... ) (apply #'regression-model x y :predictor-names predictor-names keys)) Note that :predictor-names is a keyword and hence a self-evaluating form so it does not need to be quoted. Styalistically I prefer to to use "keys" as the name for a list of keyword args. This trick is essential when writing with multiple method calculations. For example, consider the following code from ElToY (defproto titled-object '(title) ;title of object '() (list ElToY-object) "Add a title to an object") ; :title message displays/sets title (defmeth titled-object :title (&optional (title nil set)) (if set (setf (slot-value 'title) title)) (slot-value 'title)) (send titled-object :documentation :title "Returns or sets title of object") (defmeth titled-object :isnew (&rest args &key (title "") &allow-other-keys) (setf (slot-value 'title) title) (call-next-method args)) This pulls off and processes the :title argument. "titled-object" can now be used as a mixin object. Thus (defproto titled-knight-proto '() '() (list titled-object knight-proto) "A knight with a title.") (defmeth :isnew (&rest keys &key (title "Galahad") &allow-other-keys) (apply #'call-next-method :title (strcat "Sir " title) keys)) The :isnew method for titled-knight appends "Sir" to the front of the title; it then calls the next method, the titled-object method which stores the title in the title slot. It then calls the :isnew method of the knight object which sets the other slots. Note that the argument list passed to the titled-object :isnew method will look like: ( :title "Sir Lancelot" :title "Lancelot" ...) This is fine, only the first arg is used. Note that there is considerable debate about whether such mixins make code easier or more difficult to maintain/understand. Usually the :isnew method is the hardest to figure out. ElToY uses them rather extensively, so you can look there for an example of their use. I hope this answers your question without being too long winded. Russell Almond Statistical Sciences, Inc. 1700 Westlake Ave., N Suite 500 Seattle, WA 98109 (206) 283-8802 almond@statsci.com From e_acuna@rummat3.upr.clu.edu Wed Nov 18 06:45:27 1992 Received: from upr1.UPR.CLU.EDU by umnstat.stat.umn.edu; Wed, 18 Nov 1992 12:13:51 -0600 Received: from rummat3.UPR.CLU.EDU by UPR1.UPR.CLU.EDU; Wed, 18 Nov 92 12:55 AST Received: by rummat3.upr.clu.edu (AA04235); Wed, 18 Nov 92 11:45:27 EST Date: Wed, 18 Nov 92 11:45:27 EST From: e_acuna@rummat3.upr.clu.edu Subject: Xlispstat on NEXT? To: SL-news-list@umnstat Message-Id: <9211181645.AA04235@rummat3.upr.clu.edu> X-Envelope-To: SL-news-list@umnstat.stat.umn.edu Does anybody know if xlispstat runs on NEXT? Edgar Acuna, Univ. of Puerto Rico Mayaguez Campus From owner-SL-news Sun Dec 2 21:14:57 1992 Resent-Date: 02 Dec 1992 14:14:57 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199212020619.AA22904@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 2 Dec 1992 00:19:18 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Wed, 2 Dec 1992 00:19:16 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GRTK03PVJK9D4I82@vx.cis.umn.edu>; Wed, 2 Dec 1992 00:20:48 CDT Received: by NUSVM (Mailer R2.03B) id 0418; Wed, 02 Dec 92 14:17:29 SST Date: 02 Dec 1992 14:14:57 +0700 (SST) From: forrest young Subject: DOS LISTENER To: STAT-LISP-NEWS@umnstat Message-Id: <01GRTK0OZ1UE9D4I82@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: forrest young I wish to reposition the listener window with the MS-DOS Windows version of Lisp-Stat, but don't know how to do it. With the Macintosh version I can say: (send *listener* :location 100 100) but with the dos version *listener* doesn't exist. Any solutions? thanks... From owner-SL-news Sat Dec 5 09:50:43 1992 Resent-Date: Sat, 5 Dec 92 14:50:43 EST Resent-From: owner-SL-news Resent-Message-Id: <199212052039.AA06406@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 5 Dec 1992 14:39:01 -0600 Received: from super.super.org by umnstat.stat.umn.edu; Sat, 5 Dec 1992 14:38:46 -0600 Received: by super.super.org (4.1/SMI-4.1) id AA01097; Sat, 5 Dec 92 14:50:43 EST Date: Sat, 5 Dec 92 14:50:43 EST From: pcolsen@super.org (Peter C Olsen) Message-Id: <9212051950.AA01097@super.super.org> To: STAT-LISP-NEWS@umnstat Subject: "Insufficient Memory" under Windows Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@super.org (Peter C Olsen) I need some help getting LispStat to run under windows 3.1. I have a GRiD 386SX laptop running Windows 3.1 in 4 megabytes of memory (640 base + 3 megabytes extended) and I can't run LispStat because of "Insufficient Memory". Does this sound right? Am I really memory-limited (with 4 MB?!) or is there some configuration option I can change? Peter Peter Olsen, PE, n2ell, P.O. Box 410, Simpsonville, MD 21150, 410-997-8584 pcolsen@super.super.org ...!uunet!super!pcolsen CG:pcolsen@super.org/G-ASMTP "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life" From owner-SL-news Tue Dec 11 17:20:03 1992 Resent-Date: 11 Dec 1992 10:20:03 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199212110224.AA25303@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 10 Dec 1992 20:24:02 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 10 Dec 1992 20:23:59 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GS5WF3A6GG91WIJK@vx.cis.umn.edu>; Thu, 10 Dec 1992 20:25:35 CDT Received: by NUSVM (Mailer R2.03B) id 5233; Fri, 11 Dec 92 10:22:42 SST Date: 11 Dec 1992 10:20:03 +0700 (SST) From: Forrest Young Subject: OUT OF MS-DOS MEMORY To: STAT-LISP-NEWS@umnstat Message-Id: <01GS5WF6KLL291WIJK@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young When using the MS-DOS version of Lisp-Stat, I frequently get "OUT OF MEMORY" messages from Windows/Dos. Oftentimes the only solution seems to be to simply quit LS altogether and start over. Is there some way to avoid this problem? Something I can do to either Lisp-Stat or Windows/Dos? (I have a 486 machine with 8 megs of memory, and am running Windows 3.1). From owner-SL-news Sun Jan 10 08:02:13 1993 Resent-Date: Sun, 10 Jan 93 13:02:13 EST Resent-From: owner-SL-news Resent-Message-Id: <199301101817.AA15452@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 10 Jan 1993 12:17:49 -0600 Message-Id: <199301101817.AA15445@umnstat.stat.umn.edu> Received: from vm1.yorku.ca by umnstat.stat.umn.edu; Sun, 10 Jan 1993 12:17:45 -0600 Received: from VM1.YorkU.CA by vm1.yorku.ca (IBM VM SMTP V2R1) with BSMTP id 8112; Sun, 10 Jan 93 13:14:51 EST Date: Sun, 10 Jan 93 13:02:13 EST From: Michael Friendly Subject: Compiling on NeXT with dynamic loading To: Lisp Stat News Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Michael Friendly I am trying to compile xlispstat on a NeXT (NeXTstep 3.0) to enable dynamic loading for connecting xlispstat to other programs. The version of xlispstat1.2R2.tar.Z I obtained from the NeXT archive at sonata.cc.purdue.edu (/pub/next/2.0/source) contains a next.makefile, but this does not enable dynamic loading (MACHINE=generic) and there is no ../machines/next directory. I copied foreign.h from machines/sun3 to machines/next, ran make. After compiling several files, make and my terminal shell go into deep freeze while trying to make xljump.o. I have no idea why or how to fix it. If anyone has successfully compiled xlispstat on a NeXT with dynamic loading, I'd appreciate learning how it is done. -- Snail Mail -- ** E-mail ** Michael Friendly BITNET: FRIENDLY@YORKVM1 Psychology Department INTERNET: FRIENDLY@VM1.YorkU.CA York University UUCP: bitnet!yorkvm1!friendly Toronto ONT (/tmp) NeXTmail: friendly@reader.yorku.ca CANADA M3J 1P3 Voice: (416) 736-5118 x66249 Fax: (416) 736-5814 From owner-SL-news Wed Jan 13 09:17:34 1993 Resent-Date: Wed, 13 Jan 93 14:17:34 EST Resent-From: owner-SL-news Resent-Message-Id: <199301131944.AA24448@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 13 Jan 1993 13:44:38 -0600 Message-Id: <199301131944.AA24441@umnstat.stat.umn.edu> Received: from vm1.yorku.ca by umnstat.stat.umn.edu; Wed, 13 Jan 1993 13:44:31 -0600 Received: from VM1.YorkU.CA by vm1.yorku.ca (IBM VM SMTP V2R1) with BSMTP id 1687; Wed, 13 Jan 93 14:41:35 EST Date: Wed, 13 Jan 93 14:17:34 EST From: Michael Friendly Subject: Compiling for NeXT, Chapter 2 To: Lisp Stat News , Hal_Varian@um.cc.umich.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Michael Friendly I've tried to compile xlispstat2.1R2 on the NeXT (NeXTstep 3.0) using the next.makefile (no changes) provided by Hal Varian in the .tar.Z file on sonata.cc.purdue.edu. (This does not attempt to compile for dynamic loading). When I do a make, CC (Gnu C, version 1.93, m68k, MIT syntax) gets hung trying to compile xljump.c. Neither I nor a local NeXT advisor can figure out why or what to do to correct this. If it makes any difference, I'm planning to use MouseX for X11, which has it's lib in the same place as co-Xist. If anyone has any suggestions, I'd be grateful for any help. Michael From udina@upf.es Wed Jan 20 05:05:55 1993 Received: from upf.es (io.upf.es) by umnstat.stat.umn.edu; Wed, 20 Jan 1993 05:05:55 -0600 Received: from libiya.upf.es by upf.es (4.1/SMI-4.1) id AA08053; Wed, 20 Jan 93 12:10:29 GMT Message-Id: <9301201210.AA08053@upf.es> Received: by libiya.upf.es (16.7/15.6) id AA02417; Wed, 20 Jan 93 12:06:16 GMT From: Frederic Udina Subject: optimizing by golden search To: SL-news-list@umnstat Date: Wed, 20 Jan 93 12:06:14 WET Expires: l Mailer: Elm [revision: 66.33] hello I have compiled xlispstat version 2.1R2 for unix on my HP-720 workstation. All works fine, xlispstat is a really reliable and complete language. I'm working in building a research environment for kernel density estimation. If someone is interested in it, let me know. Preliminaries to the question: When I tried to use the lispstat function golden-search, I got this: > (help 'golden-search) GOLDEN-SEARCH [function-doc] Args: (f a b &key start (tolerance .000001) (verbose nil)) F is a real valued function of one argument, A and B are real numbers. Uses a golden section search to locate the minimum of F. Convergence occurs roughly when the change in X is less than tolerance * (1 + x). Returns list of the form (X FX), with FX = (F X). Prints iteration information if VERBOSE is not NIL. NIL > (golden-search #'sin 3 6) error: unbound function - GOLDEN-SEARCH Well: golden-search has help string but it is not implemented. Looking at the code, I saw one solution. I have modified the Makefile file changing one line to: UCFLAGS = -DOPTIMIZE and now my recompiled xlispstat has golden-search defined and running. Does someone knows why it is necessary this trick? Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From owner-SL-news Fri Jan 22 05:40:21 1993 Resent-Date: Fri, 22 Jan 93 12:40:01 WET Resent-From: owner-SL-news Resent-Message-Id: <199301221140.AA21180@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 22 Jan 1993 05:40:21 -0600 Received: from upf.es (io.upf.es) by umnstat.stat.umn.edu; Fri, 22 Jan 1993 05:39:45 -0600 Received: from libiya.upf.es by upf.es (4.1/SMI-4.1) id AA09657; Fri, 22 Jan 93 12:44:22 GMT Message-Id: <9301221244.AA09657@upf.es> Received: by libiya.upf.es (16.7/15.6) id AA03737; Fri, 22 Jan 93 12:40:03 GMT From: Frederic Udina Subject: c code in HP-UX To: stat-lisp-news@umnstat Date: Fri, 22 Jan 93 12:40:01 WET Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hello Does someone have some experience in calling foreign routines from xlispstat running on HP-UX? I need to call some C routines to speed up my lispstat programs. Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From luke Thu Jan 28 08:00:14 1993 Resent-Date: Thu, 28 Jan 1993 14:00:14 -0600 Resent-Message-Id: <199301282000.AA29544@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 28 Jan 1993 14:00:17 -0600 Date: Thu, 28 Jan 1993 14:00:14 -0600 From: "Luke Tierney" Message-Id: <199301282000.AA29537@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 28 Jan 1993 14:00:14 -0600 To: stat-lisp-news@umnstat Subject: suggestions for next release of Lisp-Stat? Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" I am currently in the process of deciding what additions and modifications to make to Lisp-Stat. Before embarking on this, I thought I would ask if anyone who has used a version of the system has any comments or suggestions that might be helpful. I am particularly interested in hearing about: What additional statistical features would you find useful? What additional programming/language features would you find useful? Are there any projects you tried that turned out to be particularly difficult to implement? Are there any projects you tried that turned out to have particularly poor performance? There are some constraints on what can be done. In particular, if at all possible I want to make only changes that are backward compatible (so, for example, changing the object system to CLOS is not an option at this time). I also wont to keep the system reasonably small, and I want to be able to complete the revision in finite time. So I may not be able to accommodate all suggestions and requests, but I will make every effort to deal with the more popular ones. Thanks for your help. I will summarize responses to the mailing list. luke From owner-SL-news Fri Jan 29 04:41:07 1993 Resent-Date: Fri, 29 Jan 93 09:41:07 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199301291441.AA13535@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 29 Jan 1993 08:41:12 -0600 Received: from alfred.econ.lsa.umich.edu by umnstat.stat.umn.edu; Fri, 29 Jan 1993 08:41:09 -0600 Received: by alfred.econ.lsa.umich.edu (NX5.67c/1123-1.0(us)) id AA05244; Fri, 29 Jan 93 09:41:07 -0500 Date: Fri, 29 Jan 93 09:41:07 -0500 From: Hal Varian Message-Id: <9301291441.AA05244@alfred.econ.lsa.umich.edu> Received: by NeXT.Mailer (1.87.1) Received: by NeXT Mailer (1.87.1) To: stat-lisp-news@umnstat Subject: suggestions for next release of Lisp-Stat? Reply-To: Hal.Varian@umich.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Hal Varian > I am currently in the process of deciding what additions > and modifications to make to Lisp-Stat. Before > embarking on this, I thought I would ask if anyone who has > used a version of the system has any comments or > suggestions that might be helpful. > I would like to have a standardized way to handle missing data. I understand all too well the dangers of having a default that people mindlessly apply, but I think that it is necessary to have *some* default mechanism for those quick-and-dirty analyses that we are often called upon to do. Specifically, I would like to see a documented code for missing data (e.g., NA, ".", etc.) that is hopefully compatible with some other statistical packages. I would like to see missing data dealt with in a reasonable way in all the basic stat routines. Of course, the output should print a warning that some data is missing along with the degrees of freedom. --- Hal.Varian@umich.edu Hal Varian voice: 313-764-2364 Dept of Economics fax: 313-764-2364 Univ of Michigan Ann Arbor, MI 48109-1220 From owner-SL-news Mon Feb 1 20:06:03 1993 Resent-Date: 01 Feb 1993 13:06:03 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302010512.AA21046@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 31 Jan 1993 23:12:41 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Sun, 31 Jan 1993 23:12:37 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GU6PHRAT1C8ZJIS9@vx.cis.umn.edu>; Sun, 31 Jan 1993 23:15:27 CDT Received: by NUSVM (Mailer R2.03B) id 1278; Mon, 01 Feb 93 13:12:26 SST Date: 01 Feb 1993 13:06:03 +0700 (SST) From: Forrest Young Subject: FUNCTION FROM STRING To: Lisping Statistians Message-Id: <01GU6PHRAT1E8ZJIS9@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young I have a lisp programming problem I can't solve. I have a string, say "foo", and i have a function whose name is the same, say (foo). I wish to convert the string into the function name to be able to use the function name. That is, i want to be able to have a string-to-function function that will make (string-to-function "foo") be equivalent to (foo). I'll bet a wad of money that there is some magic Lisp function that does this (I just hope it isn't so obvious that I'll be embarassed). Anyone know the answer? Thanks... From owner-SL-news Mon Feb 1 20:13:40 1993 Resent-Date: 01 Feb 1993 13:13:40 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302010532.AA21107@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 31 Jan 1993 23:32:07 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Sun, 31 Jan 1993 23:32:04 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GU6Q6WEZF48ZJF6Q@vx.cis.umn.edu>; Sun, 31 Jan 1993 23:34:57 CDT Received: by NUSVM (Mailer R2.03B) id 1430; Mon, 01 Feb 93 13:31:48 SST Date: 01 Feb 1993 13:13:40 +0700 (SST) From: Forrest Young Subject: LUKES REQUEST... To: STAT-LISP-NEWS@umnstat Message-Id: <01GU6Q6WEZF68ZJF6Q@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Regarding Lukes question (perhaps public replies will generate some discussion of priorities). My list of what I would like done includes: 1) Compiler -- this is absolutely my top priority, as I have a lot of code that I would like to be able to compile. 2) Missing Values -- I'm not sure if this is second priorty, but its certainly near the top. 5) More efficient object system. When the number of objects gets large (100's, in my code) the system gets ramarkably slow. 6) A better MSWin implementation (many minor but annoying differences, bugs, and limitations when compared to the Mac and X11 versions): window placement/size is awkward; pop-up menus don't work; there is no *listener*; go-away nil doesn't work; dialog boxes not always right; "out of memory" problems ... 7) Support for text windows in X11 and MSWIN versions. 6) Vectors in Plots (not just lines, but vectors with ends that can be labled, dragged, hidden, etc., just like points). 7) More complete set of string functions. Xlisp seems to be an especially incomplete subset of Common Lisp here. From udina@upf.es Mon Feb 1 04:53:37 1993 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Mon, 1 Feb 1993 04:53:37 -0600 Received: from libiya.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA05673; Mon, 1 Feb 93 11:58:17 GMT Message-Id: <9302011158.AA05673@io.upf.esupf.es> Received: by libiya.upf.es (16.7/15.6) id AA07631; Mon, 1 Feb 93 11:53:42 GMT From: udina@upf.es Date: Mon, 1 Feb 93 11:53:32 WET To: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu (Forrest Young) Subject: Re: FUNCTION FROM STRING In-Reply-To: <01GU6PHRAT1E8ZJIS9@vx.cis.umn.edu>; from "Forrest Young" at Feb 01, 93 1:06 pm ~~ ~~I have a lisp programming problem I can't solve. ~~I have a string, say "foo", and i have a function whose name is the same, ~~say (foo). I wish to convert the string into the function name to be able to ~~use the function name. That is, i want to be able to have a string-to-function ~~function that will make (string-to-function "foo") be equivalent to (foo). ~~I'll bet a wad of money that there is some magic Lisp function that does this ~~(I just hope it isn't so obvious that I'll be embarassed). ~~Anyone know the answer? Thanks... ~~ Can the following code do the job? ---------------------------------------------------- (defun test () (print "this is the test function")) (defun string-to-function (name) (with-input-from-string (str (concatenate 'string "(" name ")" )) (eval (read str)))) ---------------------------------------------------- this is what you get when you run it: > (string-to-function "test") "this is the test function" "this is the test function" Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From fed!m1phm02@uunet.UU.NET Mon Feb 1 10:52:56 1993 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Mon, 1 Feb 1993 11:08:07 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA19267; Mon, 1 Feb 93 12:08:10 -0500 Received: from fed.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 120609.3927; Mon, 1 Feb 1993 12:06:09 EST Received: from mfsss1.FRB.GOV by fed.FRB.GOV (4.1/SMI-4.0) id AA00941; Mon, 1 Feb 93 10:47:47 GMT Received: from localhost by mfsss1.FRB.GOV (4.1/SMI-4.0) id AA20730; Mon, 1 Feb 93 15:52:57 GMT Message-Id: <9302011552.AA20730@mfsss1.FRB.GOV> To: SL-news-list@umnstat Subject: Re: LUKES REQUEST... In-Reply-To: Your message of 01 Feb 93 13:13:40 +0700. <01GU6Q6WEZF68ZJF6Q@vx.cis.umn.edu> Date: Mon, 01 Feb 93 10:52:56 +0000 From: Patrick McAllister My opinions regarding some of Forrest Young's suggestions: Regarding Lukes question (perhaps public replies will generate some discussion of priorities). My list of what I would like done includes: 1) Compiler -- this is absolutely my top priority, as I have a lot of code that I would like to be able to compile. It is pretty unlikely that you will get this without starting from scratch using a full Common Lisp implementation in place of XLISP. Lisp compilers are HARD to write (as demonstrated by the fact that it was about 20 years from the first interpreter to the first compiler), and I haven't heard about anyone working on one for XLISP. . . . 6) A better MSWin implementation (many minor but annoying differences, bugs, and limitations when compared to the Mac and X11 versions): window placement/size is awkward; pop-up menus don't work; there is no *listener*; go-away nil doesn't work; dialog boxes not always right; "out of memory" problems ... Some of these problems are pretty much inherent to Messy Win, at least in its current incarnation. Most notable of them is the "out of memory" problem, which is related to 16bit-ness. A Win32 implementation would probably be much better in this respect. The 16bit Win implementation also appears to impose an enormous speed penalty. I have been working on a version for OS/2 2.0; it does computationally-intensive tasks in about 1/3 the time, and that is largely without code optimization. I don't know what bothers you about window placement -- my main complaint is the whole structure of the Win Multiple Document Interface, which there is not much that an application can do anything about. Similarly, the use of drop-downs rather than pop-ups seems to be very difficult to work around in Windows. On the whole, I suspect that the best way to solve the problems with the MSWin implementation is to get rid of MSWin. Pat From owner-SL-news Mon Feb 1 10:54:04 1993 Resent-Date: Mon, 1 Feb 1993 15:54:04 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199302012055.AA23376@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 1 Feb 1993 14:55:16 -0600 Received: from jeeves.uwaterloo.ca by umnstat.stat.umn.edu; Mon, 1 Feb 1993 14:54:45 -0600 Received: by jeeves.uwaterloo.ca id <597>; Mon, 1 Feb 1993 15:54:17 -0500 From: Greg Anglin To: stat-lisp-news@umnstat Subject: Re: FUNCTION FROM STRING Cc: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu, udina@upf.es Message-Id: <93Feb1.155417est.597@jeeves.uwaterloo.ca> Date: Mon, 1 Feb 1993 15:54:04 -0500 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Greg Anglin >>I have a lisp programming problem I can't solve. >>I have a string, say "foo", and i have a function whose name is the same, >>say (foo). I wish to convert the string into the function name to be able to >>use the function name. That is, i want to be able to have a string-to-function >>function that will make (string-to-function "foo") be equivalent to (foo). >>I'll bet a wad of money that there is some magic Lisp function that does this >>(I just hope it isn't so obvious that I'll be embarassed). >>Anyone know the answer? Thanks... >Can the following code do the job? > >---------------------------------------------------- >(defun test () (print "this is the test function")) > >(defun string-to-function (name) > (with-input-from-string > (str (concatenate 'string "(" name ")" )) > (eval (read str)))) >---------------------------------------------------- I'm not sure about in LispStat, but in Common Lisp one might alternatively do (defun string-to-function (name &rest args) (apply (symbol-function (read-from-string name)) args)) Greg Anglin Statistical Computing Laboratory University of Waterloo dganglin@jeeves.uwaterloo.ca From owner-SL-news Mon Feb 1 11:26:38 1993 Resent-Date: Mon, 01 Feb 93 16:26:38 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199302012131.AA23548@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 1 Feb 1993 15:31:43 -0600 Message-Id: <199302012131.AA23539@umnstat.stat.umn.edu> Received: from KARIBA.BBN.COM by umnstat.stat.umn.edu; Mon, 1 Feb 1993 15:31:37 -0600 To: Greg Anglin Cc: stat-lisp-news@umnstat, ECSFWY%NUSVM.BITNET@vw.cis.umn.edu, udina@upf.es Subject: Re: FUNCTION FROM STRING In-Reply-To: Your message of Mon, 01 Feb 93 15:54:04 -0500. <93Feb1.155417est.597@jeeves.uwaterloo.ca> Date: Mon, 01 Feb 93 16:26:38 -0500 From: kanderso@BBN.COM Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kanderso@BBN.COM From: Greg Anglin To: stat-lisp-news@umnstat.stat.umn.edu Subject: Re: FUNCTION FROM STRING Cc: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu, udina@upf.es Date: Mon, 1 Feb 1993 15:54:04 -0500 Errors-To: owner-SL-news@umnstat.stat.umn.edu >>I have a lisp programming problem I can't solve. >>I have a string, say "foo", and i have a function whose name is the same, >>say (foo). I wish to convert the string into the function name to be able to >>use the function name. That is, i want to be able to have a string-to-function >>function that will make (string-to-function "foo") be equivalent to (foo). >>I'll bet a wad of money that there is some magic Lisp function that does this >>(I just hope it isn't so obvious that I'll be embarassed). >>Anyone know the answer? Thanks... >Can the following code do the job? > >---------------------------------------------------- >(defun test () (print "this is the test function")) > >(defun string-to-function (name) > (with-input-from-string > (str (concatenate 'string "(" name ")" )) > (eval (read str)))) >---------------------------------------------------- I'm not sure about in LispStat, but in Common Lisp one might alternatively do (defun string-to-function (name &rest args) (apply (symbol-function (read-from-string name)) args)) Rather than read-from-string, i'd use INTERN. INTERN takes an optional package argument which is implied in READ-FROM-STRING. k From fed!m1phm02@uunet.UU.NET Mon Feb 1 17:29:43 1993 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Mon, 1 Feb 1993 16:37:29 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA19243; Mon, 1 Feb 93 17:37:21 -0500 Received: from fed.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 173636.1395; Mon, 1 Feb 1993 17:36:36 EST Received: from mfsss1.FRB.GOV by fed.FRB.GOV (4.1/SMI-4.0) id AA06721; Mon, 1 Feb 93 17:24:33 GMT Received: from localhost by mfsss1.FRB.GOV (4.1/SMI-4.0) id AA22600; Mon, 1 Feb 93 22:29:44 GMT Message-Id: <9302012229.AA22600@mfsss1.FRB.GOV> To: SL-news-list@umnstat Subject: Re: FUNCTION FROM STRING In-Reply-To: Your message of Mon, 01 Feb 93 16:26:38 -0500. <199302012131.AA23539@umnstat.stat.umn.edu> Date: Mon, 01 Feb 93 17:29:43 +0000 From: Patrick McAllister I'm not sure about in LispStat, but in Common Lisp one might alternatively do (defun string-to-function (name &rest args) (apply (symbol-function (read-from-string name)) args)) Rather than read-from-string, i'd use INTERN. INTERN takes an optional package argument which is implied in READ-FROM-STRING. Furthermore, XLISP doesn't have READ-FROM-STRING but it does have INTERN. My solution was (defun string-to-function (str) (symbol-function (intern (string-upcase (string-trim "|" str))))) (The string-* stuff is needed to get around the peculiar way in which strings are stored internally in XLISP.) From almond@statsci.com Mon Feb 1 06:55:39 1993 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 1 Feb 1993 17:22:21 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA00836; Mon, 1 Feb 93 18:22:11 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 182007.17446; Mon, 1 Feb 1993 18:20:07 EST Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA02713; Mon, 1 Feb 93 14:53:50 PST Received: by bass.statsci.com (4.1/SMI-4.1) id AA10648; Mon, 1 Feb 93 14:55:39 PST Date: Mon, 1 Feb 93 14:55:39 PST From: almond@statsci.com (Russell G. Almond) Message-Id: <9302012255.AA10648@bass.statsci.com> To: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu Cc: SL-news-list@umnstat In-Reply-To: Forrest Young's message of 01 Feb 1993 13:06:03 +0700 (SST) <199302010512.AA21046@umnstat.stat.umn.edu> Subject: FUNCTION FROM STRING Forest, the function you're missing is #'intern. Intern takes a string (and in ANSI Common Lisp an optional package) and returns a symbol with that print name. This will fetch the symbol associated with the string. Warning: the internal forms of most Common Lisp symbols are internally stored in all upper case. So you will want to force the string to upper case. Thus the code I would write to solve your problem is: > (defun string-to-fun (str) (symbol-function (intern (string-upcase str))) ) STRING-TO-FUN A few tests: > (string-to-fun "car") # > (string-to-fun "xx?") error: unbound function - XX? The other alternative is to use #'read-from-string to handle the conversion. This will make the case behavior indentical to common lisp. But you need to watch out for strings like "(1 2" and "#" which will cause errors and "#.(trash-the-disk)" which could have disasterous side effects. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From owner-SL-news Tue Feb 2 06:13:10 1993 Resent-Date: Tue, 2 Feb 93 14:13:10 -0800 Resent-From: owner-SL-news Resent-Message-Id: <199302022213.AA27084@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 2 Feb 1993 16:13:14 -0600 Received: from louise.stat.washington.edu by umnstat.stat.umn.edu; Tue, 2 Feb 1993 16:13:11 -0600 Received: by louise.stat.washington.edu (5.65/UW-NDC Revision: 2.26 ) id AA12087; Tue, 2 Feb 93 14:13:10 -0800 Date: Tue, 2 Feb 93 14:13:10 -0800 From: kilroy@stat.washington.edu Message-Id: <9302022213.AA12087@louise.stat.washington.edu> To: stat-lisp-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kilroy@stat.washington.edu I have been using Lisp-Stat for my dissertation research, and if I could have whatever I wanted right now... 1) a compiler or is it possible to write a translator to translate lisp functions to C and then compile the C code? 2) better control over memory allocation and garbage collection I would like to have more control over garbage collection parameters. I have noticed on many occasions that after a few garbage collections, some of my functions and variable bindings disappear mysteriously. After loading functions and binding variables, I start getting error: unbound function - ... and error: unbound variable - ... on functions and variables I could have absolutely sworn on a stack of Lisp-Stat manuals that I had loaded. So there's a glitch in the garbage collection somewhere... I would like to have more control over memory allocation parameters. Forrest Young states "More efficient object system. When the number of objects gets large (100's, in my code) the system gets ramarkably slow." I have speeded up code considerably by using the (expand ...) function, try > (expand 200) etc. and see if that speeds up your code any. It took me months to learn this little tidbit, there is a small reference in the back of the book (p 369) to this function. I also tried the (alloc ...) function, but this never seemed to have any noticeable effect on performance speed. I wish I could control stack depth without recompiling the whole lisp-stat system. I don't seem to be able to work on data sets of a thousand or more observations, I keep getting "stack-depth" errors when I try to read in long data lists. 3) Graphical control I would like to be able to control the bitmap dumps to screen for functions generating output to graphics windows. Presumably intermediate bitmap calculations are buffered somewhere then dumped periodically to the window, but I don't know how to control this. More documentation (of lower-level functions) and more functions to allow the user to design graphics windows, dialogues and other graphics for new applications. 4) Quick interface with math package functions I modified some code from Wayne Olford at the University of Waterloo (his Common-Lisp to S package) into a Lisp-Stat package (my xlisp-s package, available from statlib@lib.stat.cmu.edu) so I can access all the S functions. This is great, the combination of object-oriented lisp programming, Lisp-Stat graphics and the library of S functions yields a powerful statistical computing engine, albeit a bit slower than I'd like. I suspect there's some lisp or C coding that would allow much more direct access to S functions than the mechanisms in the xlisp-S code, as well as to fortran and other library routines. 5) Access to Unix I'd like to be able to interface with Unix so as to control and manipulate files and other Unix system stuff. The lisp-stat (system...) function sends commands off to Unix, but I can't get Unix output piped back into Lisp. One example: > (setq directory (system "pwd")) /home2/kilroy/thesis 0 > directory 0 I wish that the system function could get that path and stick it in the directory variable so I could control file i/o better. There are several other Unix functions that I'd like the output from... Of course no matter how hard Luke works on this we will all still have wish lists, these wishes of mine are in no way meant as complaints. The Lisp-Stat system as a whole is a remarkable system for exploring new graphical and object-oriented statistical methods. Thank you Luke. \`|'/ (. .) ---uuu-U-uuu--- kilroy was here From owner-SL-news Wed Feb 3 19:18:27 1993 Resent-Date: 03 Feb 1993 12:18:27 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302030423.AA27850@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 2 Feb 1993 22:23:07 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Tue, 2 Feb 1993 22:23:05 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GU9GD3EEOW8ZJY7G@vx.cis.umn.edu>; Tue, 2 Feb 1993 22:25:59 CDT Received: by NUSVM (Mailer R2.03B) id 1695; Wed, 03 Feb 93 12:22:38 SST Date: 03 Feb 1993 12:18:27 +0700 (SST) From: Forrest Young Subject: SOLUTIONS TO MY PROBLEM To: STAT-LISP-NEWS@umnstat Message-Id: <01GU9GD3EOC28ZJY7G@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Thanks for all of your replies. The replies fell into two groups: 1) (funcall (symbol-function (intern (string-upcase "foo")))) 2) (with-input-from-string (str "(foo)")(eval (read str))) In the meantime, I came up with my own, slightly different solution: 3) (eval (read (make-string-input-stream "(foo)"))) which has the disadvantage, compared with solution 2 (if I read Steele right) that #3 leaves the stream open, whereas #2 leaves it closed. In any case, I think I prefer 2. It is closest to what I originally tried, which was the same but omitted symbol-function, which I didn't know about. Thanks again...Forrest Young From owner-SL-news Wed Feb 3 11:49:08 1993 Resent-Date: Wed, 3 Feb 93 11:39:08+010 Resent-From: owner-SL-news Resent-Message-Id: <199302031040.AA28720@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 3 Feb 1993 04:40:53 -0600 Received: from faui45.informatik.uni-erlangen.de by umnstat.stat.umn.edu; Wed, 3 Feb 1993 04:39:40 -0600 Received: from faui78.informatik.uni-erlangen.de by uni-erlangen.de with SMTP; id AA09340 (5.65c-5/7.3q-FAU); Wed, 3 Feb 1993 11:39:21 +0100 Received: from faui78t.informatik.uni-erlangen.de by immd7.informatik.uni-erlangen.de with SMTP (5.64+/7.3h-FAU) id AA06131; Wed, 3 Feb 93 11:39:22 +0100 From: Winfried Dulz Message-Id: <9302031039.AA06131@faui78.informatik.uni-erlangen.de> Date: Wed, 3 Feb 93 11:39:08+010 To: STAT-LISP-NEWS@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Winfried Dulz In his recommendations for extended Xlispstat functionality kilroy wrote >> 5) Access to Unix >> >> I'd like to be able to interface with Unix so as to control and >> manipulate files and other Unix system stuff. The lisp-stat >> (system...) function sends commands off to Unix, but I can't get Unix >> output piped back into Lisp. One example: >> > (setq directory (system "pwd")) >> /home2/kilroy/thesis >> 0 >> directory >> 0 >> I wish that the system function could get that path and stick it in >> the directory variable so I could control file i/o better. There are >> several other Unix functions that I'd like the output from... One possible (quick-and-dirty and not very efficient) solution is the following function: ;******************************************************************************* ; Read result of UNIX system call and return string of result ;******************************************************************************* (defun read-system (command &aux string ) (let ((result (with-output-to-string (string) (system command string) string))) (coerce (reverse (rest (reverse (coerce result 'list)))) 'string ))) ;******************************************************************************* I also wish to thank Luke for his wonderful tool. I have got some experiences with other packages (Old S, New S, ...) and believe the object-oriented approach is the only way "not to get lost in the mud of exponential growing special purpose software solutions". If there is a chance to get more efficient objects, e.g compiling or explicit control of the runtime stack, I would agree in correspondence with other recommendations to give this task the highest priority. By the way, are there any other "Build-on-Top-of-Xlispstat" special purpose extensions like ElToy? I am especially interested in simulation and modeling approaches that are based on Bernard Zeigler's DEVS theory. We have developed an environment called "Worklab" for infering regular stochastic grammars and automata from measured event traces. Using a grammar-based load generator it is possible to generate more realistic load patterns for performance evaluation studies of (communication) systems. ----------------------------------------------------------------------- | Winfried Dulz | | | | University of Erlangen-Nuremberg | | Institute of Computer Science | | Chair for Computer Architecture and | | Performance Evaluation | | | | Martensstr. 3 | | W-8520 Erlangen | | Deutschland | | | | Phone *9131 85 7929 | | FAX *9131 39388 | | E-Mail dulz@informatik.uni-erlangen.de | | X.400 /C=de/A=dbp/P=uni-erlangen | | /OU=informatik/S=dulz/ | ----------------------------------------------------------------------- From owner-SL-news Wed Feb 3 00:34:18 1993 Resent-Date: Wed, 3 Feb 93 8:34:18 PST Resent-From: owner-SL-news Resent-Message-Id: <199302031841.AA29843@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 3 Feb 1993 12:41:41 -0600 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Wed, 3 Feb 1993 12:41:33 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA24455; Wed, 3 Feb 93 12:37:09 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 123405.10199; Wed, 3 Feb 1993 12:34:05 EST Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA22544; Wed, 3 Feb 93 08:34:02 PST Received: by bass.statsci.com (4.1/SMI-4.1) id AA26668; Wed, 3 Feb 93 08:34:19 PST From: phil@statsci.com (Phil Neal) Message-Id: <9302031634.AA26668@bass.statsci.com> Subject: How to do a dyn-load ? To: STAT-LISP-NEWS@umnstat Date: Wed, 3 Feb 93 8:34:18 PST X-Mailer: ELM [version 2.3 PL11] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: phil@statsci.com (Phil Neal) Dear xlispstat people, I am running xlispstat on a Sun Sparc II with X11. My console is on a hp computer. I am trying to get dyn-load to work. Here is what happens: > (dyn-load "/herb/users/phil/AdVISE/foo.o") first ld pass ld -d -N -x -A /herb/users/phil/AdVISE/xlispstat/xlisp -T 2d7000 /herb/users/phil/AdVISE/foo.o -lm -lc -o /tmp/xlispdyn26548 ld: -ldl: No such file or directory error: link failed > > (system "ls *.o") foo.o 0 > (system "pwd") /herb/users/phil/AdVISE 0 > I am looking at the xsdynload.c code but I don't find an error message that matches "No such file or directory" so I assume the error message is coming from ld. Any insights would be appreciated. Thanks, Phil Neal From owner-SL-news Wed Feb 3 18:38:47 1993 Resent-Date: 03 Feb 1993 23:38:47 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199302040737.AA01747@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 4 Feb 1993 01:37:07 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 4 Feb 1993 01:37:04 -0600 Received: from UTCVM.BITNET (MAILER@UTCVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GUB1EXXS008ZKFX6@vx.cis.umn.edu>; Thu, 4 Feb 1993 01:39:57 CDT Received: from UTCVM (GHONG) by UTCVM.BITNET (Mailer R2.08) with BSMTP id 3602; Thu, 04 Feb 93 01:00:31 EST Date: 03 Feb 1993 23:38:47 -0500 (EST) From: Rich Faldowski Subject: Wishes To: LispStat News Mailing List Message-Id: <01GUB1EXXS028ZKFX6@vx.cis.umn.edu> X-Envelope-To: lisp-stat-news@umnstat.stat.umn.edu Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Rich Faldowski LispStat Lispers, In response to Luke's call for suggestions on potential additions and modifications to LispStat, my top priorities would be: (1) A compiler !!! (getting fantasies out of the way first) (2) A 3rd version of Mac LispStat which takes advantage of the Quadra's 040 processing capabilities. (3) A "vector" data type in plots. "Vectors", which probably should be implemented in C, are directed line segments drawn from the origin of a plot to the vector's coordinates. They should support all of the manipulation features of points (ie. labeling, coloring, hiding, ...) plus a capacity to be rescaled independently from the scalings of the current plot dimensions. It would also be useful to permit them to be added to plots in either the original or scaled coordinate systems. (4) An object template for multiplot displays containing its own menu plus a set of plots. The plots all operate as their own prototypes would dictate, however, all the plots united in the template would share the same data. Thus, say all the plots were displaying aspects of a statistical model. If the model were altered, then it would only necessitate changing a single copy of the data and redrawing all the plot in order to update the displays. Of course, the latter two suggestions can be juryrigged under the current LispStat system, but its a recipe for inefficiency. Comments on some of the other suggestions: (1) Several comments regarding a need for missing data capabilities. It sounds like what is needed is not so much a formula for handling missing values per se, but a protocol for specifying and identifying them. A simple implementation of this idea might involve defining a global constant containing a prefix used in identifying a diversity of different types of specific missing values. Coupled with a function designed to search for the missing value prefix and act according to a users specificat when one is located, this scheme might go some way toward addressing the "wishes" without writing missing value treatment into Lisp-stone. (2) Regarding Forrest Young's comments on the "Joys of LispStat under Windows" Ditto Patrick McAllister's reponse. (After all, how often are commercial software companies so magnanimous that they virtually give away their sterling product on such a global scale?) (3) Regarding Kilroy's comments on memory management. On occasion, I've noted the same problems he has had with losing fuctions and variable bindings, but it sounds like he's made more progress in tracking it down than I've been able to. I also share his interest in learning more about the effect of ALLOC. Along similar lines, the LispStat editor contains glitch in that it is possible to open a file, make a number of minor alterations, and then close the file window w/out being prompted to save the changes. Changes aren't saved. This seems to be related to byte count of the file remaining constant (???). Rich Faldowski From owner-SL-news Thu Feb 4 05:38:04 1993 Resent-Date: Thu, 4 Feb 93 12:37:23 WET Resent-From: owner-SL-news Resent-Message-Id: <199302041138.AA02206@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 4 Feb 1993 05:38:04 -0600 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Thu, 4 Feb 1993 05:37:23 -0600 Received: from libiya.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA08984; Thu, 4 Feb 93 12:42:05 GMT Message-Id: <9302041242.AA08984@io.upf.esupf.es> Received: by libiya.upf.es (16.7/15.6) id AA10151; Thu, 4 Feb 93 12:37:24 GMT From: Frederic Udina Subject: re: suggestions for next release of lisp-stat To: stat-lisp-news@umnstat (lisp stat list) Date: Thu, 4 Feb 93 12:37:23 WET Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina Here are some comments I have sended to Luke Tierney ~~ ~~I am currently in the process of deciding what additions and ~~modifications to make to Lisp-Stat. Before embarking on this, I ~~thought I would ask if anyone who has used a version of the system has ~~any comments or suggestions that might be helpful. I am particularly ~~interested in hearing about: ~~ This is a really great new. I'm currently working hard with xlispstat on Macintosh and a unix HP-700 workstation. I will try to report some reply to your questions. ~~ What additional statistical features would you find useful? ~~ Some basic techniques of multivariate analysis, as principal components, correspondance analysis, ... In the graphical interface tools, I think the control of the apearance of the graphs can be improved. I give some examples: - I will like to be able to decide if the labels on the y-axis must appear horizontally or vertically, to include minor ticks without label, - Working with windows, I have not been able to implement activate-dependent actions. I mean, for example, be able to detect when a window is going to the front. Perhaps some window must send other windows a :show-window or :redraw message... I dont'know if this is done using the 'subordinates slot, but I have don't found any documentation about it. - The mouse-modes mechanism for graph-proto is really good, but I don't like to have to open the modal dialog for changing the mouse-mode. Perhaps an overlay mechanism would be better. I have done it in lisp, I can send the program if you want it. I have included a dirty zoom-in/zoom-out mouse-mode in lisp. I think it is very useful. - For slider objects, it will be fine to have a :while-scroll-action method that would be called also while you drag the slider thumb. - When a graph-proto contains more than two variables, I think it will be fine to have the possibility to automatically split the window in several panes showing the bivariate graphs (lines or scatterplots or anything) comparing the first variable to the other ones. - When building a new prototype containing a window with his own menu, I have found a little dificult to build menu items that send messages to his own window if it is not contained in a global variable. I think a menu-item object must contain slots like 'target-object and 'message-to-send. - It will be fine to have an adaptive sampling algorithm for plotting functions. ~~ What additional programming/language features would you find useful? ~~ I think a lisp-compiler and included C-compiler are necessary. I don't know if you plan to port lisp-stat to kyoto common lisp. These are my first on-the-fly suggestions. I know some of them are not easy to implement... Thank you for getting it all working Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 -- Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From owner-SL-news Thu Feb 4 03:49:22 1993 Resent-Date: Thu, 4 Feb 93 08:49:22 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199302041349.AA02493@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 4 Feb 1993 07:49:25 -0600 Received: from alfred.econ.lsa.umich.edu by umnstat.stat.umn.edu; Thu, 4 Feb 1993 07:49:23 -0600 Received: by alfred.econ.lsa.umich.edu (NX5.67c/1123-1.0(us)) id AA01251; Thu, 4 Feb 93 08:49:22 -0500 Date: Thu, 4 Feb 93 08:49:22 -0500 From: Hal Varian Message-Id: <9302041349.AA01251@alfred.econ.lsa.umich.edu> Received: by NeXT.Mailer (1.87.1) Received: by NeXT Mailer (1.87.1) To: Subject: missing data Reply-To: Hal.Varian@umich.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Hal Varian > (1) Several comments regarding a need for missing data capabilities. > > It sounds like what is needed is not so much a formula for handling > missing values per se, but a protocol for specifying and identifying them. > A simple implementation of this idea might involve defining a global > constant containing a prefix used in identifying a diversity of different > types of specific missing values. Coupled with a function designed to > search for the missing value prefix and act according to a users specificat > when one is located, this scheme might go some way toward addressing > the "wishes" without writing missing value treatment into Lisp-stone. > Yes. The main thing is to have a flexible protocol. The next thing is to have a sensible default value for missing data. The third thing is to have a default in some of the standard stat packages (regression, anova) for quick-and-dirty estimation. Maybe it would make sense to have a "hook" for preprocessing the data. If the hook is "true" the data would be run through "remove-missing-data" before being fed to estimation routines. One could imagine other treatments in different contexts, of course, but having a data pre-processor would allow considerable flexibility. --- Hal.Varian@umich.edu Hal Varian voice: 313-764-2364 Dept of Economics fax: 313-764-2364 Univ of Michigan Ann Arbor, MI 48109-1220 From owner-SL-news Sat Feb 6 01:21:17 1993 Resent-Date: Sat, 6 Feb 1993 01:21:17 GMT Resent-From: owner-SL-news Resent-Message-Id: <199302060850.AA09044@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 6 Feb 1993 02:50:31 -0600 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Sat, 6 Feb 1993 02:50:28 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA23576; Sat, 6 Feb 93 03:50:27 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 034947.29917; Sat, 6 Feb 1993 03:49:47 EST Received: from arugula by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA17941; Fri, 5 Feb 93 17:21:01 PST Received: by arugula (16.7/16.2) id AA15987; Fri, 5 Feb 93 20:20:19 -0500 Newsgroups: lists.statlisp Path: almond From: almond@statsci.com (Russell G. Almond) Subject: Menu-item slots. In-Reply-To: udina@upf.es's message of 4 Feb 93 10:37:23 GMT Message-Id: Sender: usenet@statsci.com (Usenet News Account) Organization: Statistical Sciences, Inc., Seattle, WA USA References: <9302041242.AA08984@io.upf.esupf.es> Date: Sat, 6 Feb 1993 01:21:17 GMT Lines: 64 Apparently-To: lists-statlisp@mailhost Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) - When building a new prototype containing a window with his own menu, I have found a little dificult to build menu items that send messages to his own window if it is not contained in a global variable. I think a menu-item object must contain slots like 'target-object and 'message-to-send. This can be done easily with the current lisp. You just need to use functional closures. (defmeth my-window :isnew (me &rest args) ;; Some random initialization stuff (let ((window-data (...)))) (let ((frob-menu-item (send menu-item-proto :new "Frob" :action #'(lambda () (send me :frob window-data)))) ) ... When Lisp gets builds the frob-menu-item, the value to put in the action slot is the result of evaluating (function (lambda () (send me :frob))). (#' is a reader macro for function). The function special form in not quite like ' because it produces lexical closures. Essentially, it preserves the lexical environment. In essence, it preserves the bindings to me (the window object) and ( whatever you set window-data to). Thus there is no reason to set a global variable, it is encapuslated in the function closure. The closure is preserved even after the function returns. As another example, consider the function: (defun make-account (balance) #'(lambda (action &optional amount) (case action (:balance balance) (:deposit (setf balance (+ balance amount))) (:withdraw (setf balance (- balance amount))) (t (error "Unrecognized command ~S" action))))) > (setf (symbol-function 'my-account) (make-account 100)) # > (my-account :balance) 100 > (my-account :deposit 50) 150 > (my-account :withdraw 75) 75 > (my-account :balance) 75 Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From fed!m1phm02@uunet.UU.NET Mon Feb 8 06:35:18 1993 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 8 Feb 1993 11:31:14 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA01160; Mon, 8 Feb 93 12:31:12 -0500 Received: from fed.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 123007.1096; Mon, 8 Feb 1993 12:30:07 EST Received: from mfsss1.FRB.GOV by fed.FRB.GOV (4.1/SMI-4.0) id AA00944; Mon, 8 Feb 93 11:30:05 GMT Received: from localhost by mfsss1.FRB.GOV (4.1/SMI-4.0) id AA01438; Mon, 8 Feb 93 16:35:24 GMT Message-Id: <9302081635.AA01438@mfsss1.FRB.GOV> To: SL-news-list@umnstat Subject: Re: Menu-item slots. In-Reply-To: Your message of Sat, 06 Feb 93 01:21:17 +0000. Date: Mon, 08 Feb 93 11:35:18 -0500 From: Patrick McAllister Russell Almond's observations on building a menu item to send a message to the current object are excellent (as usual). One device that I use to make the process a little clearer if the action is somewhat complex is using a macro to construct it, rather than putting all the code in directly. For example, an action that needs to send messages to two different objects, with one message containing the results of another: (defmacro display-results (display-ob regr-ob) `(lambda () (send ,display-ob :strings (send ,regr-ob :get-display)) (send ,display-ob :redraw))) is then utilized by: ... (send menu-item-proto :new "Display results" :action (display-results display-ob self))) ... This approach is also useful if similar messages must be constructed in several different places, etc. Pat From almond@statsci.com Mon Feb 8 04:37:27 1993 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 8 Feb 1993 15:17:52 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA23390; Mon, 8 Feb 93 16:17:47 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 161525.19760; Mon, 8 Feb 1993 16:15:25 EST Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA01916; Mon, 8 Feb 93 12:37:03 PST Received: by bass.statsci.com (4.1/SMI-4.1) id AA06917; Mon, 8 Feb 93 12:37:27 PST Date: Mon, 8 Feb 93 12:37:27 PST From: almond@statsci.com (Russell G. Almond) Message-Id: <9302082037.AA06917@bass.statsci.com> To: m1phm02@statsci.com Cc: SL-news-list@umnstat In-Reply-To: Patrick McAllister's message of Mon, 08 Feb 93 11:35:18 -0500 <9302081635.AA01438@mfsss1.FRB.GOV> Subject: Menu-item slots. Patrick McAllister writes the following macro for building the menu item. (defmacro display-results (display-ob regr-ob) `(lambda () (send ,display-ob :strings (send ,regr-ob :get-display)) (send ,display-ob :redraw))) is then utilized by: ... (send menu-item-proto :new "Display results" :action (display-results display-ob self))) ... Shouldn't that be: (defmacro display-results (display-ob regr-ob) `(function (lambda () (send ,display-ob :strings (send ,regr-ob :get-display)) (send ,display-ob :redraw)))) i.e., wrapped in a function special form to produce the lexical closure? Some older lisps (especially Scheme) use Lambda to create closures, xlisp may as well. On the other hand, the current ANSI Common LISP draft is pretty millitant about making a distinction between lambda expressions and functions. The former need to be closed before they can be applied. Even if there is no effective difference, I would add the function as being stylistically preferable. --Russell From owner-SL-news Tue Feb 9 03:36:53 1993 Resent-Date: Tue, 9 Feb 1993 03:36:53 GMT Resent-From: owner-SL-news Resent-Message-Id: <199302090417.AA17566@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 8 Feb 1993 22:17:20 -0600 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Mon, 8 Feb 1993 22:17:07 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA26648; Mon, 8 Feb 93 23:17:13 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 231640.10935; Mon, 8 Feb 1993 23:16:40 EST Received: from arugula by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA00269; Mon, 8 Feb 93 19:36:35 PST Received: by arugula (16.7/16.2) id AA15671; Mon, 8 Feb 93 22:35:54 -0500 Newsgroups: lists.statlisp Path: almond From: almond@statsci.com (Russell G. Almond) Subject: Re: Menu-item slots. In-Reply-To: almond@statsci.com's message of 8 Feb 93 20:37:27 GMT Message-Id: Sender: usenet@statsci.com (Usenet News Account) Organization: Statistical Sciences, Inc., Seattle, WA USA References: <9302081635.AA01438@mfsss1.FRB.GOV> <9302082037.AA06917@bass.statsci.com> Date: Tue, 9 Feb 1993 03:36:53 GMT Lines: 86 Apparently-To: lists-statlisp@mailhost Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) I (Russell G. Almond) writes: Patrick McAllister writes the following macro for building the menu item. (defmacro display-results (display-ob regr-ob) `(lambda () (send ,display-ob :strings (send ,regr-ob :get-display)) (send ,display-ob :redraw))) is then utilized by: ... (send menu-item-proto :new "Display results" :action (display-results display-ob self))) ... Shouldn't that be: (defmacro display-results (display-ob regr-ob) `(function (lambda () (send ,display-ob :strings (send ,regr-ob :get-display)) (send ,display-ob :redraw)))) i.e., wrapped in a function special form to produce the lexical closure? Some older lisps (especially Scheme) use Lambda to create closures, xlisp may as well. On the other hand, the current ANSI Common LISP draft is pretty millitant about making a distinction between lambda expressions and functions. The former need to be closed before they can be applied. Even if there is no effective difference, I would add the function as being stylistically preferable. --Russell Oops. I need to double check my facts before I post. A series of messages and experiments with Patrick reveals that he was partially right and I was partially wrong on this one. The lambda expression implies the closure, not the function special form. In Xlisp, (lambda (x) (+ x 3)) and #'(lambda (x) (+ x 3)) both produce closures. Thus in xlisp (funcall (lambda (x) (+ x 3)) 5) and (funcall #'(lambda (x) (+ x 3)) 5) both produce 8, as does: (funcall '(lambda (x) (+ x 3)) 5) Note that the latter is considered depriciated by most of the LISP community. In fact, the X3J13 report definitely states that the list '(lambda (x) (+ x 3)) is *not* a function (i.e., (functionp '(lambda (x) (+ x 3)) 5) is should be nil. Xlisp, written before the decision that made that list returns t. Interestingly enough, the fact that (lambda (x) (+ x 3)) evaluates to a function appears to be an *extension* to the CL standard provided by Xlisp. The X3J13 draft standard only defines lambda as symbol and does not give it a function, macro or special-form definition. In both Allegro CL and CMU CL, evaluating the expression (lambda (x) (+ x 3)) produces an error. Incidentally I tried evaluating a number of variations on the theme in all three version of lisp, I got: Xlisp Allegro CMU (funcall #'(lambda (x) (+ x 3))) 8 8 8 (funcall '(lambda (x) (+ x 3))) 8 8 error (funcall (lambda (x) (+ x 3))) 8 error error Thus while Patrick's code works in Xlisp, he can't count on it being portable. I simply think about #'(lambda (...) ...) as an idiom. I never use lambda without the function. Hence my confusion about whether lambda or function produces the closure. --Russell From owner-SL-news Tue Feb 9 20:46:56 1993 Resent-Date: 09 Feb 1993 13:46:56 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302090830.AA18132@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 9 Feb 1993 02:30:17 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Tue, 9 Feb 1993 02:30:14 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GUI2QOWCG08ZHC4W@vx.cis.umn.edu>; Tue, 9 Feb 1993 02:33:12 CDT Received: by NUSVM (Mailer R2.03B) id 9826; Tue, 09 Feb 93 13:51:13 SST Date: 09 Feb 1993 13:46:56 +0700 (SST) From: Forrest Young Subject: MISSING DATA To: Stat-Lispers Message-Id: <01GUI2QOWCG28ZHC4W@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Let me support Hal Varian's points about missing data...what we really need, in my opinion, is pretty much exactly what he suggested: A protocol of some kind for representing missing data, and a few simple functions for identifying it. It would also be good to modify the existing Lisp-Stat analysis examples (regressio, ANOVA) as he suggested (default is for them to through out data with missing values). In addition, isn't there some sort of IEEE standard on this topic? If so, Lisp-Stat should probably adhere to it! Let me add publically here, as I have to Luke many times in the past, how wonderful it is to have Lisp-Stat. It enables me to do things that I have long wanted to do that I simply couldn't in any other system! Thanks once again, Luke... From billh@lsid.hp.com Tue Feb 9 00:36:44 1993 Received: from hp.com by umnstat.stat.umn.edu; Tue, 9 Feb 1993 10:36:47 -0600 Received: from labmdv.lsid.hp.com by hp.com with SMTP (16.8/15.5+IOS 3.13) id AA22844; Tue, 9 Feb 93 08:36:46 -0800 Received: by labmdv.lsid.hp.com (16.6/15.5+IOS 3.22) id AA02435; Tue, 9 Feb 93 08:36:45 -0800 From: Bill Harris Message-Id: <9302091636.AA02435@labmdv.lsid.hp.com> Subject: Additions to XLISP-STAT? To: SL-news-list@umnstat Date: Tue, 9 Feb 93 8:36:44 PST Mailer: Elm [revision: 66.25] Just a suggestion from a novice: what about adding cluster analysis, a la S? There have been a couple of times I would have liked to try that on some data and didn't have access to any software which made it easier. (Perhaps someone has a program to do that in XLISP-STAT?) Regards, Bill -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 330 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From owner-SL-news Tue Feb 9 15:57:00 1993 Resent-Date: Tue, 09 Feb 93 23:57:00 -0800 Resent-From: owner-SL-news Resent-Message-Id: <199302100757.AA02087@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Feb 1993 01:57:37 -0600 Received: from netcom.netcom.com by umnstat.stat.umn.edu; Wed, 10 Feb 1993 01:57:28 -0600 Received: by netcom.netcom.com (5.65/SMI-4.1/Netcom) id AA28031; Tue, 9 Feb 93 23:57:02 -0800 Message-Id: <9302100757.AA28031@netcom.netcom.com> To: Winfried Dulz , kilroy@stat.washington.edu Cc: STAT-LISP-NEWS@umnstat Subject: Re: xlispstat wish list item -- access to unix In-Reply-To: Your message of "Wed, 03 Feb 93 11:39:08." <9302031039.AA06131@faui78.informatik.uni-erlangen.de> Date: Tue, 09 Feb 93 23:57:00 -0800 From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" >> 5) Access to Unix >> >> I'd like to be able to interface with Unix so as to control and >> manipulate files and other Unix system stuff. The lisp-stat >> (system...) function sends commands off to Unix, but I can't get Unix >> output piped back into Lisp. One example: >> > (setq directory (system "pwd")) You may want to take a look at the following functions I added to WINTERP (OSF/Motif Widget INTERPreter based on XLISP) -- POPEN PCLOSE SYSTEM FSCANF-FIXNUM FSCANF-STRING FSCANF-FLONUM. They are useful for running Unix commands with the process output piped back to WINTERP as XLISP stream type data. The FSCANF-* commands are very useful for reading & parsing formatted data from unix commands. You can just as easily create processes that expect input and send data written to an xlisp stream using xlisp's FORMAT primitive. You can get WINTERP from export.lcs.mit.edu:contrib/winterp/winterp-1.13.tar.Z file winterp/src-server/xlisp/unixstuff.c. Feel free to take whatever code you need from WINTERP and integrate into XLISP-STAT -- WINTERP has the same kind of copyright as XLISP-STAT 2.0. (I certainly am going to be taking code from 2.X for use w/ WINTERP 2.0). I expect to have WINTERP 2.0 out real soon now, which will have additional features that should be very useful for interfacing to other Unix programs. This version allows you to run multiple asynchronous subprocesses under a pty, enabling communications with interactive unix programs. From the perspective of the WINTERP programmer, you just end up writing/reading data to/from a bidirectional XLISP stream. Note that since WINTERP is event-driven, your X11/Motif user interfaces created by WINTERP don't become inactive while one or more unix subprocesses are "busy thinking". Note that WINTERP 1.13 is based on David Betz's original XLISP 2.1, whereas WINTERP 2.0 is based on Tom Almy's mXLISP-PLUS 2.1d... I expect to release an beta version of 2.0 in 2-3 months. Since I recently quit my job as a researcher at HP Labs, I now expect to have more time to work on fun projects like WINTERP and the WINTERP graphics/animation package. I'll initially be funding this hacking through HP's generous "voluntary severance" payout -- almost a year's salary. But one of these months, I'll probably need to get a real job or do some consulting/contracting... Here is the excerpt from winterp-1.13/doc/xlisp.doc describing the pipe functions. Afterwards, is the procedure documentation from winterp-2.0/src-server/w_subprocess.c... | XLISP UN*X-SPECIFIC FUNCTIONS (FOR WINTERP) Page 52 | | | The following functions were added to XLISP by Niels Mayer | for use with WINTERP. These functions are UN*X-specific: | | POPEN - start a process and open a pipe as a read/write stream | (popen :direction ) | is a string which is sent to shell | /bin/sh and is executed as command. | a keyword symbol, :input means a stream | is created that reads from stdout of | ; :output means a stream | is created that writes to stdin of | . (:input is the default.) | returns a stream, or NIL if the pipe or /bin/sh | process couldn't be created. | | PCLOSE -- close a pipe stream as opened by POPEN. | (pclose ) | a stream object created by POPEN | returns T if the command executed successfully, else | returns the integer exit status of | . | | SYSTEM - run a process, sending output (if any) to stdout/stderr | (system ) | is a string which is sent to shell | /bin/sh and is executed as command. | returns T if the command executed successfully, | else returns the integer exit status of | . | | | XLISP UN*X-SPECIFIC FUNCTIONS (FOR WINTERP) Page 53 | | | FSCANF-FIXNUM - read a fixnum value from a stream using fscanf(3x). | (fscanf-fixnum ) | a stream object created via OPEN or POPEN. | Will give an error for "unnamed streams". | a format string containing a single | conversion directive that will result in | an integer valued conversion %d, %u, %o, | %x, %ld, %lu, %lo and %lx style conversions | are acceptable for this routine. See the | manual page for fscanf(3x) for details. | returns an integer if fscanf(3x) reports that | the conversion specified by | succeeded. Returns NIL if the conversion | wasn't successful, or if EOF was reached. | | WARNING: specifying a that will result in the | conversion of a result larger than sizeof(long) will result in | corrupted memory and core dumps. | | FSCANF-STRING - read a string value from a stream using fscanf(3x). | (fscanf-string ) | a stream object created via OPEN or POPEN. | Will give an error for "unnamed streams". | a format string containing a single | conversion directive that will result in | a string valued conversion. %s, %c, and | %[...] style conversions are acceptable for | this routine. See the manual page for | fscanf(3x) for details. | returns a string if fscanf(3x) reports that | the conversion specified by | succeeded. Returns NIL if the conversion | wasn't successful, or if EOF was reached. | | WARNING: specifying a that will result in the | conversion of a result larger than 1024 characters will result | in corrupted memory and core dumps. | | FSCANF-FLONUM - read a float from a stream using fscanf(3x). | (fscanf-flonum ) | a stream object created via OPEN or POPEN. | Will give an error for "unnamed streams". | a format string containing a single | conversion directive that will result in | a FLONUM valued conversion. %e %f or %g | are valid conversion specifiers for this | routine. See the manual page for fscanf(3x) | for details. | returns a float if fscanf(3x) reports that | the conversion specified by | succeeded. Returns NIL if the conversion | wasn't successful, or if EOF was reached. | | WARNING: specifying a that will result in the | conversion of a result larger than sizeof(float) will result in | corrupted memory and core dumps. /****************************************************************************** * (EXP_SPAWN [ [[] ...] ) * --> returns a STREAM (with no buffering, however) * returns NIL if an error occurs... * where * is a string, the full path and name of the executable. * is a string corresponding to argv[0] in the spawned executable, * this should typically be the same as . * are optional string arguments corresponding to argv[i] passed to * the spawned executable. * * Call EXP_GET_PID after calling EXP_SPAWN to find out process ID. * To shut down the subprocess, call CLOSE on the returned STREAM, followed * by a call to EXP_WAIT. * * Prior to calling EXP_SPAWN, if EXP_STTY_INIT is called, the string arg to * that function is interpreted in the style of stty(1) arguments as further * configuration for any pty used by future spawn commands. For example, * exp_stty_init = "sane" repeats the default initialization. * * If EXP_STTY_INIT was never called prior to calling EXP_SPAWN, then * the pty is initialized the same way as the user's tty. When this is not * possible (i.e., expect was not started with a controlling terminal), spawn * uses the tty settings that correspond to "stty sane". * * Note: it is ok to write to the EXP_SPAWN-created subprocess with FORMAT, * PRINT, PRIN1, PRINC PPRINT, TERPRI, WRITE-CHAR, and WRITE-BYTE. * However, one must be very careful in reading from the STREAM created by * EXP_SPAWN -- because you can't know how many characters are * "ready for reading", you shouldn't use READ, READ-LINE, because they might * cause WINTERP to lock-up waiting to read a character that may never arrive. * For reading, you should use READ-NONBLOCKING or EXP_EXPECT with a suitable * timeout. ******************************************************************************/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= == Niels Mayer -- netcom!mayer -- mayer@netcom.com == =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From owner-SL-news Wed Feb 10 05:00:09 1993 Resent-Date: Wed, 10 Feb 1993 10:00:09 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199302101502.AA02964@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Feb 1993 09:02:51 -0600 Received: from PO5.ANDREW.CMU.EDU by umnstat.stat.umn.edu; Wed, 10 Feb 1993 09:02:48 -0600 Received: by po5.andrew.cmu.edu (5.54/3.15) id for stat-lisp-news@umnstat.stat.umn.edu; Wed, 10 Feb 93 10:02:33 EST Received: via switchmail; Wed, 10 Feb 1993 10:02:26 -0500 (EST) Received: from akutaktak.andrew.cmu.edu via qmail ID ; Wed, 10 Feb 1993 10:00:20 -0500 (EST) Received: from akutaktak.andrew.cmu.edu via qmail ID ; Wed, 10 Feb 1993 10:00:10 -0500 (EST) Received: from mms.0.1.23.MacMail.3.2.CUILIB.3.45.SNAP.NOT.LINKED.akutaktak.andrew.cmu.edu.pmax.ul4 via MS.5.6.akutaktak.andrew.cmu.edu.pmax_ul4; Wed, 10 Feb 1993 10:00:09 -0500 (EST) Message-Id: Date: Wed, 10 Feb 1993 10:00:09 -0500 (EST) From: Lael Schooler To: stat-lisp-news@umnstat Subject: Access Cc: STAT-LISP-NEWS@umnstat In-Reply-To: <9302100757.AA28031@netcom.netcom.com> Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Lael Schooler Can somebody give me a pointer to the common lisp version of lispstat for the Mac. I am having trouble untaring the version on umn..edu. Is there a binhex/compactor version? thanks in advance, Lael From owner-SL-news Mon Feb 15 23:37:01 1993 Resent-Date: 15 Feb 1993 16:37:01 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302140651.AA19926@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 14 Feb 1993 00:51:54 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Sun, 14 Feb 1993 00:51:54 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GURD83FU6O8ZLGDK@vx.cis.umn.edu>; Mon, 15 Feb 1993 18:10:42 CDT Received: by NUSVM (Mailer R2.03B) id 8163; Mon, 15 Feb 93 16:43:26 SST Date: 15 Feb 1993 16:37:01 +0700 (SST) From: Forrest Young Subject: STREAM TO *STANDARD-OUTPUT* To: Stat-Lispers Message-Id: <01GURD83FU6Q8ZLGDK@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young OK...here's another seemingly trivial thing I want to do that I can't figure out how to do... I have an input stream...say it's called *g* ... that I have obtained with (with-open-file (*g* "myfile") ... and I want to have the contents of myfile appear on *standard-output* Thats all...just "print" the file on the standard output! Helllpppp! (Frustated...) From owner-SL-news Tue Feb 16 18:08:36 1993 Resent-Date: Tue, 16 Feb 93 17:08:36 +0100 Resent-From: owner-SL-news Resent-Message-Id: <199302161608.AA21610@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 16 Feb 1993 10:08:57 -0600 Received: from ns3.hq.eso.org by umnstat.stat.umn.edu; Tue, 16 Feb 1993 10:08:42 -0600 Message-Id: <9302161608.AA29986@ns3.hq.eso.org> Received: from localhost.hq.eso.org by ns3.hq.eso.org (4.1/ eso-1.1) id AA29986; Tue, 16 Feb 93 17:08:36 +0100 To: stat-lisp-news@umnstat Subject: suggestions for next release of Lisp-Stat Date: Tue, 16 Feb 93 17:08:36 +0100 From: hmadorf@eso.org Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: hmadorf@eso.org I would appreciate if the graphics would be portable, i.e. run on the Mac and also under Franz CL on a Sun for instance. - Hans-Martin Adorf ------------------------------------------------------------------------------ Hans-Martin Adorf adorf@eso.org (Internet) Space Telescope - European Coordinating Facility adorf@eso.uucp (UUCP) European Southern Observatory adorf@dgaeso51.bitnet (EARN) Karl-Schwarzschild-Str. 2 ESO::ADORF (SPAN) D-8046 Garching bei Muenchen F.R. Germany Phone: +49-89-320 06-261 -- Fax: +49-89-320 06-480 ------------------------------------------------------------------------------ From owner-SL-news Tue Feb 16 21:22:58 1993 Resent-Date: Tue, 16 Feb 1993 21:22:58 GMT Resent-From: owner-SL-news Resent-Message-Id: <199302162247.AA22966@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 16 Feb 1993 16:47:48 -0600 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Tue, 16 Feb 1993 16:47:44 -0600 Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA20855; Tue, 16 Feb 93 17:47:47 -0500 Received: from statsci.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 174626.8771; Tue, 16 Feb 1993 17:46:26 EST Received: from arugula by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA12313; Tue, 16 Feb 93 13:22:32 PST Received: by arugula (16.7/16.2) id AA04856; Tue, 16 Feb 93 16:22:02 -0500 Newsgroups: lists.statlisp Path: almond From: almond@statsci.com (Russell G. Almond) Subject: Re: STREAM TO *STANDARD-OUTPUT* In-Reply-To: ECSFWY%NUSVM.BITNET@vw.cis.umn.edu's message of 15 Feb 93 23:37:01 GMT Message-Id: Sender: usenet@statsci.com (Usenet News Account) Organization: Statistical Sciences, Inc., Seattle, WA USA References: <01GURD83FU6Q8ZLGDK@vx.cis.umn.edu> Date: Tue, 16 Feb 1993 21:22:58 GMT Lines: 77 Apparently-To: lists-statlisp@mailhost Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) In article <01GURD83FU6Q8ZLGDK@vx.cis.umn.edu> ECSFWY%NUSVM.BITNET@vw.cis.umn.edu (Forrest Young) writes: Approved: usenet@statsci.com OK...here's another seemingly trivial thing I want to do that I can't figure out how to do... I have an input stream...say it's called *g* ... that I have obtained with (with-open-file (*g* "myfile") ... and I want to have the contents of myfile appear on *standard-output* Try: (defun cat-to-stream (filename &optional (out-stream *standard-output*)) (with-open-file (in-stream filename :direction :input) (let ((char nil)) ; establish a local variable (loop ; until Eof (if (setq char (read-char in-stream)) ; will return nil on eof (write-char char out-stream) (return nil)))))) ; eof, quit. The secret is the fact that #'read-char can be used to test for end of file. In particular, it will return nil on eof, thus the if statement becomes a trap for the loop. Incidenentally, while I was testing this example, I noticed two "bugs" in Xlisp. 1) Read-char does not work as advertised in Steele[1984] or from (documentation 'read-char 'function). In particular, it doesn't take the normal optional arguments. To get the same behavior in common-lisp, you would need to say: (read-char stream nil nil) The first nil tells #'read-char to suppress the error on end-of-file; the second nil tells #'read-char to return nil on eof (actually, this is the default value, so it can be omitted). In Xlisp > (documentation 'read-char 'function) "Args: (&optional (stream *standard-input*) (eof-value nil) (recursive-p nil)) Reads a character from STREAM." Indicating that it should accept what is the third argument in common-lisp syntax, but not the first. On the other hand, (read-char stream nil) generates an error message (to many arguments). This is almost certainly a bug, and we cannot override the default behavior. On the other hand, in this case the default behavior does what we want, so there is no difficulty. Let this be a lesson however, we can't depend on what will happen at the end of file, so we need to explicitly check for it. The default behavior in common-lisp is to signal an error. 2) Let does not conform to the Common Lisp standard. In particular, in Common Lisp I (and many other lisp programmers) use syntax like (let ((char)) ...) To set up a local variable, often for use in an implicit or explicit loop. This produces an error in Xlisp, instead you need to do: (let ((char nil)) ...) This code should port easily to Common Lisp, but it will produce errors when porting some Common Lisp code into Xlisp. Russell Almond Statistical Sciences, Inc. U. Washington 1700 Westlake Ave., N Suite 500 Statistics, GN-22 Seattle, WA 98109 Seattle, WA 98195 (206) 283-8802 almond@statsci.com almond@stat.washington.edu From kilroy@biostat.washington.edu Wed Feb 17 11:09:24 1993 Received: from uhura.biostat.washington.edu by umnstat.stat.umn.edu; Wed, 17 Feb 1993 13:10:23 -0600 Received: by uhura.biostat.washington.edu (5.64/UW-NDC Revision: 2.21 ) id AA05433; Wed, 17 Feb 93 11:09:26 -0800 From: Steve McKinney Message-Id: <9302171909.AA05433@uhura.biostat.washington.edu> Subject: (let ()) special form in xlisp To: SL-news-list@umnstat Date: Wed, 17 Feb 93 11:09:24 GMT X-Mailer: ELM [version 2.3 PL11] Russel Almond writes > 2) Let does not conform to the Common Lisp standard. In particular, > in Common Lisp I (and many other lisp programmers) use syntax like > > (let ((char)) ...) > > To set up a local variable, often for use in an implicit or explicit > loop. This produces an error in Xlisp, instead you need to do: > > (let ((char nil)) ...) > > This code should port easily to Common Lisp, but it will produce > errors when porting some Common Lisp code into Xlisp. To set up local variables I use (let (char (foo 0)) ...) i.e. variables to be used locally and not bound to a value (like char) initially appear without parentheses. This works in xlisp > (let (junk) (setq junk "foo") (princ junk)) foo"foo" and Allegro Common Lisp [1] (let (junk) (setq junk "foo") (princ junk)) foo "foo" Common Lips The Language and Common Lisp The Reference list the following for "let" Usage let ({var | (var value)}*) {decl}* {form}* suggesting that unbound variables should not be in parentheses. Such variables are bound to nil in the body of the let form. Xlisp "let" handling thus appears to be correct. Sorry to be so nitpicky. I'm just trying to avoid working on my dissertation! \`|'/ (. .) ---uuu-U-uuu--- kilroy was here From owner-SL-news Fri Feb 19 03:25:47 1993 Resent-Date: Fri, 19 Feb 93 09:25:47 CST Resent-From: owner-SL-news Resent-Message-Id: <199302191525.AA03288@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 19 Feb 1993 09:25:53 -0600 Received: from hermes.stat.wisc.edu by umnstat.stat.umn.edu; Fri, 19 Feb 1993 09:25:49 -0600 Message-Id: <9302191525.AA19959@hermes.stat.wisc.edu> Received: from localhost by hermes.stat.wisc.edu; Fri, 19 Feb 93 09:25:48 -0600 To: Luke Tierney Cc: Statistical Lisp Mailing List Subject: new feature for the next version of xlispstat Date: Fri, 19 Feb 93 09:25:47 CST From: kademan@stat.wisc.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kademan@stat.wisc.edu How about a batch mode for xlispstat in unix? Or perhaps just a command line switch that disables X11 graphics. When I try to run xlispstat this way I get a "can't connect to x server" error message. I had thought that this was just an ignorable warning and that xlispstat could get on with its (non-graphic) job in spite of it but for some reason the last time I tried it the whole thing failed. From owner-SL-news Wed Feb 17 23:29:52 1993 Resent-Date: 17 Feb 1993 16:29:52 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199302220314.AA10216@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 21 Feb 1993 21:14:58 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Sun, 21 Feb 1993 21:14:55 -0600 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GUZXE8EB8094DNVX@vx.cis.umn.edu>; Sun, 21 Feb 1993 21:14:39 CDT Received: by NUSVM (Mailer R2.03B) id 6289; Wed, 17 Feb 93 16:35:29 SST Date: 17 Feb 1993 16:29:52 +0700 (SST) From: Forrest Young Subject: MAC DISPLAY WINDOWS To: Stat Lispers Message-Id: <01GUZXE8EB8294DNVX@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Well...thanks for the answer to my previous question, and here's another, to which I'm afraid the answer is "No". Question: On the Macintosh, is there any way to reposition the position of a display window (i.e., an instance of display-window-proto) via lisp statements that does the equivalent of moving the vertical scroll bar about? I have opened such a window, and have pasted a stream into it via :paste-stream, and the window is positioned such that the bottom of the stream is showing. I want the top to show. Is there a way to do this via Lisp? Thanks in advance...Forrest Young From owner-SL-news Wed Feb 24 03:01:36 1993 Resent-Date: Wed, 24 Feb 93 11:01:36 PST Resent-From: owner-SL-news Resent-Message-Id: <199302241902.AA19867@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 24 Feb 1993 13:02:16 -0600 Received: from gandalf.Berkeley.EDU by umnstat.stat.umn.edu; Wed, 24 Feb 1993 13:02:13 -0600 Received: from toad.Berkeley.EDU by gandalf.Berkeley.EDU (4.1/SMI-4.1) id AA05093; Wed, 24 Feb 93 11:01:36 PST Date: Wed, 24 Feb 93 11:01:36 PST From: neville@gandalf.Berkeley.EDU (Padraic Neville) Message-Id: <9302241901.AA05093@gandalf.Berkeley.EDU> To: luke@umnstat Subject: Xlisp enhancements Cc: stat-lisp-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: neville@gandalf.Berkeley.EDU (Padraic Neville) I would like to be able to dynamically load a C routine and pass a character string to it. Eg., (dyn-load "foo.o") (call-cfun "foo" "pass this string to foo") -Padraic Neville From owner-SL-news Fri Mar 12 10:40:53 1993 Resent-Date: Fri, 12 Mar 93 15:40:53 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199303122045.AA13697@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 12 Mar 1993 14:45:57 -0600 Received: from unx.al.alcoa.com ([132.226.16.105]) by umnstat.stat.umn.edu; Fri, 12 Mar 1993 14:41:25 -0600 Received: by unx.al.alcoa.com (5.57/Ultrix3.0-C) id AA15180; Fri, 12 Mar 93 15:40:53 -0500 Date: Fri, 12 Mar 93 15:40:53 -0500 From: daniel@unx.al.alcoa.com (David Daniel) Message-Id: <9303122040.AA15180@unx.al.alcoa.com> To: stat-lisp-news@umnstat Subject: xlisp suggestions Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: daniel@unx.al.alcoa.com (David Daniel) I've already made some suggestions about xlisp, but I forgot one that I'd like to add. This only pertains to the Macintosh version, and I'm not sure how feasible it is. I would like to see a better editor. My preference would be to see MPW used but I haven't a clue how this could be worked out - I see two problems with this: (1) MPW is commercial (although a tool can be distributed without the MPW shell); and (2) how could it be implemented under MPW (perhaps as a tool). A more realistic idea might be to enhance the editor functions of the current version. I don't think there is any need to list all the short-comings of the editor on the Mac, but if this request is considered and a list of suggested improvements is desired, then I'd be happy to list what I think would help improve the editor. As always, thanks to those who have made such a marvelous tool as XLisp-Stat available. -David Daniel daniel@unx.al.alcoa.com From dulz@ICSI.Berkeley.EDU Thu Apr 1 11:14:09 1993 Received: from icsia.ICSI.Berkeley.EDU by umnstat.stat.umn.edu; Thu, 1 Apr 1993 21:14:14 -0600 Received: from icsib74.ICSI.Berkeley.EDU by icsia.ICSI.Berkeley.EDU (4.1/HUB$Revision: 1.17 $) id AA29897; Thu, 1 Apr 93 19:14:10 PST From: dulz@ICSI.Berkeley.EDU (Winfried Dulz) Received: by icsib74.ICSI.Berkeley.EDU (Sun-4.1/CLIENT$Revision: 1.4 $) id AA02280; Thu, 1 Apr 93 19:14:09 PST Date: Thu, 1 Apr 93 19:14:09 PST Message-Id: <9304020314.AA02280@icsib74.ICSI.Berkeley.EDU> To: SL-news-list@umnstat Subject: Some experiments with &aux and dynamic symbol creation Cc: dulz@ICSI.Berkeley.EDU Browsing through the LISP-STAT news list I found > I think your application is one of the lucky 2.5%. The problem is > when you create your new symbol, and you then want to set its value, > you need to bind the value of the symbol which is stored in a local > variable. This is a job for "set". Thus > > (defun make-new-data-var (name data) > "Makes a new symbol with print-name and value " > ;(declare (type String name) (type T data) > ; (:returns (type Symbol))) > (let ((new-symbol (intern name))) > (set new-symbol data) > new-symbol)) > written by Russell Almond on Tue, 9 Jun 92 as part of a longer explanation with respect to read and eval time bindings of symbols. So I tried ============= 1. Experiment ============= > (defun foo () (let* ((foo-list '(symbol-name "symbol-value")) (foo-symbol (intern (string (first foo-list))))) (print foo-symbol) (print symbol-name) (set foo-symbol (second foo-list)) (print foo-symbol)) (print symbol-name)) but by calling > (foo) SYMBOL-NAME error: unbound variable - SYMBOL-NAME NIL Also > symbol-name error: unbound variable - SYMBOL-NAME ============= 2. Experiment ============= The next I did was redefining foo only in the parameter description part - the rest remained the same > (defun foo (&aux symbol-name) (let* ((foo-list '(symbol-name "symbol-value")) (foo-symbol (intern (string (first foo-list))))) (print foo-symbol) (print symbol-name) (set foo-symbol (second foo-list)) (print foo-symbol)) (print symbol-name)) and calling > (foo) SYMBOL-NAME NIL SYMBOL-NAME NIL T Also > symbol-name "symbol-value" ============= 3. Experiment ============= After this I retried my first experiment, i.e > (defun foo () (let* ((foo-list '(symbol-name "symbol-value")) (foo-symbol (intern (string (first foo-list))))) (print foo-symbol) (print symbol-name) (set foo-symbol (second foo-list)) (print foo-symbol)) (print symbol-name)) but now I got another result > (foo) SYMBOL-NAME "symbol-value" SYMBOL-NAME "symbol-value" T and again > symbol-name "symbol-value" =============================== End of experiments =========================== The last result is what I supposed to see as the result of the 1. experiment. So what are the dependencies between symbols and the &aux statement? For me, it seems very strange that the local &aux will have any consequences for later bindings and results. Is there anybody who will explain me my troubles? Winfried Dulz From almond@statsci.com Fri Apr 2 03:45:35 1993 Received: from spool.UU.NET by umnstat.stat.umn.edu; Fri, 2 Apr 1993 14:19:03 -0600 Received: by spool.UU.NET with UUCP (5.61/UUNET-uucp-primary) id AA07459; Fri, 2 Apr 93 15:18:32 -0500 Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA25838; Fri, 2 Apr 93 11:41:09 PST Received: by bass.statsci.com (4.1/SMI-4.1) id AA09319; Fri, 2 Apr 93 11:45:35 PST Date: Fri, 2 Apr 93 11:45:35 PST From: almond@statsci.com (Russell G. Almond) Message-Id: <9304021945.AA09319@bass.statsci.com> To: dulz@ICSI.Berkeley.EDU Cc: SL-news-list@umnstat In-Reply-To: Winfried Dulz's message of Thu, 1 Apr 93 19:14:09 PST <9304020314.AA02280@icsib74.ICSI.Berkeley.EDU> Subject: Some experiments with &aux and dynamic symbol creation As I seem to have confused you, I will try to straighten you out again. Part of the problem is that the global state of the system is changing as you execute the three programs. In particular, the state of the symbol SYMBOL-VALUE changes from the special state unbound, to bound to nil to bound to the new global value. Lets go through your function a little more slowly and I think we will spot the problem. (defun foo () (let* ((foo-list '(symbol-name "symbol-value")) (foo-symbol (intern (string (first foo-list))))) ;; Note1: This is the almost universal way to code let statements. ;; At this point FOO-LIST is lexically bound to (SYMBOL-NAME ;; "symbol-value") and FOO-SYMBOL is bound to SYMBOL-NAME. ;; SYMBOL-NAME is not dynamically bound, so it's value is its ;; global binding (print foo-symbol) ;; FOO-SYMBOL is bound to SYMBOL-NAME (print symbol-name) ;; SYMBOL-NAME is unbound; this should generate an error. (set foo-symbol (second foo-list)) ;; Never get here. (print foo-symbol)) (print symbol-name)) In the second case, the &aux keyword provides a lexical binding for SYMBOL-NAME; therefore the print statement doesn't produce an error. Thus experiment two is equivalent to: (defun foo () (let ((symbol-value nil)) ;; Note NIL is implicit. (let* ((foo-list '(symbol-name "symbol-value")) (foo-symbol (intern (string (first foo-list))))) ;; As before, FOO-LIST is lexically bound to (SYMBOL-NAME ;; "symbol-value") and FOO-SYMBOL is bound to SYMBOL-NAME. ;; SYMBOL-NAME is lexically bound to nil. (print foo-symbol) ;; FOO-SYMBOL is bound to SYMBOL-NAME (print symbol-name) ;; SYMBOL-NAME is lexically bound to NIL. (set foo-symbol (second foo-list)) ;; Set modifies global value of FOO-SYMBOL binding it to "symbol-value" (print foo-symbol)) (print symbol-name)) ;; SYMBOL-NAME is still lexically bound to NIL. As SYMBOL-NAME is ;; not a special variable, its lexical binding masks its gobal ;; binding. At this point SYMBOL-NAME is globally bound to "symbol-value" as you wanted. Note, #'set only effects the GLOBAL binding, not the lexical one. I didn't realize that and I needed to look it up. Setq and Setf effects the lexical binding. I'm not sure what DEF does, so I'll try an experiment: > (macroexpand-1 '(def x 3)) (UNLESS (AND *ASK-ON-REDEFINE* (BOUNDP (QUOTE X)) (NOT (Y-OR-N-P "Variable has a value. Redefine?"))) (PUSHNEW (QUOTE X) *VARIABLES*) (SETF X 3) (QUOTE X)) Ah, it uses setf so it affects the lexical (local) value. Now, when you run experiment 3; SYMBOL-VALUE does have a global value, so it is not unbound and you don't generate the error message. Another note. In XLISP-STAT, unlike most other lisps, the debugger is turned off by default. Execute the top level form (debug). This will turn on the debugger. Now execute (baktrace) when you get the error message. This will show you where the error is. On last piece of advice, there is a function, #'boundp which will tell you whether or not a function is bound. Thus (if (boundp 'symbol-value) (print symbol-value) (format nil "~S is unbound" 'symbol-value)) would fix up the bug in your first program. --Russell Almond From owner-SL-news Fri Apr 9 05:06:08 1993 Resent-Date: Fri, 09 Apr 93 10:06:08 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199304091506.AA20793@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:06:25 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:06:12 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA07158; Fri, 9 Apr 93 10:06:10 -0500 Message-Id: <9304091506.AA07158@sci234e.mrs.umn.edu> To: stat-lisp-news@umnstat Subject: A question on map Date: Fri, 09 Apr 93 10:06:08 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" I haven't been able to figure this out. I have a list of strings, all in upper case. Can someone give me a neat way to convert the strings to lowercase, except for the the first letter. Example (def x (map 'list #'string (color-symbols))) yields the list ("YELLOW" "CYAN" "RED" "BLACK" "BLUE" "GREEN" "MAGENTA" "WHITE") I want these converted to ("Yellow" "Cyan" "Red" "Black" ..... "White") Thanks. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From owner-SL-news Fri Apr 9 05:09:55 1993 Resent-Date: Fri, 09 Apr 93 10:09:55 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199304091509.AA20806@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:09:59 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:09:56 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA07170; Fri, 9 Apr 93 10:09:55 -0500 Message-Id: <9304091509.AA07170@sci234e.mrs.umn.edu> To: stat-lisp-news@umnstat Subject: Re: A question on map (More on my question). Date: Fri, 09 Apr 93 10:09:55 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" I forgot to mention that my problem is that I am unable to pass on the keyword argument ":start 1" to string-downcase while using map. Therefore the general question is, how can one pass keyword arguments to a function that is being mapped across a list or vector. Thanks. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From owner-SL-news Fri Apr 9 05:29:54 1993 Resent-Date: Fri, 09 Apr 93 10:29:54 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199304091529.AA20868@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:29:57 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Fri, 9 Apr 1993 10:29:55 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA07209; Fri, 9 Apr 93 10:29:54 -0500 Message-Id: <9304091529.AA07209@sci234e.mrs.umn.edu> To: stat-lisp-news@umnstat Subject: Re: A question on map. (More on my question). Date: Fri, 09 Apr 93 10:29:54 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" I found an example in Tierney's book to answer my question. One just needs to use a lambda expression with the keyword in the definition of the lambda function. (map 'list #'(lambda (x) (string-downcase x :start 1)) (map 'list #'string (color-symbols))) works. Thanks for your time. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From owner-SL-news Mon Apr 12 07:24:04 1993 Resent-Date: Mon, 12 Apr 93 12:24:04 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199304121724.AA00843@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 12 Apr 1993 12:24:09 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Mon, 12 Apr 1993 12:24:05 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA11113; Mon, 12 Apr 93 12:24:04 -0500 Message-Id: <9304121724.AA11113@sci234e.mrs.umn.edu> To: stat-lisp-news@umnstat Subject: A question. Date: Mon, 12 Apr 93 12:24:04 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" Is there an wasy way to make a graph-window-proto modal? I don't want the modal mode to create any kind of windows on its own. The reason is that I have written a color package which lets a person create colors. However, I would like to use it in the following fashion. A user would just call a function like (get-color-choice) and this should return the choice the person made. Until then, the program should direct all input to the window. I saw the Lisp-Stat source to see how the modal-dialog message was implemented, but I couldn't understand all of it. I include the code so that you can see what it does. Be sure to check the menu for some goodies. I will put this on statlib once I get it all completed. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 ********************** Cut Here *********************** ;;; ;;; Color.lsp lets users experiment with colors. ;;; Copyright (C) 1993 B. Narasimhan ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. (defproto color-choice-window-proto '(loc cbox-side color red green blue) () graph-window-proto) (defmeth color-choice-window-proto :modal-window (&optional (remove t)) (send self :modal-window remove)) (defmeth color-choice-window-proto :modal-window-return (value) (let ((target (send (slot-value 'modal-dialog) :slot-value 'modal-throw-target))) (if target (throw target value)))) (defmeth color-choice-window-proto :modal-dialog-return (value) "Method Args: (value) Ends modal dialog loop and has :modal-dialog return VALUE." (let ((target (slot-value 'modal-throw-target))) (if target (throw target value)))) (defmeth color-choice-window-proto :isnew () (setf (slot-value 'color) 'black) (send self :delete-method :do-motion) (send self :title "Color Picker") (setf (slot-value 'red) 0) (setf (slot-value 'green) 0) (setf (slot-value 'blue) 0) (let* ((menu (send menu-proto :new "Menu")) (custom-color-item (send menu-item-proto :new "Custom Color" :action #'(lambda () (create-rgb-sliders self)))) (name-color-item (send menu-item-proto :new "Rename Color" :action #'(lambda () (let ((name (get-value-dialog "Enter new name" :initial (slot-value 'color)))) (when name (free-color (slot-value 'color)) (setf (slot-value 'color) (select name 0)) (make-color (slot-value 'color) (slot-value 'red) (slot-value 'green) (slot-value 'blue)) (send self :redraw)))))) (free-color-item (send menu-item-proto :new "Free color" :action #'(lambda () (free-color (slot-value 'color)) (setf (slot-value 'color) (select (color-symbols) 0)) (send self :redraw))))) (send menu :append-items custom-color-item name-color-item free-color-item) (send self :menu menu)) (call-next-method :show nil) (send self :redraw) (send self :show-window)) (defmeth color-choice-window-proto :redraw () (let* ((ascent (send self :text-ascent)) (descent (send self :text-descent)) (cbox-side (+ ascent descent)) (em (send self :text-width "m")) (row-sep (round (* .5 cbox-side))) (col-sep (* 2 em)) (colors (color-symbols)) (color-names (map 'list #'(lambda (x) (string-downcase x :start 1)) (map 'list #'string colors))) (max-name-width (max (map 'list #'(lambda (x) (send self :text-width x)) color-names))) (item-width (+ cbox-side em max-name-width)) (y-offset (+ 50 row-sep)) (n (length colors)) (c (floor (sqrt n))) (r (floor (/ n c))) (ww (+ (* c (+ col-sep item-width)) col-sep)) (wh (+ y-offset (if (eql (* c r) n) (* r (+ row-sep cbox-side)) (* (+ r 1) (+ row-sep cbox-side))) row-sep)) (tmp nil)) (setf (slot-value 'cbox-side) cbox-side) (send self :size ww wh) (send self :draw-color 'white) (send self :paint-rect 0 0 ww wh) (setf (slot-value 'cbox-side) cbox-side) (dotimes (i n) (let ((y (+ (* (floor (/ i c)) (+ cbox-side row-sep)) row-sep y-offset)) (x (+ (* (mod i c) (+ item-width col-sep)) col-sep))) (setf tmp (append tmp (list (list x y)))))) (setf (slot-value 'loc) tmp) (send self :draw-color (slot-value 'color)) (send self :paint-rect (- (round (* .5 ww)) 50) row-sep 100 50) (send self :draw-color 'black) (dotimes (j n) (let* ((myloc (select tmp j)) (x (first myloc)) (name (select color-names j)) (y (second myloc))) (send self :frame-rect x y cbox-side cbox-side) (send self :draw-text name (+ x cbox-side em) (+ y ascent) 0 0) (when (eql (select colors j) (slot-value 'color)) (send self :draw-line x y (+ x cbox-side) (+ y cbox-side)) (send self :draw-line x (+ y cbox-side) (+ x cbox-side) y)))))) (defmeth color-choice-window-proto :do-click (x y m1 m2) (let* ((loc (slot-value 'loc)) (box-side (slot-value 'cbox-side)) (n (length (slot-value 'loc))) (val (catch 'my-click (dotimes (j n) (let* ((myloc (select loc j)) (left-x (first myloc)) (bot-y (second myloc)) (rt-x (+ left-x box-side)) (top-y (+ bot-y box-side))) (if (and (< left-x x rt-x) (< bot-y y top-y)) (throw 'my-click j))))))) (when val (setf (slot-value 'color) (select (color-symbols) val)) (send self :redraw)))) (defun create-rgb-sliders (w) (let* ((r-text (send text-item-proto :new "Red Intensity")) (r-value (send text-item-proto :new "" :text-length 5)) (r-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item r-value :action #'(lambda (x) (send w :change :red x)) :initial 0)) (g-text (send text-item-proto :new "Green Intensity")) (g-value (send text-item-proto :new "" :text-length 5)) (g-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item g-value :action #'(lambda (x) (send w :change :green x)) :initial 0)) (b-text (send text-item-proto :new "Blue Intensity")) (b-value (send text-item-proto :new "" :text-length 5)) (b-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item b-value :action #'(lambda (x) (send w :change :blue x)) :initial 0)) (d (send dialog-proto :new (list (list r-text r-value) r-scroll (list g-text g-value) g-scroll (list b-text b-value) b-scroll)))) (send w :add-subordinate d))) (defmeth color-choice-window-proto :change (&key red green blue) (if red (setf (slot-value 'red) red)) (if green (setf (slot-value 'green) green)) (if blue (setf (slot-value 'blue) blue)) (let ((ww (first (send self :size))) (row-sep (round (* .5 (slot-value 'cbox-side))))) (make-color 'custom (slot-value 'red) (slot-value 'green) (slot-value 'blue)) (setf (slot-value 'color) 'custom)) (send self :redraw)) (defmeth color-choice-window-proto :give-rgb-values () (parse-color (slot-value 'color))) (def z (send color-choice-window-proto :new)) From owner-SL-news Fri May 3 22:12:26 1993 Resent-Date: 03 May 1993 15:12:26 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199305030714.AA01757@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 3 May 1993 02:14:41 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Mon, 3 May 1993 02:14:38 -0500 Received: from NUSVM.BITNET (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GXQ0AD6MS09AQBFF@vx.cis.umn.edu>; Mon, 3 May 1993 02:14:40 CDT Received: by NUSVM (Mailer R2.03B) id 7869; Mon, 03 May 93 15:15:52 SST Date: 03 May 1993 15:12:26 +0700 (SST) From: forrest young Subject: ADDING ELEMENT TO LIST To: stat-lispers Message-Id: <01GXQ0AD6MS29AQBFF@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: forrest young Oftentimes I find I want to do the following simple thing: Add one element to a list, where if the list is nil, a one element list results. I don't know a simple way to do this (simple: using an existing function). I have written a function to do it, but it involves let*, cond, etc. There must be a simple function but I can't figure out what it is. Thanks in advance From owner-SL-news Mon May 3 03:29:22 1993 Resent-Date: Mon, 3 May 93 10:26:35 WETDST Resent-From: owner-SL-news Resent-Message-Id: <199305030829.AA01977@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 3 May 1993 03:29:22 -0500 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Mon, 3 May 1993 03:28:53 -0500 Received: from libiya.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA14006; Mon, 3 May 93 10:34:00 +0100 Message-Id: <9305030934.AA14006@io.upf.esupf.es> Received: by libiya.upf.es (16.7/15.6) id AA07639; Mon, 3 May 93 10:26:36 +0100 From: Frederic Udina Subject: Re: ADDING ELEMENT TO LIST To: ECSFWY%NUSVM.BITNET@vx.cis.umn.edu Date: Mon, 3 May 93 10:26:35 WETDST Cc: stat-lisp-news@umnstat In-Reply-To: <01GXQ0AD6MS29AQBFF@vx.cis.umn.edu>; from "forrest young" at May 03, 93 3:12 pm Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina ~~ ~~Oftentimes I find I want to do the following simple thing: Add one element ~~to a list, where if the list is nil, a one element list results. ~~ ~~I don't know a simple way to do this (simple: using an existing function). ~~I have written a function to do it, but it involves let*, cond, etc. There ~~must be a simple function but I can't figure out what it is. Thanks in advance ~~ If it is good for you, the simplest is to add the element at the front of the list with cons: > (cons 3 '(1 2)) (3 1 2) > (cons '(1 2) '(8 9)) ((1 2) 8 9) > But if you want to add it at the end (you can of course reverse the resulting list) you can use append > (append '(1 2 3 4) (list 5)) (1 2 3 4 5) > (append nil (list 5)) (5) The problem with append (for me) is that if your element to be added is itself a list, its elements will be added, not the list itself: > (append '(1 2 3) '(7 8 9)) (1 2 3 7 8 9) Can this help you? Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From owner-SL-news Mon May 3 08:33:42 1993 Resent-Date: Mon, 3 May 93 15:33:42 PDT Resent-From: owner-SL-news Resent-Message-Id: <199305032243.AA05151@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 3 May 1993 17:43:16 -0500 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Mon, 3 May 1993 17:43:12 -0500 Received: from spool.uu.net (via localhost.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA27433; Mon, 3 May 93 18:43:11 -0400 Received: from statsci.UUCP by spool.uu.net with UUCP/RMAIL (queueing-rmail) id 184238.18076; Mon, 3 May 1993 18:42:38 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA14982; Mon, 3 May 93 15:33:05 PDT Received: by bass.statsci.com (4.1/SMI-4.1) id AA12236; Mon, 3 May 93 15:33:42 PDT Date: Mon, 3 May 93 15:33:42 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9305032233.AA12236@bass.statsci.com> To: stat-lisp-news@umnstat In-Reply-To: forrest young's message of 03 May 1993 15:12:26 +0700 (SST) <199305030714.AA01757@umnstat.stat.umn.edu> Subject: ADDING ELEMENT TO LIST Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) This is such a common occurance in LISP, that there are some special macros to deal with it. Cons is the most natural way to extend a list, but the problem is that you usually need to update a pointer to a list. For example, you have a variable X which store a list, and you want to update the variable as well as extending the list. It could be a generalized variable as well, for example (slot-value 'dependents). Actually, there are two contexts in which this arrives. One is that you want to maintain a list of any old items you don't care if there are repeats. In this situation, you want to use the macro (push). Its syntax is (push ). is a generalized variable form suitable for (setf) (in fact the push macro extends to an appropriate call to the setf special form). This updates place by extending the list and returns the extended list. For example: > (send myobj :list) (A B) > (push 'c (send myobj :list)) (C A B) The second context is when you want to maintain a list of unique items. In this case you can use the macro (pushnew). Its syntax is the same as push. However, it will not add duplicate objects. Thus: > (pushnew 'd (send myobj :list)) NIL ; This is a bug in XLISP-STAT ; according to the draft ANSI report ; (page 14-54) pushnew should return ; the new list > (send myobj :list) (D C A B) > (pushnew 'd (send myobj :list)) NIL > (send myobj :list) (D C A B) Removing items from the list is easy in the first context, but much more difficult in the second. If you just want to remove the first item from the list, (pop ) will do the job for you. This removes the first item from the list, destructively modifying place and returning the result. Unfortunately, pop is not supplied with XLISP-STAT (XLISP is a Common LISP subset, often you need to look things up in Steele[1984] and then experiment to see if they are in XLISP.) Therefore, lets define it. As its argument has special evaluation rules associated with it, this will be a macro not a function. (defmacro pop (place) "Destructively remove the first element from the list in place and return the (old) first element." (let ((temp (gensym))) ; make sure that our special variable ; doesn't clopper anything else. `(let ((,temp ,place)) (setf ,place (cdr ,temp)) ; Note (cdr NIL) ==> NIL (car ,temp)))) ; Note (car NIL) ==> NIL Lets try it out. First, a test of the macro > (macroexpand '(pop (fn x))) (LET ((G6 (FN X))) (SETF (FN X) (CDR G6)) (CAR G6)) Now on our example. > (pop (send myobj :list)) D > (send myobj :list)) (C A B) The other case corresponds to the need to remove any item from the list. There are two ways you can do this with #'delete which destructively modiefies the list to get rid of the unwanted element an item from a list and with #'remove which produces a copy of the list with the item removed. The difference comes in whether or not some other place shares the same list structure. For example, (setf x '(a b c)) (setf y x) At this point X and Y share the same list structure. Destructive modifications made to X may (or may not) influence Y. Thus, after (setf x (remove b x)) the state of Y is unchanged and x is bound to a new list (A C). After (setf x (delete b x)) the state of Y is unknown (it may or may not be equal to '(A C)). Delete does the deletion in the most efficient way and remove does it in the safest way. On the other hand, if you used (setf x '(a b c)) (setf y (copy-list x)) Then it would be safe (and more efficient) to use delete. Because the form (setf (delete )) is so common, I like to define a macro for it. Thus, (defmacro deletef (item place) `(setf ,place (delete ,item ,place))) (defmacro removef (item place) `(setf ,place (remove ,item ,place))) Finally, you will notice that in my example, I was using (send ) as the place form. This is not a supported setf method (although #'slot-value is). Therefore I needed to define a new setf method. The easy way to do this is describe on page 154--155 of the LISP-STAT book. (defun set-send! (obj slot data) "Assumes that the set method follows the convention (send )" (send obj slot data)) (defsetf send set-send!) I hope this is of some help. Russell Almond Statistical Sciences, Inc. 1700 Westlake Ave., N Suite 500, Seattle, WA 98109 (206) 283-8802 FAX: (206) 283-8691 Email: almond@statsci.com [I've tried sending this to a different address at UMN, hopefully they won't duplicate my message 100 or so times.] From owner-SL-news Sat May 11 22:44:49 1993 Resent-Date: 11 May 1993 15:44:49 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199305110757.AA04833@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 11 May 1993 02:57:59 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Tue, 11 May 1993 02:57:56 -0500 Received: from NUSVM.NUS.SG (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GY1854IHYO9GVAWT@vx.cis.umn.edu>; Tue, 11 May 1993 02:58:13 CDT Received: from NUSVM.NUS.SG (NJE origin ECSFWY@NUSVM) by NUSVM.NUS.SG (LMail V1.1d/1.7f) with RFC822 id 3771; Tue, 11 May 1993 15:58:57 +0800 Date: 11 May 1993 15:44:49 +0700 (SST) From: Forrest Young Subject: ANOTHER SIMPLE QUESTION To: Stat-Lispers Message-Id: <01GY1854IHYQ9GVAWT@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young First...thanks to Russell for such a complete reply to my previous (incomplete) question. Several other people replied suggesting that I add an element to a list by using (append ...) which, of course, I know about. But, what I want to do (stating this completely, this time) is add an element that can be whatever (a list, a list-of-lists, a matrix, a character string ... whatever) so that it's nature is preserved. In particular, if I have a list-of-lists and I want to add it to a list of whatever kinds of elements, then I get a new element added that is the list-of-lists. AND, I forgot to say in my previous note, I want to add the new whatever-element to the END of my existing list (which might be nil). So, Russell's suggestion of using (push) comes close, but adds the whatever-element to the beginning of the list. And (reverse (push whatever-element list)) doesn't work unless I change this to (setf list (reverse (push whatever-element list))), which is much simpler than I was able to do this before, but still seems a bit inelegant. SECOND: An anoying aspect of Lisp-Stat is that many methods need a series of arguments rather than a list of arguments, whereas they return a list of the arguments. If, for example, I have two windows and I want to make the second window have the same x-axis characteristics as the first, then I can't say: (send second-window :x-axis (send first-window :x-axis)) because the method :x-axis needs a set of seperate arguments, not the list returned by the method. So I end up doing something like: (send second-window :x-asis (first (send first-window :x-axis)) (second (send first-window :x-axis)) (third (send first-window :x-axis))) which is clearly not good. QUESTION: How can I convert the list (a b c d) into just a set of values a b c d ? Is there anyway to do this? Or, is there a better solution to my problem? Thanks ... From owner-SL-news Tue May 11 12:10:22 1993 Resent-Date: Tue, 11 May 1993 11:10:22 +0100 (BST) Resent-From: owner-SL-news Resent-Message-Id: <199305111012.AA05140@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 11 May 1993 05:12:46 -0500 Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu; Tue, 11 May 1993 05:12:03 -0500 Received: from tuda.ncl.ac.uk by cheviot.ncl.ac.uk id (5.65cVUW/NCL-CMA.1.35 for ) with SMTP; Tue, 11 May 1993 11:11:54 +0100 Date: Tue, 11 May 1993 11:10:22 +0100 (BST) From: "C. Brunsdon" Sender: "C. Brunsdon" Reply-To: "C. Brunsdon" Subject: Re: ANOTHER SIMPLE QUESTION To: Forrest Young Cc: Stat-Lispers In-Reply-To: <01GY1854IHYQ9GVAWT@vx.cis.umn.edu> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "C. Brunsdon" For the second question, 'apply' could be used in conjuction with lambda expressions:- (apply #'(lambda (a b c d) (send second-window :x-axis a b c d)) (send first-window :x-axis)) not particularly elegant, but it saves several :x-axis messages to first-window. Chris Brunsdon From owner-SL-news Tue May 11 07:31:18 1993 Resent-Date: Tue, 11 May 93 14:28:22 WETDST Resent-From: owner-SL-news Resent-Message-Id: <199305111231.AA05471@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 11 May 1993 07:31:18 -0500 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Tue, 11 May 1993 07:30:47 -0500 Received: from libiya.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA02496; Tue, 11 May 93 14:36:01 +0100 Message-Id: <9305111336.AA02496@io.upf.esupf.es> Received: by libiya.upf.es (16.7/15.6) id AA11370; Tue, 11 May 93 14:28:23 +0100 From: Frederic Udina Subject: Re: ANOTHER SIMPLE QUESTION To: ECSFWY%NUSVM.BITNET@vx.cis.umn.edu Date: Tue, 11 May 93 14:28:22 WETDST Cc: stat-lisp-news@umnstat (lisp stat list) In-Reply-To: <01GY1854IHYQ9GVAWT@vx.cis.umn.edu>; from "Forrest Young" at May 11, 93 3:44 pm Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hello: about your second question, my language is (apply #'send 2nd-window :x-axis (send 1st-window :x-axis)) It works only if the last expression (send ... axis) is a list. can this help? frederic udina From owner-SL-news Tue May 11 04:15:51 1993 Resent-Date: Tue, 11 May 93 11:15:51 PDT Resent-From: owner-SL-news Resent-Message-Id: <199305111844.AA06954@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 11 May 1993 13:44:28 -0500 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Tue, 11 May 1993 13:44:23 -0500 Received: from spool.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA12832; Tue, 11 May 93 14:44:20 -0400 Received: from statsci.UUCP by spool.uu.net with UUCP/RMAIL (queueing-rmail) id 144242.19640; Tue, 11 May 1993 14:42:42 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.34) id AA13978; Tue, 11 May 93 11:15:03 PDT Received: by bass.statsci.com (4.1/SMI-4.1) id AA06214; Tue, 11 May 93 11:15:51 PDT Date: Tue, 11 May 93 11:15:51 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9305111815.AA06214@bass.statsci.com> To: ECSFWY%NUSVM.BITNET@vx.cis.umn.edu Cc: Stat-Lisp-news@umnstat In-Reply-To: Forrest Young's message of 11 May 1993 15:44:49 +0700 (SST) <199305110757.AA04833@umnstat.stat.umn.edu> Subject: ANOTHER SIMPLE QUESTION Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) But, what I want to do (stating this completely, this time) is add an element that can be whatever (a list, a list-of-lists, a matrix, a character string ... whatever) so that it's nature is preserved. In particular, if I have a list-of-lists and I want to add it to a list of whatever kinds of elements, then I get a new element added that is the list-of-lists. This is no problem. LISP is really just manipulating pointers. LISTs are *always* lists of objects of type T (anything). Thus (setq x (make-big-harry-complex-structure)) (setq x-list (cons x nil))) will create a big-harry-complex-structure (could be anything). The variable x will reference that structure (until it is unbound by returning from a function or a let) and (car x-list) will point to the *same* structure (until x-list is changed). Changes to the big-harry-complex-structure will be reflected in both places (unlike S which always copies a structure when it modifies part of it). When there is nobody pointing to it any more, it become garbage and the garbage collector will get rid of it the next time it is invoked. AND, I forgot to say in my previous note, I want to add the new whatever-element to the END of my existing list (which might be nil). This is a little bit trickier. You can setf (cdr (last mylist)), [Remember last always returns the last cons cell.] especially if the list is short. You will need to specially check mylist. Thus you could write: (defmacro setf-mylist (new-item place) `(let ((mylist ,place)) (if mylist (setf (cdr (last ,place)) (list ,new-item)) (setf ,place (list ,new-item))))) If you are going to be accessing these lists alot, and they are fairly long, you will want to write something like this. (This is Common LISP code, it should adapt fairly easily to XLISP). ;;; fifo-lists -- (defstruct (fifo-list (:conc-name fifo-) (:predicate fifo-list?) (:constructor make-fifo-list (&optional (head nil) (tail (last head))))) "This is a list with a pointer to both the first and last cons cell, so that the list can be rapidly (destructively) appended to and yet still items can be take from it in order. Operations: fifo-list make-fifo-list fifo-list? fifo-head fifo-tail fifo-pop fifo-append" (head nil :type list) (tail nil :type list)) ;note tail point to last cons ;cell not last item ;; fifo-pop -- pops an item from off the list and updates the ;; pointers. (defun fifo-pop (fifo-list) (declare (type Fifo-List fifo-list) (:returns (type T first-element))) "Pops an Item off the top of ." (cond ((pop (fifo-head fifo-list))) (t (setf (fifo-tail fifo-list) nil) nil))) ;; fifo-append -- appends a list to a fifo-list and returns fifo-list (defun fifo-append (fifo-lst lst) (declare (type Fifo-List fifo-lst) (type List lst) (:returns (type Fifo-List fifo-lst))) "Nconc's to the end of . Warning: asumes it is safe to destructively modify . " (if (fifo-tail fifo-lst) (setf (cdr (fifo-tail fifo-lst)) lst) (setf (fifo-head fifo-lst) lst)) (setf (fifo-tail fifo-lst) (last lst)) fifo-lst) (defmethod make-load-form ((self fifo-list)) "Make sure pointers are set right." `(make-fifo-list ,(fifo-head self))) SECOND As has already been pointed out, apply expects its last item to be a list, all other items are just consed onto the front of the list. Thus (apply #'send second-window :x-axis (send first-window :x-axis)) Works just great. BTW, I use this all the type in writing :isnew methods. (From ElToY) (defmeth normal-family :isnew (&rest args &key (name (gensym "NORMAL")) (rv-names '(X)) (parameter-names '(Mean StDev)) (default-parameters '(0 1)) (parameter-range-default '((-10 10) (0 5))) (parameter-limits (list (list *-infty* *infty*) (list 0 *infty*))) (parameter-granularity (list .25 .1)) (parameter-integer? '(nil nil)) &allow-other-keys) (apply #'call-next-method :name name :rv-names rv-names :parameter-names parameter-names :default-parameters default-parameters :parameter-range-default parameter-range-default :parameter-limits parameter-limits :parameter-integer? parameter-integer? :parameter-granularity parameter-granularity args)) This method overrides the default values on a large number of options and simply calls the next methods. Note that the args is always just a list (the &rest) and that putting two keywords of the same name in the list causes the one in front to override the one in back. Russell Almond Statistical Sciences, Inc. 1700 Westlake Ave., N Suite 500, Seattle, WA 98109 (206) 283-8802 FAX: (206) 283-8691 Email: almond@statsci.com From owner-SL-news Sun May 15 00:22:54 1993 Resent-Date: 14 May 1993 17:22:54 +0700 (SST) Resent-From: owner-SL-news Resent-Message-Id: <199305140923.AA20060@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 14 May 1993 04:23:59 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Fri, 14 May 1993 04:23:34 -0500 Received: from NUSVM.NUS.SG (MAILER@NUSVM) by vx.cis.umn.edu (PMDF #2574 ) id <01GY5I07OCEO9GVODB@vx.cis.umn.edu>; Fri, 14 May 1993 04:23:46 CDT Received: from NUSVM.NUS.SG (NJE origin ECSFWY@NUSVM) by NUSVM.NUS.SG (LMail V1.1d/1.7f) with RFC822 id 8272; Fri, 14 May 1993 17:23:56 +0800 Date: 14 May 1993 17:22:54 +0700 (SST) From: Forrest Young Subject: COMPLEX ANSWERS To: Stat-LIspers Message-Id: <01GY5I07OCEQ9GVODB@vx.cis.umn.edu> X-Envelope-To: STAT-LISP-NEWS@UMNSTAT.STAT.UMN.EDU Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Forrest Young Thanks for the replys to my simple questions. Why is it that such simple questions always seem to generate such complex answers? Is there something about Lisp??? :-) From statman@apeiron.ufstat.ufl.edu Sun May 16 14:59:31 1993 Received: from (jackcraval.stat.ufl.edu) by umnstat.stat.umn.edu; Sun, 16 May 1993 18:05:57 -0500 Received: by (NeXT-1.0 (From Sendmail 5.52)/4.09) id AA07047; Sun, 16 May 93 18:59:31 EDT Date: Sun, 16 May 93 18:59:31 EDT From: "charles d. kincaid" Message-Id: <9305162259.AA07047@> Reply-To: charles d. kincaid Received: by NeXT Mailer (1.63) To: SL-news-list@umnstat Subject: Lisp-Stat tutorial software? Hello, I will be writing some tutorial software for our undergraduate first year statistics class. For example, I would like to be able to show that as the sample size increases the shape of the distribution becomes close to normal. If anyone has any software that they would like to share, I would appreciate the head start. I will be more than happy to share the software that I develop. Especially, with those that send some my way. :-) Any code, comments or advice is greatly appreciated. Sincerely, charles d. kincaid statman@stat.ufl.edu 'the post-modern neo-anti-reductionistic statistician' From naras@sci234e.mrs.umn.edu Mon May 17 03:54:43 1993 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Mon, 17 May 1993 08:54:52 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA04493; Mon, 17 May 93 08:54:44 -0500 Message-Id: <9305171354.AA04493@sci234e.mrs.umn.edu> To: "charles d. kincaid" Cc: SL-news-list@umnstat Subject: Re: Lisp-Stat tutorial software? In-Reply-To: Your message of "Sun, 16 May 93 18:59:31 EDT." <9305162259.AA07047@> Date: Mon, 17 May 93 08:54:43 -0500 From: "B. Narasimhan" You should get Russell Almond's ElToY from statlib. ************ Begin plug ****************** Besides that, I have some pedagogical tools I wrote for my use in courses for demonstrating baby concepts, including the Central Limit Theorem, effect of confidence level on interval size, Interpretation of confidence level, effect of sample size on interval size, etc. These will all form part of a public domain set of notes I am writing in the spirit of FSF, (A Free Text Foundation is more appropriate!), since I am disgusted with the number of basic texts that regurgitate the same old stuff and make money off it! Xlisp-Stat will be the software used in this text. Everything will be made available, including the LaTeX file via statlib. You can contribute too. Contact me at "naras@cda.mrs.umn.edu". At the moment, I will make these routines available to anyone who asks for it by e-mail. They are not as polished as I would like them to be. (I must add that this project will take time and since I can't devote all my time for this purpose.) *************** Begin sub-plug ********************* COMING SOON. A set of routines that will demonstrate discrete finite state Markov Chains for your students, along with the complete description of the routines and design in the form of a LaTeX file. Univ of Minnesota Undergraduate Research Project. A preliminary version is available now for the asking. *************** End sub-plug **************** **************** End plug ********************* --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From owner-SL-news Mon May 17 13:12:10 1993 Resent-Date: Mon, 17 May 1993 12:12:10 +0100 (BST) Resent-From: owner-SL-news Resent-Message-Id: <199305171429.AA01562@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 17 May 1993 09:29:07 -0500 Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu; Mon, 17 May 1993 09:28:59 -0500 Received: from tuda.ncl.ac.uk by cheviot.ncl.ac.uk id (5.65cVUW/NCL-CMA.1.35 for ) with SMTP; Mon, 17 May 1993 15:28:50 +0100 Date: Mon, 17 May 1993 12:12:10 +0100 (BST) From: "C. Brunsdon" Subject: Colours in XLisp-stat To: XLisp-Stat Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "C. Brunsdon" Is there any way of adding to the basic eight colours in X-Lisp stat. There are times when I am writing my own graphics stuff (using the :paint-poly and :draw-color messages in a graph window, and would like to define my own fill colours (eg different shades of grey). Also, are there any ways to specify hatching when filling in polygons? Ideally, it would be good to write generic code using these colours, but MS Windows specific or X_Windows specific solutions would also be useful. Any information would be gratefully recieved, thanks in advance, Chris Brunsdon PS Apologies if this message appears twice. I'm not sure it went to the right address first time! From russ@erie.irc.nrc.ca Mon May 17 04:28:36 1993 Received: from erie.irc.nrc.ca ([132.246.120.52]) by umnstat.stat.umn.edu; Mon, 17 May 1993 10:27:55 -0500 Message-Id: <9305171527.AA08307@ erie.irc.nrc.ca> Date: Mon, 17 May 1993 11:28:36 -0700 To: "charles d. kincaid" , "B. Narasimhan" From: russ@erie.irc.nrc.ca (Russ Thomas) (Russell Thomas) Subject: Re: Lisp-Stat tutorial software? Cc: SL-news-list@umnstat Hi Narasimhan, I would be interested in obtaining a copy of your notes and the "Baby concept" programs if possible. Many thanks. Russ Thomas At 8:54 AM 17/5/93 -0500, B. Narasimhan wrote: >You should get Russell Almond's ElToY from statlib. > >************ Begin plug ****************** > >Besides that, I have some pedagogical tools I wrote for my use in >courses for demonstrating baby concepts, including the Central Limit Theorem, >effect of confidence level on interval size, Interpretation of confidence >level, >effect of sample size on interval size, etc. These will all form part of ... >**************** End plug ********************* > ------------------------------------------------------------------------- Dr J Russell Thomas, Phone: (613) 993 - 0817 National Research Council of Canada, Fax: (613) 952 - 7673 I.R.C. - ILB, email: russ@erie.irc.nrc.ca Building M-20, : thomas@irc.lan.nrc.ca Montreal Road, Ottawa, Ontario K1A 0R6 Canada. From owner-SL-news Mon May 17 07:03:25 1993 Resent-Date: Mon, 17 May 93 12:03:25 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199305171703.AA02409@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 17 May 1993 12:03:59 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Mon, 17 May 1993 12:03:47 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA05007; Mon, 17 May 93 12:03:26 -0500 Message-Id: <9305171703.AA05007@sci234e.mrs.umn.edu> To: "C. Brunsdon" Cc: XLisp-Stat Subject: Re: Colours in XLisp-stat In-Reply-To: Your message of "Mon, 17 May 93 12:12:10 BST." Date: Mon, 17 May 93 12:03:25 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" I posted a version of my color picjer tool some time ago. Perhaps you missed it. I include it again below. I have not tested it on Mac's or PC's., but it works fine on Unix workstations. You design your color using rgb intensities. Be sure to check the menu for that. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 **************** Begin Include ****************** ;;; cpicker.lsp, A tool for choosing and creating colors. ;;; Copyright (C) 1993 B. Narasimhan ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. (defproto color-choice-window-proto '(loc cbox-side color red green blue) () graph-window-proto) (defmeth color-choice-window-proto :modal-window (&optional (remove t)) (send self :modal-window remove)) (defmeth color-choice-window-proto :modal-window-return (value) (let ((target (send (slot-value 'modal-dialog) :slot-value 'modal-throw-target))) (if target (throw target value)))) (defmeth color-choice-window-proto :modal-dialog-return (value) "Method Args: (value) Ends modal dialog loop and has :modal-dialog return VALUE." (let ((target (slot-value 'modal-throw-target))) (if target (throw target value)))) (defmeth color-choice-window-proto :isnew () (setf (slot-value 'color) 'black) (send self :delete-method :do-motion) (send self :title "Color Picker") (setf (slot-value 'red) 0) (setf (slot-value 'green) 0) (setf (slot-value 'blue) 0) (let* ((menu (send menu-proto :new "Menu")) (custom-color-item (send menu-item-proto :new "Custom Color" :action #'(lambda () (create-rgb-sliders self)))) (name-color-item (send menu-item-proto :new "Rename Color" :action #'(lambda () (let ((name (get-value-dialog "Enter new name" :initial (slot-value 'color)))) (when name (free-color (slot-value 'color)) (setf (slot-value 'color) (select name 0)) (make-color (slot-value 'color) (slot-value 'red) (slot-value 'green) (slot-value 'blue)) (send self :redraw)))))) (free-color-item (send menu-item-proto :new "Free color" :action #'(lambda () (free-color (slot-value 'color)) (setf (slot-value 'color) (select (color-symbols) 0)) (send self :redraw))))) (send menu :append-items custom-color-item name-color-item free-color-item) (send self :menu menu)) (call-next-method :show nil) (send self :redraw) (send self :show-window)) (defmeth color-choice-window-proto :redraw () (let* ((ascent (send self :text-ascent)) (descent (send self :text-descent)) (cbox-side (+ ascent descent)) (em (send self :text-width "m")) (row-sep (round (* .5 cbox-side))) (col-sep (* 2 em)) (colors (color-symbols)) (color-names (map 'list #'(lambda (x) (string-downcase x :start 1)) (map 'list #'string colors))) (max-name-width (max (map 'list #'(lambda (x) (send self :text-width x)) color-names))) (item-width (+ cbox-side em max-name-width)) (y-offset (+ 50 row-sep)) (n (length colors)) (c (floor (sqrt n))) (r (floor (/ n c))) (ww (+ (* c (+ col-sep item-width)) col-sep)) (wh (+ y-offset (if (eql (* c r) n) (* r (+ row-sep cbox-side)) (* (+ r 1) (+ row-sep cbox-side))) row-sep)) (tmp nil)) (setf (slot-value 'cbox-side) cbox-side) (send self :size ww wh) (send self :draw-color 'white) (send self :paint-rect 0 0 ww wh) (setf (slot-value 'cbox-side) cbox-side) (dotimes (i n) (let ((y (+ (* (floor (/ i c)) (+ cbox-side row-sep)) row-sep y-offset)) (x (+ (* (mod i c) (+ item-width col-sep)) col-sep))) (setf tmp (append tmp (list (list x y)))))) (setf (slot-value 'loc) tmp) (send self :draw-color (slot-value 'color)) (send self :paint-rect (- (round (* .5 ww)) 50) row-sep 100 50) (send self :draw-color 'black) (dotimes (j n) (let* ((myloc (select tmp j)) (x (first myloc)) (name (select color-names j)) (y (second myloc))) (send self :frame-rect x y cbox-side cbox-side) (send self :draw-text name (+ x cbox-side em) (+ y ascent) 0 0) (when (eql (select colors j) (slot-value 'color)) (send self :draw-line x y (+ x cbox-side) (+ y cbox-side)) (send self :draw-line x (+ y cbox-side) (+ x cbox-side) y)))))) (defmeth color-choice-window-proto :do-click (x y m1 m2) (let* ((loc (slot-value 'loc)) (box-side (slot-value 'cbox-side)) (n (length (slot-value 'loc))) (val (catch 'my-click (dotimes (j n) (let* ((myloc (select loc j)) (left-x (first myloc)) (bot-y (second myloc)) (rt-x (+ left-x box-side)) (top-y (+ bot-y box-side))) (if (and (< left-x x rt-x) (< bot-y y top-y)) (throw 'my-click j))))))) (when val (setf (slot-value 'color) (select (color-symbols) val)) (send self :redraw)))) (defun create-rgb-sliders (w) (let* ((r-text (send text-item-proto :new "Red Intensity")) (r-value (send text-item-proto :new "" :text-length 5)) (r-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item r-value :action #'(lambda (x) (send w :change :red x)) :initial 0)) (g-text (send text-item-proto :new "Green Intensity")) (g-value (send text-item-proto :new "" :text-length 5)) (g-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item g-value :action #'(lambda (x) (send w :change :green x)) :initial 0)) (b-text (send text-item-proto :new "Blue Intensity")) (b-value (send text-item-proto :new "" :text-length 5)) (b-scroll (send interval-scroll-item-proto :new (list 0 1) :points 256 :text-item b-value :action #'(lambda (x) (send w :change :blue x)) :initial 0)) (d (send dialog-proto :new (list (list r-text r-value) r-scroll (list g-text g-value) g-scroll (list b-text b-value) b-scroll)))) (send w :add-subordinate d))) (defmeth color-choice-window-proto :change (&key red green blue) (if red (setf (slot-value 'red) red)) (if green (setf (slot-value 'green) green)) (if blue (setf (slot-value 'blue) blue)) (let ((ww (first (send self :size))) (row-sep (round (* .5 (slot-value 'cbox-side))))) (make-color 'custom (slot-value 'red) (slot-value 'green) (slot-value 'blue)) (setf (slot-value 'color) 'custom)) (send self :redraw)) (defmeth color-choice-window-proto :give-rgb-values () (parse-color (slot-value 'color))) (def z (send color-choice-window-proto :new)) From owner-SL-news Wed May 19 13:01:06 1993 Resent-Date: Wed, 19 May 1993 12:01:06 +0100 (BST) Resent-From: owner-SL-news Resent-Message-Id: <199305191106.AA11253@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 May 1993 06:06:12 -0500 Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu; Wed, 19 May 1993 06:05:40 -0500 Received: from tuda.ncl.ac.uk by cheviot.ncl.ac.uk id (5.65cVUW/NCL-CMA.1.35 for ) with SMTP; Wed, 19 May 1993 12:03:05 +0100 Date: Wed, 19 May 1993 12:01:06 +0100 (BST) From: "C. Brunsdon" Subject: Re: Colours in XLisp-stat To: "B. Narasimhan" Cc: "C. Brunsdon" , XLisp-Stat In-Reply-To: <9305171703.AA05007@sci234e.mrs.umn.edu> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "C. Brunsdon" Yes, this works fine on PCs running windows also. This has given me the tricks I want for drawing maps :- I will follow up with some code once it is more user-friendly. Many thanks, Chris Brunsdon From owner-SL-news Tue May 25 11:37:46 1993 Resent-Date: Tue, 25 May 93 19:37:27 EET DST Resent-From: owner-SL-news Resent-Message-Id: <199305251637.AA04981@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 25 May 1993 11:37:46 -0500 Received: from tukki.jyu.fi by umnstat.stat.umn.edu; Tue, 25 May 1993 11:37:38 -0500 Received: by tukki.jyu.fi id AA18903 (5.65c8/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Tue, 25 May 1993 19:37:28 +0300 From: Rauno Veijola Message-Id: <199305251637.AA18903@tukki.jyu.fi> Subject: XLISP-STAT - ported to DEC AXP running Open VMS ? To: stat-lisp-news@umnstat Date: Tue, 25 May 93 19:37:27 EET DST X-Mailer: ELM [version 2.3 PL11] X-Charset: ISO_8859-1 X-Char-Esc: 29 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Rauno Veijola Hi, The subject line says it all. We've a Digital's ALPHA AXP running Open VMS and I'd like to try XLISP-STAT on it. Ahy hope? Rauno Veijola University of Jyvaskyla Computing Center veijola@jyu.fi From luke Wed May 26 04:20:46 1993 Resent-Date: Wed, 26 May 93 9:20:46 CDT Resent-Message-Id: <199305261421.AA29940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 26 May 1993 09:21:09 -0500 From: "Luke Tierney" Message-Id: <199305261420.AA29931@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 26 May 1993 09:20:48 -0500 Subject: Re: XLISP-STAT - ported to DEC AXP running Open VMS ? To: veijola@jyu.fi (Rauno Veijola) Date: Wed, 26 May 93 9:20:46 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <199305251637.AA18903@tukki.jyu.fi>; from "Rauno Veijola" at May 25, 93 7:37 pm X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > Hi, > > The subject line says it all. We've a Digital's ALPHA AXP running Open VMS > and I'd like to try XLISP-STAT on it. Ahy hope? > > Rauno Veijola > University of Jyvaskyla > Computing Center > veijola@jyu.fi > We had limited acceess to an alpha runninf OSF for a brief time and were have been able to make XLISP-STAT compile well enough to pass some limited tests. A number of places in the X11 code needed to be fixed for int/pointer problems related to the 64 bit architecture. It is possible that other problems remain; I have not had a chance to do extensive testing. THe non-graphics part of the code did not need any fixes and *should* be OK since most of these problems got worked out in the early Mac and PC versions where similar 16 bit int/ 32 bit pointer problems exist. Since the hacks to make this work are still very experimental I will not yet make them available by ftp, but if you contact me directly I will be happy to provide them. luke From owner-SL-news Mon May 31 02:44:25 1993 Resent-Date: Mon, 31 May 93 9:41:08 WETDST Resent-From: owner-SL-news Resent-Message-Id: <199305310744.AA06904@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 31 May 1993 02:44:25 -0500 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Mon, 31 May 1993 02:44:01 -0500 Received: from libiya.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA05480; Mon, 31 May 93 09:49:23 +0100 Message-Id: <9305310849.AA05480@io.upf.esupf.es> Received: by libiya.upf.es (16.7/15.6) id AA19372; Mon, 31 May 93 09:41:09 +0100 From: Frederic Udina Subject: Xlispstat question (fwd) To: stat-lisp-news@umnstat (lisp stat list) Date: Mon, 31 May 93 9:41:08 WETDST Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hello, Does someone use xlispstat in a IBM Risc6000 workstation running AIX? We do and everything goes fine until typing (exit): ~~ I get errors ~~when I exit xlispstat. It has something to do with Xwindows. ~~ ~~The error I get when I say (exit): ~~ ~~> (exit) ~~X error code BadAccess (attempt to access private resource denied) ~~error: You may want to save what you can and exit. ~~> (exit) ~~Error exit (core dumped) ~~/u/upf/cee/pufedm04/xlisp $ ~~ ~~Any idea how to solve this ? Frederic Udina Facultat de Ciencies Economiques Universitat Pompeu Fabra Balmes 132 08008 Barcelona SPAIN voice: 34 - 3 - 484 97 56 fax: 34 - 3 - 484 97 46 e-mail: udina@upf.es appleLink: spa0172 From owner-SL-news Tue Jun 1 09:15:54 1993 Resent-Date: Tue, 1 Jun 1993 13:15:54 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199306011717.AA11191@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 1 Jun 1993 12:17:16 -0500 Received: from versicolor.uwaterloo.ca by umnstat.stat.umn.edu; Tue, 1 Jun 1993 12:16:49 -0500 Received: by versicolor.uwaterloo.ca id <7611>; Tue, 1 Jun 1993 13:16:01 -0400 From: "R.W. Oldford" To: stat-lisp-news@umnstat Subject: Quail 1.0 (beta) release announcement Message-Id: <93Jun1.131601edt.7611@versicolor.uwaterloo.ca> Date: Tue, 1 Jun 1993 13:15:54 -0400 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "R.W. Oldford" ******************************************************************************** Quantitative Analysis in Lisp Quail 1.0 (beta release) Macintosh ******************************************************************************** The Statistical Computing Laboratory of the Department of Statistics and Actuarial Science University of Waterloo Waterloo, Ontario N2L 3G1 Canada announces the beta release of Quail 1.0 ******************************************************************************** Quail is a quantitative programming environment written in Common Lisp (CL; CltL2) and is largely object-oriented (based on the CL Object System). Quail extends the CL language to better support quantitative analysis. Amongst its features are: Arithmetical, Mathematical and Statistical capabilities: - extended arithmetic including the ability to lexically redefine return results that usually produce NaNs - rich array manipulation facilities including: - array combination and subsetting - iteration macros - mathematical functions operate elementwise on arrays - matrix manipulation including various decompositions - arrays by indirect reference and by copying - smooth access to other languages (esp. Fortran and C) - foreign language arrays behave as Quail arrays. - special mathematical functions such as gamma, beta, continued fraction approximations, diffentiation (symbolic and numerical) and numerical integration, ... - probability calculations for a wide variety of discrete and continuous distributions including mixtures. - pseudo-random number generation - quantiles - probabilities - density and distribution function calculations - collection of linear congruential generators. - statistical response models - fitting of normal linear models, and generalized linear models including quasi-likelihood Display facilities: - extended documentation and help facilities - by parsing the CL documentation string documentation objects are created which can be displayed in interactive help windows - tools for creating topics automatically from source file organization - automatic latex production of help documentation - object oriented graphics facilities including - building blocks for arbitrary graphics - collection of stock statistical graphics Histograms, boxplots, function plots, scatterplots, 3d-rotating scatterplots, scatterplot matrices, Andrews' curves, ... - function plotting, - 3d-rotating function or surface plots - wire-frame, hidden line, and solid polygon surface - any of which can be depth-cued by colour - arbitrary dynamic linking of graphics elements allowing brushing within and across windows - graphical browsers - uniform access to a mouse and colour window system including - automatic generation of colour postscript output for all graphics ******************************************************************************** Quail is accessible via anonymous ftp from setosa.uwaterloo.ca or 129.97.141.101 Login id: anonymous Passwd: your-e-mail-address Code can be found in pub/Quail READMEs found there will give further instructions. ******************************************************************************** A Franz and CLX based version is anticipated to be released late summer 1993. From owner-SL-news Thu Jun 17 07:44:16 1993 Resent-Date: Thu, 17 Jun 1993 11:44:16 EDT Resent-From: owner-SL-news Resent-Message-Id: <199306170845.AA18532@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 17 Jun 1993 03:45:51 -0500 Received: from zeus.cc.ucr.gr (ret-idomen.cc.ucr.gr) by umnstat.stat.umn.edu; Thu, 17 Jun 1993 03:45:00 -0500 Date: Thu, 17 Jun 1993 11:44:16 EDT From: PLEYRAKHS@zeus.cc.ucr.gr (Pleurakns Avtwvns) Message-Id: <930617114416.12b@zeus.cc.ucr.gr> Subject: xlisp inquiry To: stat-lisp-news@umnstat X-Vmsmail-To: IN%"stat-lisp-news@umnstat.stat.umn.edu" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: PLEYRAKHS@zeus.cc.ucr.gr (Pleurakns Avtwvns) Hi."stat-lisp-news@umnstat.stat.umn.edu" I am a post graduate univ. student in educational technology. We are doing some educational study, and would like to know where to g et the xlisp stat package and info about it. We are primarily concerned about chi square analyses, t-test but any statistical lities will also be helpful. Please contact me directly, because I am not a signed on the stat-lisp-news list. Antonis Plevrakis, Crete, Greece. PLEYRAKHS@ZEUS.CC.UCR.GR From owner-SL-news Thu Jun 17 03:52:10 1993 Resent-Date: Thu, 17 Jun 93 08:52:10 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199306171354.AA19174@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 17 Jun 1993 08:54:01 -0500 Received: from sci234e.mrs.umn.edu by umnstat.stat.umn.edu; Thu, 17 Jun 1993 08:53:59 -0500 Received: by sci234e.mrs.umn.edu (5.57/Ultrix3.0-C) id AA15596; Thu, 17 Jun 93 08:52:13 -0500 Message-Id: <9306171352.AA15596@sci234e.mrs.umn.edu> To: PLEYRAKHS@zeus.cc.ucr.gr (Pleurakns Avtwvns) Cc: stat-lisp-news@umnstat Subject: Re: xlisp inquiry In-Reply-To: Your message of "Thu, 17 Jun 93 11:44:16 EDT." <930617114416.12b@zeus.cc.ucr.gr> Date: Thu, 17 Jun 93 08:52:10 -0500 From: "B. Narasimhan" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "B. Narasimhan" You can ftp xlispstat from umnstat.stat.umn.edu anonymously. --- B. Narasimhan naras@cda.mrs.umn.edu Division of Science and Math. The University of Minnesota at Morris Morris, MN 56267 From 100140.1476@compuserve.com Sat Jul 6 10:50:45 1993 Received: from ihc.compuserve.com by umnstat.stat.umn.edu; Tue, 6 Jul 1993 13:55:59 -0500 Received: by ihc.compuserve.com (5.65/5.930129sam) id AA28871; Tue, 6 Jul 93 14:55:56 -0400 Date: 06 Jul 93 14:50:45 EDT From: Jens Eickhoff <100140.1476@compuserve.com> To: Subject: XLisp and C or FORTRAN Message-Id: <930706185044_100140.1476_BHB45-1@CompuServe.COM> Hello, I am doing some academic programming using the XLisp-Stat package on a Mac. I have the necessity to include some C or Fortran routines into my Lisp program and I wonder if this is possible with the XLisp-Stat system or whether I have to switch to some commercial Lisp implementation. A person in the INFO-Mac Digest gave me the hint to post my query here. If such a cpoupling of C or FORTRAN Subroutines to Xlisp-Stat is possible, I would appreciate examples or hints how to find them. Thx Jens Eickhoff From linsh@darkwing.uoregon.edu Tue Jul 6 15:38:22 1993 Received: from darkwing.uoregon.edu by umnstat.stat.umn.edu; Wed, 7 Jul 1993 00:39:30 -0500 Received: by darkwing.uoregon.edu (4.1/UofO NetSvc-02/24/93) id AA08745; Tue, 6 Jul 93 22:39:26 PDT Date: Tue, 6 Jul 1993 22:38:22 -0700 (PDT) From: Sieh-Hwa Lin Subject: Sign off To: SL-news-list@umnstat Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Please remove my name from this list since I am leaving this node soon. From LINSH@OREGON.UOREGON.EDU Tue Jul 6 15:52:31 1993 Received: from donald.uoregon.edu by umnstat.stat.umn.edu; Wed, 7 Jul 1993 00:52:37 -0500 Received: from OREGON.UOREGON.EDU by OREGON.UOREGON.EDU (PMDF V4.2-12 #3475) id <01H08M41POFK8WW4I2@OREGON.UOREGON.EDU>; Tue, 6 Jul 1993 22:52:31 PDT Date: Tue, 06 Jul 1993 22:52:31 -0700 (PDT) From: Sieh-Hwa Lin Subject: Sign off To: SL-news-list@umnstat, LINSH@DARKWING.UOREGON.EDU Message-Id: <01H08M41PY368WW4I2@OREGON.UOREGON.EDU> X-Vms-To: IN%"SL-news-list@umnstat.stat.umn.edu" X-Vms-Cc: LINSH Mime-Version: 1.0 Content-Transfer-Encoding: 7BIT Hi! Please remove my name from your list since I am leaving this node soon. From owner-SL-news Thu Jul 8 08:37:17 1993 Resent-Date: Thu, 8 Jul 93 15:37:57 METDST Resent-From: owner-SL-news Resent-Message-Id: <199307081337.AA27139@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Jul 1993 08:37:17 -0500 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Thu, 8 Jul 1993 08:36:49 -0500 Received: from sahara.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA02057; Thu, 8 Jul 93 15:42:15 +0100 Message-Id: <9307081442.AA02057@io.upf.esupf.es> Received: by sahara.upf.es (16.6/15.6) id AA06431; Thu, 8 Jul 93 15:37:58 +0200 From: Jan Graffelman Subject: adding own C-source code to Xlispstat To: stat-lisp-news@umnstat Date: Thu, 8 Jul 93 15:37:57 METDST Mailer: Elm [revision: 66.25] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Graffelman Hi, I want to add some C routines to Luke Tierney's Xlispstat, and have some questions about that. 1.) In order to let my routines receive data from Xlisp, I have to call several routines like xlgetarg(); xlgafixnum(); getfixnum(Ln); Is there some documentation at the C programming level about this ? 2.) In particular, I have problems letting my routines receive a list from xlispstat, and converting this into an ordinary array of doubles. (*double). Any help will be appreciated. Jan Graffelman -- -------------------------------------------------------- | Jan Graffelman | internet: GRAFF@UPF.ES | | Universitat Pompeu Fabra | tel: 34-3-4849764 | | Balmes 132 | fax: 34-3-4849746 | | Barcelona, Spain | | -------------------------------------------------------- From @UKCC.UKY.EDU:ASTRO11@UKCC.UKY.EDU Fri Jul 9 08:24:51 1993 Message-Id: <199307091630.AA01700@umnstat.stat.umn.edu> Received: from ukcc.uky.edu by umnstat.stat.umn.edu; Fri, 9 Jul 1993 11:30:31 -0500 Received: from UKCC.UKY.EDU by UKCC.uky.edu (IBM VM SMTP V2R2) with BSMTP id 1338; Fri, 09 Jul 93 12:29:37 EDT Received: from ukcc.uky.edu (NJE origin ASTRO11@UKCC) by UKCC.UKY.EDU (LMail V1.1d/1.7f) with BSMTP id 3398; Fri, 9 Jul 1993 12:29:37 -0400 Date: Fri, 09 Jul 93 12:24:51 EDT From: arny stromberg Subject: error handling in lispstat To: sl-news-list@umnstat Help! Given a starting value and a function, the lispstat function "newtonmax" returns the maximum of the function or an error message. Is there an easy way to modify the function so that when it encounters an error, it returns the starting value instead of the error message? Thanks, Arny Stromberg (astro11@ukcc.uky.edu) From owner-SL-news Fri Jul 9 07:02:10 1993 Resent-Date: Fri, 9 Jul 93 14:02:10 PDT Resent-From: owner-SL-news Resent-Message-Id: <199307092119.AA02873@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Jul 1993 16:19:05 -0500 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Fri, 9 Jul 1993 16:18:57 -0500 Received: from spool.uu.net (via LOCALHOST) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA19533; Fri, 9 Jul 93 17:18:36 -0400 Received: from statsci.UUCP by spool.uu.net with UUCP/RMAIL (queueing-rmail) id 171616.15134; Fri, 9 Jul 1993 17:16:16 EDT Received: from bass.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.35) id AA18713; Fri, 9 Jul 93 14:01:30 PDT Received: by bass.statsci.com (4.1/SMI-4.1) id AA12668; Fri, 9 Jul 93 14:02:10 PDT Date: Fri, 9 Jul 93 14:02:10 PDT From: almond@statsci.com (Russell G. Almond) Message-Id: <9307092102.AA12668@bass.statsci.com> To: stat-lisp-news@umnstat In-Reply-To: arny stromberg's message of Fri, 09 Jul 93 12:24:51 EDT <199307091630.AA01700@umnstat.stat.umn.edu> Subject: error handling in lispstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) Help! Given a starting value and a function, the lispstat function "newtonmax" returns the maximum of the function or an error message. Is there an easy way to modify the function so that when it encounters an error, it returns the starting value instead of the error message? Thanks, Arny Stromberg (astro11@ukcc.uky.edu) What you really want is the condition system in Common Lisp. It allows you to selectively ignore errors, especially errors of a particular type (for example just arithmetic errors) and specify recovery behavior. I think this might be a very sensible approach to missing values. Steele[1984] (CLtL-1) describes a mechanism called IGNORE-ERRORS which does most of what you want, that is to say it returns the value from executing a form (for example a call to NEWTONMAX) and a flag indicating whether or not there was an error. Unfortunately, XLISP doesn't support this either. I can be kludged using throw, catch and unwind-protect. The following code does that. The way it works is as follows. The clean-up forms of unwind-protect are always executed. Therefore, we simply have a clean-up form in the unwind-protect which detects the error and throws the default value to a catch surrounding the unwind-protect. This causes excecution to resume using the default value. Normal execution returns the value obtained from executing the form. (defmacro default-value-on-error (form default) "This macro evaluates
in an environment which ensures that a result will be returned. If generates an error, then the error messages will be printed and will be returned from the default-value-on-error expression. The form is only evaluated if evaluating produces an error. This macro will produce strange results if tries to use any non local exit except an error it (i.e., a throw, a return or a go)." `(let ((%error-flag% nil)) (catch 'error (unwind-protect (prog2 (setq %error-flag% t) ,form ;; <<-- This value is returned (setq %error-flag% nil)) (when %error-flag% ;; only get to here if executing generated an error (throw 'error ,default)))))) Here are some examples of the macro in action. > (default-value-on-error 17 555) 17 > (default-value-on-error (/ 0 0) 555) error: illegal zero argument 555 Note that if the debugger is on, the default value is not returned until you exit from the debugger. > (debug) T > (default-value-on-error (/ 0 0) 555) error: illegal zero argument 1> (clean-up) [ back to previous break level ] 555 Finally, note that it will do funny things with other throws and catches. > (catch 'bar (default-value-on-error (throw 'bar 'foo) 'oops)) OOPS According to Steele[1990] this really should generate an error (that is the inner throw to the outer tag 'bar should invalidate the throw to the inner tag 'error in the clean-up form of the unwind-protect). On the other hand complex code using nested throws catches and unwind protects is probably a bad idea (as I said, this is a kludge not a solution). Therefore, the answer to you question about NEWTONMAX is to write a wrapper function using default-value-on-error which does what you want. Russell Almond StatSci (a division of MathSoft) 1700 Westlake Ave., N Suite 500, Seattle, WA 98109 (206) 283-8802 FAX: (206) 283-8691 Email: almond@statsci.com From luke Fri Jul 9 11:41:32 1993 Resent-Date: Fri, 9 Jul 93 16:41:32 CDT Resent-Message-Id: <199307092141.AA22669@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Jul 1993 16:41:37 -0500 From: "Luke Tierney" Message-Id: <199307092141.AA22661@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 9 Jul 1993 16:41:34 -0500 Subject: error handling in lispstat (fwd) To: stat-lisp-news Date: Fri, 9 Jul 93 16:41:32 CDT X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" Forwarded message: > From @UKCC.UKY.EDU:ASTRO11@UKCC.UKY.EDU Fri Jul 9 11:33:57 1993 > Date: Fri, 09 Jul 93 12:24:51 EDT > From: arny stromberg > Subject: error handling in lispstat > To: sl-news-list@umnstat > > Help! > Given a starting value and a function, the lispstat function "newtonmax" > returns the maximum of the function or an error message. Is there an > easy way to modify the function so that when it encounters an error, it > returns the starting value instead of the error message? > > Thanks, Arny Stromberg (astro11@ukcc.uky.edu) > take a look at the special form errset; it should let you do what you want. Here is the help information: ERRSET [function-doc] Args: (expr [pflag]) Traps errors occurring during the evaluation of EXPR. PFLAG controls printing of the error message. Returns the value of the last expression consed with NIL or NIL. ERRSET is xlisp's current method of error catching. Future versions may support a subset fo the common lisp condition system. luke From owner-SL-news Sat Jul 10 04:51:56 1993 Resent-Date: Sat, 10 Jul 93 11:51:56 -0700 Resent-From: owner-SL-news Resent-Message-Id: <199307101851.AA05334@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 10 Jul 1993 13:51:22 -0500 Received: from netcom3.netcom.com by umnstat.stat.umn.edu; Sat, 10 Jul 1993 13:51:19 -0500 Received: by netcom3.netcom.com (5.65/SMI-4.1/Netcom) id AA20494; Sat, 10 Jul 93 11:51:57 -0700 Message-Id: <9307101851.AA20494@netcom3.netcom.com> To: stat-lisp-news@umnstat Cc: almond@statsci.com (Russell G. Almond) Subject: Re: error handling in lispstat In-Reply-To: Your message of "Fri, 09 Jul 93 14:02:10 PDT." <9307092102.AA12668@bass.statsci.com> Date: Sat, 10 Jul 93 11:51:56 -0700 From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" From almond@statsci.com (Russell G. Almond): >Note that if the debugger is on, the default value is not returned >until you exit from the debugger. The right way to make 'unwind-protect' and 'errset' work is to wrap it in a 'progv'. This temporarily forces *breakenable* back to NIL so that the breakloop doesn't interfere w/ 'unwind-protect' or 'errset'. An example of such usage is the following WINTERP code (based on XLISP-PLUS (version 2.1d)): ;;; READ-EXEC-CMD: returns a string representing the output to stdout generated ;;; by executing string parameter in a shell (sh(1).) ;(defun read-exec-cmd (cmd) ; (let ((fp NIL) ; (result NIL) ; ) ; (progv '(*breakenable*) '(nil) ; (unwind-protect ; (progn ; (setq fp (popen (concatenate 'string cmd " 2> /dev/null"))) ; (setq result (read-line fp)) ; ) ; ;; unwind always ; (if fp (pclose fp)) ; )) ; result ;return result ; )) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= == Niels Mayer -- netcom!mayer -- mayer@netcom.com == =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From owner-SL-news Mon Jul 12 06:16:56 1993 Resent-Date: Mon, 12 Jul 93 13:17:43 METDST Resent-From: owner-SL-news Resent-Message-Id: <199307121116.AA09301@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 12 Jul 1993 06:16:56 -0500 Received: from io.upf.esupf.es (io.upf.es) by umnstat.stat.umn.edu; Mon, 12 Jul 1993 06:16:29 -0500 Received: from sahara.upf.es by io.upf.esupf.es (4.1/SMI-4.1) id AA04452; Mon, 12 Jul 93 13:22:00 +0100 Message-Id: <9307121222.AA04452@io.upf.esupf.es> Received: by sahara.upf.es (16.6/15.6) id AA08682; Mon, 12 Jul 93 13:17:44 +0200 From: Jan Graffelman Subject: Xlispstat/Xwindows question To: stat-lisp-news@umnstat Date: Mon, 12 Jul 93 13:17:43 METDST Mailer: Elm [revision: 66.25] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Graffelman Hi, I have a question concerning Xlispstat/Xwindows. I compiled Xlispstat version 2.1 on an IBM RISC/6000, without any problems. I can run it, and perform computations, make graphics and so on. The problem starts when I try to exit: > (exit) X error code BadAccess, attempt to access private resource denied error: You may want to save what you can and exit. > If I'm stubborn and keep trying to exit then: > (exit) X error code BadCursor, invalid Cursor parameter error: error: You may want to save what you can and exit. X error code BadPixmap, invalid Pixmap parameter error: You may want to save what you can and exit. X error code BadPixmap, invalid Pixmap parameter error: You may want to save what you can and exit. These errors appear, and many more. The same Xlispstat program was also installed on some HP workstations in the network of our university. On these workstations, users who run everything inside this HP can exit without problems. Nevertheless, if I set up a telnet session to such a HP, I also get in trouble when I try to exit: X error code BadAccess (attempt to access private resource denied) error: You may want to save what you can and exit. If I am stubborn again I get: > (exit) Memory fault(coredump) Altogether, it gives me the impression that something is wrong with the communication between Xlispstat and Xwindows on my RISC. Any hints or help are highly appreciated. -- -------------------------------------------------------- | Jan Graffelman | internet: GRAFF@UPF.ES | | Universitat Pompeu Fabra | tel: 34-3-4849764 | | Balmes 132 | fax: 34-3-4849746 | | Barcelona, Spain | | -------------------------------------------------------- From owner-SL-news Mon Jul 12 17:36:57 1993 Resent-Date: Mon, 12 Jul 93 21:36:57 EDT Resent-From: owner-SL-news Resent-Message-Id: <199307130137.AA12138@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 12 Jul 1993 20:37:13 -0500 Received: from super.super.org by umnstat.stat.umn.edu; Mon, 12 Jul 1993 20:37:10 -0500 Received: from descartes (descartes.super.org) by super.super.org (4.1/SMI-4.1) id AA23905; Mon, 12 Jul 93 21:36:57 EDT Received: by descartes (4.1/SMI-4.1) id AA15007; Mon, 12 Jul 93 21:36:57 EDT Date: Mon, 12 Jul 93 21:36:57 EDT From: pcolsen@super.org (Peter C Olsen) Message-Id: <9307130136.AA15007@descartes> To: linux-activists@joker.cs.hut.fi, stat-lisp-news@umnstat Subject: Help - Can't run XLSIPSTAT under Emacs on Linux X-Mn-Key: NORMAL Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@super.org (Peter C Olsen) I'm looking for help in getting xlispstat running under Emacs on Linux. I use Xlispstat extensively at work, and I've found that Emacs makes a great user interface. Unfortunately, I can't get the combination running on my Linux box at home. I've tried my own compilation and a pre-compiled package taken from the Linux archive at sunsite.unc.edu. The package runs fine from an xterm, but always gives this error under both Emacs 18.58 and lemacs 19.7 Couldn't exec the program /usr/local/bin/xlispstat Process lisp exited abnormally with code 1 Any suggestions? Peter Peter Olsen, n2ell, pcolsen@super.super.org ...!uunet!super!pcolsen P.O. Box 410, Simpsonville, MD 21150-0410; 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life" From owner-SL-news Thu Jul 22 16:28:33 1993 Resent-Date: Thu, 22 Jul 93 14:28:33 +0200 Resent-From: owner-SL-news Resent-Message-Id: <199307221227.AA15966@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 22 Jul 1993 07:27:58 -0500 Received: from fidelio.inet.dkfz-heidelberg.de by umnstat.stat.umn.edu; Thu, 22 Jul 1993 07:27:49 -0500 Received: by fidelio.inet.dkfz-heidelberg.de (5.0/SMI-SVR4) id AA01129; Thu, 22 Jul 93 14:28:33 +0200 Date: Thu, 22 Jul 93 14:28:33 +0200 From: Lutz Edler Message-Id: <9307221228.AA01129@fidelio.inet.dkfz-heidelberg.de> To: benner@amadeus.inet.dkfz-heidelberg.de, dok577@cvx12alias, lispstat, stat-lisp-news@umnstat Subject: test X-Sun-Charset: US-ASCII Content-Length: 5 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Lutz Edler test From owner-SL-news Tue Aug 3 03:57:17 1993 Resent-Date: Tue, 3 Aug 93 10:55:52 METDST Resent-From: owner-SL-news Resent-Message-Id: <199308030857.AA28732@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 3 Aug 1993 03:57:17 -0500 Received: from sun4nl.nluug.nl by umnstat.stat.umn.edu; Tue, 3 Aug 1993 03:57:08 -0500 Received: from DCMR1 by sun4nl.nluug.nl via EUnet id AA21138 (5.65b/CWI-3.3); Tue, 3 Aug 1993 10:56:59 +0200 Message-Id: <9308030856.AA21138@sun4nl.nluug.nl> Received: by dcmr1 (16.6/16.2) id AA17758; Tue, 3 Aug 93 10:55:53 +0200 From: Paul Eilers Subject: To: stat-lisp-news@umnstat Date: Tue, 3 Aug 93 10:55:52 METDST Mailer: Elm [revision: 66.25] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Paul Eilers subscribe Paul Eilers From swk@mlb.semi.harris.com Wed Aug 11 08:48:10 1993 Received: from slopoke.mlb.semi.harris.com by umnstat.stat.umn.edu; Wed, 11 Aug 1993 11:44:12 -0500 Received: from seymour.mlb.semi.harris.com by slopoke.mlb.semi.harris.com (4.0/SMI-4.0) id AA26321; Wed, 11 Aug 93 12:44:00 EDT Received: by seymour.mlb.semi.harris.com (4.1/SMI-4.1) id AA13393; Wed, 11 Aug 93 12:48:10 EDT Date: Wed, 11 Aug 93 12:48:10 EDT From: swk@mlb.semi.harris.com (Song Koh) Message-Id: <9308111648.AA13393@seymour.mlb.semi.harris.com> To: SL-news-list@umnstat Subject: hardcopy of graphs Is there a way to get hardcopy of the graphs generated in xlispstat? ------------------------------------------------------------------------ Song Koh Harris Semiconductor swk@mlb.semi.harris.com MS 62-022 Voice: (407)-724-7085 P. O Box 883 (US mail) Fax: (407)-729-4960 Palm Bay Road (UPS) Melbourne, FL 32902-0883 ------------------------------------------------------------------------ From owner-SL-news Mon Aug 23 06:35:47 1993 Resent-Date: Mon, 23 Aug 93 10:35:47 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199308231435.AA27904@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 23 Aug 1993 09:35:51 -0500 Received: from garb3.bellcore.com by umnstat.stat.umn.edu; Mon, 23 Aug 1993 09:35:46 -0500 Received: by garb3.bellcore.com (5.61/1.34) id AA07219; Mon, 23 Aug 93 10:35:47 -0400 Date: Mon, 23 Aug 93 10:35:47 -0400 From: andreas@bellcore.com (Andreas Buja) Message-Id: <9308231435.AA07219@garb3.bellcore.com> To: stat-lisp-news@umnstat Subject: Lisp code for stepwise and all-subsets regression? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: andreas@bellcore.com (Andreas Buja) A colleague of mine is looking for the above. He is not a lispstat but a common lisp programmer. Does anyone know about suitable code? Thanks From owner-SL-news Tue Sep 7 02:14:46 1993 Resent-Date: Mon, 6 Sep 1993 16:14:46 +1000 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199309060612.AA26195@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 6 Sep 1993 01:12:17 -0500 Received: from shiva.trl.OZ.AU by umnstat.stat.umn.edu; Mon, 6 Sep 1993 01:12:02 -0500 Received: from otcgpo.isg.otc.com.au ([134.159.16.100]) by shiva.trl.OZ.AU with SMTP id AA11904 (5.65c/IDA-1.4.4 for ); Mon, 6 Sep 1993 16:11:47 +1000 Received: from turin.research.otc.com.au (mailhost.research.otc.com.au) by otcgpo.isg.otc.com.au (4.1/OTC_GPO.2.1) id AA17876; Mon, 6 Sep 93 06:09:05 GMT Received: from zeus.research.otc.com.au by turin.research.otc.com.au with SMTP id AA23790 (5.65c/IDA-1.4.4 for ); Mon, 6 Sep 1993 16:11:08 +1000 Received: by zeus.research.otc.com.au (4.1/SMI-4.1) id AA23107; Mon, 6 Sep 93 16:14:47 EST From: kimh@research.otc.com.au (Kim Horn) Message-Id: <9309060614.AA23107@zeus.research.otc.com.au> Subject: Clustering To: stat-lisp-news@umnstat Date: Mon, 6 Sep 1993 16:14:46 +1000 (EST) Organisation: Telstra International Phone: +61-2-287-3165 Fax: +61-2-287-3299 X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 687 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kimh@research.otc.com.au (Kim Horn) Hello Folks, I was wondering if anyone has implemented clustering tools in XlispStat ? Otherwise I am about to build some tools to visualise clusters and any interest/comment would be welcome. We are also looking for tools that can help visualise relationships in nominal data, any ideas ? Thanks Kim ---------------------------------------------------------------------- Kim Horn ACSnet: kimh@swdev.research.otc.com.au Telstra UUCP: {uunet,mcvax}!swdev.research.otc.com.au!kimh GPO Box 7000, Sydney FAX: +61 2 287 3299 2001, Australia PHONE: +61 2 287 3165 ---------------------------------------------------------------------- From mwitten@hermes.chpc.utexas.edu Tue Sep 14 08:02:32 1993 Received: from hermes.chpc.utexas.edu by umnstat.stat.umn.edu; Tue, 14 Sep 1993 13:43:58 -0500 Received: from morpheus.chpc.utexas.edu by hermes.chpc.utexas.edu (5.64/SMI-3.2) id AA15067; Tue, 14 Sep 93 13:02:31 -0500 Received: by morpheus.chpc.utexas.edu (4.1/SMI-4.1) id AA09380; Tue, 14 Sep 93 13:02:32 CDT Date: Tue, 14 Sep 93 13:02:32 CDT From: mwitten@hermes.chpc.utexas.edu Message-Id: <9309141802.AA09380@morpheus.chpc.utexas.edu> To: SL-news-list@umnstat Subject: CONGRESS: COMPUTATIONAL MEDICINE AND PUBLIC HEALTH (long) ** NOTE CHANGES IN SUBMISSION AND REGISTRATION DEADLINES ** FIRST WORLD CONGRESS ON COMPUTATIONAL MEDICINE, PUBLIC HEALTH AND BIOTECHNOLOGY 24-28 April 1994 Hyatt Regency Hotel Austin, Texas ----- (Feel Free To Cross Post This Announcement) ---- 1.0 CONFERENCE OVERVIEW: With increasing frequency, computational sciences are being exploited as a means with which to investigate biomedical processes at all levels of complexity; from molecular to systemic to demographic. Computational instruments are now used, not only as exploratory tools but also as diagnostic and prognostic tools. The appearance of high performance computing environments has, to a great extent, removed the problem of increasing the biological reality of the mathematical models. For the first time in the history of the field, practical biological reality is finally within the grasp of the biomedical modeler. Mathematical complexity is no longer as serious an issue as speeds of computation are now of the order necessary to allow extremely large and complex computational models to be analyzed. Large memory machines are now routinely available. Additionally, high speed, efficient, highly optimized numerical algorithms are under constant development. As these algorithms are understood and improved upon, many of them are transferred from software implementation to an implementation in the hardware itself; thereby further enhancing the available computational speed of current hardware. The purpose of this congress is to bring together a transdisciplinary group of researchers in medicine, public health, computer science, mathematics, nursing, veterinary medicine, ecology, allied health, as well as numerous other disciplines, for the purposes of examining the grand challenge problems of the next decades. This will be a definitive meeting in that it will be the first World Congress of its type and will be held as a follow-up to the very well received Workshop On High Performance Computing In The Life Sciences and Medicine held by the University of Texas System Center For High Performance Computing in 1990. Young scientists (graduate students, postdocs, etc.) are encouraged to attend and to present their work in this increasingly interesting discipline. Funding is being solicited from NSF, NIH, DOE, Darpa, EPA, and private foundations, as well as other sources to assist in travel support and in the offsetting of expenses for those unable to attend otherwise. Papers, poster presentations, tutorials, focused topic workshops, birds of a feather groups, demonstrations, and other suggestions are also solicited. 2.0 CONFERENCE SCOPE AND TOPIC AREAS: The Congress has a broad scope. If you are not sure whether or not your subject fits the Congress scope, contact the conference organizers at one of the addresses below. Subject areas include but are not limited to: *Visualization/Sonification --- medical imaging --- molecular visualization as a clinical research tool --- simulation visualization --- microscopy --- visualization as applied to problems arising in computational molecular biology and genetics or other non-traditional disciplines --- telemedicine *Computational Molecular Biology and Genetics --- computational ramifications of clinical needs in the Human Genome, Plant Genome, and Animal Genome Projects --- computational and grand challenge problems in molecular biology and genetics --- algorithms and methodologies --- issues of multiple datatype databases *Computational Pharmacology, Pharmacodynamics, Drug Design *Computational Chemistry as Applied to Clinical Issues *Computational Cell Biology, Physiology, and Metabolism --- Single cell metabolic models (red blood cell) --- Cancer models --- Transport models --- Single cell interaction with external factors models (laser, ultrasound, electrical stimulus) *Computational Physiology and Metabolism --- Renal System --- Cardiovascular dynamics --- Liver function --- Pulmonary dynamics --- Auditory function, coclear dynamics, hearing --- Reproductive modeling: ovarian dynamics, reproductive ecotoxicology, modeling the hormonal cycle --- Metabolic Databases and metabolic models *Computational Demography, Epidemiology, and Statistics/Biostatistics --- Classical demographic, epidemiologic, and biostatistical modeling --- Modeling of the role of culture, poverty, and other sociological issues as they impact healthcare --- Morphometrics *Computational Disease Modeling --- AIDS --- TB --- Influenza --- Statistical Population Genetics Of Disease Processes --- Other *Computational Biofluids --- Blood flow --- Sperm dynamics --- Modeling of arteriosclerosis and related processes *Computational Dentistry, Orthodontics, and Prosthetics *Computational Veterinary Medicine --- Computational issues in modeling non-human dynamics such as equine, feline, canine dynamics (physiological/biomechanical) *Computational Allied Health Sciences --- Physical Therapy --- Neuromusic Therapy --- Respiratory Therapy *Computational Radiology --- Dose modeling --- Treatment planning *Computational Surgery --- Simulation of surgical procedures in VR worlds --- Surgical simulation as a precursor to surgical intervention --- The Visible Human *Computational Cardiology *Computational Nursing *Computational Models In Chiropractice *Computational Neurobiology and Neurophysiology --- Brain modeling --- Single neuron models --- Neural nets and clinical applications --- Neurophysiological dynamics --- Neurotransmitter modeling --- Neurological disorder modeling (Alzheimer's Disease, for example) --- The Human Brain Project *Computational Models of Psychiatric and Psychological Processes *Computational Biomechanics --- Bone Modeling --- Joint Modeling *Computational Models of Non-traditional Medicine --- Acupuncture --- Other *Computational Issues In Medical Instrumentation Design and Simulation --- Scanner Design --- Optical Instrumentation *Ethical issues arising in the use of computational technology in medical diagnosis and simulation *The role of alternate reality methodologies and high performance environments in the medical and public health disciplines *Issues in the use of high performance computing environments in the teaching of health science curricula *The role of high performance environments for the handling of large medical datasets (high performance storage environments, high performance networking, high performance medical records manipulation and management, metadata structures and definitions) *Federal and private support for transdisciplinary research in computational medicine and public health 3.0 CONFERENCE COMMITTEE *CONFERENCE CHAIR: Matthew Witten, UT System Center For High Performance Computing, Austin, Texas m.witten@chpc.utexas.edu *CURRENT CONFERENCE DIRECTORATE: Regina Monaco, Mt. Sinai Medical Center Dan Davison, University of Houston Chris Johnson, University of Utah Lisa Fauci, Tulane University Daniel Zelterman, University of Minnesota Minneapolis James Hyman, Los Alamos National Laboratory Richard Hart, Tulane University Dennis Duke, SCRI-Florida State University Sharon Meintz, University of Nevada Los Vegas Dean Sittig, Vanderbilt University Dick Tsur, UT System CHPC Dan Deerfield, Pittsburgh Supercomputing Center Istvan Gyori, University of Veszprem (Hungary) Don Fussell, University of Texas at Austin Ken Goodman, University Of Miami School of Medicine Martin Hugh-Jones, Louisiana State University Stuart Zimmerman, MD Anderson Cancer Research Center John Wooley, DOE Sylvia Spengler, University of California Berkeley Robert Blystone, Trinity University Gregory Kramer, Santa Fe Institute Franco Celada, NYU Medical Center David Robinson, NIH, NHLBI Jane Preson, MCC Peter Petropoulos, Brooks Air Force Base Marcus Pandy, University of Texas at Austin George Bekey, University of Southern California Stephen Koslow, NIH, NIMH Fred Bookstein, University of Michigan Ann Arbor Dan Levine, University of Texas at Arlington Richard Gordon, University of Manitoba (Canada) Stan Zeitz, Drexel University Marcia McClure, University of Nevada Las Vegas Renato Sabbatini, UNICAMP/Brazil (Brazil) Hiroshi Tanaka, Tokyo Medical and Dental University (Japan) Shusaku Tsumoto, Tokyo Medical and Dental University (Japan) Additional conference directorate members are being added and will be updated on the anonymous ftp list as they agree. 4.0 CONTACTING THE CONFERENCE COMMITTEE: To contact the congress organizers for any reason use any of the following pathways: ELECTRONIC MAIL - compmed94@chpc.utexas.edu FAX (USA) - (512) 471-2445 PHONE (USA) - (512) 471-2472 GOPHER: log into the University of Texas System-CHPC select the Computational Medicine and Allied Health menu choice ANONYMOUS FTP: ftp.chpc.utexas.edu cd /pub/compmed94 POSTAL: Compmed 1994 University of Texas System CHPC Balcones Research Center 10100 Burnet Road, 1.154CMS Austin, Texas 78758-4497 5.0 SUBMISSION PROCEDURES: Authors must submit 5 copies of a single-page 50-100 word abstract clearly discussing the topic of their presentation. In addition, authors must clearly state their choice of poster, contributed paper, tutorial, exhibit, focused workshop or birds of a feather group along with a discussion of their presentation. Abstracts will be published as part of the preliminary conference material. To notify the congress organizing committee that you would like to participate and to be put on the congress mailing list, please fill out and return the form that follows this announcement. You may use any of the contact methods above. If you wish to organize a contributed paper session, tutorial session, focused workshop, or birds of a feather group, please contact the conference director at mwitten@chpc.utexas.edu . The abstract may be submitted electronically to compmed94@chpc.utexas.edu or by mail or fax. There is no official format. 6.0 CONFERENCE DEADLINES AND FEES: The following deadlines should be noted: 1 November 1993 - Notification of intent to organize a special session 15 December 1993 - Abstracts for talks/posters/ workshops/birds of a feather sessions/demonstrations 15 January 1994 - Notification of acceptance of abstract 15 February 1994 - Application for financial aid 1 April 1994 - Registration deadline (includes payment of all fees) Fees include lunches for three days, all conference registration materials, the reception, and the sit down banquet: $400.00 Corporate $250.00 Academic $150.00 Student Students are required to submit verification of student status. The verification of academic status form appears appended to the registration form in this announcement. Because financial aid may be available for minority students, faculty, and for individuals from declared minority institutions, you may indicate that you are requesting financial aid as a minority individual. Additionally, we anticipate some support for women to attend. Application for financial aid is also appended to the attached form. 7.0 CONFERENCE PRELIMINARY DETAILS AND ENVIRONMENT LOCATION: Hyatt Regency Hotel, Austin, Texas, USA DATES: 24-28 April 1994 The 1st World Congress On Computational Medicine, Public Health, and Biotechnology will be held at the Hyatt Regency Hotel, Austin, Texas located in downtown Austin on the shores of Town Lake, also known as the Colorado River. The Hyatt Regency has rooms available for the conference participants at a special rate of $79.00/night for single or double occupancy, with a hotel tax of 13%. The Hyatt accepts American Express, Diner's Club, Visa, MasterCard, Carte Blanche, and Discover credit cards. This room rate will be in effect until 9 April 1994 or until the block of rooms is full. We recommend that you make your reservations as soon as possible. You may make your reservations by calling (512) 477-1234 or by returning the enclosed reservation form. Be certain to mention that you are attending the First World Congress On Computational Medicine, Public Health, and Biotechnology if you make your reservations by telephone. The hotel is approximately, five miles (15 minutes from Robert Mueller Airport). The Hyatt offers courtesy limousine service to and from the airport between the hours of 6:00am and 11:00pm. You may call them from the airport when you arrive. If you choose to use a taxi, expect to pay approximately $8.00. Automobiles may be rented, at the airport, from most of the major car rental agencies. However, because of the downtown location of the Congress and access to taxis and to bus service, we do not recommend that you rent an auto unless you are planning to drive outside of the city. Should you not be able to find an available room at the Hyatt Regency, we have scheduled an "overflow" hotel, the Embassy Suites, which is located directly across the street from the Hyatt Regency. If, due to travel expense restrictions, you are unable to stay at either of these two hotels, please contact the conference board directly and we will be more than happy to find a hotel near the conference site that should accommodate your needs. Austin, the state capital, is renowned for its natural hill-country beauty and an active cultural scene. Several hiking and jogging trails are within walking distance of the hotel, as well as opportunities for a variety of aquatic sports. From the Hyatt, you can "Catch a Dillo" downtown, taking a ride on our delightful inner-city, rubber-wheeled trolley system. In Austin's historic downtown area, you can take a free guided tour through the State Capitol Building, constructed in 1888. Or, you can visit the Governor's Mansion, recognized as one of the finest examples of 19th Century Greek Revival architecture and housing every Texas governor since 1856. Downtown you will find the Old Bakery and Emporium, built by Swedish immigrant Charles Lundberg in 1876 and the Sixth Street/Old Pecan Street Historical District - a seven-block renovation of Victorian and native stone buildings, now a National Registered Historic District containing more than 60 restaurants, clubs, and shops to enjoy. The Laguna Gloria Art Museum, the Archer M. Huntington Art Gallery, the LBJ Library and Museum, the Neill-Cochran Museum House, and the Texas Memorial Museum are among Austin's finest museums. The Umlauf Sculpture Garden, has become a major artistic attraction. Charles Umlauf's sculptured works are placed in a variety of elegant settings under a canopy of trees. The Zilker Gardens contains many botanical highlights such as the Rose Garden, Oriental Garden, Garden of the Blind, Water Garden and more. Unique to Austin is a large population of Mexican free-tailed bats which resides beneath the Congress Avenue Bridge. During the month of April, the Highland Lakes Bluebonnet Trail celebrates spring's wildflowers (a major attraction) as this self-guided tour winds through the surrounding region of Austin and nearby towns (you will need to rent a car for this one). Austin offers a number of indoor shopping malls in every part of the city; The Arboretum, Barton Creek Square, Dobie Mall, and Highland Mall, to name a few. Capital Metro, Austin's mass transit system, offers low cost transportation throughout Austin. Specialty shops, offering a wide variety of handmade crafts and merchandise crafted by native Texans, are scattered throughout the city and surrounding areas. Dining out in Austin, you will have choices of American, Chinese, Authentic Mexican, Tex-Mex, Italian, Japanese, or nearly any other type of cuisine you might wish to experience, with price ranges that will suit anyone's budget. Live bands perform in various nightclubs around the city and at night spots along Sixth Street, offering a range of jazz, blues, country/Western, reggae, swing, and rock music. Day temperatures will be in the 80-90(degrees F) range and fairly humid. Evening temperatures have been known to drop down into the 50's (degrees F). Cold weather is not expected so be sure to bring lightweight clothing with you. Congress exhibitor and vendor presentations are also being planned. 8.0 CONFERENCE ENDORSEMENTS AND SPONSORSHIPS: Numerous potential academic sponsors have been contacted. Currently negotiations are underway for sponsorship with SIAM, AMS, MAA, IEEE, FASEB, and IMACS. Additionally AMA and ANA continuing medical education support is being sought. Information will be updated regularly on the anonymous ftp site for the conference (see above). Currently, funding has been generously supplied by the following agencies: University of Texas System - CHPC U.S. Department of Energy ================== REGISTRATION FORM =============== (Please list your name below as it will appear on badge.) First Name : Middle Initial (if available): Family Name: Your Professional Title: [ ]Dr. [ ]Professor [ ]Mr. [ ]Mrs. [ ]Ms. [ ]Other:__________________ Office Phone (desk): Home/Evening Phone (for emergency contact): Fax: Electronic Mail (Bitnet): Electronic Mail (Internet): Postal Address: Institution or Center: Building Code: Mail Stop: Street Address1: Street Address2: City: State: Zip or Country Code: Country: Please list your three major interest areas: Interest1: Interest2: Interest3: Registration fee: $____________ Late fee $50 (if after April 1, 1994) $____________ **IF UT AUSTIN, PLEASE PROVIDE YOUR: UNIVERSITY ACCT. #: ______________________ UNIVERSITY ACCT. TITLE: ______________________ NAME OF ACCT. SIGNER: ______________________ ===================================================== VERIFICATION OF STUDENT STATUS Name: Mailing Address: University at which you are a student: What level student(year): Your student id number: Name of your graduate or postdoctoral advisor: Telephone number for your advisor: By filling in this section, I agree that I am electronically signing my signature to the statement that I am currently a student at the above university. ======================================================= REQUEST FOR FINANCIAL AID Name: Mailing Address: I request financial assistance under one or more of the following categories: [ ] Student (You must fill out the Verification of Student Status Section in order to be considered for financial aid under this category) [ ] Academic [ ] Minority [ ] Female [ ] Black [ ] Hispanic [ ] Native American Indian [ ] Other This form is not meant to invade your personal privacy in any fashion. However, some of the grant funds are targeted at specific ethnic/minority groups and need to be expended appropriately. None of these forms will be in any way released to the public. And, after the congress, all of the financial aid forms will be destroyed. No records will be kept of ethnic or racial backgrounds. If you have any questions concerning financial aid support, please contact Matthew Witten at the above addresses. ============================================================== From owner-SL-news Tue Oct 5 07:47:18 1993 Resent-Date: Tue, 05 Oct 1993 11:47:18 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199310051115.AA12124@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 5 Oct 1993 06:15:11 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Tue, 5 Oct 1993 06:15:07 -0500 Received: from VM.CISED.UNINA.IT (MAILER@INACISED) by vx.cis.umn.edu (PMDF V4.2-13 #2574) id <01H3QRUN23SWB6341L@vx.cis.umn.edu>; Tue, 5 Oct 1993 06:15:36 CDT Received: from VM.CISED.UNINA.IT (DESPOSIT) by VM.CISED.UNINA.IT (Mailer R2.07) with BSMTP id 2894; Tue, 05 Oct 93 11:51:03 EDT Date: Tue, 05 Oct 1993 11:47:18 -0400 (EDT) From: Stefano Pagnotta Subject: High break-down point linear regression procedures To: stat-lisp-news@umnstat Message-Id: <01H3QRUN2DGIB6341L@vx.cis.umn.edu> Organization: CISED - University of Naples "Federico II" X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Content-Transfer-Encoding: 7BIT X-Delivery-Notice: SMTP MAIL FROM does not correspond to sender. Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Stefano Pagnotta I would know if anyone of you know something about xlispstat procedures in the field of robust linear regression like Lest Median of Squares and in the field of outlier detection like Minimum Volume Ellipsoid. Thank you. Stefano Pagnotta STEFANO M. PAGNOTTA PHONE: +39 81 675183 UNIVERSITA' DI NAPOLI FAX : +39 81 675009 DIP. DI MATEMATICA E STATISTICA E-MAIL: DESPOSIT@VM.CISED.UNINA.IT VIA CINTHIA, M.TE S.ANGELO 80126 NAPOLI ITALY From owner-SL-news Tue Oct 5 04:25:56 1993 Resent-Date: Tue, 5 Oct 93 09:25:56 CDT Resent-From: owner-SL-news Resent-Message-Id: <199310051427.AA12878@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 5 Oct 1993 09:27:58 -0500 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Tue, 5 Oct 1993 09:27:55 -0500 Received: from bird.stat.uiowa.edu by ns-mx.uiowa.edu (5.64.jnf/921215) on Tue, 5 Oct 93 09:27:52 -0500 id AA18285 with SMTP Received: from nuthatch.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA10643; Tue, 5 Oct 93 09:25:56 CDT Date: Tue, 5 Oct 93 09:25:56 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9310051425.AA10643@ stat.uiowa.edu> To: stat-lisp-news@umnstat Subject: problem with vectorizing Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: rlenth@stat.uiowa.edu (Russ Lenth) I'm baffled by the following problem. I made a function *NCT*CDF* that calls a dynamically loaded function, and another function NCT-CDF that is supposed to vectorize it, via map-elements. (This is in the Windows version of xlisp-stat.) It works fine as long as there are no list arguments; but when there are, it seems to call *NCT*CDF* too many times. The last time around, a window pops up telling me that an error has occurred, and after clicking the "Ignore" button, it finally finishes up with errors due to bad arguments. A listing of the functions and results (with trace enabled for *NCT*CDF*) is below. Any ideas on what might be happening? Russ Lenth rlenth@stat.uiowa.edu University of Iowa ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun *nct*cdf* (tval df delta) (let* ((z (call-cfun nct-dll "tcdf" 0.0 (float tval) (float df) (float delta) 0)) (errcode (first (select z 4)))) (if (= 0 errcode) (first (first z)) (error "Error in *nct*cdf*: code = ~a" errcode)))) (defun nct-cdf (tval df delta) (map-elements #'*nct*cdf* tval df delta)) > (nct-cdf 1 2 '(1 2 3)) Entering: *NCT*CDF*, Argument list: (1 2 1) Exiting: *NCT*CDF*, Value: 0.455746 Entering: *NCT*CDF*, Argument list: (1 2 2) Exiting: *NCT*CDF*, Value: 0.15605 Entering: *NCT*CDF*, Argument list: (1 2 3) Exiting: *NCT*CDF*, Value: 0.0288978 ----(the error-message window pops up now)---- Entering: *NCT*CDF*, Argument list: (1 2 #) error: not a number - # From owner-SL-news Tue Oct 5 15:25:33 1993 Resent-Date: Tue, 5 Oct 93 19:25:33 EDT Resent-From: owner-SL-news Resent-Message-Id: <199310052325.AA15828@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 5 Oct 1993 18:25:55 -0500 Received: from super.super.org by umnstat.stat.umn.edu; Tue, 5 Oct 1993 18:25:51 -0500 Received: from descartes (descartes.super.org) by super.super.org (4.1/SMI-4.1) id AA24795; Tue, 5 Oct 93 19:25:34 EDT Received: by descartes (4.1/SMI-4.1) id AA13722; Tue, 5 Oct 93 19:25:33 EDT Date: Tue, 5 Oct 93 19:25:33 EDT From: pcolsen@super.org (Peter C Olsen) Message-Id: <9310052325.AA13722@descartes> To: stat-lisp-news@umnstat Cc: dadamia@afterlife.ncsc.mil Subject: BSDstuff.c Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@super.org (Peter C Olsen) I'm trying to recompile XlispStat under Linux and I'm stumped by the code in BSDstuff.c Luke once sent me a replacement file, but a subsequent diskcrash has taken it to the land of dead bits. Can anyone send me another copy of the replacement? Thanks. Peter From swk@mlb.semi.harris.com Wed Oct 6 03:06:25 1993 Received: from slopoke.mlb.semi.harris.com by umnstat.stat.umn.edu; Wed, 6 Oct 1993 06:06:29 -0500 Received: from seymour.mlb.semi.harris.com by slopoke.mlb.semi.harris.com (4.0/SMI-4.0) id AA29268; Wed, 6 Oct 93 07:06:27 EDT Received: by seymour.mlb.semi.harris.com (4.1/SMI-4.1) id AA18857; Wed, 6 Oct 93 07:06:25 EDT Date: Wed, 6 Oct 93 07:06:25 EDT From: swk@mlb.semi.harris.com (Song Koh) Message-Id: <9310061106.AA18857@seymour.mlb.semi.harris.com> To: pcolsen@super.org Cc: SL-news-list@umnstat In-Reply-To: <199310052325.AA15828@umnstat.stat.umn.edu> (pcolsen@super.org) Subject: Re: BSDstuff.c >>>>> On Tue, 5 Oct 93 19:25:33 EDT, pcolsen@super.org (Peter C Olsen) said: Peter> I'm trying to recompile XlispStat under Linux and I'm Peter> stumped by the code in BSDstuff.c Luke once sent me a Peter> replacement file, but a subsequent diskcrash has taken Peter> it to the land of dead bits. Can anyone send me Peter> another copy of the replacement? Why don't we post it? I would be willing to help in the port... ------------------------------------------------------------------------ Song Koh Harris Semiconductor swk@mlb.semi.harris.com MS 62-022 Voice: (407)-724-7085 P. O Box 883 (US mail) Fax: (407)-729-4960 Palm Bay Road (UPS) Melbourne, FL 32902-0883 ------------------------------------------------------------------------ From owner-SL-news Wed Oct 6 10:14:40 1993 Resent-Date: Wed, 6 Oct 93 15:14:40 CDT Resent-From: owner-SL-news Resent-Message-Id: <199310062014.AA20237@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 6 Oct 1993 15:14:44 -0500 Received: from mallit2.forestry.umn.edu by umnstat.stat.umn.edu; Wed, 6 Oct 1993 15:14:41 -0500 Date: Wed, 6 Oct 93 15:14:40 CDT From: "William Compte" Message-Id: <9310062014.AA13663@mallit2.forestry.umn.edu> Received: by mallit2.forestry.umn.edu; Wed, 6 Oct 93 15:14:40 CDT Received: by NeXT Mailer (1.63) To: stat-lisp-news@umnstat Subject: citations for the algorithms used in numgrad and numhess Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "William Compte" Hi I am doing some research which requires computing numerical approximations to second partial derivatives of a non-analytical function. I use a NeXT and code in C, so I can't use xlisp-stat. However, it would be useful to find citations for the algorithms used in the numgrad and numhess routines of xlisp-stat. Can anyone help ? Thanks. William Compte wcompte@mallit2.forestry.umn.edu From owner-SL-news Thu Oct 7 08:26:48 1993 Resent-Date: Thu, 07 Oct 1993 12:26:48 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199310071131.AA23378@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 7 Oct 1993 06:31:53 -0500 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Thu, 7 Oct 1993 06:31:50 -0500 Received: from VM.CISED.UNINA.IT (MAILER@INACISED) by vx.cis.umn.edu (PMDF V4.2-13 #2574) id <01H3TL05OL1SB7AMAB@vx.cis.umn.edu>; Thu, 7 Oct 1993 06:32:00 CDT Received: from VM.CISED.UNINA.IT (DESPOSIT) by VM.CISED.UNINA.IT (Mailer R2.07) with BSMTP id 3258; Thu, 07 Oct 93 12:29:26 EDT Date: Thu, 07 Oct 1993 12:26:48 -0400 (EDT) From: Stefano Pagnotta Subject: dynamic graphics for ts To: stat-lisp-news@umnstat Message-Id: <01H3TL0MVH4YB7AMAB@vx.cis.umn.edu> Organization: CISED - University of Naples "Federico II" X-Envelope-To: stat-lisp-news@umnstat.stat.umn.edu Content-Transfer-Encoding: 7BIT X-Delivery-Notice: SMTP MAIL FROM does not correspond to sender. Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Stefano Pagnotta hi does anyone know where I can get dynamic graphics procedures for explorative time series analysis? Thank you! STEFANO M. PAGNOTTA PHONE: +39 81 675183 UNIVERSITA' DI NAPOLI FAX : +39 81 675009 DIP. DI MATEMATICA E STATISTICA E-MAIL: DESPOSIT@VM.CISED.UNINA.IT VIA CINTHIA, M.TE S.ANGELO 80126 NAPOLI ITALY From owner-SL-news Thu Oct 7 14:44:57 1993 Resent-Date: Thu, 7 Oct 1993 13:44:57 +0100 (BST) Resent-From: owner-SL-news Resent-Message-Id: <199310071250.AA23678@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 7 Oct 1993 07:50:25 -0500 Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu; Thu, 7 Oct 1993 07:50:15 -0500 Received: from burnmoor.ncl.ac.uk by cheviot.ncl.ac.uk id (5.65cVUW/NCL-CMA.1.35 for ) with SMTP; Thu, 7 Oct 1993 13:50:10 +0100 Received: from tuda.ncl.ac.uk (tuda.ncl.ac.uk [128.240.2.1]) by burnmoor.ncl.ac.uk (8.5/generic.cf(V8.5.1.5)) with ESMTP id MAA17705; Thu, 7 Oct 1993 12:51:12 GMT Received: from localhost (ncb@localhost) by tuda.ncl.ac.uk (8.5/generic.cf(V8.5.1.5)) id NAA06466; Thu, 7 Oct 1993 13:50:05 +0100 Date: Thu, 7 Oct 1993 13:44:57 +0100 (BST) From: "C. Brunsdon" Subject: Poisson processes, among other things To: stat-lisp-news@umnstat Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "C. Brunsdon" Am I correct in assuming that a Poisson process is a very poor model for the occurrence of posting to stat-lisp-news (ie there has been nothing for weeks and weeks and then a sudden influx), or is there a problem with my mail? On a more serious note, does anyone have any experience of linking Borland Turbo Pascal for Windows DLL's to xlisp-stat? Any simple examples would be gratefully received. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Chris Brunsdon, Lecturer, | Dept. Of Town and Country Planning, | University Of Newcastle upon Tyne NE1 7RU | From owner-SL-news Fri Oct 8 19:43:12 1993 Resent-Date: Fri, 08 Oct 1993 09:43:12 +1000 Resent-From: owner-SL-news Resent-Message-Id: <199310072343.AA26622@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 7 Oct 1993 18:43:37 -0500 Received: from dmssyd.syd.dms.CSIRO.AU by umnstat.stat.umn.edu; Thu, 7 Oct 1993 18:43:24 -0500 Received: from dmsyip.syd.dms.CSIRO.AU by dmssyd.syd.dms.CSIRO.AU (4.1/5.17) id AA20816; Fri, 8 Oct 93 09:43:14 EST (from alokep@syd.dms.csiro.au (Aloke Phatak)) To: stat-lisp-news@umnstat Subject: Beginner's questions Date: Fri, 08 Oct 1993 09:43:12 +1000 Message-Id: <6923.750037392@dmsyip.syd.dms.CSIRO.AU> From: Aloke Phatak Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Aloke Phatak I've just joined this list, so I apologize if some of these questions have been asked before. 1. Is there an FAQ (Frequently Asked Questions) for this group? 2. Have there been any methods developed for handling missing data, e.g. something along the lines of S-plus? 3. I see from rooting around STATLIB that Cook and Weisberg's functions for regression diagnostics are available, but does anyone know whether Cook's graphical regression stuff written in XLISP-STAT is also going to be made available? Thanks. Aloke Phatak -- _Aloke Phatak, CSIRO Div. Maths & Stats_ / \ | Locked Bag 17, North Ryde NSW 2113 | | Ph: 61 2 325 3217 fax (02) 325 3200 | | (Building E6B, Macquarie University) | | E-mail: alokep@syd.dms.csiro.au | +----------------------------------------+ From owner-SL-news Thu Oct 14 11:51:30 1993 Resent-Date: Thu, 14 Oct 93 17:52:35 WETDST Resent-From: owner-SL-news Resent-Message-Id: <199310141651.AA26983@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 14 Oct 1993 11:51:30 -0500 Received: from io.upf.es by umnstat.stat.umn.edu; Thu, 14 Oct 1993 11:51:07 -0500 Received: from libiya.upf.es by io.upf.es (4.1/SMI-4.1) id AA03871; Thu, 14 Oct 93 17:57:09 GMT Message-Id: <9310141757.AA03871@io.upf.es> Received: by libiya.upf.es (16.7/15.6) id AA14814; Thu, 14 Oct 93 17:52:37 +0100 From: Frederic Udina Subject: distribution objects To: stat-lisp-news@umnstat (lisp stat list) Date: Thu, 14 Oct 93 17:52:35 WETDST Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hello there! I have written a first approach to build a distr-proto object that will represent a probability distribution. This is an object prototype providing some parameter information and methods for random generation, for probability computation, graphic display and so on. By means of these objects, it is easy to build finite mixtures of distributions and have a homogeneous approach to any distribution. I plan to finish it and post it for xlispstat users but I want to know if there is some other approaches out there. So the question is: Is there anybody writing some object implementation of probability distributions? If there is someone, can we interchange a description of our respective approaches? -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/|\_________________________________ From owner-SL-news Thu Oct 14 12:18:34 1993 Resent-Date: Thu, 14 Oct 1993 16:18:34 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199310142022.AA27949@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 14 Oct 1993 15:22:32 -0500 Received: from versicolor (versicolor.uwaterloo.ca) by umnstat.stat.umn.edu; Thu, 14 Oct 1993 15:22:18 -0500 Received: by versicolor.uwaterloo.ca id <24281>; Thu, 14 Oct 1993 16:18:50 -0400 Subject: Re: distribution objects From: "R.W. Oldford" To: udina@upf.es (Frederic Udina) Date: Thu, 14 Oct 1993 16:18:34 -0400 Cc: stat-lisp-news@umnstat In-Reply-To: <9310141757.AA03871@io.upf.es>; from "Frederic Udina" at Oct 14, 93 12:52 pm X-Mailer: ELM [version 2.3 PL11] Message-Id: <93Oct14.161850edt.24281@versicolor.uwaterloo.ca> Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "R.W. Oldford" > > hello there! > > I have written a first approach to build a > distr-proto > object that will represent a probability distribution. > This is an object prototype providing > some parameter information and methods for random generation, > for probability computation, graphic display and so on. > > By means of these objects, it is easy to build finite mixtures of > distributions and have a homogeneous approach to any distribution. > > I plan to finish it and post it for xlispstat users but I want to know if > there is some other approaches out there. > > So the question is: > Is there anybody writing some object implementation of probability > distributions? > If there is someone, can we interchange a description of our respective > approaches? > -- > Frederic Udina > _______________________________________________________________________ > Facultat de Ciencies Economiques | > Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 > Balmes 132 | fax: 34 - 3 - 484 97 46 > 08008 Barcelona | e-mail: udina@upf.es > SPAIN | appleLink: spa0172 > ___________________________________/|\_________________________________ > Quail (A Common Lisp based Statistical system) already has a fairly complete collection of probability-measure classes that do just what you propose. Namely probability calculations, quantiles, random-number generation, etc. Quail is available for Macintoshes via anonymous ftp from setosa.uwaterloo.ca or equivalently 129.97.141.101 Check it out. From owner-SL-news Tue Oct 19 08:16:23 1993 Resent-Date: Tue, 19 Oct 93 12:16:23 EDT Resent-From: owner-SL-news Resent-Message-Id: <199310191616.AA20724@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 19 Oct 1993 11:16:35 -0500 Received: from super.super.org by umnstat.stat.umn.edu; Tue, 19 Oct 1993 11:16:25 -0500 Received: by super.super.org (4.1/SMI-4.1) id AA10559; Tue, 19 Oct 93 12:16:23 EDT Date: Tue, 19 Oct 93 12:16:23 EDT From: pcolsen@super.org (Peter C Olsen) Message-Id: <9310191616.AA10559@super.super.org> To: stat-lisp-news@umnstat Subject: Fast Fourier Transforms Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@super.org (Peter C Olsen) I'm looking for anyone who has written an FFT package to use with Xlisp-Stat. I want to analyze some data using FFTs and I'd rather not have to write a package from scratch myself. Any code, pointers to code, or (if worse comes to worst) implementation hints would be greatly appreciated. Thanks! Peter Peter Olsen, n2ell, pcolsen@super.super.org ...!uunet!super!pcolsen P.O. Box 410, Simpsonville, MD 21150-0410; 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life" From owner-SL-news Wed Oct 20 04:44:01 1993 Resent-Date: Wed, 20 Oct 93 08:44:01 EDT Resent-From: owner-SL-news Resent-Message-Id: <199310201317.AA26091@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Oct 1993 08:17:53 -0500 Received: from slopoke.mlb.semi.harris.com by umnstat.stat.umn.edu; Wed, 20 Oct 1993 08:15:23 -0500 Received: from seymour.mlb.semi.harris.com by slopoke.mlb.semi.harris.com (4.0/SMI-4.0) id AA02611; Wed, 20 Oct 93 08:44:02 EDT Received: by seymour.mlb.semi.harris.com (4.1/SMI-4.1) id AA28783; Wed, 20 Oct 93 08:44:01 EDT Date: Wed, 20 Oct 93 08:44:01 EDT From: swk@mlb.semi.harris.com (Song Koh) Message-Id: <9310201244.AA28783@seymour.mlb.semi.harris.com> To: stat-lisp-news@umnstat Subject: xlispstat on Linux [repost] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: swk@mlb.semi.harris.com (Song Koh) I am resending this because I have not heard back from anyone. I am interested in porting xlispstat to Linux. I have gotten it to compile but there are problems with interactive IO and with pulldown menus on the plots. Has anyone done any work on this port yet? One previous message seems to suggest that there was a patch... ------------------------------------------------------------------------ Song Koh Harris Semiconductor swk@mlb.semi.harris.com MS 62-022 Voice: (407)-724-7085 P. O Box 883 (US mail) Fax: (407)-729-4960 Palm Bay Road (UPS) Melbourne, FL 32902-0883 ------------------------------------------------------------------------ From owner-SL-news Tue Oct 26 01:39:07 1993 Resent-Date: Tue, 26 Oct 93 06:39:07 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199310261139.AA23915@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 26 Oct 1993 06:39:18 -0500 Received: from mars.stat.wisc.edu by umnstat.stat.umn.edu; Tue, 26 Oct 1993 06:39:15 -0500 Message-Id: <9310261139.AA19084@mars.stat.wisc.edu> Received: from localhost by mars.stat.wisc.edu; Tue, 26 Oct 93 06:39:08 -0500 To: swk@mlb.semi.harris.com (Song Koh) Cc: stat-lisp-news@umnstat Subject: Re: xlispstat on Linux [repost] In-Reply-To: Your message of "Wed, 20 Oct 93 08:44:01 EDT." <9310201244.AA28783@seymour.mlb.semi.harris.com> Date: Tue, 26 Oct 93 06:39:07 -0500 From: kademan@stat.wisc.edu X-Mts: smtp Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: kademan@stat.wisc.edu > I am interested in porting xlispstat to Linux. There seems to be a port of xlispstat to linux on the machine sunsite.unc.edu in the file /pub/Linux/X11/xapps/math/xlispstat2.1R2.tar.gz I haven't tried it or anything. From owner-SL-news Mon Nov 1 12:00:39 1993 Resent-Date: Mon, 1 Nov 93 18:37:22 WET Resent-From: owner-SL-news Resent-Message-Id: <199311011800.AA01415@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 1 Nov 1993 12:00:39 -0600 Received: from io.upf.es by umnstat.stat.umn.edu; Mon, 1 Nov 1993 12:00:23 -0600 Received: from libiya.upf.es by io.upf.es (4.1/SMI-4.1) id AA10021; Mon, 1 Nov 93 18:43:41 GMT Message-Id: <9311011843.AA10021@io.upf.es> Received: by libiya.upf.es (16.7/15.6) id AA04611; Mon, 1 Nov 93 18:37:22 GMT From: Frederic Udina Subject: kronecker product To: stat-lisp-news@umnstat (lisp stat list) Date: Mon, 1 Nov 93 18:37:22 WET Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hello Does someone have defined in xlisp a function for doing the kronecker product of two bidimensional matrices? thanks -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/|\_________________________________ From owner-SL-news Tue Nov 2 05:40:54 1993 Resent-Date: Tue, 2 Nov 93 10:40:54 EST Resent-From: owner-SL-news Resent-Message-Id: <199311012341.AA03321@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 1 Nov 1993 17:41:13 -0600 Received: from frey.newcastle.edu.au by umnstat.stat.umn.edu; Mon, 1 Nov 1993 17:41:06 -0600 Received: by frey.newcastle.edu.au id AA17182 (5.65c/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Tue, 2 Nov 1993 10:40:54 +1100 From: "Philip Iversen (Statistics)" Message-Id: <199311012340.AA17182@frey.newcastle.edu.au> Subject: Re: kronecker product To: stat-lisp-news@umnstat Date: Tue, 2 Nov 93 10:40:54 EST In-Reply-To: <9311011843.AA10021@io.upf.es>; from "Frederic Udina" at Nov 1, 93 6:37 pm X-Mailer: ELM [version 2.3 PL11] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Philip Iversen (Statistics)" > > hello > > Does someone have defined in xlisp a function for doing the kronecker > product of two bidimensional matrices? > > thanks > > -- > Frederic Udina > _______________________________________________________________________ > Facultat de Ciencies Economiques | > Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 > Balmes 132 | fax: 34 - 3 - 484 97 46 > 08008 Barcelona | e-mail: udina@upf.es > SPAIN | appleLink: spa0172 > ___________________________________/|\_________________________________ > Here is what I have done. The algorithm steps through the elements of M1, multiplies each element with M2 and puts the result in the appropriate submatrix of the result. The upper left corner of this submatrix is specified by BEGROW and BEGCOL. (defun ncols (x) (array-dimension x 1)) (defun nrows (x) (array-dimension x 0)) (defun kronecker (m1 m2) (let* ((r1 (nrows m1)) (c1 (ncols m1)) (r2 (nrows m2)) (c2 (ncols m2)) (result (make-array (list (* r1 r2) (* c1 c2)))) (begrow 0) (begcol 0)) (dolist (arow (iseq r1) result) (dolist (acol (iseq c1) result) (setf begrow (* arow r2)) (setf begcol (* acol c2)) (setf (select result (iseq begrow (+ begrow r2 -1)) (iseq begcol (+ begcol c2 -1))) (* (select m1 arow acol) m2)))))) Philip Iversen pwi@frey.newcastle.edu.au From owner-SL-news Tue Nov 2 06:06:11 1993 Resent-Date: Tue, 2 Nov 93 11:41:27 WET Resent-From: owner-SL-news Resent-Message-Id: <199311021206.AA05475@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 2 Nov 1993 06:06:11 -0600 Received: from io.upf.es by umnstat.stat.umn.edu; Tue, 2 Nov 1993 06:05:36 -0600 Received: from libiya.upf.es by io.upf.es (4.1/SMI-4.1) id AA10779; Tue, 2 Nov 93 11:47:50 GMT Message-Id: <9311021147.AA10779@io.upf.es> Received: by libiya.upf.es (16.7/15.6) id AA04818; Tue, 2 Nov 93 11:41:29 GMT From: Frederic Udina Subject: kronecker To: stat-lisp-news@umnstat (lisp stat list) Date: Tue, 2 Nov 93 11:41:27 WET Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina Hi all Philip Iversen (thank you) gives a good solution to my kronecker product problem His function works on two arrays. Another approach, when the matrices are given as nested lists, can be (defun kron-list (a b) "given two matrices A and B as nested lists, gives the kronecker product of A by B, ..." (let* ((ar (length a)) (br (length b)) (ac (length (first a))) (bc (length (first b)))) (* (mapcar #'(lambda (row) (repeat row (repeat bc ac))) (split-list (repeat a (repeat br ar)) ac)) (mapcar #'(lambda (row) (repeat row ac)) (repeat b ar))))) -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/|\_________________________________ From owner-SL-news Tue Nov 2 03:02:24 1993 Resent-Date: Tue, 2 Nov 1993 08:02:24 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199311021301.AA05686@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 2 Nov 1993 07:01:58 -0600 Received: from NOC4.DCCS.UPENN.EDU by umnstat.stat.umn.edu; Tue, 2 Nov 1993 07:01:55 -0600 Received: from HILBERT.WHARTON.UPENN.EDU by noc4.dccs.upenn.edu id AA10660; Tue, 2 Nov 93 08:01:53 -0500 Return-Path: Received: by hilbert.wharton.upenn.edu id AA18704; Tue, 2 Nov 93 08:02:25 -0500 From: bob@hilbert.wharton.upenn.edu (Robert A. Stine) Posted-Date: Tue, 2 Nov 1993 08:02:24 -0500 (EST) Message-Id: <9311021302.AA18704@hilbert.wharton.upenn.edu> Subject: Building XLisp on HP 735 To: stat-lisp-news@umnstat Date: Tue, 2 Nov 1993 08:02:24 -0500 (EST) X-Mailer: ELM [version 2.4 PL13] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 277 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bob@hilbert.wharton.upenn.edu (Robert A. Stine) Hi, I recall seeing a posting about someone who was having problems building LispStat on an HP 735 workstation. We are doing that now, and dynamic loading is a bit of a problem. Anyone done this before? Bob Stine bob @ hilbert.wharton.upenn.edu Statistics, Univ of Pa From owner-SL-news Wed Nov 3 04:19:36 1993 Resent-Date: Wed, 3 Nov 93 09:19:36 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199311031418.AA12055@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 3 Nov 1993 08:18:38 -0600 Received: from unx.al.alcoa.com by umnstat.stat.umn.edu; Wed, 3 Nov 1993 08:18:35 -0600 Received: by unx.al.alcoa.com (5.57/Ultrix3.0-C) id AA03089; Wed, 3 Nov 93 09:19:36 -0500 Date: Wed, 3 Nov 93 09:19:36 -0500 From: daniel@unx.al.alcoa.com (David Daniel) Message-Id: <9311031419.AA03089@unx.al.alcoa.com> To: stat-lisp-news@umnstat Subject: multivariate numerical integration Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: daniel@unx.al.alcoa.com (David Daniel) Howdy fellow XLispers, I'm looking for a numerical integration function which will integrate over two (or possibly more) variables. I want something that is *just* xlisp code, and not a C or FORTRAN routine since using external routines would require specifying the funtion to be integrated externally as well. Thanks for any help, -David Daniel daniel@unx.al.alcoa.com From mwitten@chpc.utexas.edu Wed Nov 3 05:36:09 1993 Received: from morpheus.chpc.utexas.edu by umnstat.stat.umn.edu; Wed, 3 Nov 1993 11:36:09 -0600 Received: by morpheus.chpc.utexas.edu (4.1/SMI-4.1) id AA08727; Wed, 3 Nov 93 11:36:09 CST Date: Wed, 3 Nov 93 11:36:09 CST From: mwitten@chpc.utexas.edu Message-Id: <9311031736.AA08727@morpheus.chpc.utexas.edu> To: SL-news-list@umnstat Subject: URGENT: DEADLINE CHANGE FOR WORLD CONGRESS UPDATE ON DEADLINES FIRST WORLD CONGRESS ON COMPUTATIONAL MEDICINE, PUBLIC HEALTH, AND BIOTECHNOLOGY 24-28 April 1994 Hyatt Regency Hotel Austin, Texas ----- (Feel Free To Cross Post This Announcement) ---- Due to a confusion in the electronic distribution of the congress announcement and deadlines, as well as incorrect deadlines appearing in a number of society newsletters and journals, we are extending the abstract submission deadline for this congress to 31 December 1993. We apologize to those who were confused over the differing deadline announcements and hope that this change will allow everyone to participate. For congress details: To contact the congress organizers for any reason use any of the following pathways: ELECTRONIC MAIL - compmed94@chpc.utexas.edu FAX (USA) - (512) 471-2445 PHONE (USA) - (512) 471-2472 GOPHER: log into the University of Texas System-CHPC select the Computational Medicine and Allied Health menu choice ANONYMOUS FTP: ftp.chpc.utexas.edu cd /pub/compmed94 (all documents and forms are stored here) POSTAL: Compmed 1994 University of Texas System CHPC Balcones Research Center 10100 Burnet Road, 1.154CMS Austin, Texas 78758-4497 SUBMISSION PROCEDURES: Authors must submit 5 copies of a single-page 50-100 word abstract clearly discussing the topic of their presentation. In addition, authors must clearly state their choice of poster, contributed paper, tutorial, exhibit, focused workshop or birds of a feather group along with a discussion of their presentation. Abstracts will be published as part of the preliminary conference material. To notify the congress organizing committee that you would like to participate and to be put on the congress mailing list, please fill out and return the form that follows this announcement. You may use any of the contact methods above. If you wish to organize a contributed paper session, tutorial session, focused workshop, or birds of a feather group, please contact the conference director at mwitten@chpc.utexas.edu . The abstract may be submitted electronically to compmed94@chpc.utexas.edu or by mail or fax. There is no official format. If you need further details, please contact me. Matthew Witten Congress Chair mwitten@chpc.utexas.edu From owner-SL-news Tue Nov 9 18:53:54 1993 Resent-Date: Wed, 10 Nov 93 02:53:54 PST Resent-From: owner-SL-news Resent-Message-Id: <199311101052.AA14211@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Nov 1993 04:52:46 -0600 Received: from ursula.ee.pdx.edu by umnstat.stat.umn.edu; Wed, 10 Nov 1993 04:52:42 -0600 Received: by ursula.ee.pdx.edu (4.1/SMI-4.1) id AA03163; Wed, 10 Nov 93 02:53:54 PST Date: Wed, 10 Nov 93 02:53:54 PST From: marcus@ee.pdx.edu (Marcus Daniels) Message-Id: <9311101053.AA03163@ursula.ee.pdx.edu> To: stat-lisp-news@umnstat Subject: Anyone using CLS1.0A1 with big databases? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: marcus@ee.pdx.edu (Marcus Daniels) I'm working on converting some xlispstat-designed-code to CLS. The only unusual thing about this is that I used a custom database backend to load a set of 7 to 9 vectors, each vector typically containing around 10000 double-float's. The same code, compiled with AKCL 619 (+ gcc 2.5.2) and full-speed optimization, barely runs half as fast as with xlispstat. I haven't spent any effort adding declarations to the CLS code, or modifying my own code yet. I'm just wondering what experiences others have had porting code to Common-lisp-stat (performance-wise). Any tips? Now using AKCL and a slightly improved backend, my database functions read directly into the (:static t) allocated vectors. This has improved performance for loading, and is faster than the old xlispstat approach I used. I know I'm not getting bogged down with garbage collection. The virtual memory use is actually around %80 of what it used to be, no leaks, and not even close to swapping. BTW: The statistics I'm running are pretty simple... Just sets of min/max/means, medians, various quantiles, geomeans, etc.. I've been pondering some wild and wacky ideas like using CLOS with Postgres (Picasso provides a backend). Has anyone tried this combination in the context of statistical/data-processing applications (or at all!) ? cheers, Marcus Daniels From owner-SL-news Wed Nov 10 02:36:34 1993 Resent-Date: Wed, 10 Nov 93 10:36:34 PST Resent-From: owner-SL-news Resent-Message-Id: <199311101845.AA16150@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Nov 1993 12:45:29 -0600 Received: from relay1.UU.NET by umnstat.stat.umn.edu; Wed, 10 Nov 1993 12:45:25 -0600 Received: from spool.uu.net (via LOCALHOST) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA25404; Wed, 10 Nov 93 13:45:12 -0500 Received: from statsci.UUCP by uucp3.uu.net with UUCP/RMAIL (queueing-rmail) id 134351.14536; Wed, 10 Nov 1993 13:43:51 EST Received: from herb.statsci.com by statsci.com (4.1/SMI-3.2 ssi v3.42) id AA04153; Wed, 10 Nov 93 10:36:04 PST Received: by herb.statsci.com (4.1/SMI-4.1) id AA21039; Wed, 10 Nov 93 10:36:34 PST Date: Wed, 10 Nov 93 10:36:34 PST From: almond@statsci.com (Russell G. Almond) Message-Id: <9311101836.AA21039@herb.statsci.com> To: marcus@ee.pdx.edu Cc: stat-lisp-news@umnstat In-Reply-To: <199311101052.AA14211@umnstat.stat.umn.edu> (marcus@ee.pdx.edu) Subject: Re: Anyone using CLS1.0A1 with big databases? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: almond@statsci.com (Russell G. Almond) I've been pondering some wild and wacky ideas like using CLOS with Postgres (Picasso provides a backend). Has anyone tried this combination in the context of statistical/data-processing applications (or at all!) ? I haven't tried it, but I've looked into it. There are (I believe) an number of vendors (I've gotten literature from Itasca, but there must be more out there) who provide persistent CLOS objects (using the Meta-Object Protocol). Note, however, that CLOS is rather different from LISP-STAT's home brew object system. Actually, the issue may be deeper than you think. Object persistance has been put forward as one of the language features in which S is better than XLISP-STAT. In particular, comparisons of the two languages often point out that S data objects are persistent (even junk) while LISP-STAT data objects only last for a session. Obviously, there is a need to address this issue in future versions of LISP-STAT. The S model (workspace stored on disk) is just one model and has advantages and disadvantages. In particular, the S database model was designed well before recent advances in object oriented database technology. I'm very interested in what you come up with in that combination. I'm facing a similar problem (integrating LISP and a database) later this year. Russell Almond StatSci (a division of MathSoft) 1700 Westlake Ave., N Suite 500, Seattle, WA 98109 (206) 283-8802 x234 FAX: (206) 283-8691 Email: almond@statsci.com From 100140.1476@compuserve.com Thu Nov 14 05:20:49 1993 Received: from dub-img-2.compuserve.com by umnstat.stat.umn.edu; Sun, 14 Nov 1993 09:24:56 -0600 Received: from localhost by dub-img-2.compuserve.com (8.6.4/5.930129sam) id KAA28710; Sun, 14 Nov 1993 10:24:55 -0500 Date: 14 Nov 93 10:20:49 EST From: Jens Eickhoff <100140.1476@compuserve.com> To: XLisp-Stat Mailing List Subject: XLisp-Stat, integration of own C-Code on Mac Message-Id: <931114152049_100140.1476_BHB36-3@CompuServe.COM> Hello, I'm not quite shure whether this call goes to the right adress, but I try. Currently I'm working on a technical thermodynamic program application for academic purpose on the Macintosh that needs some intelligent statistic result evaluation. The XLisp-Stat system provides an ideal set of tools and features to perform such result processing. The problem is, that the thermodynamic numerics have to be implemented in C/C++ (I use the Think C/C++ 6.0 compiler). The XLisp-Stat system on the Macintosh provides the feature of calling foreign functions from within XLisp-Stat as I read in the book Lisp-Stat from L. Tierney. My problem is that such XCMD or XCFN calls have the restriction that the modules may not exceed 32k size and may not use dynamic memory allocation functions. For the thermodynamic numerics to implement I need both, modules larger than 32k and dynamic allocation of memory for objects. The idea now was to retrieve the XLisp-Stat system in sourcecode (somewhere I read that the Mac version is written in ThinkC 5.0) and to extend it with the thermodynamic C/C++ code. The question is: Is it possible to define variables in the C-Code, to compute their numeric values and to postprocess these data directly with Lisp statements? The approach would be first to let the user arrive at the interactive Lisp level, to let him input file names etc., then to let him select from a XLisp-Stat pull down menu a numeric calculation function which reads input from the specified file and which computes results that are partly made available to the Lisp and partly are written to an output file. After the numeric calculation the user should return to the Lisp level and should be able to apply Lisp and statistical functions to the results. I'm not an expert in Macintosh programming. Perhaps there are other solutions that are even better. Thanks for any hints and replies. Jens Eickhoff (100140.1476@compuserve.com) From luke Mon Nov 15 09:01:28 1993 Resent-Date: Mon, 15 Nov 1993 15:01:28 -0600 Resent-Message-Id: <199311152101.AA08399@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 15 Nov 1993 15:01:31 -0600 Date: Mon, 15 Nov 1993 15:01:28 -0600 From: "Luke Tierney" Message-Id: <199311152101.AA08392@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 15 Nov 1993 15:01:28 -0600 To: stat-lisp-news@umnstat Subject: test from nokomis Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" a test From owner-SL-news Mon Nov 15 11:09:04 1993 Resent-Date: Mon, 15 Nov 93 16:09:04 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199311152109.AA10348@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 15 Nov 1993 15:09:15 -0600 Received: from STUPID.STAT.CMU.EDU by umnstat.stat.umn.edu; Mon, 15 Nov 1993 15:09:08 -0600 Received: by stupid.stat.cmu.edu id AA06963 (5.65a/IDA-1.4.2 for stat-lisp-news@stat.umn.edu); Mon, 15 Nov 93 16:09:04 -0500 Date: Mon, 15 Nov 93 16:09:04 -0500 From: Luke Tierney Message-Id: <9311152109.AA06963@stupid.stat.cmu.edu> To: stat-lisp-news@umnstat Subject: a test from cmu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Luke Tierney a test From mwitten@chpc.utexas.edu Mon Dec 20 05:28:06 1993 Received: from twilight.chpc.utexas.edu by umnstat.stat.umn.edu; Mon, 20 Dec 1993 11:28:44 -0600 Received: by twilight.chpc.utexas.edu (4.1/SMI-4.1) id AA13679; Mon, 20 Dec 93 11:28:06 CST Date: Mon, 20 Dec 93 11:28:06 CST From: mwitten@chpc.utexas.edu Message-Id: <9312201728.AA13679@twilight.chpc.utexas.edu> To: SL-news-list@umnstat Subject: VIRTUAL REALITY IN MEDICINE From 70530.1227@CompuServe.COM Mon Dec 20 11:18:23 1993 Return-Path: <70530.1227@CompuServe.COM> Received: from dub-img-2.compuserve.com by hermes.chpc.utexas.edu (5.64/SMI-3.2) id AA23840; Mon, 20 Dec 93 11:18:21 -0600 Received: from localhost by dub-img-2.compuserve.com (8.6.4/5.930129sam) id MAA14210; Mon, 20 Dec 1993 12:18:20 -0500 Date: 20 Dec 93 12:12:07 EST From: Karen Morgan <70530.1227@CompuServe.COM> To: "Matthew Witten, Ph.D." Subject: MMVRII Message-Id: <931220171206_70530.1227_CHV41-1@CompuServe.COM> Status: RO I hope the plans for your World Congress are going well. We'd like to do an announcement to be distributed via your electronic mailer system, as you offered previously. Please publish the following abbreviated program: Medicine Meets Virtual Reality II: INTERACTIVE TECHNOLOGY AND HEALTHCARE: VISIONARY APPLICATIONS FOR SIMULATION, VISUALIZATION, ROBOTICS January 27-30, 1994, San Diego Marriott Hotel & Marina Sponsored by UCSD, 23 hours Category 1 CME credit, $390 until December 31, $450 after, call 619/751-8841, fax 751-8842, or E-mail 70530,1227@compuserve.com for information THURSDAY, January 27, three workshops offered simultaneously: I. BIOLOGICAL INFORMATICS, Hans B. Sieburg, Ph.D., Chair, Participants: Sheldon Ball, Floyd Bloom, Michael Huerta, Ralph Martinez, Jack Park, Stella Veretnik, W. Ziarko II. MASSIVELY PARALLEL PROCESSING COMPUTERS FOR MEDICAL TECHNOLOGY DEVELOPMENT Makoto Nonaka, M.D., Ph.D., Chair, Participants: Adrian King, Patrick Chang, Michael Gribskov, Russ Altman, Tom Brotherton III.INTERACTIVE TECHNOLOGIES IN HEALTHCARE: THE "BIG PICTURE" Dave Warner, Chair FRIDAY, January 28 TECHNOLOGY ASSESSMENT: Who Will Pay and Why? Diane S. Millman, J.D., Paul Radensky, M.D., J.D., John E. Abele, Steven T. Charles, M.D., Mark Wiederhold, M.D., Ph.D., Faina Shtern, M.D., Melvyn Greberman, M.D., MPH DATA FUSION: More Than the Sum of the Parts. Don Stredney, Hans B. Sieburg, Ph.D., Mark Wiederhold, M.D., Ph.D. APPLICATIONS: New Visions for New Technologies. Col. Richard M. Satava, M.D., Joseph M. Rosen, M.D., Harvey Eisenberg, M.D., Michael D. Doyle, Ph.D., Walter J. Greenleaf, Ph.D., John P. Brennan, M.D., Kenneth Kaplan, Beth A. Marcus, Ph.D., Suzanne Weghorst, Christopher C. Gallen, M.D., Ph.D. SURGERY: Images of the New Paradigm. Glenn M. Preminger, M.D., John Flynn, Adrie C.M. Dumay, Ph.D., David Hon, Jonathan R. Merril, M.D., Zoltan Szabo, Ph.D., Michael Truppe, M.D., Patrick J. Kelly, M.D., Robert B. Lufkin, M.D., Leon Kaufman, Ph.D., Karun Shimoga, Ph.D., William E. Lorensen, Volker Urban, M.D., P. Mayer, N. M. Huewel, M.D. SATURDAY, January 29 EDUCATION AND TRAINING: The Best and Highest Use. J.K. Udupa, Ph.D., Richard A. Robb, Ph.D., Jonathan Prince, D.D.S., Helene M. Hoffman, Ph.D., Michael J. Ackerman, Ph.D. INTERFACE: Speaking the Same Language. Nathaniel I. Durlach, Dave Warner, Col. Richard M. Satava, M.D., Myron Krueger, Ph.D., Walter J. Greenleaf, Ph.D., Paul Cutt, Narender P. Reddy, Ph.D., Scott Hassan, Alan Barnum-Scrivener, John Peifer, M.A. TELEROBOTICS: Reach Out and Touch Something. Ian Hunter, Ph.D., Paul S. Schenker, Ph.D., Elmar H. Holler, Steven T. Charles, M.D., Bela L. Musits, Hugh Lusted, Ph.D., Janez Funda, Ph.D., Yulun Wang, Ph.D. SUBMITTED PAPERS: Gabriele Faulkner, Ph.D., Uwe G. Kuehnapfel, Ph.D., Matthias Wapler, R. Bowen Loftin, Ph.D., Jaren Parikh, Kurt R. Smith, D.Sc., Bruce Kall, M.S., Donald W. Kormos, Ph.D., David W. Cloyd, M.D., Penny Jennett, Ph.D., Lauren Gabelman, M.S., Joshua Lateiner, Anthony M. DiGioia III, M.D., Joseph B. Petelin, M.D., Timothy Poston, Erik Viirre, M.D., Ph.D., Mark Bolas, A. David Johnson, Ph.D., Brian D. Athey, Ph.D. SUNDAY, January 30 TELEMEDICINE: The Global Health Community. Dave Warner, Michael F. Burrow, Jay H. Sanders, M.D., Ralph Martinez, Ph.D., William J. Dallas, Ph.D., John D. Hestenes, Ph.D., Rudy Mattheus, M.Sc., Georges J.E. De Moor, M.D., Jens P. Christensen, M.SE., MBA SUMMARY DISCUSSION: Improving Quality, Continuity, and Access to Healthcare While Reducing Cost. Faina Shtern, M.D., Col. Richard M. Satava, M.D., Makoto Nonaka, M.D., Ph.D., Nathaniel I. Durlach, John D. Hestenes, Ph.D., Rudy Mattheus, M.Sc., Melvyn Greberman, M.D., MPH EXHIBITS: Advanced Visual Systems, Inc., Artma Biomedical, Inc., BioControl Systems, Inc., Computer Motion, Inc., Dimension Technologies, Inc., Engineering Animation, Inc., XTensory, Inc., High Techsplanations, Inc., Image Technology Associates, Inc., Immersion Corp., IVI Publishing, IXION, Kaiser Medical Optics, Inc., Shooting Star Technology, Silicon Graphics, Inc., SONY Medical Systems, Inc., Stealth Technologies, Inc., Pixys, Inc., Virtual Vision From owner-SL-news Sun Jan 2 06:20:59 1994 Resent-Date: Sun, 2 Jan 1994 11:20:59 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199401021521.AA29331@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 2 Jan 1994 09:21:16 -0600 Received: from Christie.Meakins.McGill.CA by umnstat.stat.umn.edu; Sun, 2 Jan 1994 09:21:13 -0600 Received: by christie.Meakins.McGill.CA (AIX 3.2/UCB 5.64/4.03) id AA13038; Sun, 2 Jan 1994 11:20:59 -0500 Date: Sun, 2 Jan 1994 11:20:59 -0500 From: heberto@christie.Meakins.McGill.CA (Heberto Ghezzo) Message-Id: <9401021620.AA13038@christie.Meakins.McGill.CA> To: lisp-stat-news@umnstat Subject: R-6000 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: heberto@christie.Meakins.McGill.CA (Heberto Ghezzo) I am trying to set up Xlisp-Stat in an IBM R-6000, if somebody already did it, can please send me a copy of the Makefile and of foreigns.h, because I can not get the dynamic loading to work. Thanks. Heberto Ghezzo heberto@meakins.mcgill.ca From owner-SL-news Fri Jan 7 15:11:00 1994 Resent-Date: Fri, 7 Jan 1994 20:11-0500 Resent-From: owner-SL-news Resent-Message-Id: <199401080205.AA23665@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 7 Jan 1994 20:05:43 -0600 Received: from newton.macsyma.com by umnstat.stat.umn.edu; Fri, 7 Jan 1994 20:05:37 -0600 Received: from RIEMANN.Macsyma.COM by NEWTON.Macsyma.COM via INTERNET with SMTP id 270164; 7 Jan 1994 20:19:34-0500 Date: Fri, 7 Jan 1994 20:11-0500 From: Richard Petti Subject: Macsyma and Maxima To: common-lisp@ai.sri.com, alu@freud.arc.nasa.gov, stat-lisp-news@umnstat Message-Id: <19940108011149.9.PETTI@RIEMANN.Macsyma.COM> Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Richard Petti Recently it has come to the attention of Macsyma Inc. that various mathematical software is being distributed under the name of "Maxima." I have been requested to clarify the various rights surrounding the software and the trademarks. 1. Software copyrights to derivatives of M.I.T.'s Macsyma Macsyma Inc. and several other companies (such as Paradigm and Fort Pond Research) have licensed the original software from M.I.T. The U.S. Department of Energy has the right to license copies of its derivative of the M.I.T. software. To my knowledge, these are the only organizations which can license softwarede derivatives of the M.I.T. Macsyma code. These software packages are definitively not public domain software. Some parties distribute derivatives of M.I.T.'s Macsyma software by ftp. Users of this software are required by law to first obtain a license from D.O.E. or one of the commercial licensees, then use the ftp'able software as enhancements. While Macsyma Inc. reserves the right to enforce these restrictions, we have not chosen to interfere with use of derivative sources by researchers. Historically, this situation arose from disputes in the U.S. over the commercialization of partially-government-funded academic research. Various U.S. governmental orders in the mid-1980's affirmed the rights of universities to license such research results. We feel that academic-government-commercial collaboration is essential to an efficient technology development and diffusion, and we are eager to work with qualified parties to develop and commercialize scientific software. We have incorporated numerous pieces of academic software in the past 1.7 years, including ODELIN2 (Shunro Watanabe on ODE's), extended inverse Laplace transforms (Michael Clarkson), PDELIE (Peter Vafeades on Lie symmetries and solutions of PDE's), with more such enhancements in the pipeline. 2. The name "Macsyma" The name "Macsyma" is a registered trademark of Macsyma Inc. in the U.S. and other major countries. Macsyma Inc. inherits an agreement from Symbolics Inc. permitting the D.O.E. to use the name "D.O.E. Macsyma." No other entity has the right to use the name Macsyma or closely similar names in the distribution of mathematical software. Some parties who distribute derivatives of M.I.T. Macsyma use names such as "Paramax" and "Aljabar;" these names are not in conflict with the registered trademark "Macsyma." The name "Maxima" is considered by Macsyma Inc. to be an infringement of the Macsyma trademark, though we have refrained from legal action. We request that (1) distributors of such software alter the names of their software and (2) information sources which list software packages not to list mathematical software which uses this name. Trademarks serves several useful purposes: (1) they help users easily and reliably distinguish products and information, and (2) they help suppliers to gain recognition by users with a minimum of confusion. I hope this helps clarify the situation. Richard Petti President Macsyma Inc. 20 Academy Street Arlington, MA 02174-6436 tel: 617-646-4550 fax: 617-646-3161 email: petti@macsyma.com From owner-SL-news Fri Jan 14 04:18:18 1994 Resent-Date: Thu, 13 Jan 1994 17:18:18 +1100 Resent-From: owner-SL-news Resent-Message-Id: <199401130618.AA14830@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Jan 1994 00:18:32 -0600 Received: from dmssyd.syd.dms.CSIRO.AU by umnstat.stat.umn.edu; Thu, 13 Jan 1994 00:18:26 -0600 Received: from dmsyip.syd.dms.CSIRO.AU by dmssyd.syd.dms.CSIRO.AU (4.1/5.17) id AA18526; Thu, 13 Jan 94 17:18:20 EST (from heathera@syd.dms.csiro.au (Heather Atkinson (Vacation Student - Summer 93 cw- alokep))) Message-Id: <9401130618.AA18526@dmssyd.syd.dms.CSIRO.AU> To: stat-lisp-news@umnstat Date: Thu, 13 Jan 1994 17:18:18 +1100 From: Heather Atkinson (Vacation Student - Summer 93 cw- alokep) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Heather Atkinson (Vacation Student - Summer 93 cw- alokep) Hi, I am an Xlispstat user using the windows version. I'm a student working at the CSIRO in Australia. I have two questions. I'm wanting to modify the scatterplot-matrix function so that it will display boxplots and tables of frequencies where appropriate,, instead of scatterplots. There are a number of methods attached to the proto scatmat-proto which aren''t documented in the on-line help, nor mentioned in yur book. Could youpossibly direct me to where I might be able to find out more about these, and the prototype itself. Something else I've coded is a program that will produce a color-coded matrix to represent a correlation matrix. When the user clicks on a cell a menu pops up,, and they can select options which prompt others windows to appear. I have defined the redraw method for the proto I created in such a way that the picture is redrawn. When a large matrix is involved this is time-consuming. What I was hoping to do was only perform the drawing routine once, send this image to the buffer, and have the redraw method simply load the buffer to the screen. I have been trying to use the :start-bufering and :buffer-to-screen commands to accomplish this. I have had no success. Is it possible to drraw the imag to the buffer a single time, and sendingg this buffer to the screen multiple times? I appreciate that you are very busy. Guessing that you mightn't have the time to attend to this mail, I've also forwarded it to the stat-lisp-news group. Thank you very much for your time, Heather Atkinson CSIRO DMS Sydney Australia heathera@csiro.dms.edu.au From owner-SL-news Fri Jan 14 19:55:56 1994 Resent-Date: Fri, 14 Jan 1994 08:55:56 +1100 Resent-From: owner-SL-news Resent-Message-Id: <199401132156.AA18486@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 13 Jan 1994 15:56:06 -0600 Received: from dmssyd.syd.dms.CSIRO.AU by umnstat.stat.umn.edu; Thu, 13 Jan 1994 15:56:00 -0600 Received: from dmsyip.syd.dms.CSIRO.AU by dmssyd.syd.dms.CSIRO.AU (4.1/5.17) id AA27805; Fri, 14 Jan 94 08:55:57 EST (from heathera@syd.dms.csiro.au (Heather Atkinson (Vacation Student - Summer 93 cw- alokep))) Message-Id: <9401132155.AA27805@dmssyd.syd.dms.CSIRO.AU> To: stat-lisp-news@umnstat Date: Fri, 14 Jan 1994 08:55:56 +1100 From: Heather Atkinson (Vacation Student - Summer 93 cw- alokep) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Heather Atkinson (Vacation Student - Summer 93 cw- alokep) Hi, I am an Xlispstat user using the windows version. I'm a student working at the CSIRO in Australia. I have two questions. I'm wanting to modify the scatterplot-matrix function so that it will display boxplots and tables of frequencies where appropriate,, instead of scatterplots. There are a number of methods attached to the proto scatmat-proto which aren''t documented in the on-line help, nor mentioned in yur book. Could youpossibly direct me to where I might be able to find out more about these, and the prototype itself. Something else I've coded is a program that will produce a color-coded matrix to represent a correlation matrix. When the user clicks on a cell a menu pops up,, and they can select options which prompt others windows to appear. I have defined the redraw method for the proto I created in such a way that the picture is redrawn. When a large matrix is involved this is time-consuming. What I was hoping to do was only perform the drawing routine once, send this image to the buffer, and have the redraw method simply load the buffer to the screen. I have been trying to use the :start-bufering and :buffer-to-screen commands to accomplish this. I have had no success. Is it possible to drraw the imag to the buffer a single time, and sendingg this buffer to the screen multiple times? I appreciate that you are very busy. Guessing that you mightn't have the time to attend to this mail, I've also forwarded it to the stat-lisp-news group. Thank you very much for your time, Heather Atkinson CSIRO DMS Sydney Australia heathera@csiro.dms.edu.au From owner-SL-news Wed Jan 19 10:00:02 1994 Resent-Date: Wed, 19 Jan 94 16:56:24 WET Resent-From: owner-SL-news Resent-Message-Id: <199401191600.AA11236@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 19 Jan 1994 10:00:02 -0600 Received: from io.upf.es by umnstat.stat.umn.edu; Wed, 19 Jan 1994 09:57:48 -0600 Received: from libiya.upf.es by io.upf.es (4.1/SMI-4.1) id AA14172; Wed, 19 Jan 94 16:58:24 GMT Message-Id: <9401191658.AA14172@io.upf.es> Received: by libiya.upf.es (16.7/15.6) id AA05313; Wed, 19 Jan 94 16:56:24 GMT From: Frederic Udina Subject: dirty trick To: stat-lisp-news@umnstat (lisp stat list) Date: Wed, 19 Jan 94 16:56:24 WET Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina Hello For those of you that work with LISP-STAT on the mac: In my statinit.lsp I have this lines of code |----------------------------------------------------------------- | (defun insert-last-read-in-listener () | | (send *listener* :paste-string (format nil "~a" -)) | | (send *listener* :show-window)) | | | | ; this prevents error if calling the previous function before | | ; - is defined by the first read | | (setq - nil) | | | | (send *command-menu* | | :append-items | | (send dash-item-proto :new) | | (send menu-item-proto | | :new "Insert last read" | | :action 'insert-last-read-in-listener | | :key #\I)) | -----------------------------------------------------------------| It results in having a dirty mechanism for re-eval'ing the last expression read by lisp, of a re-edit version of it. Does it works with the MS-Windows version? Someone has a positive experience in working with the MS-Windows version of LISP-STAT? -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/_\_________________________________ From owner-SL-news Wed Jan 26 09:08:06 1994 Resent-Date: Wed, 26 Jan 94 15:08:06 -0600 Resent-From: owner-SL-news Resent-Message-Id: <199401262108.AA14026@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 26 Jan 1994 15:08:10 -0600 Received: from jupiter.stat.wisc.edu by umnstat.stat.umn.edu; Wed, 26 Jan 1994 15:08:07 -0600 Date: Wed, 26 Jan 94 15:08:06 -0600 From: bates@stat.wisc.edu (Douglas Bates) Message-Id: <9401262108.AA09078@jupiter.stat.wisc.edu> Received: by jupiter.stat.wisc.edu; Wed, 26 Jan 94 15:08:06 -0600 To: stat-lisp-news@umnstat Subject: Extended oneway ANOVA prototype Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bates@stat.wisc.edu (Douglas Bates) In the interests of learning xlisp-stat programming, I decided to implement a slider dialog for the reference distribution comparison method described in section 6.7 of Box, Hunter and Hunter. I enclose my extended prototype including the ref-plot method and a couple of methods to add some slots and create an ANOVA table. I welcome comments because I am trying to learn the language. A sample usage is given after the code. ;;;;########################################################################## ;;;; $Id: Ext-oneway.lsp,v 1.2 1994/01/26 20:59:43 bates Exp $ ;;;; File : Ext-oneway.lsp ;;;; Author : Douglas Bates (bates@stat.wisc.edu) ;;;; PURPOSE ;;;; Extended one-way analysis of variance prototype ;;;;######################################################################### ;;;; GENERAL DISCLAIMER ;;;; This program is free software; you can redistribute it ;;;; and/or modify it under the terms of the GNU General Public ;;;; License as published by the Free Software Foundation; either ;;;; version 1, or (at your option) any later version. ;;;; This program is distributed in the hope that it will be ;;;; useful, but WITHOUT ANY WARRANTY; without even the implied ;;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ;;;; PURPOSE. See the GNU General Public License for more ;;;; details. ;;;; You should have received a copy of the GNU General Public ;;;; License along with this program; if not, write to the Free ;;;; Software Foundation, Inc., 675 Mass Ave, Cambridge, MA ;;;; 02139, USA. ;;;; In short: you may use this code any way you like, as long as you ;;;; don't charge money for it, remove this notice, or hold anyone liable ;;;; for its results. (provide "Ext-oneway") (require "oneway") ;;;; ;;;; ;;;; Extended One Way ANOVA Model Prototype ;;;; ;;;; (defproto Ext-oneway-model-proto '(f-ratio p-value) () oneway-model-proto "Extended one-way analysis of variance model") (defun Ext-oneway-model (data &key (print t) group-names) "Args: ( data &key (print t) group-names) DATA: list of compound-data PRINT: whether to print the fit GROUP-NAMES: Names for the groups" (let ((data (mapcar #'(lambda (x) (coerce x 'list)) data)) (m (send Ext-oneway-model-proto :new))) (send m :grouped-data data) (send m :group-names group-names) (if print (send m :display)) m)) (defmeth Ext-oneway-model-proto :save () "Message args: () Returns an expression that will reconstruct the model." `(Ext-oneway-model ',(send self :grouped-data) :group-names ',(send self :group-names))) (defmeth Ext-oneway-model-proto :anova-table () "Message args: () Prints the ANOVA table for the one-way analysis of variance." (let* ((group-mean-square (send self :group-mean-square)) (error-mean-square (send self :error-mean-square)) (f-ratio (send self :f-ratio)) (p-value (send self :p-value))) (format t " Degrees~%") (format t "Source of Sum of of Mean F-ratio p-value~%") (format t "Variation Squares Freedom Square~%~%") (format t " Group ~10g ~4,0g ~8g ~10g ~6,4g~%" (send self :group-sum-of-squares) (send self :group-df) group-mean-square f-ratio p-value) (format t " Error ~10g ~4,0g ~8g~%" (send self :sum-of-squares) (send self :error-df) error-mean-square) (format t " Total ~10g ~4,0g~%" (+ (send self :group-sum-of-squares) (send self :sum-of-squares)) (+ (send self :group-df) (send self :error-df)) ) ) ) (defmeth Ext-oneway-model-proto :ref-plot (&optional (npts 51)) "Message args: (&optional (npts 51)) Create a plot of the group means with a reference distribution connected to a slider. The argument npts specifies the number of points to be used in the plot of the reference distribution. Based on the method described in section 6.7 of \"Statistics for Experimenters\" by Box, Hunter, and Hunter (Wiley, 1979)" (let* ((scale-factor (sqrt (/ (send self :error-mean-square) (mean (mapcar #'length (send self :grouped-data)))))) (coefs (send self :coef-estimates)) (txvals (rseq -4 4 npts)) (yvals (t-dens txvals (send self :error-df))) (xvals (+ (mean coefs) (* scale-factor txvals))) (rp (plot-lines xvals yvals :title "Ref. dist'n" :show nil)) (rp-size (send rp :size))) (send rp :hide-window) (let ((range (get-nice-range (- (min coefs) (* 2 scale-factor)) (+ (max coefs) (* 2 scale-factor)) 6))) (send rp :range 0 (nth 0 range) (nth 1 range)) (send rp :x-axis t nil (nth 2 range))) (send rp :range 1 -0.15 (select (send rp :range 1) 1)) (send rp :add-points (list coefs (+ -0.1 (* 0.05 (uniform-rand (length coefs)))))) (send rp :point-symbol (iseq (length coefs)) 'dot4) (send rp :abline 0 0) (send rp :y-axis nil nil 0) (send rp :size (select rp-size 0) (round (/ (select rp-size 1) 3))) (send rp :show-window) (interval-slider-dialog (list (min coefs) (max coefs)) :points npts :title "Ref. center" :action #'(lambda (x) (send rp :clear-lines) (send rp :add-lines (+ x (* scale-factor txvals)) yvals) (send rp :abline 0 0))) rp)) ;;; ;;; Slot Accessors and Mutators ;;; (defmeth Ext-oneway-model-proto :f-ratio () "Message args: () Returns the F-ratio for the one-way analysis of variance model" (cond ((slot-value 'f-ratio) (slot-value 'f-ratio)) (t (setf (slot-value 'f-ratio) (/ (send self :group-mean-square) (send self :error-mean-square))) (slot-value 'f-ratio)))) (defmeth Ext-oneway-model-proto :p-value () "Message args: () Returns the p-value for the one-way analysis of variance model" (cond ((slot-value 'p-value) (slot-value 'p-value)) (t (setf (slot-value 'p-value) (- 1 (f-cdf (send self :f-ratio) (send self :group-df) (send self :error-df)))) (slot-value 'p-value)))) ;;; $Id: oneway-test.lsp,v 1.1 1994/01/26 20:57:50 bates Exp $ ;;; ;;; Data set from Table 6.1 (p. 166) of Box, Hunter, and Hunter ;;; "Statistics for Experimenters" (Wiley, 1979). Blood coagulation ;;; times for four different diets. (def coag-fit (Ext-ONEWAY-MODEL '((62 60 63 59) (63 67 71 64 65 66) (68 66 71 67 68 68) (56 62 60 61 63 64 63 59)) :GROUP-NAMES '("A" "B" "C" "D"))) (def coag-ref-plot (send coag-fit :ref-plot)) From owner-SL-news Fri Jan 28 15:17:22 1994 Resent-Date: Fri, 28 Jan 1994 15:17:22 +0000 Resent-From: owner-SL-news Resent-Message-Id: <199401281517.AA23077@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 28 Jan 1994 09:17:53 -0600 Received: from oxdsa.ox.ac.uk by umnstat.stat.umn.edu; Fri, 28 Jan 1994 09:17:46 -0600 Received: from vax.ox.ac.uk by oxdsa.ox.ac.uk with SMTP (PP) id <09834-0@oxdsa.ox.ac.uk>; Fri, 28 Jan 1994 15:17:33 +0000 Received: by vax.ox.ac.uk (MX V3.3 VAX) id 28798; Fri, 28 Jan 1994 15:17:27 +0000 Sender: halpin@vax.ox.ac.uk Date: Fri, 28 Jan 1994 15:17:22 +0000 From: Brendan Halpin To: STAT-LISP-NEWS@umnstat Cc: halpin@vax.ox.ac.uk Message-Id: <00979379.3E1C1266.28798@vax.ox.ac.uk> Subject: Font in XLisp-stat for Windows Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Brendan Halpin I hope this isn't a FAQ, but I can't find any way to change the font or the font size in XLisp-stat under MS-Windows. I'm using XLISP-STAT version 2.1 Release 3 Alpha 6. The default size is too small to read comfortably on my screen which makes it a bit of a chore to use the program. Any suggestions will be appreciated, Brendan Halpin Department of Applied Social Studies University of Oxford From owner-SL-news Sat Jan 29 10:52:25 1994 Resent-Date: Sat, 29 Jan 1994 18:52:25 -0800 (PST) Resent-From: owner-SL-news Resent-Message-Id: <199401300250.AA29829@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 29 Jan 1994 20:50:51 -0600 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 29 Jan 1994 20:50:46 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.09) id AA17259; Sat, 29 Jan 94 18:52:26 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.09) id AA14101; Sat, 29 Jan 94 18:52:26 PST From: Jan Deleeuw Message-Id: <9401300252.AA14101@galton.math.ucla.edu> Subject: none To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 29 Jan 1994 18:52:25 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 199 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw recipients stat-lisp-news -- Jan de Leeuw; Dept Math UCLA; phone (310)-825-9550; fax (310)-206-6673 mail: 405 Hilgard Ave, Los Angeles, CA 90024-1555 INTERNET: deleeuw@laplace.stat.ucla.edu From owner-SL-news Wed Feb 2 08:11:16 1994 Resent-Date: Wed, 2 Feb 94 16:11:16 PST Resent-From: owner-SL-news Resent-Message-Id: <199402030011.AA01516@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 2 Feb 1994 18:11:09 -0600 Received: from heart.cor.epa.gov by umnstat.stat.umn.edu; Wed, 2 Feb 1994 18:11:04 -0600 Received: from splish.cor3.epa.gov by heart.cor.epa.gov (5.4R2.01T/5.40/1.0) id AA10987; Wed, 2 Feb 1994 16:10:55 -0500 Received: from anonimo.cor3.epa.gov by splish.cor3.epa.gov. (4.1/SMI-4.1) id AA09240; Wed, 2 Feb 94 16:11:16 PST Date: Wed, 2 Feb 94 16:11:16 PST From: dkugler@splish.cor3.epa.gov (Dan Kugler) Message-Id: <9402030011.AA09240@splish.cor3.epa.gov.> To: stat-lisp-news@umnstat Subject: Bootstrap using Xlisp Cc: dkugler@heart.cor.epa.gov Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: dkugler@splish.cor3.epa.gov (Dan Kugler) Anyone out there attempted to use the bootstrap methodology in the Xlisp language? Willing to share your insight into pitfalls, ideas, etc? thanks, dkugler@heart.cor.epa.gov From sdm7g@elvis.med.virginia.edu Thu Feb 3 04:48:02 1994 Received: from virginia.edu (uvaarpa.Virginia.EDU) by umnstat.stat.umn.edu; Thu, 3 Feb 1994 09:21:45 -0600 Received: from elvis.med.virginia.edu by uvaarpa.virginia.edu id aa12576; 3 Feb 94 9:48 EST Received: by elvis.med.Virginia.EDU (5.65c/1.34) id AA17598; Thu, 3 Feb 1994 09:48:02 -0500 Date: Thu, 3 Feb 1994 09:48:02 -0500 From: "Steven D. Majewski" Message-Id: <199402031448.AA17598@elvis.med.Virginia.EDU> X-Mailer: Mail User's Shell (7.2.3 5/22/91) To: Dan Kugler , SL-news-list@umnstat, stat-lisp-news@umnstat Subject: Re: Bootstrap using Xlisp On Feb 2, 16:11, Dan Kugler wrote: > > Anyone out there attempted to use the bootstrap methodology > in the Xlisp language? > > Willing to share your insight into pitfalls, ideas, etc? > What *IS* the "bootstrap methodology" ? Also: * Has the XLISP-STAT book been published yet ? * Are there any other sources of documentation to the plot and graph class methods available ? Through a lot of "( send obj :help :method )"-'s , I've been able to figure out how to do some basic stuff like setting my colors on a multi-line plot, and rescale the plots - now I would like to figure out how to link lines in different plots, and otherwise make the objects in the plots more "responsive" . - Steve Majewski (804-982-0831) - UVA Department of Molecular Physiology and Biological Physics From billh@lsid.hp.com Thu Feb 3 00:39:50 1994 Received: from hp.com by umnstat.stat.umn.edu; Thu, 3 Feb 1994 10:39:57 -0600 Received: from labmdv.lsid.hp.com by hp.com with SMTP (1.36.108.7/15.5+IOS 3.13) id AA07171; Thu, 3 Feb 1994 08:39:55 -0800 Received: by labmdv.lsid.hp.com (1.37.109.4/15.5+ECS 3.3) id AA04185; Thu, 3 Feb 94 08:39:51 -0800 From: Bill Harris Message-Id: <9402031639.AA04185@labmdv.lsid.hp.com> Subject: Re: Bootstrap using Xlisp (fwd) To: SL-news-list@umnstat (XLISP-STAT Mailing List) Date: Thu, 3 Feb 94 8:39:50 PST Mailer: Elm [revision: 70.85] > > >Also: > * Has the XLISP-STAT book been published yet ? Yes. It's called "LISP-STAT", written by Luke Tierney, and published by John Wiley & Sons (1990). > >- Steve Majewski (804-982-0831) >- UVA Department of Molecular Physiology and Biological Physics > > -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 90 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From owner-SL-news Thu Feb 3 04:48:02 1994 Resent-Date: Thu, 3 Feb 1994 09:48:02 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199402031702.AA04877@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 3 Feb 1994 11:02:17 -0600 Received: from virginia.edu (uvaarpa.Virginia.EDU) by umnstat.stat.umn.edu; Thu, 3 Feb 1994 09:21:45 -0600 Received: from elvis.med.virginia.edu by uvaarpa.virginia.edu id aa12576; 3 Feb 94 9:48 EST Received: by elvis.med.Virginia.EDU (5.65c/1.34) id AA17598; Thu, 3 Feb 1994 09:48:02 -0500 Date: Thu, 3 Feb 1994 09:48:02 -0500 From: "Steven D. Majewski" Message-Id: <199402031448.AA17598@elvis.med.Virginia.EDU> X-Mailer: Mail User's Shell (7.2.3 5/22/91) To: Dan Kugler , SL-news-list@umnstat, stat-lisp-news@umnstat Subject: Re: Bootstrap using Xlisp Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Steven D. Majewski" On Feb 2, 16:11, Dan Kugler wrote: > > Anyone out there attempted to use the bootstrap methodology > in the Xlisp language? > > Willing to share your insight into pitfalls, ideas, etc? > What *IS* the "bootstrap methodology" ? Also: * Has the XLISP-STAT book been published yet ? * Are there any other sources of documentation to the plot and graph class methods available ? Through a lot of "( send obj :help :method )"-'s , I've been able to figure out how to do some basic stuff like setting my colors on a multi-line plot, and rescale the plots - now I would like to figure out how to link lines in different plots, and otherwise make the objects in the plots more "responsive" . - Steve Majewski (804-982-0831) - UVA Department of Molecular Physiology and Biological Physics From owner-SL-news Thu Feb 3 06:04:00 1994 Resent-Date: 3 Feb 94 12:04:00 CST Resent-From: owner-SL-news Resent-Message-Id: <199402031804.AA05277@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 3 Feb 1994 12:04:29 -0600 Message-Id: <199402031804.AA05270@umnstat.stat.umn.edu> Received: from orion (orion.depaul.edu) by umnstat.stat.umn.edu; Thu, 3 Feb 1994 12:04:25 -0600 Date: 3 Feb 94 12:04:00 CST From: "Adam Gehr" Subject: bug in windows Xlisp-stat To: "stat-lisp-news" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Adam Gehr" I've found the most interesting bug in the windows version of xlisp-stat. In windows you can associate a file extension (e.g. .lsp) with an exe file so when you click on a file with the proper extension it is handed to the exe file when it loads. This only works sometimes in xlisp-stat. Sometimes the file loads as requested, but sometimes you get an error message from xlisp-stat saying that the file can't be loaded. The interesting thing is that the error message seems to be associated with the file name! In other words, changing the file name will change it from a loading file to a non-loading file. On my computer at home a file will load as he.lsp or as hel.lsp, but not as hell.lsp or hello.lsp. Note that this is the same file--I just rename it. Furthermore names which load on my home computer don't load on the machine in my office. Op-graph.lsp works fine at home, but won't work on my office machine (without a change of name). Both machines are 486DX machines. The office machine is running DOS 6.0 and my machine at home is running DOS 6.2. Both run under Norton Desktop and the machine at work runs an AT&T network which is basically Microsoft's network software. Adam Gehr Department of Finance DePaul University FINAKG@DEPAUL (BITNET) FINAKG@ORION.DEPAUL.EDU (Internet) From billh@lsid.hp.com Thu Feb 3 04:30:50 1994 Received: from hp.com by umnstat.stat.umn.edu; Thu, 3 Feb 1994 14:30:55 -0600 Received: from labmdv.lsid.hp.com by hp.com with SMTP (1.36.108.7/15.5+IOS 3.13) id AA21558; Thu, 3 Feb 1994 12:30:52 -0800 Received: by labmdv.lsid.hp.com (1.37.109.4/15.5+ECS 3.3) id AA04588; Thu, 3 Feb 94 12:30:51 -0800 From: Bill Harris Message-Id: <9402032030.AA04588@labmdv.lsid.hp.com> Subject: What is bootstrapping, anyway? To: SL-news-list@umnstat (XLISP-STAT Mailing List) Date: Thu, 3 Feb 94 12:30:50 PST Mailer: Elm [revision: 70.85] I did find a reference on sci.stat.math some time ago to a book that I haven't read yet; it may answer someone's earlier question as to what bootstrapping is. Regards, Bill >> >>BOOK TITLE__An Introduction to the Bootstrap____________________ >> >>________________________________________________________________ >> >>AUTHOR'S NAME__B. Efron & R. J. Tibshirani______________________ >> >>DATE OF PUBLICATION___Chapman and Hall, 1993____________________ -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 90 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From owner-SL-news Thu Feb 3 07:30:50 1994 Resent-Date: Thu, 3 Feb 94 15:30:50 PST Resent-From: owner-SL-news Resent-Message-Id: <199402032330.AA06882@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 3 Feb 1994 17:30:42 -0600 Received: from heart.cor.epa.gov by umnstat.stat.umn.edu; Thu, 3 Feb 1994 17:30:38 -0600 Received: from splish.cor3.epa.gov by heart.cor.epa.gov (5.4R2.01T/5.40/1.0) id AA20452; Thu, 3 Feb 1994 15:30:29 -0500 Received: from hammer.cor3.epa.gov by splish.cor3.epa.gov. (4.1/SMI-4.1) id AA27832; Thu, 3 Feb 94 15:30:50 PST Date: Thu, 3 Feb 94 15:30:50 PST From: mcdowell@splish.cor3.epa.gov (Mike McDowell) Message-Id: <9402032330.AA27832@splish.cor3.epa.gov.> To: stat-lisp-news@umnstat Subject: xlispstat under Linux? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: mcdowell@splish.cor3.epa.gov (Mike McDowell) Hi all - I've been trying to build xlispstat (unsuccessfully) under Linux. Has anyone done this, and would you mind sending me some pointers? Thanks, Mike ------------------------------------------------------------------------------- Mike McDowell ManTech Environmental Technology, Inc. mcdowell@splish.cor3.epa.gov USEPA Environmental Research Lab - Corvallis,OR ------------------------------------------------------------------------------- From maechler@stat.math.ethz.ch Fri Feb 4 12:49:05 1994 Received: from bernina.ethz.ch (bernina-ether.ethz.ch) by umnstat.stat.umn.edu; Fri, 4 Feb 1994 04:49:30 -0600 Received: from stat.math.ethz.ch (actually aryness.ethz.ch) by bernina.ethz.ch with SMTP inbound; Fri, 4 Feb 1994 11:49:07 +0100 Received: by stat.math.ethz.ch; Fri, 4 Feb 94 11:49:05 +0100 From: maechler@stat.math.ethz.ch (Martin Maechler) Date: Fri, 4 Feb 94 11:49:05 +0100 Message-Id: <9402041049.AA09961@stat.math.ethz.ch> To: mcdowell@splish.cor3.epa.gov Cc: SL-news-list@umnstat In-Reply-To: <199402032330.AA06882@umnstat.stat.umn.edu> (mcdowell@splish.cor3.epa.gov) Subject: Re: xlispstat under Linux? Reply-To: Martin Maechler This was posted here not so long ago. >> To: swk@mlb.semi.harris.com (Song Koh) >> Cc: stat-lisp-news@umnstat.stat.umn.edu >> Subject: Re: xlispstat on Linux [repost] >> Date: Tue, 26 Oct 93 06:39:07 -0500 >> From: kademan@stat.wisc.edu >> >> > I am interested in porting xlispstat to Linux. >> >> There seems to be a port of xlispstat to linux on the machine >> sunsite.unc.edu in the file >> >> /pub/Linux/X11/xapps/math/xlispstat2.1R2.tar.gz >> >> I haven't tried it or anything. Nor did I, The file's still there. It does NOT contain the source [but the .lsp files], so I wonder if it still runs with the newer shared libraries of Linux. The only hint about it's origin [after untarring..] -- and hint on how to install -- is the file /usr/src/xlispstat/README.linux, which I here cite Rd> OK, finaly some stats package for Linux community. This is xlispstat2.1R2 . Rd> The package compiled without a hitch except for line 236 in X11BSDstuff.c: Rd> It had: Rd> if (file->_cnt > 0) return(TRUE); Rd> which is BAD as it plays with FILE struct directly. Linux does not have Rd> '_cnt' field so I change it to eqally bad, but working thing: Rd> if (file->_gptr < file->_egptr ) return(TRUE); Rd> This is in function : Rd> static char_available() Rd> so I guess it is used for terminal polling. I can already hear HJ Lu screaming Rd> in justified way :-) but I do not know how to correct in Rd> more portable way. You can get a source code for it from: Rd> umnstat.stat.umn.edu in pub/xlispstat or some-such. There are also some Rd> problems with Makefile but they are easy to solve. >> Rd> There is one more thing to do: dynamic loading of user's object code. Rd> I undefined it right now, but will try to look into it. Xlispstat has some Rd> very long file which does loading by hand (striping symbol table, initializing Rd> bbs, and other horrible stuff.) On the other hand Splus (other stats package) Rd> on SGI at University, uses 'ld -A' to accomplish the same thing. If someone Rd> could enlighten me on that, I would be delighted. >> Rd> Please read README's and techreport.ps. Former contain copyright notices and Rd> other info, latter has 100+ page manual in PostScript. There is also a book Rd> on the system, by author called XlispStat or so. Rd> Rd> Rafal I am interested in hearing from experiences, too; since I will want to install it in Linux.. Martin Maechler <>< Seminar fuer Statistik, SOL F5 \\ ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-1-632-3408 fax : x-41-1-252-3410 From pcolsen@super.org Fri Feb 4 18:49:09 1994 Received: from super.super.org by umnstat.stat.umn.edu; Fri, 4 Feb 1994 22:49:10 -0600 Received: from descartes.super.org by super.super.org (4.1/SMI-4.1) id AA23628; Fri, 4 Feb 94 23:49:09 EST Date: Fri, 4 Feb 94 23:49:09 EST From: pcolsen@super.org (Peter C Olsen) Message-Id: <9402050449.AA23628@super.super.org> Received: by descartes.super.org (4.1/SMI-4.1) id AA10408; Fri, 4 Feb 94 23:49:07 EST To: SL-news-list@umnstat Subject: XlispStat on SGI I'm running XlispStat on an SGI Indigo, but I can't seem to get foreign function calls working. Has anyone else done so? Peter Peter Olsen, n2ell, pcolsen@super.super.org ...!uunet!super!pcolsen P.O. Box 410, Simpsonville, MD 21150-0410; 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life" From naras@euler.bd.psu.edu Sat Feb 5 09:48:40 1994 Received: from euler.bd.psu.edu by umnstat.stat.umn.edu; Sat, 5 Feb 1994 13:47:20 -0600 Received: by euler.bd.psu.edu (930416.SGI/930416.SGI.AUTO) for SL-news-list@umnstat.stat.umn.edu id AA04295; Sat, 5 Feb 94 14:48:55 -0500 From: "Balasubramanian Narasimhan" Message-Id: <9402051448.ZM4293@euler.bd.psu.edu> Date: Sat, 5 Feb 1994 14:48:40 -0500 In-Reply-To: pcolsen@super.org (Peter C Olsen) "XlispStat on SGI" (Feb 4, 11:49pm) References: <9402050449.AA23628@super.super.org> X-Mailer: Z-Mail (3.0B.0 25aug93 MediaMail) To: pcolsen@super.org (Peter C Olsen) Subject: Re: XlispStat on SGI Cc: SL-news-list@umnstat Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 On Feb 4, 11:49pm, Peter C Olsen wrote: > Subject: XlispStat on SGI > I'm running XlispStat on an SGI Indigo, but I can't seem to get > foreign function calls working. Has anyone else done so? Do you have static versions of your libraries? Luke Tierney has the necessary files for Xlisp-Stat on SGI IRIX, provided one has the static libraries. I enclose the shar files he sent me when I made a similar request. SGI has made the decision not to supply static versions of the libraries, at least with IRIX 5.x.x, and therefore you might be stuck, like me, unless you can somehow compile the stuff on a machine that has such libraries. I have been looking into hacking some of the code to use DSO's (Dynamic Shared Objects) via the dlxxx calls for incremental loading but I am afraid I do not understand the complexities well enough. If anyone can give me a better idea of the dynamic loading code, I will invest the time to do it. ************** Begin Include ****************** #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'sgi4d/README' <<'END_OF_FILE' XTo compile, add -cckr to the UCFLAGS and -lmld to EXTRALIBS. Set the XMACHINE variable to sgi4d. For the moment you also have to edit Xddistribs.c to change the `rand' function to something like Rand, Xsince cc complains about the redefinion of rand from math.h (I think). X XFinally, to make with X11 support use `make X11WINDOWS' followed by X`make'. (For some reason make seems to insist on recompiling xlisp.c Xinto a standalone program.) X END_OF_FILE if test 438 -ne `wc -c <'sgi4d/README'`; then echo shar: \"'sgi4d/README'\" unpacked with wrong size! fi # end of 'sgi4d/README' fi if test -f 'sgi4d/foreign.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'sgi4d/foreign.h'\" else echo shar: Extracting \"'sgi4d/foreign.h'\" \(1004 characters\) sed "s/^X//" >'sgi4d/foreign.h' <<'END_OF_FILE' X#include X#include X X#define INTERNAL_CNAME_PATTERN "%s" X#define INTERNAL_FNAME_PATTERN "%s_" X#define COFF_FORMAT X#define CLIBS "-lm -lc" X#define FLIBS "-lm -lc -lF77 -lI77 -lU77" X#define LDPATTERN "ld -d -N -x -A %s -G 0 -T %x %s %s %s -o %s" X#define TMPPATTERN "/tmp/xlispdyn%d" X#define TMPNAMESIZE 32 X#define PAGE_SIZE 4096 X#define MIN_ALLOC 10000 + PAGE_SIZE X#define VERBDFLT TRUE X X#define SYMENT SYMR X#define SYMVALUE(sym) ((char *) ((sym).value)) X#define N_SECTIONS(ldptr) HEADER(ldptr).f_nscns X#define SCN_ADDR(ldptr,section_header) (section_header).s_vaddr X#define SCN_LENGTH(ldptr,section_header) (section_header).s_size X#define SCN_FILE_LOC(ldptr,section_header) ((section_header).s_scnptr) X#define SCN_IS_BSS(ldptr,section_header) \ X (strcmp(section_header.s_name, ".bss") == 0 \ X || strcmp(section_header.s_name, ".sbss") == 0) X X#define SYM_IS_GLOBAL_FUNCTION(ldptr,symbol) \ X ((symbol).sc == scText && (symbol).st == stProc) X Xextern char *ldgetname(); END_OF_FILE if test 1004 -ne `wc -c <'sgi4d/foreign.h'`; then echo shar: \"'sgi4d/foreign.h'\" unpacked with wrong size! fi # end of 'sgi4d/foreign.h' fi echo shar: End of shell archive. exit 0 From owner-SL-news Wed Feb 9 05:54:09 1994 Resent-Date: Wed, 9 Feb 1994 10:54:09 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199402091555.AA04579@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 9 Feb 1994 09:55:29 -0600 Received: from PO3.ANDREW.CMU.EDU by umnstat.stat.umn.edu; Wed, 9 Feb 1994 09:55:25 -0600 Received: from localhost (postman@localhost) by po3.andrew.cmu.edu (8.6.4/8.6.4) id KAA10425 for stat-lisp-news@umnstat.stat.umn.edu; Wed, 9 Feb 1994 10:55:22 -0500 Received: via switchmail; Wed, 9 Feb 1994 10:55:21 -0500 (EST) Received: from pcs18.andrew.cmu.edu via qmail ID ; Wed, 9 Feb 1994 10:54:15 -0500 (EST) Received: from pcs18.andrew.cmu.edu via qmail ID ; Wed, 9 Feb 1994 10:54:10 -0500 (EST) Received: from mms.4.170.Jan.10.1994.08.16.31.sun4c.411.MacMail.5.2.CUILIB.3.45.SNAP.NOT.LINKED.pcs18.andrew.cmu.edu.sun4c.411 via MS.5.6.pcs18.andrew.cmu.edu.sun4c_411; Wed, 9 Feb 1994 10:54:09 -0500 (EST) Message-Id: Date: Wed, 9 Feb 1994 10:54:09 -0500 (EST) From: David Chinn To: stat-lisp-news@umnstat Subject: lisp-stat CL Cc: Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: David Chinn I am trying to get lisp-stat in Common Lisp up on my machine (Mac with MCL 2.0.1). I am not having too much joy. Is there a compiled version anywhere? Has anyone ported any of the graphical stuff to MCL? Where is the home ftp site for CL lisp-stat? Help will be much appreciated. David /=========================================================\ \ David Chinn E-mail: chinn+@cmu.edu / / Psychology Dept, \ \ Carnegie Mellon University, / / Pittsburgh, PA 15213. Tel (412) 268-8112 \ \=========================================================/ From owner-SL-news Wed Feb 9 05:03:17 1994 Resent-Date: Wed, 9 Feb 94 11:03:17 CST Resent-From: owner-SL-news Resent-Message-Id: <199402091703.AA04958@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 9 Feb 1994 11:03:26 -0600 Received: from vuse.vanderbilt.edu (vuse.vuse.vanderbilt.edu) by umnstat.stat.umn.edu; Wed, 9 Feb 1994 11:03:22 -0600 Received: from aim.vuse by vuse.vanderbilt.edu (8.6.5/SMI-4.1/VUSE-1.12) id LAA15104; Wed, 9 Feb 1994 11:03:19 -0600 Received: by aim.vuse (4.1/SMI-4.0/DRL-2a) id AA13963; Wed, 9 Feb 94 11:03:17 CST Date: Wed, 9 Feb 94 11:03:17 CST From: dfisher@vuse.vanderbilt.edu (Douglas H. Fisher) Message-Id: <9402091703.AA13963@aim.vuse> To: stat-lisp-news@umnstat Subject: AI and Statistics Workshop Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: dfisher@vuse.vanderbilt.edu (Douglas H. Fisher) Call For Papers Fifth International Workshop on Artificial Intelligence and Statistics January 4-7, 1995 Ft. Lauderdale, Florida PURPOSE: This is the fifth in a series of workshops which has brought together researchers in Artificial Intelligence and in Statistics to discuss problems of mutual interest. The exchange has broadened research in both fields and has strongly encouraged interdisciplinary work. This workshop will have as its primary theme: ``Learning from data'' Papers on other topics at the interface of AI & Statistics are *strongly* encouraged as well (see TOPICS below). FORMAT: To encourage interaction and a broad exchange of ideas, the presentations will be limited to about 20 discussion papers in single session meetings over three days (Jan. 5-7). Focussed poster sessions will provide the means for presenting and discussing the remaining research papers. Papers for poster sessions will be treated equally with papers for presentation in publications. Attendance at the workshop will *not* be limited. The three days of research presentations will be preceded by a day of tutorials (Jan. 4). These are intended to expose researchers in each field to the methodology used in the other field. The Tutorial Chair is Prakash Shenoy. Suggestions on tutorial topics can be sent to him at pshenoy@ukanvm.bitnet. LANGUAGE: The language will be English. TOPICS OF INTEREST: The fifth workshop has a primary theme of ``Learning from data'' At least one third of the workshop schedule will be set aside for papers with this theme. Other themes will be developed according to the strength of the papers in other areas, including but not limited to: - integrated man-machine modeling methods - empirical discovery and statistical methods for knowledge acquisition - probability and search - uncertainty propagation - combined statistical and qualitative reasoning - inferring causation - quantitative programming tools and integrated software for data analysis and modeling. - discovery in databases - meta data and design of statistical data bases - automated data analysis and knowledge representation for statistics - connectionist approaches - learning theory - cluster analysis SUBMISSION REQUIREMENTS: Three copies of an extended abstract (up to four pages) should be sent to H. Lenz, Program Chair or D. Fisher, General Chair 5th Int'l Workshop on AI & Stats 5th Int'l Workshop on AI & Stats Free University of Berlin Box 1679, Station B Department of Economics Department of Computer Science Institute for Statistics Vanderbilt University and Econometrics Nashville, Tennessee 37235 14185 Berlin, Garystr 21 USA Germany or electronically (postscript or latex documents preferred) to ai-stats-95@vuse.vanderbilt.edu Submissions for discussion papers (and poster presentations) will be considered if *postmarked* by June 30, 1994. If the submission is electronic (e-mail), then it must be *received* by midnight June 30, 1994. Abstracts postmarked after this date but *before* July 31, 1994, will be considered for poster presentation *only*. Please indicate which topic(s) your abstract addresses and include an electronic mail address for correspondence. Receipt of all submissions will be confirmed via electronic mail. Acceptance notices will be mailed by September 1, 1994. Preliminary papers (up to 20 pages) must be returned by November 1, 1994. These preliminary papers will be copied and distributed at the workshop. PROGRAM COMMITTEE: General Chair: D. Fisher Vanderbilt U., USA Program Chair: H. Lenz Free U. Berlin, Germany Members: W. Buntine NASA (Ames), USA J. Catlett AT&T Bell Labs, USA P. Cheeseman NASA (Ames), USA P. Cohen U. of Mass., USA D. Draper U. of Bath, UK Wm. Dumouchel Columbia U., USA A. Gammerman U. of London, UK D. J. Hand Open U., UK P. Hietala U. Tampere, Finland R. Kruse TU Braunschweig, Germany S. Lauritzen Aalborg U., Denmark W. Oldford U. of Waterloo, Canada J. Pearl UCLA, USA D. Pregibon AT&T Bell Labs, USA E. Roedel Humboldt U., Germany G. Shafer Rutgers U., USA P. Smyth JPL, USA MORE INFORMATION: For more information write dfisher@vuse.vanderbilt.edu or write to ai-stats-request@watstat.uwaterloo.ca to subscribe to the AI and Statistics mailing list. SPONSORS: Society for Artificial Intelligence and Statistics International Association for Statistical Computing From owner-SL-news Wed Feb 9 03:04:40 1994 Resent-Date: Wed, 9 Feb 1994 11:04:40 -0800 (PST) Resent-From: owner-SL-news Resent-Message-Id: <199402091903.AA05616@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 9 Feb 1994 13:03:14 -0600 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Wed, 9 Feb 1994 13:03:10 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.09) id AA00661; Wed, 9 Feb 94 11:04:41 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.09) id AA07109; Wed, 9 Feb 94 11:04:41 PST From: Jan Deleeuw Message-Id: <9402091904.AA07109@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat (Xlisp List) Date: Wed, 9 Feb 1994 11:04:40 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2820 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Update February 1, 1994 I am maintaining an archive of Xlisp and Xlisp-Stat code on laplace.stat.ucla.edu, accessible by anonymous ftp in pub/lisp/xlisp/xlisp-stat. At the higher levels you will find xlisp21f, various xlisp extensions and additions, PD or shareware Common Lisp systems, etc. This distinguishes our collection from that of statlib: it is much more specialized towards tex and lisp and gnu and friends, and it concentrates on the Mac and Sun platforms. My reasons for using Lisp-Stat are simple: I want quality free software that can be used in all kinds of stat courses, that I can give away to all my students to run on their own beloved machines at home, and that runs on all the major platforms. I also want excess to all the source code, and I want to be able to extend the system, both at compile-time and at run-time. Also I do not want to burden my budget with unnessary fees for site-licenses, etc. In order to be able to compete with commercial products, such as MatLab or S-Plus, which are not that expensive for students and/or universities either, and which are also quite extensible (at least at run-time), it is necessary that good documentation and interesting source code is available. The Xlisp(Stat) documentation at the moment aims at a fairly high level of stat person, we need simpler tutorials. There is quite a lot of code available that can be used for extensions of the basic system (although only a fraction of what there is for S-Plus and MatLab), but it is quite difficult to get a hold of. At UCLA we are developing Xlisp code for various research projects (Slicing Inverse Regression, Multilevel Analysis), for introductory statistics teaching (bootstrap, randomization tests), for extending basic Xlisp-Stat functionality (formatted input, interface with gnuplot for production quality plots, graphical spreadsheet data editor). We are also writing documentation on various levels and we are extending the interpreter in various ways. One major projects is to translate all of Lisp-Stat in Common Lisp, getting rid of the foreign function interfaces. The graphical data editor is actually a WIMP interface on top of Lisp-Stat, which makes it possible to mouse your way through introductory statistics. Most of the code can be found in pub/lisp/xlisp/xlisp-stat on laplace, in the homegrown subdirectory. Remember, however, that this is work in progress. It changes frequently. It would be nice if persons who have xlisp code and/or documentation to contribute would send this to me (deleeuw@laplace.stat.ucla.edu). Even snippets are welcome -- as long as I can make sense out of them. I'll organize it and describe it. Not right away, and not in great detail, because I have other things to do (really !). Always remember: the only real software is free software. From owner-SL-news Thu Feb 10 21:20:46 1994 Resent-Date: Thu, 10 Feb 1994 10:20:46 +1100 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199402092321.AA06786@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 9 Feb 1994 17:21:01 -0600 Received: from wraith.cs.uow.edu.au by umnstat.stat.umn.edu; Wed, 9 Feb 1994 17:20:50 -0600 Received: from localhost (kimh@localhost) by wraith.cs.uow.edu.au (8.6.5/8.6.5) id KAA27409 for stat-lisp-news@umnstat.stat.umn.edu; Thu, 10 Feb 1994 10:20:47 +1100 From: Kim Horn Message-Id: <199402092320.KAA27409@wraith.cs.uow.edu.au> Subject: Problem To: stat-lisp-news@umnstat Date: Thu, 10 Feb 1994 10:20:46 +1100 (EST) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1098 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Kim Horn Hello, I am not sure if this is the right forum for a general stats problem but as I am looking for a solution using Xlisp-Stat, so it may be...... The problem is that I have 35 variables that I want to choose the best 20 (in some weighted combination) as a substitute for another variable. The data is collected across time so each day I have the 35 measures plus the target measure. Given say a number of months data we want to be able to use the 20 measures as a substitute for the target measure. Note we actually do not want to predict the target measure. ALl the variables represent the cost of items that change from day to day. We want to find an optimal combination (integer weighted) that behaves like the target items cost and can be used as a substitute. Any help or refernces would be welcomed...... Initially I have considered linear regression (over time..eeK !!) using some measure to choose the 20 from the 35 variables that gives the best correlation... But i am not happy with this and am not sure of the best stats to discard variables... Thanks in advance Kim Horn From krey@gmdzi.gmd.de Thu Feb 10 01:57:48 1994 Received: from gmdzi.gmd.de by umnstat.stat.umn.edu; Thu, 10 Feb 1994 01:00:59 -0600 Received: by gmdzi.gmd.de id AA29767 (5.65c8/IDA-1.4.4 for SL-news-list@umnstat.stat.umn.edu); Thu, 10 Feb 1994 00:57:48 +0100 Date: Thu, 10 Feb 1994 00:57:48 +0100 From: Juergen Krey Message-Id: <199402092357.AA29767@gmdzi.gmd.de> To: SL-news-list@umnstat Subject: unsubscribe me unsubscribe me from your mailing list From owner-SL-news Fri Feb 11 07:27:33 1994 Resent-Date: Fri, 11 Feb 1994 12:27:33 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199402111730.AA15529@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 11 Feb 1994 11:30:36 -0600 Received: from mickey.stat.unc.edu by umnstat.stat.umn.edu; Fri, 11 Feb 1994 11:30:32 -0600 Received: from goofy.unc.edu (goofey.stat.unc.edu) by mickey.stat.unc.edu (4.1/TAS/11-16-88) id AA25815; Fri, 11 Feb 94 12:32:32 EST Received: by goofy.unc.edu (4.1/SMI-4.1) id AA26192; Fri, 11 Feb 94 12:27:35 EST Date: Fri, 11 Feb 1994 12:27:33 -0500 (EST) From: "Frederic Udina @ unc" Subject: Building LISP-STAT on SUN ws. To: stat-lisp-news@umnstat Message-Id: hello: I use xlisp-stat in a X11 environment without problems. Now I am visiting a University that have SUN workstations. I have compiled XLISP-STAT without problems for running on a SUN. But I cannot run it form another SUN workstation connected. When I try to build the mixed version doing make X11sun I have error messages such as X11graph.c: 8: Can't find include file X11/Xlib.h X11graph.c: 9: Can't find include file X11/Xutil.h X11graph.c: 10: Can't find include file X11/Xos.h X11graph.c: 11: Can't find include file X11/cursorfont.h X11graph.c: 12: Can't find include file X11/keysym.h X11graph.c: 13: Can't find include file X11/Xatom.h Where can I look for these files? I am using SunOS 4.1.3 3 sun4c Can someone help me? Thanks Frederic Udina Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Frederic Udina @ unc" From luke Mon Feb 14 08:53:04 1994 Resent-Date: Mon, 14 Feb 1994 14:53:04 -0600 Resent-Message-Id: <199402142053.AA24393@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 14 Feb 1994 14:53:07 -0600 Date: Mon, 14 Feb 1994 14:53:04 -0600 From: "Luke Tierney" Message-Id: <199402142053.AA24386@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 14 Feb 1994 14:53:04 -0600 To: stat-lisp-news@umnstat Subject: porting help Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" I am currently preparing a beta release of a new UNIX version of xlispstat that will hopefully be ready within a month. The most important changes are to the basic Lisp system: The xlisp base has been changed to xlisp2.1f. This greatly improves Common Lisp compatibility. (Many more sequence functions that work on all sequence types, multiple values, packages, etc.) An experimental byte code compiler. A new generational garbage collector that should reduce GC pauses. I am now trying to incorporate support in the machines directory for as many platforms as possible, with dynamic loading wherever possible. I have access to the following systems: DECstation with ULTRIX 4.2a HP Snake with HPUX DEC Alpha with OSF SGI with IRIX sun3 with SunOS 4.1 Dynamic loading is available on all these platforms. Please let me know if you have another platform you would like to see supported AND you are either willing to help with the port or provide me limited access to your machine so I can try to do it myself. I am particularly eager to add support for sparcs under SunOS 4.1 and Solaris 2, for RS6000's and for Linux. [Without dynamic loading, the main issue is to find the right combination of compiler and linker flags to get the combination of C code and system calls used in the sources to work. To get dynamic loading to work on a new platform the basic questions are: Does your OS have shared libraries and if so does it provide some sort of programmer's interface to them. If the answers to both are yes, dynamic loading can probably be added fairly easily. If not, it probably can't.] luke From owner-SL-news Wed Mar 2 01:19:16 1994 Resent-Date: Wed, 2 Mar 1994 09:19:16 -0800 (PST) Resent-From: owner-SL-news Resent-Message-Id: <199403021717.AA28912@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 2 Mar 1994 11:17:53 -0600 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Wed, 2 Mar 1994 11:17:49 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.09) id AA16392; Wed, 2 Mar 94 09:19:17 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.09) id AA18679; Wed, 2 Mar 94 09:19:17 PST From: Jan Deleeuw Message-Id: <9403021719.AA18679@galton.math.ucla.edu> Subject: uclastat To: stat-lisp-news@umnstat (Xlisp List) Date: Wed, 2 Mar 1994 09:19:16 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1543 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw One of the things we are building is a WIMP interface to Xlisp-Stat, at least to the parts of the system that are most useful for introductory stat teaching. I am doing this with some students, actually. The thing is changing each day, fortunately. You can ftp the latest version from laplace.stat.ucla.edu in pub/lisp/xlisp/xlisp-stat/homegrown/data. There are some data sets. It is easy to add your own. The two basic prototypes driving the thing are data-variable-proto and data-multivariable-proto. As a rule, you start in the multivariable case, which has a scrollable list of variables and a scrollable list of actions (techniques). If you double-click an action, something statistical happens. If you double-click a variable, you get into the variable-editor, which has its own bunch of (univariate) statistical actions. The purpose of the effort is to make a system that anybody can use without actually having to learn any lisp. It is, I would say, about 20% done. It is about as stable as the earth below us. It changes randomly, and sometimes radically. Some of the code is ugly as hell. It is fairly modular, so additional stuff (data and methods) can be plugged in rather easily. Use it as you like. Dont say I have not warned you. All suggestions, additions, flames are more than welcome. Suggestions are more welcome if they are accompanied by code. -- Jan de Leeuw; Dept Math UCLA; phone (310)-825-9550; fax (310)-206-6673 mail: 405 Hilgard Ave, Los Angeles, CA 90024-1555 INTERNET: deleeuw@laplace.stat.ucla.edu From owner-SL-news Mon Mar 7 18:49:00 1994 Resent-Date: Mon, 07 Mar 94 23:49 EST Resent-From: owner-SL-news Resent-Message-Id: <199403080451.AA24840@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 7 Mar 1994 22:51:08 -0600 Message-Id: <199403080450.AA24833@umnstat.stat.umn.edu> Received: from uncmvs.oit.unc.edu by umnstat.stat.umn.edu; Mon, 7 Mar 1994 22:50:57 -0600 Received: from UNCMVS.OIT.UNC.EDU by UNCMVS.OIT.UNC.EDU (IBM MVS SMTP V2R2.1) with BSMTP id 6675; Mon, 07 Mar 94 23:50:18 LCL Date: Mon, 07 Mar 94 23:49 EST From: "Mary McFarlane" To: stat-lisp-news@umnstat Subject: backtracking in newtonmax Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Mary McFarlane" Does anyone have the faintest idea what newtonmax is doing when it backtracks? Also, what is "lambda" (as in, "backtracking, lambda = .324561"), and what method is used to compute it? I'd appreciate any help. Thanks in advance, Mary From owner-SL-news Tue Mar 8 03:54:32 1994 Resent-Date: Tue, 8 Mar 94 08:54:32 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199403081357.AA26285@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 8 Mar 1994 07:57:31 -0600 Received: from apeiron.ufstat.ufl.edu (jackcraval.stat.ufl.edu) by umnstat.stat.umn.edu; Tue, 8 Mar 1994 07:57:27 -0600 Received: by apeiron.ufstat.ufl.edu (NX5.67d/4.09) id AA01076; Tue, 8 Mar 94 08:54:32 -0500 Date: Tue, 8 Mar 94 08:54:32 -0500 From: "Charles D. Kincaid" Message-Id: <9403081354.AA01076@apeiron.ufstat.ufl.edu> Received: by NeXT.Mailer (1.95) Received: by NeXT Mailer (1.95) To: "Mary McFarlane" Subject: Re: backtracking in newtonmax Cc: stat-lisp-news@umnstat Reply-To: statman@stat.ufl.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Charles D. Kincaid" Hello, >From: "Mary McFarlane" > >Does anyone have the faintest idea what newtonmax is doing when >it backtracks? Also, what is "lambda" (as in, "backtracking, lambda >= .324561"), and what method is used to compute it? Well, the lisp code is in maximize.lsp which is probably in /usr/local/lib/xlispstat (if you're using the proper system of course. :-) Unfortunately, this doesn't help too much. Looking in a few books I came up with the following from "Numerical Recipes in C" page 384 (a very nice book. I highly recommend it) "Thus our strategy is quite simple: We always first try the full Newton step [towards the root], because once we are close enough to the solution we will get quadratic convergence. However, we check at each iteration that the propose step reduces $f$ [where $f = 1/2 F \cdot F$, where $F(x) = 0$ is the set of equations we are trying to solve.] If not {\em bactrack} along the Newton direction until we have an acceptable step. Because the Newton step is a descent direction for $f$, we are guaranteed to find an acceptable step by backtracking. " I don't know if the notation is the same, but we can hope that is. (Yea, right! :-) In the non-backtracking mode the Newton step for the set of equations above is \[ x_{\rm new} = x_{\rm old} + \delta x \] where $\delta$ is the step size. In the "new-and-improved!" backtracking version the "goal is to move to a new point $_{\rm new}$ along the {\em direction} of the Newton step $p = \delta x$, but not necessarily all the way: \[ x_{\rm new} = x_{\rm old} + \lambda p, 0 \leq \lambda \leq 1." \] They go on to explain the criterion for accepting a step and then the general strategy for a practical backtracking routine. I hope this helps. --- Sincerely, charles d. kincaid -------------------------------------------------------------------- Dept. of Statistics 'Damn fine coffee...and hot, too!' Univ. of Florida Pres: G-ville NeXT Users Group statman@stat.ufl.edu *****NeXTMail preferred****** (904) 392-1941x206 The Statistical Janitor -------------------------------------------------------------------- He has sounded forth the trumpet that shall never call retreat. He is sifting out the hearts of men before His judgment seat. Oh, be swift my soul to answer Him, be jubilant my feet! His Truth is marching on. -------------------------------------------------------------------- From owner-SL-news Fri Mar 18 12:24:07 1994 Resent-Date: Fri, 18 Mar 1994 16:24:07 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199403181641.AA14976@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 18 Mar 1994 10:41:14 -0600 Received: from VX.CIS.UMN.EDU (vx.acs.umn.edu) by umnstat.stat.umn.edu; Fri, 18 Mar 1994 10:41:11 -0600 Received: from VM.CISED.UNINA.IT (MAILER@INACISED) by VX.CIS.UMN.EDU (PMDF V4.2-13 #2574) id <01HA44H67BMO984O3L@VX.CIS.UMN.EDU>; Fri, 18 Mar 1994 10:29:15 CDT Received: from VM.CISED.UNINA.IT (DESPOSIT) by VM.CISED.UNINA.IT (Mailer R2.10 ptf000) with BSMTP id 0685; Fri, 18 Mar 94 16:28:07 EDT Date: Fri, 18 Mar 1994 16:24:07 -0400 (EDT) From: Stefano Pagnotta Subject: ViSta To: lisp-stat-news@umnstat Message-Id: <01HA44IQGIN6984O3L@VX.CIS.UMN.EDU> Organization: CISED - University of Naples "Federico II" Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Stefano Pagnotta Hi all, does anyone know which are the e-mail addresses of Forrest W. Young and R.A. Faldowski, univesity of North Carolina. These would the authors of ViSta, an xlisp-stat program for multidimensional data exploring. Where is ViSta? Ciao, Stefano. MARIA ROSARIA D'ESPOSITO PHONE: +39 81 675117 UNIVERSITA' DI NAPOLI FAX : +39 81 675009 DIP. DI MATEMATICA E STATISTICA E-MAIL: DESPOSIT@VM.CISED.UNINA.IT VIA CINTHIA, M.TE S.ANGELO 80126 NAPOLI ITALY From billh@lsid.hp.com Mon Mar 21 05:43:30 1994 Received: from hp.com by umnstat.stat.umn.edu; Mon, 21 Mar 1994 15:43:42 -0600 Received: from labmdv.lsid.hp.com by hp.com with SMTP (1.36.108.7/15.5+IOS 3.13) id AA05197; Mon, 21 Mar 1994 13:43:36 -0800 Received: by labmdv.lsid.hp.com (1.37.109.4/15.5+ECS 3.3) id AA00992; Mon, 21 Mar 94 13:43:31 -0800 From: Bill Harris Message-Id: <9403212143.AA00992@labmdv.lsid.hp.com> Subject: UCLA add-ons to xlisp-stat? To: SL-news-list@umnstat (XLISP-STAT Mailing List) Date: Mon, 21 Mar 94 13:43:30 PST Mailer: Elm [revision: 70.85] Earlier this month, someone from UCLA (as I recall) posted a note to this mailing list describing some add-ons to xlisp-stat which provided more of a WIMP interface for data analysis. I pulled in a copy but neglected to keep a copy of the posting saying where it came from. Can whoever sent out that original message write me and tell me the ftp site where it came from? If there have been any updates since March 4, I might like to pick them up. Thanks, Bill -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 90 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From owner-SL-news Mon Mar 21 12:54:55 1994 Resent-Date: Mon, 21 Mar 94 17:54:55 EST Resent-From: owner-SL-news Resent-Message-Id: <199403212255.AA28217@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 21 Mar 1994 16:55:02 -0600 Received: from dad.bgsu.edu by umnstat.stat.umn.edu; Mon, 21 Mar 1994 16:54:57 -0600 Received: by dad.bgsu.edu (4.1/SMI-4.0) id AA03668; Mon, 21 Mar 94 17:54:55 EST Date: Mon, 21 Mar 94 17:54:55 EST From: byeh@dad.bgsu.edu (Bai-Yau Yeh) Message-Id: <9403212254.AA03668@dad.bgsu.edu> To: stat-lisp-news@umnstat Subject: R Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: byeh@dad.bgsu.edu (Bai-Yau Yeh) Hi, my name is Arthur Yeh, could you put me on the mailing list? I have one quick question, does anyone know how to install xlispstat on a Sunworkstation running Solaris2.2? What are the things that need to be modified in the Makefile or some other modifications that'll make the installation work? I really appreciate if someone out there can walk me thru these steps!! cheers, Arthur From billh@lsid.hp.com Mon Mar 21 08:02:48 1994 Received: from hp.com by umnstat.stat.umn.edu; Mon, 21 Mar 1994 18:02:53 -0600 Received: from labmdv.lsid.hp.com by hp.com with SMTP (1.36.108.7/15.5+IOS 3.13) id AA11373; Mon, 21 Mar 1994 16:02:51 -0800 Received: by labmdv.lsid.hp.com (1.37.109.4/15.5+ECS 3.3) id AA01109; Mon, 21 Mar 94 16:02:50 -0800 From: Bill Harris Message-Id: <9403220002.AA01109@labmdv.lsid.hp.com> Subject: Thanks to all To: SL-news-list@umnstat (XLISP-STAT Mailing List) Date: Mon, 21 Mar 94 16:02:48 PST Mailer: Elm [revision: 70.85] Thanks to all for their quick replies. The net works! Indeed, the files at UCLA are just what I was looking for. I had an earlier version that didn't quite work right (or so it seemed) with respect to getting visible colors on the screen (probably my error), so I thought I would try the latest to see if that was fixed. If it isn't, I'll have to presume I have some setup or at least some understanding to do. Thanks again, Bill -- Bill Harris Hewlett-Packard Co. R&D Productivity Department Lake Stevens Instrument Division domain: billh@lsid.hp.com M/S 90 hpdesk: Bill Harris / HPA100 8600 Soper Hill Road phone: (206) 335-2200 Everett, WA 98205-1298 From owner-SL-news Wed Mar 23 10:52:31 1994 Resent-Date: Wed, 23 Mar 1994 15:52:31 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199403232052.AA07446@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 23 Mar 1994 14:52:47 -0600 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Wed, 23 Mar 1994 14:52:44 -0600 Received: from laguna.psych.unc.edu by gibbs.oit.unc.edu (5.64/10.1) id AA06346; Wed, 23 Mar 94 15:52:41 -0500 Message-Id: <9403232052.AA06346@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Wed, 23 Mar 1994 15:52:31 -0500 To: stat-lisp-news@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: multiple inheritance Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) has anyone out there gotten multiple inheritance to work? or is it just me that has problems with it... ===================================================================== Forrest Young UNC Psychometrics Internet: uluru@gibbs.oit.unc.edu CB-3270 Davie Hall Telephone: 919-962-5038 Chapel Hill NC 27599-3270 USA FAX: 919-962-2537 ===================================================================== From owner-SL-news Mon Mar 28 08:39:13 1994 Resent-Date: Mon, 28 Mar 94 13:39:13 EST Resent-From: owner-SL-news Resent-Message-Id: <199403281839.AA27472@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 28 Mar 1994 12:39:25 -0600 Received: from dad.bgsu.edu by umnstat.stat.umn.edu; Mon, 28 Mar 1994 12:39:22 -0600 Received: by dad.bgsu.edu (4.1/SMI-4.0) id AA29464; Mon, 28 Mar 94 13:39:13 EST Date: Mon, 28 Mar 94 13:39:13 EST From: byeh@dad.bgsu.edu (Bai-Yau Yeh) Message-Id: <9403281839.AA29464@dad.bgsu.edu> To: stat-lisp-news@umnstat Subject: Xlispstat on solaris2.2 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: byeh@dad.bgsu.edu (Bai-Yau Yeh) I really appreciate if anyone can give me instructions on installing xlispstat on SPARC LX running solaris2.2. What needs to be modified in order to make xlispstat work? I have the file "xlispstat2.1R2.tar.Z" on site. My machine is running solaris2.2 with openwindow3.2. THANKS IN ADVANCE!!! Arthur From owner-SL-news Mon Mar 28 08:43:50 1994 Resent-Date: Mon, 28 Mar 94 14:43:50 CST Resent-From: owner-SL-news Resent-Message-Id: <199403282046.AA28108@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 28 Mar 1994 14:46:12 -0600 Received: from bru.mayo.edu by umnstat.stat.umn.edu; Mon, 28 Mar 1994 14:46:07 -0600 Received: from hsr. (hsr.mayo.edu) by bru.mayo.EDU (4.1/SMI-4.0) id AA13375; Mon, 28 Mar 94 14:46:05 CST Received: from butch by hsr. (4.1/SMI-4.0) id AA20997; Mon, 28 Mar 94 14:43:50 CST Date: Mon, 28 Mar 94 14:43:50 CST From: wollan@mayo.EDU (Peter Wollan) Message-Id: <9403282043.AA20997@hsr.> To: stat-lisp-news@umnstat Subject: native PowerPC Xlispstat? Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: wollan@mayo.EDU (Peter Wollan) Is anyone developing a native PowerPC version of xlispstat? It sounds like these machines will be ideal for animated data displays. Peter Wollan wollan@mayo.edu From owner-SL-news Fri Apr 4 14:06:00 1994 Resent-Date: 04 Apr 1994 13:06:00 +0100 (MET) Resent-From: owner-SL-news Resent-Message-Id: <199404041214.AA29401@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 4 Apr 1994 07:14:48 -0500 Received: from relay.xlink.net (xlink5.xlink.net) by umnstat.stat.umn.edu; Mon, 4 Apr 1994 07:14:42 -0500 Received: from xlink2.xlink.net by relay.xlink.net id <14246-0@relay.xlink.net>; Mon, 4 Apr 1994 14:15:04 +0000 Received: from XLINK2.XLINK.NET (MBA3591) by XLINK2.XLINK.NET (PMDF #3198 ) id <01HAS0XRKLLS000895@XLINK2.XLINK.NET>; Mon, 4 Apr 1994 13:06:00 MET Date: 04 Apr 1994 13:06:00 +0100 (MET) From: EICKHOFF@dornier.de To: stat-lisp-news@umnstat Message-Id: <01HAS0XRLO6Q000895@XLINK2.XLINK.NET> X-Vms-To: PSI%UNIKA::IN%"stat-lisp-news@umnstat.stat.umn.edu" Mime-Version: 1.0 Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: EICKHOFF@dornier.de Hello everybody, I am currently integrating some own C functions to XLisp-Stat for external communication via apple events. As a first approach I have taken the samplefun of Jeff Prothero's XLisp Internals Document, distributed by Jan de Leeuw: "XLisp-Stat, integration of own C-Code on the Mac" My problem is that this paper just demonstrates how to access integers and float values and lists, but not symbols. I can read symbols and their names from XLisp to C ( and then handle them with events) but I cannot write results back to XLisp symbols and symbol values. Consider: (setq a 'value_a) Within a function (samplefun 'a) I can access a and its value via . . . LVAL samplefun() LVAL sym_arg; . . char *symname, *symval . . . . . symname = getstring(getpname(sym_arg)); /* "a" */ symval = getstring(getpname(getvalue(sym_arg))); /* "value_a" */ The problems occur when trying to write results of the function back. . . LVAL sym1_return_ptr; char s1_return_name[9] = "retname\0"; . . int_ptr = cvfixnum( ...); float_ptr = cvflonum( ....); sym1_return_ptr = cvsymbol(s1_return_name)); . . result = cons( sym1_return_ptr, cons( int_ptr, cons( float_ptr, NIL ) ) ); xlpopn(3); return result; } Instead of >(samplefun a) (retname 4 7.6) I receive >(samplefun a) (#:|retname| 4 7.6) What ist this "#:|retname|"? It looks like a closure or something like that. Similar problems occur when trying to assert a value to a symbol using "setvalue". Also defining a symbol via xlenter produces |retname| instead of retname. The problem seems to be the cvsymbol function or my wrong application of this function. Strings however interned from C to XLisp-Stat via cvstring produce no problems. Please give me hints, Jens Eickhoff eickhoff@dornier.de 100140.1476@compuserve.com From owner-SL-news Mon Apr 4 15:30:03 1994 Resent-Date: Mon, 4 Apr 1994 13:30:03 +0200 Resent-From: owner-SL-news Resent-Message-Id: <199404051427.AA05298@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 5 Apr 1994 09:27:53 -0500 Received: from relay.xlink.net (xlink5.xlink.net) by umnstat.stat.umn.edu; Tue, 5 Apr 1994 09:27:45 -0500 Received: from rgvx1b.spacediv.dofn.de by relay.xlink.net id <16201-0@relay.xlink.net>; Tue, 5 Apr 1994 16:27:44 +0000 Date: Mon, 4 Apr 1994 13:30:03 +0200 Message-Id: <94040413300307@spacediv.dofn.de> From: eickhoff@spacediv.dofn.de To: stat-lisp-news@umnstat Subject: programming xlisp and apple events X-Vms-To: SMTP%"stat-lisp-news@umnstat.stat.umn.edu" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: eickhoff@spacediv.dofn.de Hello everybody, I am currently integrating some own C functions to XLisp-Stat for external communication via apple events. As a first approach I have taken the samplefun of Jeff Prothero's XLisp Internals Document, distributed by Jan de Leeuw: "XLisp-Stat, integration of own C-Code on the Mac" My problem is that this paper just demonstrates how to access integers and float values and lists, but not symbols. I can read symbols and their names from XLisp to C ( and then handle them with events) but I cannot write results back to XLisp symbols and symbol values. Consider: (setq a 'value_a) Within a function (samplefun 'a) I can access a and its value via . . . LVAL samplefun() LVAL sym_arg; . . char *symname, *symval . . . . . symname = getstring(getpname(sym_arg)); /* "a" */ symval = getstring(getpname(getvalue(sym_arg))); /* "value_a" */ The problems occur when trying to write results of the function back. . . LVAL sym1_return_ptr; char s1_return_name[9] = "retname\0"; . . int_ptr = cvfixnum( ...); float_ptr = cvflonum( ....); sym1_return_ptr = cvsymbol(s1_return_name)); . . result = cons( sym1_return_ptr, cons( int_ptr, cons( float_ptr, NIL ) ) ); xlpopn(3); return result; } Instead of >(samplefun a) (retname 4 7.6) I receive >(samplefun a) (#:|retname| 4 7.6) What ist this "#:|retname|"? It looks like a closure or something like that. Similar problems occur when trying to assert a value to a symbol using "setvalue". Also defining a symbol via xlenter produces |retname| instead of retname. The problem seems to be the cvsymbol function or my wrong application of this function. Strings however interned from C to XLisp-Stat via cvstring produce no problems. Please give me hints, Jens Eickhoff eickhoff@dornier.de 100140.1476@compuserve.com From mwitten@chpc.utexas.edu Tue Apr 5 20:37:33 1994 Received: from morpheus (morpheus.chpc.utexas.edu) by umnstat.stat.umn.edu; Tue, 5 Apr 1994 14:37:38 -0500 Received: by morpheus (5.0/SMI-4.1) id AA08244; Tue, 5 Apr 1994 14:37:33 +0600 Date: Tue, 5 Apr 1994 14:37:33 +0600 From: mwitten@chpc.utexas.edu Message-Id: <9404051937.AA08244@morpheus> To: SL-news-list@umnstat Subject: COMPMED 94 FINAL SCHEDULE Content-Length: 1374 FINAL PROGRAM ANNOUNCEMENT FIRST WORLD CONGRESS ON COMPUTATIONAL MEDICINE AND PUBLIC HEALTH 24-28 April 1994 Hyatt on the Lake, Austin, Texas The final program for the First World Congress On Computational Medicine and Public Health has now been set. Over 200 speakers will be presenting work in a variety of applications areas related to medicine and public health. Registration is still open for attendees. Registration details and/or a copy of the schedule at a glance, schedule-in-detail may be requested by sending an email request to compmed94@chpc.utexas.edu or by calling 512-471-2472 or by faxing 512-471-2445 There is no ftp form of the conference schedule due to the size of the file. We will be happy to fax/send a copy to anyone who requests it. The conference proceedings will appear as a series of volumes published by World Scientific. If you are interested in possibly submitting a paper for the proceedings, please contact mwitten@chpc.utexas.edu or call 512-471-2457 The overwhelming response to this congress has already justified having a second world congress in the future. The tentative schedule is to have in in 3 years. If you are interested in participating at the 2nd World Congress On Computational Medicine and Public Health, please contact Dr. Matthew Witten Congress Chair mwitten@chpc.utexas.edu From owner-SL-news Thu Apr 7 13:33:09 1994 Resent-Date: Thu, 7 Apr 94 17:33:09 EDT Resent-From: owner-SL-news Resent-Message-Id: <199404072133.AA19415@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 7 Apr 1994 16:33:14 -0500 Received: from dad.bgsu.edu by umnstat.stat.umn.edu; Thu, 7 Apr 1994 16:33:11 -0500 Received: by dad.bgsu.edu (4.1/SMI-4.0) id AA04717; Thu, 7 Apr 94 17:33:09 EDT Date: Thu, 7 Apr 94 17:33:09 EDT From: byeh@dad.bgsu.edu (Bai-Yau Yeh) Message-Id: <9404072133.AA04717@dad.bgsu.edu> To: stat-lisp-news@umnstat Subject: xlispstat on solaris2.2 with gcc Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: byeh@dad.bgsu.edu (Bai-Yau Yeh) Has anyone compiled xlispstat on solaris2.2 with gcc? I've tried it few times and got bombed at the same place with the following message: gcc -DUNIX -DX11WINDOWS -I/usr/openwin/include -c X11BSDstuff.c X11BSDstuff.c: In function `osinit': X11BSDstuff.c:32: warning: passing arg 2 of `signal' from incompatible pointer type X11BSDstuff.c:33: warning: passing arg 2 of `signal' from incompatible pointer type X11BSDstuff.c: In function `intercatch': X11BSDstuff.c:143: warning: passing arg 2 of `signal' from incompatible pointer type X11BSDstuff.c: In function `fpecatch': X11BSDstuff.c:150: warning: passing arg 2 of `signal' from incompatible pointer type X11BSDstuff.c: At top level: X11BSDstuff.c:220: warning: `x11_get_char' was declared implicitly `extern' and later `static' X11BSDstuff.c:232: warning: `char_available' was declared implicitly `extern' and later `static' X11BSDstuff.c: In function `char_available': X11BSDstuff.c:237: `FIONREAD' undeclared (first use this function) X11BSDstuff.c:237: (Each undeclared identifier is reported only once X11BSDstuff.c:237: for each function it appears in.) *** Error code 1 make: Fatal error: Command failed for target `X11BSDstuff.o' What has to be changed in Makefile in order to make the xlispstat running? Thanks in advance!! Arthur From owner-SL-news Fri Apr 8 08:55:10 1994 Resent-Date: Fri, 8 Apr 94 12:55:10 EDT Resent-From: owner-SL-news Resent-Message-Id: <199404081655.AA23671@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 8 Apr 1994 11:55:39 -0500 Received: from dad.bgsu.edu by umnstat.stat.umn.edu; Fri, 8 Apr 1994 11:55:28 -0500 Received: by dad.bgsu.edu (4.1/SMI-4.0) id AA01876; Fri, 8 Apr 94 12:55:10 EDT Date: Fri, 8 Apr 94 12:55:10 EDT From: byeh@dad.bgsu.edu (Bai-Yau Yeh) Message-Id: <9404081655.AA01876@dad.bgsu.edu> To: stat-lisp-news@umnstat Subject: xlispstat on solaris2.2 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: byeh@dad.bgsu.edu (Bai-Yau Yeh) Thanks for all the help, especially the one from Brett. The installation of xlispstat on solaris2.2 with gcc seemed to be working until the very last step X11WINDOWSxlisp with the folloring error message: Undefined first referenced symbol in file bzero stmem.o ld: fatal: Symbol referencing errors. No output written to xlisp *** Error code 1 make: Fatal error: Command failed for target `X11WINDOWSxlisp' Can anyone tell me where the error might have occurred? Thanks in advance!! Arthur From owner-SL-news Wed Apr 13 10:43:00 1994 Resent-Date: Wed, 13 Apr 94 14:43 EDT Resent-From: owner-SL-news Resent-Message-Id: <199404131921.AA17129@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 13 Apr 1994 14:21:12 -0500 Message-Id: <199404131920.AA17122@umnstat.stat.umn.edu> Received: from uncmvs.oit.unc.edu by umnstat.stat.umn.edu; Wed, 13 Apr 1994 14:20:57 -0500 Received: from UNCMVS.OIT.UNC.EDU by UNCMVS.OIT.UNC.EDU (IBM MVS SMTP V2R2.1) with BSMTP id 6707; Wed, 13 Apr 94 15:19:48 LCL Date: Wed, 13 Apr 94 14:43 EDT From: "Mary McFarlane" To: stat-lisp-news@umnstat Subject: newtonmax again Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Mary McFarlane" Hi Folks, In my never-ending quest to make newtonmax do things that it was not meant to do, I have come up with another problem. The problem is this: I want to maximize a likelihood function. I would like newtonmax to figure out the gradient numerically, but I want to supply a fixed Hessian (second derivative matrix). The problem is, if the gradient is estimated numerically, newtonmax seems to think it should *also* estimate the Hessian numerically - which is NOT what I want it to do. Does anyone know how to get around this problem? Thanks in advance, Mary From owner-SL-news Mon Apr 18 12:16:33 1994 Resent-Date: Mon, 18 Apr 1994 10:16:33 +0200 (WET) Resent-From: owner-SL-news Resent-Message-Id: <199404180817.AA07283@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 18 Apr 1994 03:17:06 -0500 Received: from pollux.edv.agrar.tu-muenchen.de by umnstat.stat.umn.edu; Mon, 18 Apr 1994 03:16:58 -0500 Received: by pollux.edv.agrar.tu-muenchen.de (AIX 3.2/UCB 5.64/4.03) id AA22456; Mon, 18 Apr 1994 10:16:33 +0200 From: walter@pollux.edv.agrar.tu-muenchen.de (Bernhard Walter (DVS)) Message-Id: <9404180816.AA22456@pollux.edv.agrar.tu-muenchen.de> Subject: dynamic loading under AIX3.2 and Linux To: stat-lisp-news@umnstat (stat-lisp) Date: Mon, 18 Apr 1994 10:16:33 +0200 (WET) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1100 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: walter@pollux.edv.agrar.tu-muenchen.de (Bernhard Walter (DVS)) hi all, I'm working with XLisp-Stat 2.1R2 under AIX3.2 on RS6000 and under Linux. For both systems I compiled the program, but I haven't been able to get dynamic loading working. So, is it possible at all ? As a substitute I included the 'popen' and 'pclose' routines (I think from Niels Mayer or so, I found them in Xlisp-Plus) to my version of Xlisp-Stat. But this is a very private substitute, and applications using this feature, won't run on any other platform than mine. Is there a default possibility to start external programs (own ones or Shell commands) from Xlisp-Stat ? thanks in advance Bernhard -- ---------------------------------------------------------------------------- Bernhard Walter walter@pollux.edv.agrar.tu-muenchen.de Techn. Univ. Munich ###### ##### +49-(0)8161-71-5055 (phone) DVS - Weihenstephan # # # # # +49-(0)8161-71-4409 (fax) 85350 Freising # #### # # (Germany) ---------------------------------------------------------------------------- From owner-SL-news Mon Apr 18 06:53:01 1994 Resent-Date: Mon, 18 Apr 1994 10:53:01 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199404181453.AA08602@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 18 Apr 1994 09:53:20 -0500 Received: from Princeton.EDU by umnstat.stat.umn.edu; Mon, 18 Apr 1994 09:53:11 -0500 Received: from tsar.Princeton.EDU by Princeton.EDU (5.65b/2.108/princeton) id AA08523; Mon, 18 Apr 94 10:53:03 -0400 Received: by tsar.Princeton.EDU (NeXT-1.0 (From Sendmail 5.52)/1.113) id AA20477; Mon, 18 Apr 94 10:53:03 EDT Date: Mon, 18 Apr 1994 10:53:01 -0400 (EDT) From: "Ira H. Fuchs" Subject: LISPSTAT with MULISP To: stat-lisp-news@umnstat Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Ira H. Fuchs" Has anyone every ported LISPSTAT to MULISP (a very compact and speedy LISP for DOS)? MULISP is a product available from The Soft Warehouse. From owner-SL-news Sat Apr 23 07:07:16 1994 Resent-Date: Sat, 23 Apr 1994 12:07:16 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199404231609.AA28368@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 23 Apr 1994 11:09:10 -0500 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Sat, 23 Apr 1994 11:09:07 -0500 Received: from laguna.psych.unc.edu by gibbs.oit.unc.edu (5.64/10.1) id AA26167; Sat, 23 Apr 94 12:09:04 -0400 Message-Id: <9404231609.AA26167@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Sat, 23 Apr 1994 12:07:16 -0500 To: stat-lisp-news@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) I have done some Lisp-Stat timing comparisons of a Quadra 800 versus a PowerMac 8100. First: The version of Lisp-Stat that requires the Math-Coprocessor does not run on the PowerMac. Only the non-Math-Coprocessor version does. So, the timings compare the Quadra 800 running the Math-Coprocessor version of Lisp-Stat to the the PowerMac 8100 running the non-Math-Coprocessor version of Lisp-Stat. For the comparison I used a suite of functions that my ViSta software can perform. BOTTOM LINE: The PowerMac took 34.07 seconds, the Quadra took 20.30 seconds. DETAILS: The ViSta functions can be categorized as being disk-intensive, screen-intensive, or compute intensive. The detailed timing comparison, in seconds, is: Disk-Intensive functions (Quadra Faster): Q PM Function 0.53 0.80 Load-Data 0.65 1.00 Load-Data Screen-Intensive (PowerMac Faster): Q PM Function 0.05 0.03 List-Variables 0.05 0.03 List-Observations 0.42 0.33 Close-SpreadPlot 0.37 0.35 Close-SpreadPlot 0.37 0.33 Close-SpreadPlot Compute-Intensive (Quadra Faster): Q PM Function 1.25 3.05 Principal Components 3.25 6.85 Multiple Regression 1.63 3.05 Normalize 2.90 4.78 Visualize-Data 2.75 4.18 Visualize-Model 1.95 2.85 Visualize-Model 0.17 0.33 Select-Variables 0.83 1.38 Merge-Variables 1.07 1.57 Create-Data 1.55 2.47 Create-Data 0.18 0.28 Set-Current-Data So... don't trade in your older Mac yet. Is there a native PowerMac Lisp-Stat out there anywhere? Or on the way? ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Work Telephone: 919-962-5038 Chapel Hill NC 27599-3270 USA FAX: 919-962-2537 ===================================================================== From owner-SL-news Sun May 1 05:50:03 1994 Resent-Date: Sun, 1 May 1994 12:50:03 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199405011948.AA07572@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 1 May 1994 14:48:27 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sun, 1 May 1994 14:48:23 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA29948; Sun, 1 May 94 12:50:04 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA24658; Sun, 1 May 94 12:50:03 PDT From: Jan Deleeuw Message-Id: <9405011950.AA24658@galton.math.ucla.edu> Subject: porting to PowerPC To: kcli@math.ucla.edu (Ker-Chau Li), cchen@stat.sinica.edu.tw (Chung-Ho Chen), stat-lisp-news@umnstat (Xlisp List) Date: Sun, 1 May 1994 12:50:03 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 645 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw ETO 14 comes with the Macintosh on RISC SDK. I am, as we speak, building a fat binary (both 68K and PPC) of XlispStat. I will also make a lean and mean PPC only binary, and put them in the ftp directories of laplace.stat.ucla.edu (look in pub/lisp/xlisp/xlisp-stat/ppc). Compiling gives no problems (repair the #endif and the #ifdef MPWC, pull in some alternative files), linking may be a bit more tricky. If nothing shows up in a week, prompt me. --- Jan -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sun May 1 08:02:18 1994 Resent-Date: Sun, 1 May 1994 15:02:18 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199405012200.AA08158@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 1 May 1994 17:00:43 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sun, 1 May 1994 17:00:39 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA00762; Sun, 1 May 94 15:02:20 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA24749; Sun, 1 May 94 15:02:19 PDT From: Jan Deleeuw Message-Id: <9405012202.AA24749@galton.math.ucla.edu> Subject: Xlisp-Stat for PowerPC To: kcli@math.ucla.edu (Ker-Chau Li), cchen@stat.sinica.edu.tw (Chung-Ho Chen), stat-lisp-news@umnstat (Xlisp List) Date: Sun, 1 May 1994 15:02:18 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 464 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw In pub/lisp/xlisp/xlisp-stat/ppc here are now binhexed versions of XLSPPConly and XLSPPCfat. I HAVE NO IDEA IF THEY WORK ! ALL I KNOW IS THAT THEY COMPILED AND LINKED ! DON'T SUE ME OR THE REGENTS 8-) You still have to provide the foo.lsp files, these are just the binaries. -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Tue May 17 17:21:00 1994 Resent-Date: Tue, 17 May 94 21:21 EDT Resent-From: owner-SL-news Resent-Message-Id: <199405181321.AA13935@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 18 May 1994 08:21:24 -0500 Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu; Wed, 18 May 1994 08:21:18 -0500 Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.5/UMIACS-0.9/04-05-88) id JAA08648; Wed, 18 May 1994 09:21:15 -0400 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0q3aKM-0005e1C; Tue, 17 May 94 21:21 EDT Message-Id: Date: Tue, 17 May 94 21:21 EDT From: pcolsen@n2ell (Peter C. Olsen P.E.) To: stat-lisp-news@umnstat Subject: Fixing "lisp-send-defun" under Emacs 19 Reply-To: pcolsen@math.umbc.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) This may be common knowledge to everyone else, but it stumped me for a while. I run xlispstat under Emacs, and when I upgraded to FSF Emacs-19, suddenly the "lisp-send-defun" function in xlispstat.el broke. After poking around, it appears to me that Emacs-19 had changed the name of it's inferior-lisp processes from "lisp" to "inferior-lisp". All that is really necessary is to change the name of the process whereever it appears. I went one (small) step further and defined a local variable so that it would be easy to fix next time. My code is attached... Peter Peter Olsen, P.E., pcolsen%n2ell.uucp@mimsy.umd.edu, ...!mimsy!n2ell.edu P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; modified to use .lsp suffix on temp file - xlisp gets upset without ;; it. ;; Modified for new lisp process name in Emacs-19 (defun lisp-send-defun (display-flag) "Send the current defun to the Lisp process made by M-x run-lisp. With argument, force redisplay and scrolling of the *lisp* buffer. Variable `inferior-lisp-load-command' controls formatting of the `load' form that is set to the Lisp process." (interactive "P") (let ((process-name "inferior-lisp")) ; Here's the name hack (or (get-process process-name) (error "No current lisp process")) (save-excursion (end-of-defun) (let ((end (point)) (filename (format "/tmp/emlisp%d.lsp" (process-id (get-process process-name))))) (beginning-of-defun) (write-region (point) end filename nil 'nomessage) (process-send-string process-name (format inferior-lisp-load-command filename))) (if display-flag (let* ((process (get-process process-name)) (buffer (process-buffer process)) (w (or (get-buffer-window buffer) (display-buffer buffer))) (height (window-height w)) (end)) (save-excursion (set-buffer buffer) (setq end (point-max)) (while (progn (accept-process-output process) (goto-char (point-max)) (beginning-of-line) (or (= (point-max) end) (not (looking-at inferior-lisp-prompt))))) (setq end (point-max)) (vertical-motion (- 4 height)) (set-window-start w (point))) (set-window-point w end)))))) From owner-SL-news Sat May 28 08:04:13 1994 Resent-Date: Sat, 28 May 1994 15:04:13 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199405282202.AA10082@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 28 May 1994 17:02:35 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 28 May 1994 17:02:30 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA09088; Sat, 28 May 94 15:04:14 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA10157; Sat, 28 May 94 15:04:13 PDT From: Jan Deleeuw Message-Id: <9405282204.AA10157@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 28 May 1994 15:04:13 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 3032 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw In ~/pub/lisp/xlisp/xlisp-stat on laplace.stat.ucla.edu there are various versions of xlispstat available. Here are the subdirectories brandnew: xlispstat.tar.gz contrib: alr eltoy jflisp shortcourse times young axis expsurvd markov simulator tools boxmat glim plottools sir xlisp-book cw hasse puranen surv xlisp-to-s dist: xlispstat2.1R2 docs: asacourse.ps xlispstat.doc.ps.1 xlispstat.doc.ps.3 shortcourse.tar.Z xlispstat.doc.ps.2 dos: WXLSZIP.EXE msdos_src.tar.Z readme.src wxls.ps XLSZIP.EXE readme.dos readme.win wxls.tex homegrown: IO data niceties scaling bootstrap gifi regression mac: ppc r3a26 r3a7 runtime: Data dialogs.lsp init.lsp oneway.lsp xlisp.help Examples graphics.lsp maximize.lsp regression.lsp autoload.lsp graphics2.lsp menubar.lsp statistics.lsp bayes.lsp graphics3.lsp nonlin.lsp step.lsp common.lsp help.lsp objects.lsp xlisp students: corres-anal.lsp repeated-measures.lsp teach-readme exer9-5.lsp robust-btstrap.lsp teach-sample.lsp regres-add.lsp teach-density.lsp weibull-mle.lsp brandnew is a version of release 3 alpha 26, packed with tar and gzip, that has all the source code and the startup files. r3a26 is based on xlisp-2.1f, and comes with workspaces, packages, and a byte-compiler. contrib has contributed code from various sources. dist is the r2 for all systems (unix, mac, msw, dos). docs are tutorials and courses. dos is the r2 version for msdos and mswindows. homegrown is contributed code from ucla. mac has three subdirectories. ppc contains (or should contain) both lean and fat binaries for the PowerMac. The current version does not work yet, but it is in progress. r3a7 contains two binhex files with the runtime, source code, and binaries for macs with or without a 6888x coprocessor. It is, obviously, release 3 alpha 7. Then r3a26 has the xlisp-2.1f based version (with compiler, packages, workspace). It contains the lisp support files, plus a version for macs with coprocessor, plus one (XLISP-STAT20) for PowerMacs in emulation mode. There is no version yet for 68000 based Macs. To give you an idea, we have a benchmark of 100 eigen-decompositions of random symmetric matrices of order 20. On the Quadra 800 this takes 16.83 secs in native mac mode, it takes 72.65 secs in native mac mode without using the coprocessor, and it takes 125.92 secs in emulation mode on a PowerMac (using an upgrade card in the Quadra). runtime is a complete Unix runtime system, release 2. students is contributed code from Nancy Reid's class at the University of Toronto. For those of you with laplace accounts: all this can be found in /m/ftp/pub/lisp/xlisp/xlisp-stat. You can run release 2 by saying "xlispstat" at the shell prompt and release 3 alpha 26 by saying "newxlisp". From owner-SL-news Wed Jun 1 05:59:06 1994 Resent-Date: Wed, 1 Jun 1994 10:59:06 EST5EDT Resent-From: owner-SL-news Resent-Message-Id: <199406011605.AA28849@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 1 Jun 1994 11:05:27 -0500 Received: from sifon.CC.McGill.CA by umnstat.stat.umn.edu; Wed, 1 Jun 1994 11:05:19 -0500 Received: from langate.cc.mcgill.ca ([132.206.37.3]) by sifon.CC.McGill.CA (8.6.8/8.6.6) with SMTP id MAA16225 for ; Wed, 1 Jun 1994 12:05:06 -0400 Message-Id: <199406011605.MAA16225@sifon.CC.McGill.CA> Received: by MicroMailer 3.20a (.Lan.McGill.CA) on Wednesday, 01 June 1994, 11:53:15 EDT From: Organization: McGill University - Medicine To: lisp-stat-news@umnstat Date: Wed, 1 Jun 1994 10:59:06 EST5EDT Subject: Priority: normal X-Mailer: PMail v3.0 (R1a) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: subscribe lisp-stat-news R.Heberto Ghezzo From owner-SL-news Wed Jun 1 22:16:08 1994 Resent-Date: Wed, 1 Jun 94 21:46:08+030 Resent-From: owner-SL-news Resent-Message-Id: <199406011843.AA29636@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 1 Jun 1994 13:43:19 -0500 Received: from relay2.UU.NET by umnstat.stat.umn.edu; Wed, 1 Jun 1994 13:43:04 -0500 Received: from cairo.eng.kuniv.edu.kw by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AAwsle29953; Wed, 1 Jun 94 14:42:45 -0400 Received: from newyork.eng.kuniv.edu.kw by cairo.eng.kuniv.edu.kw (4.1/SMI-4.1) id AA18509; Wed, 1 Jun 94 21:46:08+030 Date: Wed, 1 Jun 94 21:46:08+030 From: walid@eng.kuniv.edu.kw (Walid Taha) Message-Id: <9406011846.AA18509@cairo.eng.kuniv.edu.kw> To: lisp-stat-news@umnstat Subject: Anything About A Compiler For LISP-STAT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: walid@eng.kuniv.edu.kw (Walid Taha) Hello Everybody, Any one with any info on a compiler for LISP-STAT? Does something like that exist? Regards, Walid. From owner-SL-news Thu Jun 2 14:06:28 1994 Resent-Date: Thu, 2 Jun 94 12:06:28 +0200 Resent-From: owner-SL-news Resent-Message-Id: <199406021007.AA03557@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 2 Jun 1994 05:07:29 -0500 Message-Id: <199406021007.AA03549@umnstat.stat.umn.edu> Received: from tamara.utia.cas.cz by umnstat.stat.umn.edu; Thu, 2 Jun 1994 05:07:03 -0500 Received: by tamara.utia.cas.cz (16.7/16.2) id AA11977; Thu, 2 Jun 94 12:06:28 +0200 Date: Thu, 2 Jun 94 12:06:28 +0200 From: Rudolf Kulhavy To: stat-lisp-news@umnstat Subject: Trouble with `newtonmax' Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Rudolf Kulhavy Hi everybody, I tried (newtonmax #'(lambda (x) (- (** x 2))) #(1)) and the program exploded. Is this that NEWTONMAX cannot work with scalar functions, a bug in code, bad call of the function or problem in installation? I use the program on HP 9000/720 which I considered a 'generic' machine in installation. Sorry for my ignorance, I started playing with xlisp-stat just a couple of days ago. Ruda ---------------------------------------------------------------------------- Rudolf KULHAVY | Department of Adaptive Systems Email: kulhavy@utia.cas.cz | Institute of Information Theory and Automation Tel: +42-2-66052313 | Academy of Sciences of the Czech Republic Fax: +42-2-66414903 | PO Box 18, 18208 Prague, Czech Republic ---------------------------------------------------------------------------- From owner-SL-news Fri Jun 3 11:31:43 1994 Resent-Date: Fri, 3 Jun 94 18:27:21 WETDST Resent-From: owner-SL-news Resent-Message-Id: <199406031631.AA10787@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 3 Jun 1994 11:31:43 -0500 Message-Id: <199406031627.AA10723@umnstat.stat.umn.edu> Received: from halley.upf.es by umnstat.stat.umn.edu; Fri, 3 Jun 1994 11:27:13 -0500 Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA27348; Fri, 3 Jun 94 18:27:58 +0200 Received: by libiya.upf.es (16.7/15.6) id AA08544; Fri, 3 Jun 94 18:27:22 +0100 From: Frederic Udina Subject: R3a26 To: stat-lisp-news@umnstat (lisp stat list) Date: Fri, 3 Jun 94 18:27:21 WETDST Mailer: Elm [revision: 66.33] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina hi there: I am trying to upgrade my xlisp-stat programs to release 3a26, and I'am having some problems. Do someone has experienced similar troubles? But let me also tell you the good news. Release 3 looks very faster than the previous one, the loading files ...... is almost instantaneous and getting loading help also is fast. It has a compiler also, but I have had no time to try it. Please note that my complains must be preceeded by a big THANKS LUKE!!! for making so good software and making it freeware! By the way: I work on a HP unix workstation and got the code from the (thanks Jan) big laplace statistics server. Here follow my surprises: 1) the strcat function is not bound. You can get the (help 'strcat) but you get error if try to use it. > (strcat "new " "xlispstat") Error: The function STRCAT is unbound. 2) With release 2, *features* were: > *features* (WINDOWS DIALOGS COLOR UNIX X11 XLISP) now, in release 3a26 > *features* (:BACKQUOTE :COLOR :DIALOGS :WINDOWS :UNIX :X11 :XLISP) Do you see the difference? My programs really see it and they works as if I have no WINDOWS, no UNIX, ... 3) Some things change their names and this confuse my programs: In release 2: (send sequence-scroll-item-proto :own-slots) (DIALOG ACTION SIZE LOCATION TEXT WINDOW-ID VALUE PAGE-INCREMENT MAX-VALUE MIN-VALUE VALUE-TEXT-ITEM DISPLAY-SEQUENCE SEQUENCE PROTO-NAME INSTANCE-SLOTS) In release 3: (send sequence-scroll-item-proto :own-slots) (DIALOG ACTION SIZE LOCATION TEXT WINDOW-ID VALUE PAGE-INCREMENT MAX-VALUE MIN-VALUE XLISP::VALUE-TEXT-ITEM XLISP::DISPLAY-SEQUENCE SEQUENCE PROTO-NAME INSTANCE-SLOTS) So when a program tries to send the :value message to 'VALUE-TEXT-ITEM ... 4) I like the new long printing style for numbers, but I have some aritmetical problems also. My rounding function do behave differently now... There are probably other changes, but I have no more time to explore it. Thanks again to Luke, but if they were no so much changes, life will be easier for XLISP-STAT aficionados! -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/_\_________________________________ From owner-SL-news Fri Jun 3 03:31:25 1994 Resent-Date: Fri, 3 Jun 1994 10:31:25 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406031732.AA11134@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 3 Jun 1994 12:32:03 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Fri, 3 Jun 1994 12:29:52 -0500 Received: from laplace.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA10225; Fri, 3 Jun 94 10:31:26 PDT Return-Path: Received: by laplace.math.ucla.edu (Sendmail 5.0/1.10) id AA11922; Fri, 3 Jun 1994 10:31:26 +0800 From: Jan Deleeuw Message-Id: <9406031731.AA11922@laplace.math.ucla.edu> Subject: PowerMac version To: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Fri, 3 Jun 1994 10:31:25 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 778 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw There is a better PowerMac version in ~/pub/lisp/xlisp/xlisp-stat/mac/ppc in laplace.stat.ucla.edu. It does not do mouseclicks and only some parts of dialogs, but it does the computations blindingly fast. Just unhook your mouse. For laplace account holders: the path is /m/ftp/pub/lisp and so on. On my PowerMac 800 I have execution speeds on my benchmarks which are about 30% of those on a Quadra 800 (three times as fast). The PowerMac version is compiled without any optimization and it runs on the PowerMac card within the Quadra. Thus it could be quite a bit faster still. --- Jan -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Fri Jun 3 17:32:27 1994 Resent-Date: Sat, 4 Jun 1994 00:32:27 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406040730.AA14602@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 4 Jun 1994 02:30:45 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 4 Jun 1994 02:30:42 -0500 Received: from laplace.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA24629; Sat, 4 Jun 94 00:32:27 PDT Return-Path: Received: by laplace.math.ucla.edu (Sendmail 5.0/1.10) id AA15822; Sat, 4 Jun 1994 00:32:27 +0800 From: Jan Deleeuw Message-Id: <9406040732.AA15822@laplace.math.ucla.edu> Subject: PowerMac version -- slight update To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 4 Jun 1994 00:32:27 -0700 (PDT) Cc: jimc@math.ucla.edu (Jim Carter) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 586 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw I compiled a version with optimization turned on, and mac68k alignment of structures. It is twice as fast as the previous one, i.e. twice as fast as my Sparc Station 10 on the benchmark (100 eigenvalue eigenvector problems of size 20 for a random symmetric matrix). It is in the usual place, and it still does not like mouse activity. I, for one, am amazed. This chip is really something. --- Jan -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sat Jun 4 18:06:00 1994 Resent-Date: Sat, 4 Jun 94 22:06 EDT Resent-From: owner-SL-news Resent-Message-Id: <199406050238.AA17517@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 4 Jun 1994 21:38:28 -0500 Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu; Sat, 4 Jun 1994 21:38:24 -0500 Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id WAA28784; Sat, 4 Jun 1994 22:38:23 -0400 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0qA7by-0005CcC; Sat, 4 Jun 94 22:06 EDT Message-Id: Date: Sat, 4 Jun 94 22:06 EDT From: pcolsen@n2ell (Peter C. Olsen P.E.) To: stat-lisp-news@umnstat Subject: XlispStat 2.1R3 won't byte-compile under Linux Reply-To: pcolsen@math.umbc.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) I've snarfed XlispStat 2.1R3 from laplace and tried to compile it under Linux. The C part seems to compile well, but not the lisp. It's probably a case of CUF ("Catastrophic User Failure"), so I'll grovel and ask for help. Here's what I get at the end of my "make" ... lots of other stuff deleted ... > make[1]: Leaving directory `/mnt/sdd1/tmp/xlispstat' > make xlisp.wks > make[1]: Entering directory `/mnt/sdd1/tmp/xlispstat' > cp compiler/backquot.lsp fsltmp.lsp > echo '(compile-file "fsltmp.lsp" :output-file "fsltmp.fsl") (exit)' \ > | ./xlisp > XLISP-PLUS version 2.1f > Portions Copyright (c) 1988, by David Betz. > Modified by Thomas Almy and others. > XLISP-STAT version 2.1 Release 3 Alpha 26. > Copyright (c) 1989-1993, by Luke Tierney. > Initialization may take a few minutes. > > make[1]: *** [compiler/backquot.fsl] Error 139 > make[1]: Leaving directory `/mnt/sdd1/tmp/xlispstat' > make: *** [all] Error 1 > $ In fact, although the C code compiles, I'm not sure it's working. Here's what happens if I try to run xlisp by itself. > $ ./xlisp '(compile-file "fsltmp.lsp" :output-file "fsltmp.fsl") (exit)' > XLISP-PLUS version 2.1f > Portions Copyright (c) 1988, by David Betz. > Modified by Thomas Almy and others. > XLISP-STAT version 2.1 Release 3 Alpha 26. > Copyright (c) 1989-1993, by Luke Tierney. > Initialization may take a few minutes. > > Segmentation fault > $ ./xlisp > XLISP-PLUS version 2.1f > Portions Copyright (c) 1988, by David Betz. > Modified by Thomas Almy and others. > XLISP-STAT version 2.1 Release 3 Alpha 26. > Copyright (c) 1989-1993, by Luke Tierney. > Initialization may take a few minutes. > > Segmentation fault > $ > $ > As I use XLS 2.1R2 frequently for both work and school, I've been looking forward to this upgrade for some time. If anyone can offer suggestions, I will be grateful. Peter - -- Peter Olsen, P.E., pcolsen%n2ell.uucp@mimsy.umd.edu, ...!mimsy!n2ell.edu P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From owner-SL-news Sun Jun 5 08:17:47 1994 Resent-Date: Sun, 05 Jun 94 12:17:47 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199406051619.AA19616@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 5 Jun 1994 11:19:32 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sun, 5 Jun 1994 11:19:29 -0500 Received: from mercury.stat.fsu.edu by stat.fsu.edu (4.1/25-eef) id AA25207; Sun, 5 Jun 94 12:16:22 EDT Message-Id: <9406051616.AA25207@stat.fsu.edu> To: Frederic Udina Cc: stat-lisp-news@umnstat (lisp stat list) Subject: Re: R3a26 In-Reply-To: Your message of "Fri, 03 Jun 94 18:27:21 +0700." <199406031627.AA10723@umnstat.stat.umn.edu> Date: Sun, 05 Jun 94 12:17:47 -0400 From: naras@stat.fsu.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: naras@stat.fsu.edu In message <199406031627.AA10723@umnstat.stat.umn.edu> Frederic Udina writes: ... |> |> 3) Some things change their names and this confuse my programs: |> In release 2: |> (send sequence-scroll-item-proto :own-slots) |> (DIALOG ACTION SIZE LOCATION TEXT WINDOW-ID VALUE PAGE-INCREMENT |> MAX-VALUE MIN-VALUE VALUE-TEXT-ITEM DISPLAY-SEQUENCE SEQUENCE |> PROTO-NAME INSTANCE-SLOTS) |> |> In release 3: |> (send sequence-scroll-item-proto :own-slots) |> (DIALOG ACTION SIZE LOCATION TEXT WINDOW-ID VALUE PAGE-INCREMENT |> MAX-VALUE MIN-VALUE XLISP::VALUE-TEXT-ITEM XLISP::DISPLAY-SEQUENCE |> SEQUENCE PROTO-NAME INSTANCE-SLOTS) |> |> So when a program tries to send the :value message to 'VALUE-TEXT-ITEM |> ... Perhaps it is time to add "*release2*" "*release3*" to the features for conditional code. Or is there already a mechanism that I am unaware of? ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu From owner-SL-news Fri Jun 10 04:34:59 1994 Resent-Date: Fri, 10 Jun 1994 11:34:59 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406101835.AA17310@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 10 Jun 1994 13:35:14 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Fri, 10 Jun 1994 13:35:04 -0500 Received: from laplace.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA06207; Fri, 10 Jun 94 11:35:01 PDT Return-Path: Received: by laplace.math.ucla.edu (Sendmail 5.0/1.10) id AA13942; Fri, 10 Jun 1994 11:34:59 +0800 From: Jan Deleeuw Message-Id: <9406101834.AA13942@laplace.math.ucla.edu> Subject: xlispstuff on laplace.stat.ucla.edu (aka laplace.math.ucla.edu) To: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Fri, 10 Jun 1994 11:34:59 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 4386 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Here are some interesting Xlisp-Stat related additions to the laplace ftp server. ~/pub/lisp/xlisp has the new 2.1g version of Tom Almy's xlisp ~/pub/lisp/xlisp/xlisp-stat/students has projects from Nancy Reid's class at U Toronto. They are -rw-r--r-- 1 553 51 15522 May 28 13:30 corres-anal.lsp -rw-r--r-- 1 553 51 3431 May 28 13:30 exer9-5.lsp -rw-r--r-- 1 553 51 39212 May 28 13:31 regres-add.lsp -rw-r--r-- 1 553 51 13778 May 28 13:31 repeated-measures.lsp -rw-r--r-- 1 553 51 2990 May 28 13:32 robust-btstrap.lsp -rw-r--r-- 1 553 51 17952 May 28 13:32 teach-density.lsp -rw-r--r-- 1 553 51 3845 May 28 13:32 teach-readme -rw-r--r-- 1 553 51 26482 May 28 13:33 teach-sample.lsp -rw-r--r-- 1 553 51 4590 May 28 13:33 weibull-mle.lsp ~/pub/lisp/xlisp/xlisp-stat/contrib/udina has a subdirectory kde with a nicely developed kernel-density estimation package, plus documentation, by Frederic Udina, UPF, Barcelona, and a subdirectory gnuplot with code to make publication quality plots from xlisp-stat to gnuplot to any device. This last code is still under construction. ~/pub/lisp/xlisp/xlisp-stat/contrib/naras has some new packages from B. Narasimham, notable kde (another kernel-density package, with some suppport in C), and call-lfun (demos to call C from xlisp). ~/pub/lisp/xlisp/xlisp-stat/contrib/axis is a statistics teaching package on top of xlisp-stat by Robert Stine (Wharton). ~/pub/lisp/xlisp/xlisp-stat/homegrown/regression/terrace contains the current version of the hierarchical linear modeling software by James Hilden-Minton (UCLA). It is about to be upgraded, look for versions with a june 1994 date. ~/pub/lisp/xlisp/winterp-1.13 is the recent upgrade of Niels Mayer's interface construction kit linking xlisp-stat and the Motif toolkit. ~/pub/lisp/xlisp/xlisp-stat/brandnew is an alpha of a new version of Xlisp-Stat (based on 2.1f, with byte-compiler, packages, workspaces). ~/pub/lisp/xlisp/xlisp-stat/mac/ppc has a powermac version of the above. careful, it bombs ! Only use the mouse for menus and scrollbars. It is blazingly fast, though. About twice the speed of a Sparc 10. ~/pub/lisp/xlisp/xlisp-stat/mac/r3a26 has two versions of the above for the mac. one that uses a coprocessor, and one that doesn't. The one that doesn't still has 68020 instructions, which means it can be used on a PowerMac in emulation mode (on my benchmarks it is about 100 times slower than the native version), but it cannot be used on 68000 macs. ~/pub/lisp/common/powerlisp has version 1.1 of a very nice shareware Common Lisp system by Roger Corman. ~/pub/lisp/xlisp/xlisp-plus/mac has version 2.1e3 of Brian Kendig's adaptation of Tom Almy's xlisp-2.1x. ~/pub/lisp/common has version 1.0 of gcl, GNU Common Lisp, a repackaging of KCL/AKCL for Unix systems. Other supporting software for the mac, helpful for statistics teaching and for program development, is in ~/pub/apps/mac. It has drwxr-xr-x 2 553 51 512 May 26 10:50 alpha drwxr-xr-x 2 553 51 512 Jun 5 18:00 emacs drwxr-xr-x 2 553 51 512 Jun 10 11:22 f2c drwxr-xr-x 2 553 51 512 Jun 5 22:51 gcc drwxr-xr-x 2 553 51 512 May 27 21:27 ghostscript drwxr-xr-x 2 553 51 512 Jun 3 15:49 glmstat drwxr-xr-x 2 553 51 512 May 25 09:18 gnuplot lrwxrwxrwx 1 553 51 14 May 18 10:02 hedeker -> ../hedeker/mac drwxr-xr-x 4 553 51 512 May 24 09:58 lisp drwxr-xr-x 2 553 51 512 Jun 10 11:22 p2c drwxr-xr-x 2 553 51 512 May 31 20:49 rlab drwxr-xr-x 2 553 51 512 May 27 10:24 schoolstat drwxr-xr-x 2 553 51 512 Jun 3 15:51 system lrwxrwxrwx 1 553 51 13 May 18 09:59 tex -> ../../tex/mac The general idea is to store mac versions of the most useful unix utilities and programs (emacs, gnuplot, ghostscript, f2c, gcc, pearl). Some of them are not there yet, some of them require MPW. None of them are PowerMac. --- Jan -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sat Jun 11 06:36:11 1994 Resent-Date: Sat, 11 Jun 94 13:36:11 -0700 Resent-From: owner-SL-news Resent-Message-Id: <199406112036.AA22613@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 11 Jun 1994 15:36:05 -0500 Received: from netcom.com (netcom5.netcom.com) by umnstat.stat.umn.edu; Sat, 11 Jun 1994 15:36:02 -0500 Received: from localhost by netcom.com (8.6.8.1/SMI-4.1/Netcom) id NAA11955; Sat, 11 Jun 1994 13:36:12 -0700 Message-Id: <199406112036.NAA11955@netcom.com> To: stat-lisp-news@umnstat Subject: Announcing WINTERP 2.0 - Motif Widget INTERPreter w/Graphics/Animation Summary: high-level object-oriented environment for rapid prototyping GUI apps Keywords: X11/Motif, rapid-prototyping, dynamic/interactive/object-oriented user-interface-language, resolution-independent graphics, path-transition animation, automatic memory management, automatic resource conversion, xtango, XmGraph, XLISP-PLUS Date: Sat, 11 Jun 94 13:36:11 -0700 From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" Please excuse the cross-posting to stat-lisp-news, but I figured you all might be interested in yet another XLISP-PLUS based environment: ------------------------------------------------------------------------------ I just released WINTERP 2.0 for the X Consortium X11r6 "contrib" distribution. Previous releases of WINTERP were distributed on the X11r4 and X11r5 distributions -- 2.0 is a significant update over previously released versions (1.0-1.13). This software is now available for free via anonymous ftp from ftp.x.org:/contrib/devel_tools/winterp-2.01.tar.gz -------------------- WINTERP: An object-oriented rapid prototyping, development and delivery environment for building extensible applications with the OSF/Motif UI Toolkit and Xtango-based graphics/animation. by Niels Mayer WINTERP Version 2.01 June 6, 1994 ------------------------------------------------------------------------------ WINTERP is a Widget INTERPreter, an application development environment enabling rapid prototyping of graphical user-interfaces (GUI) through the interactive programmatic manipulation of user interface objects and their attached actions. The interpreter, based on David Betz, Tom Almy, et al's XLISP-PLUS, provides an interface to the X11 toolkit Intrinsics, the OSF/Motif widget set, primitives for collecting data from UN*X processes, and facilities for interacting with other UN*X processes. WINTERP thus supports rapid prototyping of GUI-based applications by allowing the user to interactively change both the UI appearance and application functionality. These features make WINTERP a good tool for learning and experimenting with the capabilities of the OSF/Motif UI toolkit, allowing UI designers to more easily play "what if" games with different interface styles. WINTERP is also an excellent platform for delivering extensible or customizable applications. By embedding a small, efficient language interpreter with UI primitives within the delivered application, users and system integrators can tailor the static and dynamic layout of the UI, UI-to-application dialogue, and application functionality. WINTERP's use of a real programming language for customization allows WINTERP-based applications to be much more flexible than applications using customization schemes provided by the X resource database, OSF/Motif's UIL (user interface language), and resource-based languages such as WCL. An environment similar to WINTERP's already exists in the Gnu-Emacs text editor -- WINTERP was strongly influenced by Gnu-Emacs' successful design. In Gnu-Emacs, a mini-Lisp interpreter is used to extend the editor to provide text-browser style interfaces to a number of UN*X applications (e.g. e-mail user agents, directory browsers, debuggers, etc). Whereas Emacs-Lisp enables the creation of new applications by tying together C-implemented primitives operating on text-buffer UI objects, WINTERP-Lisp ties together operations on graphical UI objects implemented by the Motif widgets. Both achieve a high degree of customizability that is common for systems implemented in Lisp, while still attaining the speed of execution and (relatively) small size associated with C-implemented applications. Other features: * WINTERP is free software -- available via anonymous ftp from ftp.x.org. * Portable -- runs without porting on many Unix systems. * Interface to GNU Emacs' lisp-mode allows code to be developed and tested without leaving the editor. * Interactive programing also available in the "WINTERP Control Panel", with editing taking place in a Motif text widget controlled by WINTERP. * Built-in RPC mechanism for inter-application communications. * XLISP provides a simple Smalltalk-like object system. * OSF/Motif widgets are real XLISP objects -- widgets can be specialized via subclassing, methods added or altered, etc. * Automatic storage management of all Motif/Xt/X data. * Contains facilities for "direct manipulation" of UI components. The WINTERP 2.0 release includes the following new features: * High-level, object-oriented 2.5D graphics/animation package featuring pixel-independent/resizeable/scalable rendering, path-transition animation, and high-level animation operators. This is based on Stasko&Hayes' Xtango system. * Using Xtango, the ability to easily create new widget classes employing arbitary graphical behavior without the tedium of programming in the Xt instrinsics and Xlib. * Asynchronous subprocess facility enables non-blocking GUI interfaces to existing interactive unix commands and interactive network services. Enables use of multiple asynchronous subprocesses. * XmGraph widget for creating directed acyclic graphs, trees, and direct-manipulation displays. * Table widget allows constraint-based GUI static layout using tbl(1)-style specifications. * Uses XLISP-PLUS version 2.1c -- more functionality, better subset of Common Lisp, e.g. good support for sequence operators. * Support for OSF/Motif 1.2.* * GIF Image Support. * Many new examples, improved example WINTERP applications. * Major code cleanups, bugfixes, etc. You may obtain the latest released version of the WINTERP source, documentation, and examples via anonymous ftp from internet host ftp.x.org in directory /contrib/devel_tools, file winterp-2.xx.tar.gz, where 'xx' represents the revision number. Directory /contrib/devel_tools/winterp contains slides, papers, further documentation, contributed code, etc. An automated reply indicating the locations and status of the latest WINTERP source may be obtained by sending an e-mail message to winterp-source@netcom.com. winterp@netcom.com is the mailing list for WINTERP-related announcements and discussions. To get added/removed from the list, send mail to winterp-request@netcom.com. Please do not send junk mail or subscribe/ unsubscribe messages to the mailing list winterp@netcom.com. For discussions about XLISP, see the USENET newsgroup comp.lang.lisp.x. ------------------------------------------------------------------------------ AUTHOR: Niels P. Mayer Enterprise Integration Technologies 800 El Camino Real, Fourth Floor Menlo Park, CA 94025 mayer@eit.com or mayer@netcom.com URL: http://www.eit.com/people/mayer.html ------------------------------------------------------------------------------ DEPENDENCIES and PLATFORMS: WINTERP is portable software, and should run on any machine that supports Motif versions 1.0, 1.1, or 1.2 and Berkeley sockets. WINTERP will not build directly from the X11r6 distribution. YOU MUST HAVE MOTIF INSTALLED ON YOUR SYSTEM. WINTERP 2.0 has been tested on the following platforms: * Sun SunOS 4.1.3 and OSF Motif 1.2.3 * Sun Solaris 2.3 with Motif/X11/cc provided by Sun's 2.3 SDK * HPUX 9.0 on HP9000s300 HP9000s400, HP9000s700 * HPUX 8.0. on HP9000s300 and HP9000s800 * SGI Irix 5.1 and 5.2 w/ Motif/X11/cc from Irix IDO. * DEC Ultrix 4.3 and its built-in Motif 1.1 * DEC OSF1, v2.0 and its built-in Motif 1.2 * NeXT NeXT-Step 3.0 with Pencom Co-Xist X/Motif The WINTERP distribution contains Makefiles specific to the above machines and OSs, and also provides Imakefiles for compiling WINTERP on other systems. ------------------------------------------------------------------------------- OBTAINING WINTERP: Here's how to ftp WINTERP 2.01: (your input denoted by ^^^^^^^^^^) jhvh-1-16-~> cd /tmp jhvh-1-17-/tmp> ftp ftp.x.org ^^^^^^^^^^^^^ [...] Name (jhvh-1.eit.com:mayer): anonymous ^^^^^^^^^ Password (jhvh-1.eit.com:anonymous): ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 331 Guest login ok, send ident as password. 230 Guest login ok, access restrictions apply. ftp> cd contrib/devel_tools ^^^^^^^^^^^^^^^^^^^^^^ 200 CWD command okay. ftp> binary ^^^^^^ 200 Type set to I. ftp> get winterp-2.01.tar.gz ^^^^^^^^^^^^^^^^^^^^^^^ 200 PORT command okay. 150 Opening data connection for winterp-2.01.tar.gz (192.100.58.37,3988) (2303809 bytes). 226 Transfer complete. 2303809 bytes received in 690.63 seconds (1.96 Kbytes/sec) ftp> quit ^^^^ 221 Goodbye. jhvh-1-18-/tmp> su ## become superuser to install in /usr/local/winterp ^^ jhvh-1-ROOT-1-/tmp> cd /usr/local/ ^^^^^^^^^^^^^^ jhvh-1-ROOT-2-/usr/local> gunzip -c /tmp/winterp-2.01.tar.gz | tar xvf - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [... lengthy list of files output by tar ...] jhvh-1-ROOT-3-/usr/local/> rm /tmp/winterp-2.01.tar.gz ^^^^^^^^^^^^^^^^^^^^^^^^^^^ << If you don't have GNU zip (gzip(1) gunzip(1), retrieve the >> << winterp-2.01.tar.Z instead of the winterp-2.01.tar.gz file and use "zcat">> << in place of "gunzip -c" above.... >> ------------------------------------------------------------------------------ COMPILING and RUNNING: * For compilation tips, see winterp/doc/winterp.doc sections: <> or <>. * For configuration and running hints, see winterp/doc/winterp.doc sections: <>, <<~/.winterp -- WINTERP session startup file:>>, <<~/.winterpapp -- WINTERP development session startup file.>>, and finally, <> * For known bugs, see winterp/doc/BUGS From owner-SL-news Sat Jun 11 08:49:19 1994 Resent-Date: Sat, 11 Jun 1994 15:49:19 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406112249.AA23046@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 11 Jun 1994 17:49:26 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 11 Jun 1994 17:49:23 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA21996; Sat, 11 Jun 94 15:49:20 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA17908; Sat, 11 Jun 94 15:49:20 PDT From: Jan Deleeuw Message-Id: <9406112249.AA17908@galton.math.ucla.edu> Subject: winterp To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 11 Jun 1994 15:49:19 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 280 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Winterp, the widget interpreter in xlisp, is upgraded on laplace to version 2.01. --- Jan -- Jan de Leeuw; UCLA Statistics Program US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sat Jun 11 09:44:14 1994 Resent-Date: Sat, 11 Jun 1994 16:44:14 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406112344.AA23249@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 11 Jun 1994 18:44:24 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 11 Jun 1994 18:44:20 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA22375; Sat, 11 Jun 94 16:44:18 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA17990; Sat, 11 Jun 94 16:44:15 PDT From: Jan Deleeuw Message-Id: <9406112344.AA17990@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 11 Jun 1994 16:44:14 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 3247 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw #| This is for former APL addicts such as myself. Although Xlisp-Stat has some of the basic multidimensional array operators, is is not as complete as APL (and certainly not as complete as APL-2 or J). Here are the basic slicing, subscripting, compression, and expansion operators for Xlisp-Stat. They make it much easier to write programs for multiway scaling, for analysis of multidimensional contingency tables, and so on. I guess it brings us closer to MatLab and the new S. |# (defun array-marginal (x y &optional (f (function +))) "Args: array list Computes the marginals of dimensions LIST from the array ARRAY. Thus if x is a 10 x 3 x 7 array, then (array-marginal x '(0 2)) returns a a 10 x 7 matrix, and (array-marginal x '(1)) returns a vector with 3 elements." (let* ( (nx (array-total-size x)) (mx (array-dimensions x)) (mz (select mx y)) (un (if (eq f #'*) 1 0)) (zz (make-array mz :initial-element un)) ) (dotimes (i nx zz) (let* ( (s (row-major-aref x i)) (k (array-subscript x i)) (l (select k y)) (r (apply #'aref (adjoin zz l))) (m (apply #'array-row-major-index (adjoin zz l))) ) (setf (row-major-aref zz m) (funcall f r s)))) )) (defun array-outer-product (x y &optional (f (function *))) "Args: array array If X is an array of array-dimension nx and Y is an array of array-dimension ny, then we return an array of dimension nx x ny, with elements (f x y)." (let* ( (dx (array-dimensions x)) (dy (array-dimensions y)) (nx (array-total-size x)) (ny (array-total-size y)) (zz (make-array (concatenate 'list dx dy))) ) (dotimes (i nx zz) (let ( (xi (row-major-aref x i)) (ii (array-subscript x i)) ) (dotimes (j ny) (let* ( (yj (row-major-aref y j)) (jj (array-subscript y j)) (kk (concatenate 'list ii jj)) (mm (apply #'array-row-major-index (adjoin zz kk))) ) (setf (row-major-aref zz mm) (funcall f xi yj)) )))) )) (defun array-slice (x y) "Args: array list Elements of Y are either integers or nil. List is of order array-rank of X. The array gets sliced along the non-nil elements of Y. Thus if X is 10 x 3 x 7, then (array-slice x '(5 nil 2)) produces a vector with three elements." (let* ( (mx (array-dimensions x)) (my (if-else y (mapcar 'list y) (mapcar #'iseq mx))) (zy (apply #'select (adjoin x my))) (dy (remove-if #'(lambda (x) (= x 1)) (array-dimensions zy))) ) (make-array dy :displaced-to zy) )) (defun array-subscript (x k) "Args: array integer Returns the subscript of the element of ARAAY having row-major-index INTEGER. Inverse of array-row-major-index." (let* ( (mx (array-dimensions x)) (dx (array-rank x)) (ss (make-list dx)) ) (dotimes (i dx ss) (let* ( (ex (1- (- dx i))) (ux (elt mx ex)) (kx (mod k ux)) (rx (/ (- k kx) ux)) ) (setf (elt ss ex) kx) (setf k rx) )) )) From owner-SL-news Sat Jun 11 16:47:57 1994 Resent-Date: Sat, 11 Jun 1994 23:47:57 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406120648.AA24424@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 12 Jun 1994 01:48:06 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sun, 12 Jun 1994 01:48:01 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA23590; Sat, 11 Jun 94 23:47:58 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA18168; Sat, 11 Jun 94 23:47:58 PDT From: Jan Deleeuw Message-Id: <9406120647.AA18168@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat (Xlisp List) Date: Sat, 11 Jun 1994 23:47:57 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 7390 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw #| Product of a lazy Saturday. Version 0.1 -- June 11, 1994. I really should have been doing something useful instead. |# #| This is for former APL addicts such as myself. Although Xlisp-Stat has some of the basic multidimensional array operators, is is not as complete as APL (and certainly not as complete as APL-2 or J). Here are the basic slicing, subscripting, compression, and expansion operators for Xlisp-Stat. They make it much easier to write programs for multiway scaling, for analysis of multidimensional contingency tables, and so on. I guess it brings us closer to MatLab, Mathematica, and the new S. With these operators (and the existing ones, such as array-permute) iteratiuve proportional fitting for general log-linear models is a breeze. |# #| (Much) later in the day. Added pretty-printer for arrays. Made apl-outer-product work for an arbitrary number of arrays, and for arbitrary vector-reducing functions. This generalizes APL's outer-product o.f, with f binary. Defined generalized inner product (i.e. APL's inner product f.g), with g an arbitrary binary operator and f an vector-reducing function. Rewrote apl-reduce to be more efficient, and use an arbitrary vector-reducing function. This makes it equivalent to APL's reduction f/. |# #| The four basic APL operators (see, for example, Garry Helzel, An Encyclopedia of APL, 2e edition, 1989, I-APL, 6611 Linville Drive, Weed., CA) are inner-product, outer-product, reduce, and scan. They can be used to produce new binary and unary functions from existing ones. We give Xlisp-Stat implementations below, together with some helpers. |# (defun apl-reduction (x l &optional (f #'sum)) "Args: array list Computes reductions for dimensions l from the array x along remaining dimensions, using general vector-reducing functions. Thus if x is a 10 x 3 x 7 array, then (array-marginal x '(0 2)) returns a a 10 x 7 matrix, and (array-marginal x '(1)) returns a vector with 3 elements. Same for (array-marginal x '(1) #'median)" (let* ( (rx (array-rank x)) (mx (array-dimensions x)) (mz (select mx y)) (zz (make-array mz)) (nz (array-total-size zz)) ) (dotimes (i nz zz) (let* ( (nn (repeat nil rx)) (kk (array-subscript zz i)) ) (setf (select nn y) kk) (setf (row-major-aref zz i) (funcall f (array-slice x nn))) )) )) (defun apl-scan (x k &optional (f #'+)) "Args: array index Computes cumulative scans of dimension k from array x along remaining dimensions. Thus the result has the same dimensions as x, but successive slices are summed." (let* ( (rx (array-rank x)) (mx (array-dimensions x)) (mk (elt mx k)) (nx (array-total-size x)) (zz (make-array mx)) ) (dotimes (i nx zz) (let* ( (si (array-subscript zz i)) (mi (mapcar #'list si)) (ti (elt si k)) ) (setf (elt si k) nil) (setf (elt mi k) (iseq mk)) (setf (row-major-aref zz i) (elt (accumulate f (array-slice x si)) ti)) )) )) (defun apl-outer-product (x &optional (f #'*)) "Args: list-of-arrays &optional function If X_1,...,X_m are arrays of array-dimension nx_1,...,nx_m, then we return an array of dimension nx_i x ... x nx_m, with elements (f x_1 ... x_m)." (let* ( (d (mapcar #'array-dimensions x)) (r (mapcar #'array-rank x)) (s (map-elements #'+ (mapcar #'iseq r) (select (cumsum (adjoin 0 r)) (iseq (length r))))) (z (make-array (apply #'concatenate (adjoin 'list d)))) (n (array-total-size z)) ) (dotimes (i n z) (let* ( (si (array-subscript z i)) (ti (mapcar #'(lambda (x) (select si x)) s)) (ui (map-elements #'(lambda (a b) (apply #'select (adjoin a b))) x ti)) ) (setf (row-major-aref z i) (apply f ui)) )))) (defun apl-inner-product (x y &optional (f #'*) (g #'+)) "Args: array array &optional binary-function reducing-function The arrays have to be conforming, i.e. the last dimension of the first one must be equal to the first dimension of the second one. Then an n_1 x ... x n_a x t array and a t x m_1 x ... x m_b array produce a n_1 x ... x n_a x m_1 x ... x m_b array, reduced along the common dimension by (g (f x y))." (let* ( (mx (array-dimensions x)) (my (array-dimensions y)) (rx (array-rank x)) (ry (array-rank y)) (z1 (reverse (rest (reverse mx)))) (z2 (rest my)) (mz (combine z1 z2)) (zz (make-array mz)) (nz (array-total-size zz)) ) (if (/= (first (reverse mx)) (first my)) (error "Non-conforming arrays")) (dotimes (i nz zz) (let* ( (si (array-subscript zz i)) (xi (combine (select si (iseq (1- rx))) nil)) (yi (combine nil (select si (+ (1- rx) (iseq (1- ry)))))) (xx (coerce (array-slice x xi) 'list)) (yy (coerce (array-slice y yi) 'list)) ) (setf (row-major-aref zz i) (apply g (funcall f xx yy))) )) )) #| Some auxilary functions |# (defun array-slice (x y) "Args: array list Elements of Y are either integers or nil. List is of order array-rank of X. The array gets sliced along the non-nil elements of Y. Thus if X is 10 x 3 x 7, then (array-slice x '(5 nil 2)) produces a vector with three elements." (let* ( (mx (array-dimensions x)) (my (if-else y (mapcar 'list y) (mapcar #'iseq mx))) (zy (apply #'select (adjoin x my))) (dy (remove-if #'(lambda (x) (= x 1)) (array-dimensions zy))) ) (make-array dy :displaced-to zy) )) (defun array-inflate (x) "Args: array Takes any array, check if some of the dimensions have only one element, then reduce to an array of lower dimension." (let* ( (mx (array-dimensions x)) (nx (remove-if #'(lambda (x) (= x 1)) mx)) ) (make-array nx :displaced-to x) )) (defun array-subscript (x k) "Args: array integer Returns the subscript of the element of X having row-major-index K. Inverse of array-row-major-index." (let* ( (mx (array-dimensions x)) (dx (array-rank x)) (ss (make-list dx)) ) (dotimes (i dx ss) (let* ( (ex (1- (- dx i))) (ux (elt mx ex)) (kx (mod k ux)) (rx (/ (- k kx) ux)) ) (setf (elt ss ex) kx) (setf k rx) )) )) #| Last but not least: an array pretty printer |# (defun array-print (x i j) "Args: array Sort of pretty-prints any array X. Makes slices along dimensions I and J. If X is 10 x 3 x 7, then (array-print x 0 1) prints 7 matrices of dimensions 10 x 3, while (array-print x 2 0) prints 3 matrices of dimensions 7 x 10." (let* ( (mx (array-dimensions x)) (nx (array-total-size x)) ) (dotimes (k nx) (let* ( (sk (array-subscript x k)) (si (elt sk i)) (sj (elt sk j)) ) (if (and (= 0 si) (= 0 sj)) (progn (setf (elt sk i) "row") (setf (elt sk j) "column") (print (coerce sk 'vector)) (terpri) (setf (elt sk i) nil) (setf (elt sk j) nil) (if (< i j) (print-matrix (array-slice x sk)) (print-matrix (transpose (array-slice x sk)))) )))) )) From owner-SL-news Sun Jun 12 16:03:59 1994 Resent-Date: Sun, 12 Jun 1994 23:03:59 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406130604.AA28256@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 13 Jun 1994 01:04:24 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Mon, 13 Jun 1994 01:04:15 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA03501; Sun, 12 Jun 94 23:04:10 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA25678; Sun, 12 Jun 94 23:03:59 PDT From: Jan Deleeuw Message-Id: <9406130603.AA25678@galton.math.ucla.edu> Subject: array, loglin To: vartania@math.ucla.edu (Sona Vartanian), ibdpmhs@mvs.oac.ucla.edu (Mike Seltzer), abraverm@math.ucla.edu (Amy Braverman), biestera@math.ucla.edu (Amy Biesterfeld), wangd@math.ucla.edu (Deborah Wang), jhilden@math.ucla.edu (James Hilden-Minton), mcfarlan@soc.sscnet.ucla.edu (David McFarland), berk@playfair.sscnet.ucla.edu (Dick Berk), mason@arcana.sscnet.ucla.edu (Bill Mason), gliu@math.ucla.edu (GuangHan Liu), stockdal@math.ucla.edu (Susan Stockdale), kcli@math.ucla.edu (Ker-Chau Li), lchen@math.ucla.edu (Li-Sue Chen), jbond@math.ucla.edu (Jason Bond), cchen@stat.sinica.edu.tw (Chung-Ho Chen), iamsjdd@mvs.oac.ucla.edu (Jim de Nardo), dbetz@math.ucla.edu (David Betz), novakj@math.ucla.edu (John Novak), stat-lisp-news@umnstat (Xlisp List) Date: Sun, 12 Jun 1994 23:03:59 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1145 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw The new and final version of array.lsp with the four basic apl-operators is on laplace in ~/pub/lisp/xlisp/xlisp-stat/homegrown/tables There is also a loglin.lsp, which requires the array operators. It now has a two-dimensional version of quasi-symmetry, a very imcomplete version of the RC-model, and a fairly satisfactory (although barebones) version of no-second-order-interaction for multivariate tables. I will update RC and QS to multivariate tables as well. Ultimately, of course, this belongs in an object-oriented framework similar to the glm package (and perhaps even similar to the CoCo program). One of the major problems with using Xlisp-Stat in teaching is the lack of a nice help facility. I have started the contruction of a hierarchical help widget (inspired by GNU info), but I am uncertain about the interface. Suggestions welcome. My current junk is in ~/pub/lisp/xlisp/xlisp-stat/homegrown/help --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sun Jun 12 17:32:07 1994 Resent-Date: Mon, 13 Jun 94 00:32:07 -0700 Resent-From: owner-SL-news Resent-Message-Id: <199406130732.AA28544@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 13 Jun 1994 02:32:51 -0500 Received: from netcom.com (netcom5.netcom.com) by umnstat.stat.umn.edu; Mon, 13 Jun 1994 02:32:46 -0500 Received: from localhost by netcom.com (8.6.8.1/SMI-4.1/Netcom) id AAA03710; Mon, 13 Jun 1994 00:32:22 -0700 Message-Id: <199406130732.AAA03710@netcom.com> To: Jan Deleeuw Cc: vartania@math.ucla.edu (Sona Vartanian), ibdpmhs@mvs.oac.ucla.edu (Mike Seltzer), abraverm@math.ucla.edu (Amy Braverman), biestera@math.ucla.edu (Amy Biesterfeld), wangd@math.ucla.edu (Deborah Wang), jhilden@math.ucla.edu (James Hilden-Minton), mcfarlan@soc.sscnet.ucla.edu (David McFarland), berk@playfair.sscnet.ucla.edu (Dick Berk), mason@arcana.sscnet.ucla.edu (Bill Mason), gliu@math.ucla.edu (GuangHan Liu), stockdal@math.ucla.edu (Susan Stockdale), kcli@math.ucla.edu (Ker-Chau Li), lchen@math.ucla.edu (Li-Sue Chen), jbond@math.ucla.edu (Jason Bond), cchen@stat.sinica.edu.tw (Chung-Ho Chen), iamsjdd@mvs.oac.ucla.edu (Jim de Nardo), dbetz@math.ucla.edu (David Betz), novakj@math.ucla.edu (John Novak), stat-lisp-news@umnstat (Xlisp List) Subject: Help Facility (was Re: array, loglin ) In-Reply-To: Your message of "Sun, 12 Jun 94 23:03:59 PDT." <9406130603.AA25678@galton.math.ucla.edu> Date: Mon, 13 Jun 94 00:32:07 -0700 From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" From: Jan Deleeuw > One of the major problems with using Xlisp-Stat in teaching is > the lack of a nice help facility. I have started the contruction > of a hierarchical help widget (inspired by GNU info), but I am > uncertain about the interface. Suggestions welcome. I would suggest writing your documentation in HTML and using a World Wide Web browser such as NCSA mosaic (free, available w/ static-linked motif, or build your own and use dynamic motif libs). Basically, one may use mosaic to browse local HTML files, giving you a very capable hierarchical or hypertextual help widget -- it just happens to live in a different process. We (EIT) are prototyping/developing a multimedia authoring environment for the world wide web using WINTERP 2.0. We have a function that allows us to preview the document we're editing in Mosaic. This is done via a very simple interface using WINTERP's subprocess package. Once we've created a "mosaic subprocess" we can send arbitrary requests to that process to display a page of hypermedia. The mosaic-side interface for this is a horrible hack, but it works! (Blame the NCSA for that one, folks...)... ; -*-Lisp-*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; File: mosaic.lsp ; RCS: $Header: $ ; Description: Mosaic_Subprocess_Class -- interface to xmosaic as subprocess ; allowing WINTERP to force loads of of URLs into xmosaic. ; Example use: ; (setq mosaic-process (send Mosaic_Subprocess_Class :new)) ; (send mosaic-process :load-url ; "file:/users/mayer/EIT/MECE/html/lockheed2/entry10.html") ; (send mosaic-process :load-url ; "file:/users/mayer/EIT/MECE/html/lockheed2/.test.html") ; (send mosaic-process :show) ; (send mosaic-process :kill) ; (send mosaic-process :show) ; Author: Niels P. Mayer ; Created: Mon Jan 24 00:54:33 1994 ; Modified: Sat May 14 17:57:05 1994 (Niels Mayer) npm@indeed ; Language: Lisp ; Package: N/A ; Status: Experimental (Do Not Distribute) ; ; (C) Copyright 1994, Enterprise Integration Technologies Corporation. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require "xlisp-2.1d/common") ;define WITH-OPEN-FILE macro (defconstant *mosaic-proc* "mosaic") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Class definition ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq Mosaic_Subprocess_Class (send Class :new '( ;instance variables mosaic_pid mosaic_pty mosaic_icb mosaic_ecb error_w error_str ) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Initialization method. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (send Mosaic_Subprocess_Class :answer :ISNEW '() '( (setq error_w nil) (setq error_str nil) (setq mosaic_pty (exp_spawn *mosaic-proc* *mosaic-proc* "/dev/null" ;don't load any file by default )) (setq mosaic_pid (exp_get_pid) ) ;; pop up a dialog box displaying any error output from mosaic (setq mosaic_icb (xt_add_input mosaic_pty :read_line_to_string '( ;fire callback once per line of output ;; (format T "mosaic :read_line_to_string icb called \n") (if (null error_w) (progn (setq error_str FDINPUTCB_STRING) (setq error_w (send XM_MESSAGE_BOX_WIDGET_CLASS :new :unmanaged :error_dialog "mosaic_error" *TOPLEVEL_WIDGET* :XMN_MESSAGE_STRING FDINPUTCB_STRING :XMN_DIALOG_TITLE "Mosaic output: (stderr/stdout)" :XMN_AUTO_UNMANAGE nil )) (send (send error_w :get_child :DIALOG_HELP_BUTTON) :unmanage) (send (send error_w :get_child :DIALOG_CANCEL_BUTTON) :unmanage) (send error_w :add_callback :XMN_OK_CALLBACK '() '( (send error_w :destroy) (setq error_w nil) (setq error_str nil) )) (send error_w :manage) ) (progn (send error_w :manage) (setq error_str (concatenate 'string error_str "\n" FDINPUTCB_STRING)) (send error_w :set_values :XMN_MESSAGE_STRING error_str) )) ))) ;; When 'mosaic' is finished, an exception condition is raised by this callback. ;; At that point, we can shut down the pty... (setq mosaic_ecb (xt_add_input mosaic_pty :except '( ;; (format T "mosaic :except icb called \n") (xt_remove_input mosaic_icb) (xt_remove_input mosaic_ecb) (close mosaic_pty) (exp_wait) (setq mosaic_pid NIL mosaic_pty NIL mosaic_icb NIL mosaic_ecb NIL ) ))) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (send Mosaic_Subprocess_Class :answer :LOAD-URL '(url-name) '( (if mosaic_pid (progn (with-open-file (fp (format nil "/tmp/Mosaic.~A" mosaic_pid) :direction :output :if-exists :supersede) (format fp "goto\n") (format fp "~A" url-name) ) (exp_kill "USR1" mosaic_pid) ) (error "Mosaic_Subprocess_Class/:LOAD-URL -- mosaic process doesn't exist") ) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (send Mosaic_Subprocess_Class :answer :KILL '() '( (if mosaic_pid (exp_kill "TERM" mosaic_pid) (error "Mosaic_Subprocess_Class/:KILL -- mosaic process doesn't exist") ) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (send Mosaic_Subprocess_Class :answer :EXISTS_P '() '( (if mosaic_pid T NIL ) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (provide (concatenate 'string *winweb-base-dir* "mosaic")) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= == Niels Mayer -- netcom!mayer -- mayer@netcom.com == =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From mwitten@chpc.utexas.edu Mon Jun 13 18:11:44 1994 Received: from morpheus (morpheus.chpc.utexas.edu) by umnstat.stat.umn.edu; Mon, 13 Jun 1994 12:11:50 -0500 Received: by morpheus (5.0/SMI-4.1) id AA17406; Mon, 13 Jun 1994 12:11:44 +0600 Date: Mon, 13 Jun 1994 12:11:44 +0600 From: mwitten@chpc.utexas.edu Message-Id: <9406131711.AA17406@morpheus> To: SL-news-list@umnstat Subject: URGENT QUESTION Content-Length: 1208 Question: I am interested in any help from anyone out there on the following subject. We have become an information gathering society. One of the areas of interest is the gathering of large databases of information. I was wondering if anyone out there might know of databases of biomedical information and how to access them. For example, GenBank, census data, databases of medical images, databases of population statistics, environmental toxicity data, dental data, etc. If you know of such data, would you please send me the following information: Name of Database: Is the database public or private: How to contact database or database owner. I will summarize the responses for the list. This is a rather urgent request so, rapid answers would be appreciated. Do not worry about duplicating others. Feel free to cross post this note to any other lists that might be appropriate. Thanks, Matthew Witten, Ph.D. Head, Department of Applications Research and Development Associate Director UT System Center For High Performance Computing Balcones Research Center, 1.154 CMS 10100 Burnet Road, Austin, TX 78758-4497 USA Phone: (512) 471-2472 FAX: (512) 471-2445 E-MAIL MWITTEN@CHPC.UTEXAS.EDU From owner-SL-news Tue Jun 21 04:29:18 1994 Resent-Date: Tue, 21 Jun 1994 11:29:18 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199406211829.AA08435@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 21 Jun 1994 13:29:32 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Tue, 21 Jun 1994 13:29:28 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.10) id AA03247; Tue, 21 Jun 94 11:29:20 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA04979; Tue, 21 Jun 94 11:29:18 PDT From: Jan Deleeuw Message-Id: <9406211829.AA04979@galton.math.ucla.edu> Subject: plea To: stat-lisp-news@umnstat (Xlisp List) Date: Tue, 21 Jun 1994 11:29:18 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1614 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw If we want to support Xlisp-Stat on different platforms (and one of the great things about it is exactly that it does exist for X11, Mac. MSW) the it is a major nuisance that the three main versions are not equivalent. There is a clear order Mac > X11 > MSW, and while I think that if you have an order, this is the best one, it still is very undesirable. No matter how much we detest MSW, for instance, it is self-defeating and undemocratic not to have a fully functional MSW version. Of course it is a hassle to maintain three separate version, and consequently I have always had, in the back of my mind, the possibility of using something like XVT for the Xlisp front end. XVT makes it possible to write interfaces which are source-code identical on all supported platforms. This will require quite a lot of programming, but I guess I could find the resources to do it. It also requires XVT, which costs a lot of money for each implementation, it has non-disclosures, no source code, and so on. I recently became aware of the ncbi toolkit, including the corelib and vibrant. This is a protable implementation of C memory management and string handling etc, as well as a portable (Mac, MSW, X11/Motif) interface building toolkit. It comes with all the source etc, and it's free ! It can be ftp-ed from ncbi.nlm.nih.gov, and also from laplace.stat.ucla.edu in ~/pub/code/ncbi. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From luke Thu Jun 23 00:30:30 1994 Resent-Date: Thu, 23 Jun 1994 05:30:30 -0500 Resent-Message-Id: <199406231030.AA11446@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 23 Jun 1994 05:30:32 -0500 Date: Thu, 23 Jun 1994 05:30:30 -0500 From: "Luke Tierney" Message-Id: <199406231030.AA11439@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 23 Jun 1994 05:30:30 -0500 To: stat-lisp-news@umnstat Subject: New beta release of xlispstat Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" XLISP-STAT Release 3.37 for UNIX systems is now available for anonymous ftp from umnstat.stat.umn.edu (128.101.51.1) in pub/xlispstat/xlispstat-3-37.tar.gz This a tar archive compressed with the GNU gzip compression utility. Once you have retrieved the file you can extract the sources with gzip -cd | tar xvf - This is a beta realease -- some things are still in flux, others have not been extensively tested. Please let me know if you run into any problems. There are a large number of minor changes, mostly in the basic XLISP system. These chages move the basic XLISP closer to Common Lisp, and include - Common Lisp package system for name space management - multiple return values - other improvements from XLISP-PLUS 2.1g - a byte code compiler - saving workspaces (useful for simplifying startup, not yet for saving data -- workspaces from the current version will not yet work with future versions) - support for dynamic loading in more systems (based on shared libraries). Wherever possible, changes have been made in such a way as to maintain backward compatiblility, but a few incompatibilities were unavoidable. The file doc/changes.tex gives a rough overview of the changes. I have changed the release numbering system to have a major number and a minor number. The major release number is now 3. The minor number is 37; it continues on from the Alpha numberings. Thus the 3 Alpha 26 release that was made available recently corresponds to 3.26 in the new scheme. At least one of these numbers will change whenever a new version is made available publically; this should help in identifying problems. Please read the INSTALL file before installing this version. There is now a configure script that attempts to set up the Makefile appropriately. The configuration script has been tested on the following systems: Machine Operating System ======= ================ CRAY Y-MP Cray OS 7.C.3 EPIX UMIPS 1.4.3 DECstation 3100 ULTRIX 4.2 DEC Alpha OSF1 V1.3 HP 9000/715 HP-UX A.09.01 IBM RS6000 AIX 2.3 (?) SGI IndyPC IRIX 5.2 Sun Sparc SunOs 4.1 Sun Sparc SunOA 5.3 I believe the configure script will also work for Linux but can't test that myself. The script may work on other systems or may need modifications. If you have trouble getting it to run on another system, or get it to run with some changes, please let me know so I can make appropriate modifications to the configure script. Luke Tierney School of Statistics University of Minnesota Minneapolis, MN 55455 luke@stat.umn.edu From owner-SL-news Sun Jul 10 16:51:35 1994 Resent-Date: Sun, 10 Jul 1994 23:51:35 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199407110651.AA08521@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 11 Jul 1994 01:51:43 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Mon, 11 Jul 1994 01:51:40 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA11833; Sun, 10 Jul 94 23:51:37 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA08851; Sun, 10 Jul 94 23:51:35 PDT From: Jan Deleeuw Message-Id: <9407110651.AA08851@galton.math.ucla.edu> Subject: address To: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Sun, 10 Jul 1994 23:51:35 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 340 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw In case you did not notice, the files can be ftp-ed from ftp.stat.ucla.edu, no longer from laplace.stat.ucla.edu. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sun Jul 10 16:49:33 1994 Resent-Date: Sun, 10 Jul 1994 23:49:33 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199407110650.AA08503@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 11 Jul 1994 01:50:01 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Mon, 11 Jul 1994 01:49:57 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA11727; Sun, 10 Jul 94 23:49:39 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA08835; Sun, 10 Jul 94 23:49:34 PDT From: Jan Deleeuw Message-Id: <9407110649.AA08835@galton.math.ucla.edu> Subject: Mac 3.37 binary To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat (Xlisp List) Date: Sun, 10 Jul 1994 23:49:33 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 763 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw There is a binary of XLISP-STAT version 3.37 beta in ~pub/lisp/xlisp/xlisp-stat/mac/3b37. It was compiled with MPW 3.2, since MPW 3.3.x has problems with #define's that are nested to deeply. Also, Think C 7.0 uses the new Universal Headers, which gives some problems with ProcPtrs. This one seems fine. The binary is xlisp-stat.hqx, which must be un-binhexed, and I have added the foo.fsl files you need for startup (i.e. the compiled ones). I'll probably add a 68000 version in the next few hours, for those of us with PowerMac's 8-) --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From bjm Mon Jul 11 05:01:45 1994 Resent-Date: Mon, 11 Jul 1994 10:01:45 -0500 Resent-Message-Id: <199407111501.AA01897@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 11 Jul 1994 10:01:48 -0500 Date: Mon, 11 Jul 1994 10:01:45 -0500 From: "Bret J. Musser" Message-Id: <199407111501.AA01890@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 11 Jul 1994 10:01:45 -0500 To: stat-lisp-news@umnstat Subject: Dynamic loading on a Sun Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Bret J. Musser" I have a few questions about dynamic loading on a Sun workstation. If you have experience with d.l. for xls 2.1R2 or 3-37 please send me email; I'm trying to get a program linked for an associate and my lack of familiarity with Suns is a hindrance. If you reply, you will get my vacation notice, but I will reply (probably tomorrow). Thanks, Bret Musser bjm@stat.umn.edu From owner-SL-news Mon Jul 11 01:56:41 1994 Resent-Date: Mon, 11 Jul 1994 08:56:41 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199407111601.AA10171@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 11 Jul 1994 11:01:11 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Mon, 11 Jul 1994 10:58:03 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA20568; Mon, 11 Jul 94 08:56:44 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA12781; Mon, 11 Jul 94 08:56:42 PDT From: Jan Deleeuw Message-Id: <9407111556.AA12781@galton.math.ucla.edu> Subject: sorry about that To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat (Xlisp List) Date: Mon, 11 Jul 1994 08:56:41 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 326 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Permissions on ~pub/lisp/xlisp/xlisp-stat/mac/r3b37 on ftp.stat.ucla.edu were off. They are OK now. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Wed Jul 13 08:45:45 1994 Resent-Date: Wed, 13 Jul 1994 12:45:45 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199407131645.AA21793@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 13 Jul 1994 11:45:01 -0500 Received: from euler.bd.psu.edu by umnstat.stat.umn.edu; Wed, 13 Jul 1994 11:44:38 -0500 Received: by euler.bd.psu.edu via SMTP (930416.SGI/930416.SGI.AUTO) for stat-lisp-news@umnstat.stat.umn.edu id AA07754; Wed, 13 Jul 94 12:45:58 -0400 Message-Id: <9407131645.AA07754@euler.bd.psu.edu> To: stat-lisp-news@umnstat Subject: Lisp-Stat Projects List Date: Wed, 13 Jul 1994 12:45:45 -0400 From: Balasubramanian Narasimhan Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Balasubramanian Narasimhan Many of us would like to know of completed, or ongoing, or contemplated projects using Lisp-Stat. I am going to maintain a list of such projects and update the list periodically. Please use the example below as a template and mail it back to me. Feel free to use more headings if you need them. Also, if you wish to maintain your own Web page, send me a brief description along with a URL and I will add a link to your page. I have deliberately not used any fancy HTML stuff. IMPORTANT NOTE: Please preserve the structure; it saves me time. Also, don't forget the

at the end of each para as well as the delimeters shown in the example. I will put your stuff up AS I RECEIVE IT, WITH NO CHANGES. I will announce a permanent Web page for this later. Right now, http://euler.bd.psu.edu/lispstat/lispstat.html may be used. Thanks. ********************* Cut Here for a template **************** KDE: Lisp-Stat objects for interactive kernel estimation

Description

KDE objects are able to compute and display kernel density estimates from a univariate data set. Using Lisp-Stat graphical interface tools, a non-lisper user can control some estimation aspects as the bandwidth and the kernel function, and also superimpose in the window other graphic information, histograms, ... Some automatic bandwidth selectors are provided, and full documentiation is available.

Several extensions are on the way: regression kernel estimation, hazard rate function kernel estimates, multivariate versions...

Project Investigators

Frederic Udina, UPF.

Contact person

Frederic Udina, Universitat Pompeu Fabra, Barcelona.

udina@upf.es

********* End of Template ************* ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu From luke Wed Jul 20 06:23:27 1994 Resent-Date: Wed, 20 Jul 1994 11:23:27 -0500 Resent-Message-Id: <199407201623.AA04854@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:23:30 -0500 Date: Wed, 20 Jul 1994 11:23:27 -0500 From: "Luke Tierney" Message-Id: <199407201623.AA04846@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:23:27 -0500 To: stat-lisp-news@umnstat Subject: test Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" From luke Wed Jul 20 06:25:24 1994 Resent-Date: Wed, 20 Jul 1994 11:25:24 -0500 Resent-Message-Id: <199407201625.AA04899@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:25:26 -0500 Date: Wed, 20 Jul 1994 11:25:24 -0500 From: "Luke Tierney" Message-Id: <199407201625.AA04892@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:25:24 -0500 To: stat-lisp-news@umnstat Subject: a test Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" From luke Wed Jul 20 06:47:19 1994 Resent-Date: Wed, 20 Jul 1994 11:47:19 -0500 Resent-Message-Id: <199407201647.AA05046@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:47:21 -0500 Date: Wed, 20 Jul 1994 11:47:19 -0500 From: "Luke Tierney" Message-Id: <199407201647.AA05039@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 11:47:19 -0500 To: stat-lisp-news@umnstat Subject: a test -- please ignore Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" There may be a glitch in the handling of this mailing list. This is a test message; I may need to send a few more to iron it out. I will try to keep testing to a minimum -- I apologize for the inconvenience. luke From owner-SL-news Wed Jul 20 10:55:59 1994 Resent-Date: Wed, 20 Jul 1994 14:55:59 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199407201856.AA05886@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 20 Jul 1994 13:56:15 -0500 Received: from TEMPER.STAT.CMU.EDU by umnstat.stat.umn.edu; Wed, 20 Jul 1994 13:56:01 -0500 Received: from localhost (luke@localhost) by temper.stat.cmu.edu (8.6.4/8.6.4) id OAA02186 for stat-lisp-news@umnstat.stat.umn.edu; Wed, 20 Jul 1994 14:55:59 -0400 Date: Wed, 20 Jul 1994 14:55:59 -0400 From: Luke Tierney Message-Id: <199407201855.OAA02186@temper.stat.cmu.edu> To: stat-lisp-news@umnstat Subject: another test -- please ignore Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Luke Tierney a second test From bjm Fri Aug 5 08:16:20 1994 Resent-Date: Fri, 5 Aug 1994 14:16:20 -0600 Resent-Message-Id: <199408051916.AA27848@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 5 Aug 1994 14:16:22 -0500 Message-Id: <199408051916.AA27841@umnstat.stat.umn.edu> Received: from [128.101.51.34] (kinetics-34.stat.umn.edu) by umnstat.stat.umn.edu; Fri, 5 Aug 1994 14:16:18 -0500 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Fri, 5 Aug 1994 14:16:20 -0600 To: lisp-stat-news@umnstat From: bjm@umnstat (Bret J. Musser) Subject: Neural networks in Xlisp? Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: bjm@umnstat (Bret J. Musser) Has anyone implemented any sort of neural network in Xlisp? Jeff Weiner (JeffWeiner@aol.edu) is going to be developing and implementing a neural net in Xlisp and would like to speak with those who have already worked on this in Xlispstat. Many thanks, Bret Musser bjm@stat.umn.edu (reply to JeffWeiner@aol.com) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Bret J. Musser ~~~ School of Statistics, University of Minnesota bjm@stat.umn.edu +++ PGP key available === http://stat.umn.edu/~bjm =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From owner-SL-news Sun Aug 7 12:13:22 1994 Resent-Date: Sun, 07 Aug 94 16:13:22 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199408072013.AA10063@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sun, 7 Aug 1994 15:13:29 -0500 Received: from stat.fsu.edu by umnstat.stat.umn.edu; Sun, 7 Aug 1994 15:13:25 -0500 Received: from rahu.stat.fsu.edu by stat.fsu.edu (4.1/25-eef) id AA05797; Sun, 7 Aug 94 16:13:19 EDT Message-Id: <9408072013.AA05797@stat.fsu.edu> To: stat-lisp-news@umnstat Subject: New software. Date: Sun, 07 Aug 94 16:13:22 -0400 From: naras@stat.fsu.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: naras@stat.fsu.edu Hani Doss and I have submitted some software to Statlib for performing Bayesian Sensitivity Analysis. Until it arrives there, you can get the technical report and software by anonymous ftp at stat.fsu.edu in the directory pub/bpois. The shar file contains the technical report also. Mosaic users can get it from http://euler.bd.psu.edu/lispstat/bpois.html A snapshot of some of the capabilities is provided in this hypertext document. ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu From owner-SL-news Mon Aug 8 13:06:30 1994 Resent-Date: Mon, 8 Aug 94 20:03:40 METDST Resent-From: owner-SL-news Resent-Message-Id: <199408081806.AA14521@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 8 Aug 1994 13:06:30 -0500 Message-Id: <199408081805.AA14513@umnstat.stat.umn.edu> Received: from halley.upf.es by umnstat.stat.umn.edu; Mon, 8 Aug 1994 13:05:36 -0500 Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA10633; Mon, 8 Aug 94 20:10:04 +0200 Received: by libiya.upf.es (1.37.109.4/15.6) id AA02055; Mon, 8 Aug 94 20:03:40 +0200 From: Frederic Udina Subject: please ignore, this is a test To: stat-lisp-news@umnstat (lisp stat list) Date: Mon, 8 Aug 94 20:03:40 METDST Mailer: Elm [revision: 70.85] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina sorry, I'm trying to send a mail to lisp-stat people. Does this one reach all the people? -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 484 97 56 Balmes 132 | fax: 34 - 3 - 484 97 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/_\_________________________________ From owner-SL-news Mon Aug 8 11:58:08 1994 Resent-Date: Mon, 8 Aug 1994 18:58:08 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199408090158.AA16684@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 8 Aug 1994 20:58:16 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Mon, 8 Aug 1994 20:58:12 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA03670; Mon, 8 Aug 94 18:58:10 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA14677; Mon, 8 Aug 94 18:58:08 PDT From: Jan Deleeuw Message-Id: <9408090158.AA14677@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat (Xlisp List) Date: Mon, 8 Aug 1994 18:58:08 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 5344 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Q: Name a statistical package which is -- extensible -- open -- fast -- garbage-collecting -- equipped with a byte-code compiler -- interactive -- graphical -- dynamic -- using the native window system on Mac, MSW, X11 -- portable -- object-oriented -- equipped with an elegant extension language -- free ******************************************************************* Xlisp-Stat code on ftp.stat.ucla.edu in ~/pub/lisp/xlisp/xlisp-stat We try to keep a collection of everything connected with Xlisp-Stat in these directories. There is always a version of the source code, there are some binaries for selected systems. As the path to the directory shows, there are other lisp systems besides xlisp, and other xlisp extensions besides xlisp-stat. The most interesting sub-directories are contrib and homegrown. In homegrown we have Xlisp-Stat code written at UCLA. This includes - the SIR package by Ker-Chau Li and his students, for Slicing Inverse Regression. - the Terrace package by James Hilden-Minton for Hierarchical Linear Modelling with diagnostics. - the Gifi-gardens package by James Hilden-Minton for MVA with optimal scaling. - many utilities by Jan de Leeuw for monotone regression, b-splines, the basic APL array operators, multidimensional scaling, nonlinear MVA, FORTRAN-type formatted input, log-linear modeling.cd - stem-and-leaf-plots by (our) David Betz. - bootstrap/jackknife algorithms by Jan de Leeuw. This includes bootstrap-t, percentile, abc, bca confidence intervals, bootstrap and jackknife standard error, bootstrap and jackknife bias estimation, bootstrap prediction error estimation. The bootstrap algorithms for regression are written as methods for regression-model-proto. There is also a graphical bootstrap demo. And there is code for permutation and bootstrap hypothesis testing. There are also versions of Randy Sitter's algorithms for bootstrapping in survey situations with clustered and stratified random samples (without replacement). - Didactic Modules by Jan de Leeuw. Moving the regression line, moving points in regression scatterplots, the central limit theorem. - UCLAData. Evolving package for Introductory Data Analysis teaching by Jan de Leeuw. - Help. Evolving graphical help system for Xlisp programmers and Users by Jan de Leeuw and Jason Bond. * Note ************************************************************** I write my Xlisp-Stat code in planes, on airports, and in hotel rooms. If you want more useful utilities, you'll have to invite me over (or, if you prefer that, send me somewhere else). ********************************************************************* In contrib we have xlisp-stat code written by other. This includes everything on statlib, and then some. We mention - axis: Introductory statistics package by Robert Stine (Wharton). - bpois: Baysian Poisson Regression using the Gibbs Sampler by Hani Doss (OSU) and B. Narasimhan (PSU). - cw: Dynamic Graphics for Regression, by Dennis Cook and Sande Weisberg (U Minn). Called dyndiag on statlib. - eltoy: Introductory Statistics and Bayesian Elicitation, by Russel Almond (U Wash). - expsurv: Exploratory Survival Analysis by K. Neely Atkinson (U Texas). - hasse: F tests and ANOVA tables for factorial designs by Philip Iversen (Iowa State). - jflisp: Three packages for Model Selection in Regression Analysis by Julian Faraway (Univ. Michigan). - naras: Code contributed by B. Narasimhan (see also Bpois). This includes utilitity code for sliders and boxplots, as well as packages to demonstrate Markov chains, and to fit kernel density estimates. There is also a package for programmers who want to dynamically link arbitrary C functions at runtime. - plottools: Don't know who wrote it. It provides nice graphical windows to selects symbols and colors. - puranen: Some demos by Juha Puranen (Univ Helsinki). Demoes Box-Cox and some of the common densities. - simulation. General purpose simulation tool by Robert Stine (Wharton). - students: Projects by students in Nancy Reid's course at the U Toronto. Code for repeated measures with missing data, teaching demos, correspondence analysis, Weibull MLE, the general linear hypothesis. - surv: Code for survival analysis by E. Neely Atkinson and Meg Gelder. - times: Digital filtering code by Bill Hatch (Coleman Research Corp). - udina: gnuplot interface to produce beautiful plots from Xlisp-Stat by Jan de Leeuw and Frederic Udina. kde kernel density estimation system by Frederic Udina. - xlisp-to-s: Interface from Xlisp-Stat to something called S or S-plus or something. By Steve McKinney (U Wash) - young. Vista: Visual Statistics System by Forrest Young (UNC). Some of these packages are just snippets, some are major research efforts. Some have been abandoned in mid-stream, others are still being developed. I know of quite a few projects that are going on that we can hopefully add in the near future. By the way, ftp.stat.ucla.edu is no competitor of statlib, it is simply more specialized and it can thus be more complete in the areas in which it specializes. If you have code to contribute, no matter how incomplete, imperfect, tentative, send it to deleeuw@stat.ucla.edu. --- Jan From owner-SL-news Wed Aug 10 07:11:38 1994 Resent-Date: Wed, 10 Aug 94 11:11:38 EDT Resent-From: owner-SL-news Resent-Message-Id: <199408101531.AA24935@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Aug 1994 10:31:45 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Wed, 10 Aug 1994 10:31:20 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA28583; Wed, 10 Aug 94 11:34:50 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA20821; Wed, 10 Aug 94 11:11:43 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA10950; Wed, 10 Aug 94 11:11:38 EDT Date: Wed, 10 Aug 94 11:11:38 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9408101511.AA10950@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: EXCEL-to-XLISP-STAT Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I am writing small applications on a Macintosh where the primary user interface is Microsoft Excel. I would like to be able to write an Excel macro that would go outside of Excel to XLisp-Stat, do some model fitting, and return parameter estimates to cells withing Excel. Does anyone have any idea how to do this? Reading the Excel manual it appears that it might be possible if working on PC's but I think that with Mac's there might be a real problem. Any ideas at all would be greatly appreciated!! From owner-SL-news Wed Aug 10 16:19:52 1994 Resent-Date: Wed, 10 Aug 1994 20:19:52 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199408110019.AA27919@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Aug 1994 19:19:12 -0500 Received: from crew.umich.edu (geneva.crew.umich.edu) by umnstat.stat.umn.edu; Wed, 10 Aug 1994 19:19:08 -0500 Received: from localhost by crew.umich.edu (8.6.4/2.2) id UAA03618; Wed, 10 Aug 1994 20:19:53 -0400 Date: Wed, 10 Aug 1994 20:19:52 -0400 (EDT) From: Michael Cohen Subject: request for Sun Makefile help To: stat-lisp-news@umnstat Cc: Scott Yelich Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Michael Cohen We are trying to install 2.1R2 for X11 under Sun OS version 4.1.3. We're having a number of problems doing the make with the file provided in the 2.1R2.tar.Z . Has anyone out there conquered these problems? Could you mail me, or make available to ftp, a Makefile that does the job? (Or quickly describe what fix you worked out?) Remember that this is a boring problem. So don't copy umnstat when/if you respond... --michael cohen mdc@umich.edu u. of michigan From root@celeste.ucsf.EDU Wed Aug 10 16:19:52 1994 Received: from celeste.ucsf.EDU by umnstat.stat.umn.edu; Mon, 15 Aug 1994 11:32:14 -0500 Received: from localhost by celeste.ucsf.EDU (8.6.4/GSC4.24) id JAA21924; Mon, 15 Aug 1994 09:31:56 -0700 Resent-To: bic@cgl.ucsf.edu Resent-Comment: lost mail for bic found on celeste Received: from mail.unet.umn.edu by celeste.ucsf.EDU (8.6.4/GSC4.24) id SAA13053; Wed, 10 Aug 1994 18:09:53 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA10480; Wed, 10 Aug 1994 20:07:11 -0500 Resent-Date: Wed, 10 Aug 1994 20:19:52 -0400 (EDT) Resent-Message-Id: <199408110019.AA27919@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Aug 1994 19:19:12 -0500 Received: from crew.umich.edu (geneva.crew.umich.edu) by umnstat.stat.umn.edu; Wed, 10 Aug 1994 19:19:08 -0500 Received: from localhost by crew.umich.edu (8.6.4/2.2) id UAA03618; Wed, 10 Aug 1994 20:19:53 -0400 Date: Wed, 10 Aug 1994 20:19:52 -0400 (EDT) From: Michael Cohen Subject: request for Sun Makefile help To: stat-lisp-news@umnstat Cc: Scott Yelich Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Michael Cohen We are trying to install 2.1R2 for X11 under Sun OS version 4.1.3. We're having a number of problems doing the make with the file provided in the 2.1R2.tar.Z . Has anyone out there conquered these problems? Could you mail me, or make available to ftp, a Makefile that does the job? (Or quickly describe what fix you worked out?) Remember that this is a boring problem. So don't copy umnstat when/if you respond... --michael cohen mdc@umich.edu u. of michigan From root@celeste.ucsf.EDU Wed Aug 10 07:11:38 1994 Received: from celeste.ucsf.EDU by umnstat.stat.umn.edu; Mon, 15 Aug 1994 11:32:04 -0500 Received: from localhost by celeste.ucsf.EDU (8.6.4/GSC4.24) id JAA21909; Mon, 15 Aug 1994 09:31:49 -0700 Resent-To: bic@cgl.ucsf.edu Resent-Comment: lost mail for bic found on celeste Received: from mail.unet.umn.edu by celeste.ucsf.EDU (8.6.4/GSC4.24) id JAA09834; Wed, 10 Aug 1994 09:43:18 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA01438; Wed, 10 Aug 1994 11:38:49 -0500 Resent-Date: Wed, 10 Aug 94 11:11:38 EDT Resent-Message-Id: <199408101531.AA24935@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 10 Aug 1994 10:31:45 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Wed, 10 Aug 1994 10:31:20 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA28583; Wed, 10 Aug 94 11:34:50 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA20821; Wed, 10 Aug 94 11:11:43 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA10950; Wed, 10 Aug 94 11:11:38 EDT Date: Wed, 10 Aug 94 11:11:38 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9408101511.AA10950@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: EXCEL-to-XLISP-STAT Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I am writing small applications on a Macintosh where the primary user interface is Microsoft Excel. I would like to be able to write an Excel macro that would go outside of Excel to XLisp-Stat, do some model fitting, and return parameter estimates to cells withing Excel. Does anyone have any idea how to do this? Reading the Excel manual it appears that it might be possible if working on PC's but I think that with Mac's there might be a real problem. Any ideas at all would be greatly appreciated!! From owner-SL-news Tue Aug 16 18:17:34 1994 Resent-Date: Tue, 16 Aug 1994 23:17:34 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199408170318.AA25260@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 16 Aug 1994 22:18:43 -0500 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Tue, 16 Aug 1994 22:18:39 -0500 Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id XAA05181; Tue, 16 Aug 1994 23:18:36 -0400 Message-Id: <199408170318.XAA05181@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Tue, 16 Aug 1994 23:17:34 -0500 To: stat-lisp-news@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: ViSta, a Visual Statistics System Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) ViSta, a Lisp-Stat based Visual Statistics System, is available from Jan de Leeuw's ftp.stat.ucla.edu statistics software server, in pub/lisp/xlisp/xlisp-stat/contrib/young ViSta is an open and extensible system for research and development in visual and computational statistics; for teaching computational statistics to graduate students; and (eventually) for teaching introductory statistics to undergraduate students. ViSta features state-of-the art statistical visualization techniques for visually guiding students and other novice data analysts; for visualizing the overall structure of the data analysis session; for visualizing the results of analyses; and for visually exploring the effects of re-estimating model parameters. ViSta is designed for an audience of users having a very wide range of data analysis sophistication, ranging from novice to expert. ViSta provides seamlessly integrated data analysis environments specifically tailored to the user's level of expertise. Guidance is available for students and novices, and tools are available for teachers and other experts to create guidance for these novices. A structured graphical user interface is available for competent users, and a command line interface is available for sophisticated users. The complete Lisp-Stat (Tierney, 1990) programming environment is available to researchers and graduate students who wish to extend ViSta's capabilities. ============================================================================= COMPATIBILITY ============================================================================= ViSta runs on: * IBM compatibles with Microsoft Windows * APPLE Macintosh microcomputers * UNIX workstations under X-Windows ViSta works with XLisp-Stat 2.1 r3.37 or earlier, under either XLISP or XLISP-PLUS. ============================================================================= FEATURES ============================================================================= * ViSta features: * A structured visual interface * A visual guidance system for naive users * Command line and script access to the underlying Lisp-Stat/ViSta language * Spreadplots for high-dimensional data and model visualization * Graphical tools for re-estimating model parameters ============================================================================= DATA ANALYSIS CAPABILITIES ============================================================================= ViSta's data analysis capabilities include: * EXPLORATORY Graphics including Histograms, Boxplots, Diamond Plots, Dotplots, Scatterplots, Biplots, Spinplots, Scatterplot Matrices. * DESCRIPTIVE Statistics including Means, Standard Deviations, Variances, Ranges, Quartiles, Medians, Correlations, Covariances, Distances * ANOVA - Univariate Analysis of Variance. Orthogonal one- or multi-way data. Model may or may not include two-way (but not higher-way) interactions. The model visualization is a spreadplot comprised of a boxplot, diamond plot, quantile plot, quantile-quantile plot and effects plot. * REGRESSION - Simple and Multiple Regression Analysis. The model visualization is a spreadplot comprised of a biplot, spinplot, histogram and scatterplot-matrix. * PRINCIPAL COMPONENTS - Analyzes Correlations or Covariances. The model visualization is a spreadplot comprised of a biplot, spin-plot, scree-plot and scatterplot-matrix. * MULTIDIMENSIONAL SCALING - Analyzes one or more symmetric or asymmetric matrices. The model visualization is a spreadplot comprised of a scatterplot, spin-plot, scree-plot and scatterplot-matrix. The spreadplot supports graphical re-estimation of model parameters. * CORRESPONDENCE ANALYSIS of two-way contingency tables. The model visualization is a spreadplot comprised of a biplot, spinplot, residuals plot and scree-plot. The spreadplot supports graphical re-estimation of model parameters. ============================================================================= DOCUMENTATION ============================================================================= "ViSta, The Visual Statistics System", is available from the server mentioned above. A nicely bound and printed version is also available for $5.00 from the address below. ============================================================================= COPYING VISTA ============================================================================= Permission to use and copy ViSta for any purpose other than modifying, distributing, or selling the software or its documentation is granted without fee. ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From owner-SL-news Tue Aug 16 14:51:02 1994 Resent-Date: Tue, 16 Aug 1994 21:51:02 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199408170451.AA25577@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 16 Aug 1994 23:51:11 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Tue, 16 Aug 1994 23:51:08 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA01535; Tue, 16 Aug 94 21:51:04 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA13686; Tue, 16 Aug 94 21:51:02 PDT From: Jan Deleeuw Message-Id: <9408170451.AA13686@galton.math.ucla.edu> Subject: code on ftp.stat.ucla.edu To: stat-lisp-news@umnstat (Xlisp List) Date: Tue, 16 Aug 1994 21:51:02 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2250 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Only a short trip to ASA, so not much more new code on ftp.stat.ucla.edu in ~/pub/lisp/xlisp/xlisp-stat/homegrown subdirectory niceties has compile-menu.lsp, which adds a compile item to the file menu (under the load item). subdirectory tables has a new loglin.lsp, which now has code to fit hierarchical log-linear models by IPF (similar to the Haberman routine is ApStat), and a routine to fit models with all kth-order interactions zero, with k=1,2,... subdirectory smoothers contains smoothers.lsp. This will have (eventually) the code from Haerdle's book (Smoothing with S), plus the Friedman supersmoother used in GAM, ACE, MDRACE. For the time being it only has the histogram and frequency polygon from Chapter 1 of Haerdle. Warping is on its way. I have also created the subdirectory coco in ~/pub/lisp/xlisp/xlisp-stat/ contrib. Coco is a very impressive package to fit and explore graphical loglinear models, written mostly in C, but with interfaces in Xlisp-Stat and S-plus. The Xlisp-Stat interface is much nicer, of course. There are Unix, DOS, and Mac version, with Unix richer than DOS richer than Mac featurewise. There is a group of us working on a book, tentatively called "Statistical Computation with Xlisp-Stat", which will present a number of large Xlisp-Stat based projects, in particular ones in which Xlisp-Stat interface really shines. We have approached a number of people, but if you think you have a project to contribute, we would like to hear about it. Corresponding code will be on this server, of course. We feel it is also VERY necessary that something similar to Phil Spector's book is written about Xlisp-Stat. Suggestions are welcome. There are some projects under way to provide interactive help for programmers, using Tim Mikkelsen's 2.0 reference manual. Of course 2.0 has far fewer functions than 2.1x, and by now I would guess that only half of the Xlisp functionality is documented in Luke's book. And the reference manual does not have any of the Xlisp-Stat add-ons, of course. -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Wed Aug 17 06:03:42 1994 Resent-Date: Wed, 17 Aug 1994 11:03:42 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199408171504.AA27416@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 17 Aug 1994 10:04:53 -0500 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Wed, 17 Aug 1994 10:04:48 -0500 Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id LAA06468; Wed, 17 Aug 1994 11:04:46 -0400 Message-Id: <199408171504.LAA06468@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Wed, 17 Aug 1994 11:03:42 -0500 To: stat-lisp-news@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: ViSta on ftp.stat.ucla.edu Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) I have just gotten back from vacation and have just now discovered that not all of the material that is part of ViSta was loaded onto Jan de Leeuw's server at ucla. All of the lisp code is there, but none of the subdirectories that contain help, guidance, test data and examples were loaded onto his machine. If you have downloaded the material it will run, but there will be no data to test it out, and no help or guidance... I am getting the situation straighted out and will announce when the problems are fixed. ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From owner-SL-news Thu Aug 18 08:35:23 1994 Resent-Date: Thu, 18 Aug 1994 14:35:23 -0600 Resent-From: owner-SL-news Resent-Message-Id: <199408182035.AA03648@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 18 Aug 1994 15:35:30 -0500 Received: from NMSU.Edu (dns1.NMSU.Edu) by umnstat.stat.umn.edu; Thu, 18 Aug 1994 15:35:26 -0500 Received: from dante by NMSU.Edu (8.6.8.1/NMSU-1.18) id OAA13866; Thu, 18 Aug 1994 14:35:23 -0600 Date: Thu, 18 Aug 1994 14:35:23 -0600 Message-Id: <199408182035.OAA13866@NMSU.Edu> Received: from [128.123.31.142] by dante (4.1/NMSU) id AA25132; Thu, 18 Aug 94 14:35:22 MDT Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: stat-lisp-news@umnstat From: ddaniel@dante.nmsu.edu (David L. Daniel) Subject: help Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: ddaniel@dante.nmsu.edu (David L. Daniel) -David Daniel Dept. of Experimental Statistics New Mexico State University ddaniel@dante.nmsu.edu ##################################################### This random sign-off was generated by a statistician. ##################################################### From uluru@gibbs.oit.unc.edu Mon Aug 22 05:44:28 1994 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Mon, 22 Aug 1994 09:45:51 -0500 Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id KAA25395; Mon, 22 Aug 1994 10:45:48 -0400 Message-Id: <199408221445.KAA25395@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 22 Aug 1994 10:44:28 -0500 To: SL-news-list@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: ViSta, the Visual Statistics System The complete code for ViSta, including test data, examples, help and guidance, has now been properly loaded onto Jan de Leeuw's statistics software server. The server is ftp.stat.ucla.edu The software is in directory pub/lisp/xlisp/xlisp-stat/contrib/young If you obtained the software since the previous announcement (made August 16th) you obtained an incomplete version that did not have data, examples, help and guidance. In addition, the software would only work under XLisp and not under the newer XLispPlus. The version now on the server is complete and works under XLispPlus as well as under XLisp. I apologize for the inconvience. The original announcement of the release of ViSta into the public domain is repeated below. ============================================================================= OVERVIEW OF VISTA, THE VISUAL STATISTICS SYSTEM ============================================================================= ViSta is an open and extensible system for research and development in visual and computational statistics; for teaching computational statistics to graduate students; and (eventually) for teaching introductory statistics to undergraduate students. ViSta features state-of-the art statistical visualization techniques for visually guiding students and other novice data analysts; for visualizing the overall structure of the data analysis session; for visualizing the results of analyses; and for visually exploring the effects of re-estimating model parameters. ViSta is designed for an audience of users having a very wide range of data analysis sophistication, ranging from novice to expert. ViSta provides seamlessly integrated data analysis environments specifically tailored to the user's level of expertise. Guidance is available for students and novices, and tools are available for teachers and other experts to create guidance for these novices. A structured graphical user interface is available for competent users, and a command line interface is available for sophisticated users. The complete Lisp-Stat (Tierney, 1990) programming environment is available to researchers and graduate students who wish to extend ViSta's capabilities. ============================================================================= COMPATIBILITY ============================================================================= ViSta runs on: * IBM compatibles with Microsoft Windows * APPLE Macintosh microcomputers * UNIX workstations under X-Windows ViSta works with XLisp-Stat 2.1 r3.37 or earlier, under either XLISP or XLISP-PLUS. ============================================================================= FEATURES ============================================================================= * ViSta features: * A structured visual interface * A visual guidance system for naive users * Command line and script access to the underlying Lisp-Stat/ViSta language * Spreadplots for high-dimensional data and model visualization * Graphical tools for re-estimating model parameters ============================================================================= DATA ANALYSIS CAPABILITIES ============================================================================= ViSta's data analysis capabilities include: * EXPLORATORY Graphics including Histograms, Boxplots, Diamond Plots, Dotplots, Scatterplots, Biplots, Spinplots, Scatterplot Matrices. * DESCRIPTIVE Statistics including Means, Standard Deviations, Variances, Ranges, Quartiles, Medians, Correlations, Covariances, Distances * ANOVA - Univariate Analysis of Variance. Orthogonal one- or multi-way data. Model may or may not include two-way (but not higher-way) interactions. The model visualization is a spreadplot comprised of a boxplot, diamond plot, quantile plot, quantile-quantile plot and effects plot. * REGRESSION - Simple and Multiple Regression Analysis. The model visualization is a spreadplot comprised of a biplot, spinplot, histogram and scatterplot-matrix. * PRINCIPAL COMPONENTS - Analyzes Correlations or Covariances. The model visualization is a spreadplot comprised of a biplot, spin-plot, scree-plot and scatterplot-matrix. * MULTIDIMENSIONAL SCALING - Analyzes one or more symmetric or asymmetric matrices. The model visualization is a spreadplot comprised of a scatterplot, spin-plot, scree-plot and scatterplot-matrix. The spreadplot supports graphical re-estimation of model parameters. * CORRESPONDENCE ANALYSIS of two-way contingency tables. The model visualization is a spreadplot comprised of a biplot, spinplot, residuals plot and scree-plot. The spreadplot supports graphical re-estimation of model parameters. ============================================================================== CURRENT STATE OF DEVELOPMENT ============================================================================== ViSta is not a complete statistical system. Rather, it is an open-ended statistical system which is still being developed, and which can be extended by experienced LispStat programmers. Most of the features which are included in the distribution are complete. Unfinished features include: 1: The Delete Data, Delete Model, Interprete Model, and DataSheet menu items are not yet implemented. 2: Not all transformations are implemented. 3: Only those analysis methods described above are implemented. 4: The ANOVA visualization is not yet completely implemented (all plots are displayed, but they do not all interact). 5: ANOVA create data and save data menu items and the interaction dialog are not yet implemented. 6: Guidance and Help are imcomplete. ============================================================================= DOCUMENTATION ============================================================================= The following two monographs describe how to use ViSta: "ViSta, The Visual Statistics System", is available from the server mentioned above. A nicely bound and printed version is also available for $5.00 from the address below. "ViSta Corresp", a description of the Correspondence Analysis procedure in ViSta, is available for $5.00 from the address below. In addition, the following papers are relevent and are available for $5.00 from the address below. Young, F.W., et al. "Visual Statistical Analysis - Papers presented at the Special Contributed Session on Visual Statistical Analyais at Interface '94. Psychometric Research Memorandum 94-2, July, 1994. Young, F.W. & Lubinsky, D.J. "Guided Data Analysis: On the Representation, Use and Creation of Visual Statistical Strategies". Psychometric Research Report 94-1, May, 1994. ============================================================================= COPYING VISTA ============================================================================= Permission to use and copy ViSta for any purpose other than modifying, distributing, or selling the software or its documentation is granted without fee. ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From owner-SL-news Wed Aug 24 00:24:09 1994 Resent-Date: Tue, 23 Aug 1994 21:24:09 +0300 Resent-From: owner-SL-news Resent-Message-Id: <199408231822.AA06268@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 23 Aug 1994 13:22:13 -0500 Received: from sunset.ma.huji.ac.il by umnstat.stat.umn.edu; Tue, 23 Aug 1994 13:22:02 -0500 Received: by sunset.ma.huji.ac.il id AA19832 (5.65c/HUJI 4.152 for stat-lisp-news@umnstat.stat.umn.edu); Tue, 23 Aug 1994 21:24:09 +0300 Date: Tue, 23 Aug 1994 21:24:09 +0300 From: "Harvey J. Stein" Message-Id: <199408231824.AA19832@sunset.ma.huji.ac.il> To: stat-lisp-news@umnstat Subject: Trouble running ViSta. Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Harvey J. Stein" I tried to run ViSta, but I ran into afew problems. The one I'm finding insurmountable is that I'm getting the error: error: allocation failed when the statement: (setf *vista* (vista-system)) from ViSta.lsp is executed. This function (vista-system) only instantiates a vista-system-object-proto. I'm stuck at this point. This is on a 486 based Unix workstation (a 486 running Linux) with version 2.1 release 2 of xlispstat. Any ideas on how to proceed? I tried fiddling around with expand function call in the init file supplied with ViSta (tried (expand 50), (expand 200) & commenting out the expand call), but each gave the same results. So, any ideas? What exactly does this error message mean? Am I out of space, or is there some kind of bug? Thanks, Harvey J. Stein Berger Financial Research hjstein@math.huji.ac.il From owner-SL-news Tue Aug 30 12:48:14 1994 Resent-Date: Tue, 30 Aug 94 16:48:14 EDT Resent-From: owner-SL-news Resent-Message-Id: <199408302052.AA11443@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 30 Aug 1994 15:52:48 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Tue, 30 Aug 1994 15:52:19 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA12769; Tue, 30 Aug 94 16:51:56 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA24814; Tue, 30 Aug 94 16:48:16 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA15826; Tue, 30 Aug 94 16:48:14 EDT Date: Tue, 30 Aug 94 16:48:14 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9408302048.AA15826@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Noncentral dist. functions Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I am interested if anyone has any XLS code for noncental t, chi^2, or F distributions. Specifically what I need is 1) extensions of the current distribution functions so that a non-centrality parameter can be included. 2) a function that returns the non-centrality parameter, given the other relevent info. Thanks in advance for any help! Jeffrey D. Morris, Ph.D. Eastman Kodak Co. Research Labs Rochester, NY 14650-2205 morris@kodak.com From owner-SL-news Wed Aug 31 04:18:41 1994 Resent-Date: Wed, 31 Aug 94 09:18:41 CDT Resent-From: owner-SL-news Resent-Message-Id: <199408311424.AA14810@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 31 Aug 1994 09:24:10 -0500 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Wed, 31 Aug 1994 09:21:22 -0500 Received: from stat.uiowa.edu by ns-mx.uiowa.edu (8.6.8.2/19940322) on Wed, 31 Aug 1994 09:20:04 -0500 id JAA15801 with SMTP Received: from nuthatch.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA14738; Wed, 31 Aug 94 09:18:41 CDT Date: Wed, 31 Aug 94 09:18:41 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9408311418.AA14738@ stat.uiowa.edu> To: stat-lisp-news@umnstat Subject: Re: Noncentral dist. functions Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: rlenth@stat.uiowa.edu (Russ Lenth) > I am interested if anyone has any XLS code for noncental t, > chi^2, or F distributions. > > Specifically what I need is > > 1) extensions of the current distribution functions so that > a non-centrality parameter can be included. > > 2) a function that returns the non-centrality parameter, given > the other relevent info. > > Thanks in advance for any help! > > Jeffrey D. Morris, Ph.D. > Eastman Kodak Co. > Research Labs > Rochester, NY 14650-2205 > morris@kodak.com Well, two out of three ain't too bad. You will find appended some lisp implementations of my Applied Statistics algorithms for the noncentral t and the noncentral beta; the noncentral F is a special case of the latter. Following that is a root-finding program I wrote that seems to work reasonably well. It can be used to solve for the noncentrality parameter. Cheers, ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | I O W A \_ and Actuarial Science Tel: (319)335-0814 \ \ The University of Iowa FAX: (319)335-3017 \ * _/ Iowa City, IA 52242 USA CW: *= * ====== *=* | Iowa City / ------------------------------------------------ ----------v "Everything happens for a reason, but that doesn't mean that there's a point." --- Sue Grafton C is for Corpse ;;; =============================================================================== ;;; lisp code for noncentral-t distribution ;;; by Russ Lenth, December, 1991 ;;; based on Applied Statistics Alg AS 243 ;;; Warning: non-vectorized version - ;;; will accept lists for df and delta but will produce misleading results! (defun *nct*cdf* (tval df delta) (if (< tval 0) (- 1 (nct-cdf (- tval) df (- delta))) (let* ((x (/ (* tval tval) (+ df (* tval tval)))) (d2 (* .5 delta delta)) (b (* .5 df)) (rxb (^ (- 1 x) b)) (lbeta (+ (* .5 (log pi)) (- (log-gamma b) (log-gamma (+ .5 b)))))) (do* ((a .5 (+ a 1)) (xodd (beta-cdf x a b) (- xodd godd)) (xeven (- 1 rxb) (- xeven geven)) (godd (* 2 rxb (exp (- (* a (log x)) lbeta))) (* godd x (/ (- (+ a b) 1) a))) (geven (* b x rxb) (* geven x (/ (- (+ a b) .5) (+ a .5)))) (pj (* .5 (exp (- d2))) (/ (* d2 pj) j)) (qj (* pj delta (sqrt (/ 2 pi))) (/ (* d2 qj) (+ j .5))) (sumpj (- .5 pj) (- sumpj pj)) (j 1 (+ j 1)) (cdf (+ (* pj xodd) (* qj xeven)) (+ cdf (* pj xodd) (* qj xeven))) (errbd 1 (* 2 sumpj (- xodd godd)))) ((< errbd 1.0e-8) (+ cdf (normal-cdf (- delta)))))))) ;;; Here is the properly vectorized function (defun nct-cdf (tval df delta) "Args: (tval df delta) Cdf of the noncentral t(df;delta) distribution at tval. Vectorized." (map-elements #'*nct*cdf* tval df delta)) ;;; Warning: t-power is vectorized for delta, df, and alpha, but NOT for tail (defun t-power (delta df &key (alpha .05) (tail 0)) "Args: (delta df &key (alpha .05) (tail 0)) Computes the power of a test on the t distribution at noncentrality delta. Vectorized for all arguments, EXCEPT tail must be a scalar." (cond ((= tail 0) (+ (t-power delta df :alpha (/ alpha 2) :tail -1) (t-power delta df :alpha (/ alpha 2) :tail 1))) ((> tail 0) (t-power (- delta) df :alpha alpha :tail -1)) ((< tail 0) (nct-cdf (t-quant alpha df) df delta)))) ;;; Noncentral beta cdf and related functions (based on APPL STAT Alg AS 226) ;;; non-vectorized version (defun *ncbeta* (x a b lambda) (cond ((<= x 0) 0) ((>= x 1) 1) (t (do* ((n 0 (+ n 1)) (c (/ lambda 2) c) (ix (beta-cdf x a b) (- ix gam)) (gam (exp (+ (- (log-gamma (+ a b)) (log-gamma (1+ a)) (log-gamma b)) (* a (log x)) (* b (log (- 1 x))))) (/ (* x gam (+ a b n -1)) (+ a n))) (q (exp (- c)) (/ (* q c) n)) (sumq (- 1 q) (- sumq q)) (p (* q ix) (+ p (* q ix)))) ((< (* sumq (- ix gam)) 1e-8) p))))) ;;; vectorized version (defun ncbeta (x a b lambda) "Noncentral beta cdf - Args: x a b lambda" (map-elements #'*ncbeta* x a b lambda)) ;;; noncentral F distribution (defun ncf (f df1 df2 lambda) "Noncentral F cdf - Args: f df1 df2 lambda" (ncbeta (/ (* f df1) (+ (* f df1) df2)) (/ df1 2) (/ df2 2) lambda)) ;;; ================================================================================= ;;; Numerical inverse function ;;; Requires one starting value. A secant method with expanding step-size factor is ;;; used to find a starting interval that encloses the solution. Then the Illinois ;;; (modified regula falsi) algorithm is used to obtain the root. ;;; Bound(s) may be imposed using the :BOUNDS keyword argument; ;;; a nil bound specifies that no bound is to be imposed. ;;; An :ACCURACY argument sets the accuracy for the solution ;;; A :PRINT argument, if set to t, displays the iterative steps. ;;; ;;; WARNING: This is vectorized, but beware of subtleties. If f depends implicitly ;;; on other parameters that could be list-valued, f(x) may return a list even when ;;; x is an atom. In such cases, the safe thing is to use invert-param-function. (defun invert-function (f f0 x &key (accuracy .001) (bounds (list nil nil)) (print nil)) " (invert-function f ; function to be inverted f0 ; target value of (f x) x ; starting value of x &key (accuracy .001) ; desired accuracy (bounds (list nil nil)) ; bounds on x (print nil)) ; show iterations " (let ((lbound (first bounds)) (ubound (second bounds))) (map-elements #'*inv*fcn* f f0 x accuracy lbound ubound print))) ;;; non-vectorized solver (defun *inv*fcn* (f f0 x accuracy lbound ubound print) (flet ((fcn (x) (- (funcall f x) f0)) (secant (x1 f1 x2 f2 factor) (- x2 (/ (* factor f2 (- x2 x1)) (- f2 f1)))) (check-bounds (x) (if lbound (setf x (max x lbound))) (if ubound (setf x (min x ubound)) x)) (check-danger (f1 f2) (if (> (abs f2) (abs (* 1000 (- f1 f2)))) (error "invert-function: can't find enclosing interval")))) ;;; expanding secant search for enclosing interval (x1,x2)... (do* ((factor 0 (+ 1 factor)) ;; multiplier used in secant search (xnew nil (check-bounds (secant x1 f1 x2 f2 factor))) (x1 x x2) (f1 (fcn x) f2) (x2 (if (= x 0) (* 100 accuracy) (* .8 x)) xnew) (f2 (fcn x2) (fcn x2)) (flag (check-danger f1 f2) (check-danger f1 f2))) ((<= (* f1 f2) 0) ;;; Illinois method for solving... (loop (setf xnew (secant x1 f1 x2 f2 1)) (setf fnew (fcn xnew)) (if (> (* fnew f2) 0) (setf f1 (/ f1 2)) (list (setf x1 x2) (setf f1 f2))) (setf x2 xnew) (setf f2 fnew) (if print (format t "Illinois guess: ~g~%" xnew)) (if (<= (abs (- x1 x2)) accuracy) (return x2)))) (if print (format t "Secant guess: ~g~%" x2))))) (defun invert-param-function (f f0 i parmlist &key (accuracy .001) (bounds (list nil nil)) (print nil)) "Like invert-function except solves for the i-th member of parmlist, holding the other elements of parmlist constant. f must take parmlist as an argument." (let ((xp parmlist)) (setf (first xp) (+ (first xp) (- f0 f0))) ;; makes xp a list if f0 is (setf xp (apply #'map-elements #'list xp)) (flet ((g (f00 p00) (*inv*p*fcn* f f00 i p00 accuracy (first bounds) (second bounds) print))) (if (listp (first xp)) (map-elements #'g f0 xp) (g f0 parmlist))))) (defun *inv*p*fcn* (f f0 i parmlist accuracy lbound ubound print) (flet ((g (x) (let ((p parmlist)) (setf (select p i) x) (funcall f p)))) (*inv*fcn* #'g f0 (select parmlist i) accuracy lbound ubound print))) From owner-SL-news Wed Aug 31 01:58:36 1994 Resent-Date: Wed, 31 Aug 1994 08:58:36 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199408311612.AA15378@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 31 Aug 1994 11:12:16 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Wed, 31 Aug 1994 11:12:12 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA03182; Wed, 31 Aug 94 08:58:37 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA10277; Wed, 31 Aug 94 08:58:36 PDT From: Jan Deleeuw Message-Id: <9408311558.AA10277@galton.math.ucla.edu> Subject: UCLA archives To: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Wed, 31 Aug 1994 08:58:36 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1692 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw The UCLA Statistics server can now be accessed as ftp.stat.ucla.edu gopher.stat.ucla.edu www.stat.ucla.edu by ftp, gopher, or a web browser. As always, and as ever, this is all under construction. Tyrone is making the UCLA Statistics preprints readable by using ghostscript in mosaic. We put the gopher in the www homepage, and the ftp directories in the gopher space. Thus: use the web if you have it (there are also URL's to the statlib and JSE gophers), use gopher if you do not have the web, use ftp if you have neither gopher or mosaic. Expect dramatic changes in the www access in the next weeks. Re: Xlisp-Stat. Happily collecting more stuff. Russ Lenth contributed non-central chi-square, non-central beta, and a one-dim equation solver in lisp/xlisp/xlisp-stat/contrib/noncentral. Jason Bond has impute.lsp, which does EM imputing in a multivariate normal, in lisp/xlisp/xlisp-stat/homegrown/impute. David Betz contributed and algorithm for the balanced bootstrap in lisp/xlisp/xlisp-stat/homegrown/ bootstrap. James Hilden-Minton and David Afshartous update lisp/xlisp/xlisp-stat/homegrown/terrace, which now has a hierarchical linear modeling program, with manual and user's guide. Jason Bond updated Jan de Leeuw's pull-line.lsp, which is the module to demo least squqres fit, sensitivity, leverage, errors-in-variables, and so on. See lisp/xlisp/xlisp-stat/homegrown/modules. Expect a steady production here, and interesting interfaces with mosaic. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Wed Aug 31 06:33:31 1994 Resent-Date: Wed, 31 Aug 1994 11:33:31 -0500 (EST) Resent-From: owner-SL-news Resent-Message-Id: <199408311633.AA15499@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 31 Aug 1994 11:33:36 -0500 Message-Id: <199408311633.AA15492@umnstat.stat.umn.edu> Received: from silver.ucs.indiana.edu by umnstat.stat.umn.edu; Wed, 31 Aug 1994 11:33:33 -0500 Received: by silver.ucs.indiana.edu (5.65c+/10jsm) id AA08011; Wed, 31 Aug 1994 11:33:31 -0500 From: lael schooler Subject: Current Documentation To: stat-lisp-news@umnstat Date: Wed, 31 Aug 1994 11:33:31 -0500 (EST) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 230 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: lael schooler Can anybody tell me where I can get the documentation for version 2.1 of xlispstat. I have only been able to find documentation for version 2.0, and I have been told that the dyn-load function has changed. thanks, Lael Schooler From owner-SL-news Wed Aug 31 14:43:31 1994 Resent-Date: Wed, 31 Aug 1994 18:43:31 -0400 Resent-From: owner-SL-news Resent-Message-Id: <199408312249.AA17041@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 31 Aug 1994 17:49:34 -0500 Received: from euler.bd.psu.edu by umnstat.stat.umn.edu; Wed, 31 Aug 1994 17:49:26 -0500 Received: by euler.bd.psu.edu via SMTP (931110.SGI/930416.SGI.AUTO) for stat-lisp-news@umnstat.stat.umn.edu id AA07684; Wed, 31 Aug 94 18:43:43 -0400 Message-Id: <9408312243.AA07684@euler.bd.psu.edu> To: stat-lisp-news@umnstat Subject: Dynamic loading example. Date: Wed, 31 Aug 1994 18:43:31 -0400 From: Balasubramanian Narasimhan Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Balasubramanian Narasimhan Well, I promised some people an example. I was delayed, but here are two useful routines. Contents of README ------------------ Remarks: ******** This little contribution contains two Classical routines: 1) The Zeroin univariate root finder of Forsythe, et. al. 2) Brent's Univariate minimum finder. See the programs for references. I use at least zeroin on a very frequent basis and I hope Tierney will make it available in the new beta, since it comes xlisp-ready. Note. I have only used this with xlispstat-3-37. I also wanted to take this opportunity to show how to use dynamic loading with shared libraries. Actually, I am not saying anything new since the documentation contained in the distribution says how to do this. However, sufficient mail has reached my mailbox so as to elicit this demo. Note that I have only tested this program on my SGI and a Sun running 4.1.x. First, you must find out EXACTLY the flags you used to build the new xlispstat distribution. The easiest way to do this is to copy the Makefile that you used to build xlispstat to the current directory and make the following changes to it. Search for the variable UCFLAGS and add -I to it. For example, if it was CFLAGS = -O -Olimit 2000 -mips2 change it to something like CFLAGS = -I/usr/local/src/xlispstat-3-37 -O -Olimit 2000 -mips2 Yeah, you need the source for the header files. Then search for the target all: and replace the whole entry with all: zeroin.o fminbr.o ld -o libzero.so -shared zeroin.o fminbr.o On SunOS 4.1.1, you should drop the -shared option for ld. Other systems may also differ, see your local ld man page. (Actually, when I distribute something for the new xlispstat that uses Dynamic loading using call-lfun, I shall use the same configure script that comes with the distribution and this will all be automatic.) Then type make. Finally, to use these routines, you should be able to just say xlispstat zerotest and xlispstat mintest The results you get should match those shown in zeroin.dat and min.dat respectively. If not, send me mail. Enjoy! ******************* End of README ******************* Shar file follows. Enjoy! ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu ******************** Cut Here ******************** #!/bin/sh # This is a shell archive (produced by shar 3.49) # To extract the files from this archive, save it to a file, remove # everything above the "!/bin/sh" line above, and type "sh file_name". # # made 08/31/1994 22:38 UTC by naras@euler # Source directory /disk3/people/naras/xlisp/dyb # # existing files will NOT be overwritten unless -c is specified # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 2074 -rw-r--r-- README # 6263 -rw-r--r-- fminbr.c # 707 -rw-r--r-- min.dat # 694 -rw-r--r-- mintest.lsp # 5516 -rw-r--r-- zeroin.c # 527 -rw-r--r-- zeroin.dat # 514 -rw-r--r-- zerotest.lsp # # ============= README ============== if test -f 'README' -a X"$1" != X"-c"; then echo 'x - skipping README (File already exists)' else echo 'x - extracting README (Text)' sed 's/^X//' << 'SHAR_EOF' > 'README' && Remarks: ******** X This little contribution contains two Classical routines: X X 1) The Zeroin univariate root finder of Forsythe, et. al. X X 2) Brent's Univariate minimum finder. X See the programs for references. X I use at least zeroin on a very frequent basis and I hope Tierney will make it available in the new beta, since it comes xlisp-ready. X Note. I have only used this with xlispstat-3-37. X I also wanted to take this opportunity to show how to use dynamic loading with shared libraries. Actually, I am not saying anything new since the documentation contained in the distribution says how to do this. However, sufficient mail has reached my mailbox so as to elicit this demo. X Note that I have only tested this program on my SGI and a Sun running 4.1.x. X First, you must find out EXACTLY the flags you used to build the new xlispstat distribution. The easiest way to do this is to copy the Makefile that you used to build xlispstat to the current directory and make the following changes to it. X Search for the variable UCFLAGS and add -I to it. X For example, if it was X X CFLAGS = -O -Olimit 2000 -mips2 X change it to something like X X CFLAGS = -I/usr/local/src/xlispstat-3-37 -O -Olimit 2000 -mips2 X Yeah, you need the source for the header files. X Then search for the target all: and replace the whole entry with X all: zeroin.o fminbr.o X ld -o libzero.so -shared zeroin.o fminbr.o X On SunOS 4.1.1, you should drop the -shared option for ld. Other systems may also differ, see your local ld man page. X (Actually, when I distribute something for the new xlispstat that uses Dynamic loading using call-lfun, I shall use the same configure script that comes with the distribution and this will all be automatic.) X Then type make. X Finally, to use these routines, you should be able to just say X xlispstat zerotest X and X xlispstat mintest X The results you get should match those shown in zeroin.dat and min.dat respectively. X Enjoy! X B. Narasimhan naras@euler.bd.psu.edu X X X SHAR_EOF chmod 0644 README || echo 'restore of README failed' Wc_c="`wc -c < 'README'`" test 2074 -eq "$Wc_c" || echo 'README: original size 2074, current size' "$Wc_c" fi # ============= fminbr.c ============== if test -f 'fminbr.c' -a X"$1" != X"-c"; then echo 'x - skipping fminbr.c (File already exists)' else echo 'x - extracting fminbr.c (Text)' sed 's/^X//' << 'SHAR_EOF' > 'fminbr.c' && /* Brent's one dimensional Minimizer... X X Converted from the Netlib C version to xlisp-stat by X X B. Narasimhan naras@euler.bd.psu.edu. */ X X /* X ************************************************************************ X * C math library X * function FMINBR - one-dimensional search for a function minimum X * over the given range X * X * Input X * FLOTYPE fminbr(a,b,f,tol) X * FLOTYPE a; Minimum will be seeked for over X * FLOTYPE b; a range [a,b], a being < b. X * FLOTYPE (*f)(FLOTYPE x); Name of the function whose minimum X * will be seeked for X * FLOTYPE tol; Acceptable tolerance for the minimum X * location. It have to be positive X * (e.g. may be specified as EPSILON) X * X * Output X * Fminbr returns an estimate for the minimum location with accuracy X * 3*SQRT_EPSILON*abs(x) + tol. X * The function always obtains a local minimum which coincides with X * the global one only if a function under investigation being X * unimodular. X * If a function being examined possesses no local minimum within X * the given range, Fminbr returns 'a' (if f(a) < f(b)), otherwise X * it returns the right range boundary value b. X * X * Algorithm X * G.Forsythe, M.Malcolm, C.Moler, Computer methods for mathematical X * computations. M., Mir, 1980, p.202 of the Russian edition X * X * The function makes use of the "gold section" procedure combined with X * the parabolic interpolation. X * At every step program operates three abscissae - x,v, and w. X * x - the last and the best approximation to the minimum location, X * i.e. f(x) <= f(a) or/and f(x) <= f(b) X * (if the function f has a local minimum in (a,b), then the both X * conditions are fulfiled after one or two steps). X * v,w are previous approximations to the minimum location. They may X * coincide with a, b, or x (although the algorithm tries to make all X * u, v, and w distinct). Points x, v, and w are used to construct X * interpolating parabola whose minimum will be treated as a new X * approximation to the minimum location if the former falls within X * [a,b] and reduces the range enveloping minimum more efficient than X * the gold section procedure. X * When f(x) has a second derivative positive at the minimum location X * (not coinciding with a or b) the procedure converges superlinearly X * at a rate order about 1.324 X * X ************************************************************************ X */ X #include #include X #define tol macheps() #define SQRT_EPSILON sqrt(macheps()) X LVAL fminbr() /* An estimate to the min location*/ { X LVAL f, args; X FLOTYPE a, b, x,v,w; /* Abscissae, descr. see above */ X FLOTYPE fx; /* f(x) */ X FLOTYPE fv; /* f(v) */ X FLOTYPE fw; /* f(w) */ X const FLOTYPE r = (3.-sqrt(5.0))/2; /* Gold section ratio */ X X args = xlgetarg(); X if (! fixp(args) && ! floatp(args)) X xlfail("bad arg type"); X a = (floatp(args)) ? getflonum(args) : getfixnum(args); X X args = xlgetarg(); X if (! fixp(args) && ! floatp(args)) X xlfail("bad arg type"); X b = (floatp(args)) ? getflonum(args) : getfixnum(args); X X f = xlgetarg(); X xllastarg(); X X xlsave1(args); X X if (b < a) { X x = b; X b = a; X a = x; X } X X v = a + r*(b-a); X args = consa(cvflonum(v)); /* First step - always gold section*/ X fv = getflonum(xlapply(pushargs(f, args))); X X x = v; w = v; X fx=fv; fw=fv; X X for(;;) /* Main iteration loop */ X { X FLOTYPE range = b-a; /* Range over which the minimum */ X /* is seeked for */ X FLOTYPE middle_range = (a+b)/2; X FLOTYPE tol_act = /* Actual tolerance */ X SQRT_EPSILON*fabs(x) + tol/3; X FLOTYPE new_step; /* Step at this iteration */ X X X X if( fabs(x-middle_range) + range/2 <= 2*tol_act ) { X xlpop(); X return cons(cvflonum(fx),consa(cvflonum(x))); /* Acceptable approx. is found */ X } X /* Obtain the gold section step */ X new_step = r * ( x= tol_act ) /* If x and w are distinct */ X { /* interpolatiom may be tried */ X register FLOTYPE p; /* Interpolation step is calcula-*/ X register FLOTYPE q; /* ted as p/q; division operation*/ X /* is delayed until last moment */ X register FLOTYPE t; X X t = (x-w) * (fx-fv); X q = (x-v) * (fx-fw); X p = (x-v)*q - (x-w)*t; X q = 2*(q-t); X X if( q>(FLOTYPE)0 ) /* q was calculated with the op-*/ X p = -p; /* posite sign; make q positive */ X else /* and assign possible minus to */ X q = -q; /* p */ X X if( fabs(p) < fabs(new_step*q) && /* If x+p/q falls in [a,b]*/ X p > q*(a-x+2*tol_act) && /* not too close to a and */ X p < q*(b-x-2*tol_act) ) /* b, and isn't too large */ X new_step = p/q; /* it is accepted */ X /* If p/q is too large then the */ X /* gold section procedure can */ X /* reduce [a,b] range to more */ X /* extent */ X } X X if( fabs(new_step) < tol_act ) /* Adjust the step to be not less*/ X if( new_step > (FLOTYPE)0 ) /* than tolerance */ X new_step = tol_act; X else X new_step = -tol_act; X X /* Obtain the next approximation to min */ X { /* and reduce the enveloping range */ X register FLOTYPE t = x + new_step; /* Tentative point for the min */ X register FLOTYPE ft; X rplaca(args, cvflonum(t)); X ft = getflonum(xlapply(pushargs(f, args))); X X if( ft <= fx ) X { /* t is a better approximation */ X if( t < x ) /* Reduce the range so that */ X b = x; /* t would fall within it */ X else X a = x; X X v = w; w = x; x = t; /* Assign the best approx to x */ X fv=fw; fw=fx; fx=ft; X } X else /* x remains the better approx */ X { X if( t < x ) /* Reduce the range enclosing x */ X a = t; X else X b = t; X X if( ft <= fw || w==x ) X { X v = w; w = t; X fv=fw; fw=ft; X } X else if( ft<=fv || v==x || v==w ) X { X v = t; X fv=ft; X } X } X X } /* ----- end-of-block ----- */ X } /* ===== End of loop ===== */ X } SHAR_EOF chmod 0644 fminbr.c || echo 'restore of fminbr.c failed' Wc_c="`wc -c < 'fminbr.c'`" test 6263 -eq "$Wc_c" || echo 'fminbr.c: original size 6263, current size' "$Wc_c" fi # ============= min.dat ============== if test -f 'min.dat' -a X"$1" != X"-c"; then echo 'x - skipping min.dat (File already exists)' else echo 'x - extracting min.dat (Text)' sed 's/^X//' << 'SHAR_EOF' > 'min.dat' && X For function x^3 - 2*x - 5 in [0,1] min found is at 8.164965811e-01 Min function value found -6.0887e+00 No. of iterations 12 Exact min is at 0.81650 X For function (x^3 - 2*x - 5)^2 in [2,3] min found is at 2.094551483e+00 Min function value found 2.7186e-16 No. of iterations 15 Exact root is 2.0945514815 X For function (cos(x)-x)^2 - 2 in [2,3] min found is at 2.000000048e+00 Min function value found 3.8378e+00 No. of iterations 36 X For function (cos(x)-x)^2 - 2 in [-1,3] min found is at 7.390851269e-01 Min function value found -2.0000e+00 No. of iterations 18 X For function (sin(x)-x)^2 + 1 in [-1,3] min found is at -3.815499176e-03 Min function value found 1.0000e+00 No. of iterations 60 SHAR_EOF chmod 0644 min.dat || echo 'restore of min.dat failed' Wc_c="`wc -c < 'min.dat'`" test 707 -eq "$Wc_c" || echo 'min.dat: original size 707, current size' "$Wc_c" fi # ============= mintest.lsp ============== if test -f 'mintest.lsp' -a X"$1" != X"-c"; then echo 'x - skipping mintest.lsp (File already exists)' else echo 'x - extracting mintest.lsp (Text)' sed 's/^X//' << 'SHAR_EOF' > 'mintest.lsp' && (dyn-load "./libzero.so") X (defun f1 (x) (- (* x (- (* x x) 2)) 5)) (def r (call-lfun "fminbr" 0 1 #'f1)) (format t "A min of (x^3 - 2x - 5)^2 in [0, 1] is ~g~%~%" r) X (defun f1prime (x) (^ (f1 x) 2)) (def r (call-lfun "fminbr" 2 3 #'f1prime)) (format t "A min of (x^3 - 2x - 5)^2 in [2, 3] is ~g~%~%" r) X (defun f2 (x) (- (^ (- (cos x) x) 2) 2)) (def r (call-lfun "fminbr" 2 3 #'f2)) (format t "A min of (cos(x) - x)^2-2 in [2, 3] is ~g~%~%" r) X (def r (call-lfun "fminbr" -1 3 #'f2)) (format t "A min of (cos(x) - x)^2-2 in [-1, 3] is ~g~%~%" r) X (defun f3 (x) (1+ (^ (- (sin x) x) 2))) (def r (call-lfun "fminbr" -1 3 #'f3)) (format t "A min of (sin(x) - x)^2+1 in [-1, 3] is ~g~%~%" r) X X SHAR_EOF chmod 0644 mintest.lsp || echo 'restore of mintest.lsp failed' Wc_c="`wc -c < 'mintest.lsp'`" test 694 -eq "$Wc_c" || echo 'mintest.lsp: original size 694, current size' "$Wc_c" fi # ============= zeroin.c ============== if test -f 'zeroin.c' -a X"$1" != X"-c"; then echo 'x - skipping zeroin.c (File already exists)' else echo 'x - extracting zeroin.c (Text)' sed 's/^X//' << 'SHAR_EOF' > 'zeroin.c' && /* This is Zeroin, that classic program by Forsythe et. al. Since I X need it quite often in xlisp-stat, here it is. X X Converted from the Netlib C version to xlisp by X X B. Narasimhan naras@euler.bd.psu.edu. */ X /* X ************************************************************************ X * C math library X * function ZEROIN - obtain a function zero within the given range X * X * Input X * double zeroin(ax,bx,f,tol) X * double ax; Root will be seeked for within X * double bx; a range [ax,bx] X * double (*f)(double x); Name of the function whose zero X * will be seeked for X * double tol; Acceptable tolerance for the root X * value. X * May be specified as 0.0 to cause X * the program to find the root as X * accurate as possible X * X * Output X * Zeroin returns an estimate for the root with accuracy X * 4*EPSILON*abs(x) + tol X * X * Algorithm X * G.Forsythe, M.Malcolm, C.Moler, Computer methods for mathematical X * computations. M., Mir, 1980, p.180 of the Russian edition X * X * The function makes use of the bissection procedure combined with X * the linear or quadric inverse interpolation. X * At every step program operates on three abscissae - a, b, and c. X * b - the last and the best approximation to the root X * a - the last but one approximation X * c - the last but one or even earlier approximation than a that X * 1) |f(b)| <= |f(c)| X * 2) f(b) and f(c) have opposite signs, i.e. b and c confine X * the root X * At every step Zeroin selects one of the two new approximations, the X * former being obtained by the bissection procedure and the latter X * resulting in the interpolation (if a,b, and c are all different X * the quadric interpolation is utilized, otherwise the linear one). X * If the latter (i.e. obtained by the interpolation) point is X * reasonable (i.e. lies within the current interval [b,c] not being X * too close to the boundaries) it is accepted. The bissection result X * is used in the other case. Therefore, the range of uncertainty is X * ensured to be reduced at least by the factor 1.6 X * X ************************************************************************ X */ X #include #include X #define EPSILON macheps() X LVAL zeroin() /* An estimate to the root */ { X LVAL f, args; X FLOTYPE a,b,c; /* Abscissae, descr. see above */ X FLOTYPE fa; /* f(a) */ X FLOTYPE fb; /* f(b) */ X FLOTYPE fc; /* f(c) */ X X args = xlgetarg(); X if (! fixp(args) && ! floatp(args)) X xlfail("bad arg type"); X a = (floatp(args)) ? getflonum(args) : getfixnum(args); X X args = xlgetarg(); X if (! fixp(args) && ! floatp(args)) X xlfail("bad arg type"); X b = (floatp(args)) ? getflonum(args) : getfixnum(args); X X f = xlgetarg(); X xllastarg(); X X xlsave1(args); X X args = consa(cvflonum(a)); X fa = getflonum(xlapply(pushargs(f, args))); X X rplaca(args, cvflonum(b)); X fb = getflonum(xlapply(pushargs(f, args))); X X c = a; fc = fa; X X for(;;) /* Main iteration loop */ X { X FLOTYPE prev_step = b-a; /* Distance from the last but one*/ X /* to the last approximation */ X FLOTYPE tol_act; /* Actual tolerance */ X FLOTYPE p; /* Interpolation step is calcu- */ X FLOTYPE q; /* lated in the form p/q; divi- */ X /* sion operations is delayed */ X /* until the last moment */ X FLOTYPE new_step; /* Step at this iteration */ X X if( fabs(fc) < fabs(fb) ) X { /* Swap data for b to be the */ X a = b; b = c; c = a; /* best approximation */ X fa = fb; fb = fc; fc = fa; X } X tol_act = 2*EPSILON*fabs(b); X new_step = (c-b)/2; X X if( fabs(new_step) <= tol_act || fb == (FLOTYPE)0 ) X { X xlpop(); X return cons(cvflonum(fb),args); /* Acceptable approx. is found */ X } X /* Decide if the interpolation can be tried */ X if( fabs(prev_step) >= tol_act /* If prev_step was large enough*/ X && fabs(fa) > fabs(fb) ) /* and was in true direction, */ X { /* Interpolatiom may be tried */ X register FLOTYPE t1,cb,t2; X cb = c-b; X if( a==c ) /* If we have only two distinct */ X { /* points linear interpolation */ X t1 = fb/fa; /* can only be applied */ X p = cb*t1; X q = 1.0 - t1; X } X else /* Quadric inverse interpolation*/ X { X q = fa/fc; t1 = fb/fc; t2 = fb/fa; X p = t2 * ( cb*q*(q-t1) - (b-a)*(t1-1.0) ); X q = (q-1.0) * (t1-1.0) * (t2-1.0); X } X if( p>(FLOTYPE)0 ) /* p was calculated with the op-*/ X q = -q; /* posite sign; make p positive */ X else /* and assign possible minus to */ X p = -p; /* q */ X X if( p < (0.75*cb*q-fabs(tol_act*q)/2) /* If b+p/q falls in [b,c]*/ X && p < fabs(prev_step*q/2) ) /* and isn't too large */ X new_step = p/q; /* it is accepted */ X /* If p/q is too large then the */ X /* bissection procedure can */ X /* reduce [b,c] range to more */ X /* extent */ X } X X if( fabs(new_step) < tol_act ) /* Adjust the step to be not less*/ X if( new_step > (FLOTYPE)0 ) /* than tolerance */ X new_step = tol_act; X else X new_step = -tol_act; X X a = b; fa = fb; /* Save the previous approx. */ X b += new_step; /* Do step to a new approxim. */ X rplaca(args,cvflonum(b)); X fb = getflonum(xlapply(pushargs(f, args))); X X if( (fb > 0 && fc > 0) || (fb < 0 && fc < 0) ) X { /* Adjust c for it to have a sign*/ X c = a; fc = fa; /* opposite to that of b */ X } X } X } X X X X X X X X X X X X X X SHAR_EOF chmod 0644 zeroin.c || echo 'restore of zeroin.c failed' Wc_c="`wc -c < 'zeroin.c'`" test 5516 -eq "$Wc_c" || echo 'zeroin.c: original size 5516, current size' "$Wc_c" fi # ============= zeroin.dat ============== if test -f 'zeroin.dat' -a X"$1" != X"-c"; then echo 'x - skipping zeroin.dat (File already exists)' else echo 'x - extracting zeroin.dat (Text)' sed 's/^X//' << 'SHAR_EOF' > 'zeroin.dat' && X For function x^3 - 2*x - 5 in [2,3] root is 2.094551482e+00 Function value at the root found -1.7764e-15 No. of iterations 11 Exact root is 2.0945514815 X For function cos(x)-x in [2,3] root is 2.000000000e+00 Function value at the root found -2.4161e+00 No. of iterations 52 X For function cos(x)-x in [-1,3] root is 7.390851332e-01 Function value at the root found 0.0000e+00 No. of iterations 11 X For function sin(x)-x in [-1,3] root is -1.643737357e-08 Function value at the root found 0.0000e+00 No. of iterations 58 SHAR_EOF chmod 0644 zeroin.dat || echo 'restore of zeroin.dat failed' Wc_c="`wc -c < 'zeroin.dat'`" test 527 -eq "$Wc_c" || echo 'zeroin.dat: original size 527, current size' "$Wc_c" fi # ============= zerotest.lsp ============== if test -f 'zerotest.lsp' -a X"$1" != X"-c"; then echo 'x - skipping zerotest.lsp (File already exists)' else echo 'x - extracting zerotest.lsp (Text)' sed 's/^X//' << 'SHAR_EOF' > 'zerotest.lsp' && (dyn-load "./libzero.so") X (defun f1 (x) (- (* x (- (* x x) 2)) 5)) X (def r (call-lfun "zeroin" 2 3 #'f1)) (format t "A root of x^3 - 2x - 5 in [2, 3] is ~g~%~%" r) X (defun f2 (x) (- (cos x) x)) (def r (call-lfun "zeroin" 2 3 #'f2)) (format t "A root of cos(x) - x in [2, 3] is ~g~%~%" r) X (def r (call-lfun "zeroin" -1 3 #'f2)) (format t "A root of cos(x) - x in [-1, 3] is ~g~%~%" r) X (defun f3 (x) (- (sin x) x)) (def r (call-lfun "zeroin" -1 3 #'f3)) (format t "A root of sin(x) - x in [-1, 3] is ~g~%~%" r) X X SHAR_EOF chmod 0644 zerotest.lsp || echo 'restore of zerotest.lsp failed' Wc_c="`wc -c < 'zerotest.lsp'`" test 514 -eq "$Wc_c" || echo 'zerotest.lsp: original size 514, current size' "$Wc_c" fi exit 0 From owner-SL-news Thu Sep 1 02:21:49 1994 Resent-Date: Thu, 1 Sep 94 9:19:10 METDST Resent-From: owner-SL-news Resent-Message-Id: <199409010721.AA18597@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 1 Sep 1994 02:21:49 -0500 Message-Id: <199409010721.AA18590@umnstat.stat.umn.edu> Received: from halley.upf.es by umnstat.stat.umn.edu; Thu, 1 Sep 1994 02:21:43 -0500 Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA00913; Thu, 1 Sep 94 09:27:27 +0200 Received: by libiya.upf.es (1.37.109.4/15.6) id AA08124; Thu, 1 Sep 94 09:19:11 +0200 From: Frederic Udina Subject: glim routines To: stat-lisp-news@umnstat (lisp stat list) Date: Thu, 1 Sep 94 9:19:10 METDST Mailer: Elm [revision: 70.85] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina This is not a lisp question. Does someone know where to find (or has) routines for solving Generalized Linear Models (a la GLIM) in C? -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | Universitat Pompeu Fabra | voice: 34 - 3 - 542 17 56 Balmes 132 | fax: 34 - 3 - 542 17 46 08008 Barcelona | e-mail: udina@upf.es SPAIN | appleLink: spa0172 ___________________________________/_\_________________________________ From owner-SL-news Thu Sep 1 15:27:05 1994 Resent-Date: Thu, 1 Sep 1994 19:27:05 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199409012327.AA22164@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 1 Sep 1994 18:27:20 -0500 Received: from virginia.edu (uvaarpa.Virginia.EDU) by umnstat.stat.umn.edu; Thu, 1 Sep 1994 18:27:17 -0500 Received: from elvis.med.virginia.edu by uvaarpa.virginia.edu id aa27419; 1 Sep 94 19:27 EDT Received: by elvis.med.Virginia.EDU (5.65c/1.34) id AA14681; Thu, 1 Sep 1994 19:27:15 -0400 Newsgroups: comp.lang.lisp.x Date: Thu, 1 Sep 1994 19:27:05 -0400 (EDT) From: "Steven D. Majewski" X-Sender: sdm7g@elvis.med.Virginia.EDU To: Xlisp List Subject: xlispstat-3-37 vs 2.1R2 compatability Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Steven D. Majewski" I just built xlispstat-3-37 on IBM RS/6000-AIX 3.2.5 Neither CC=cc or CC=gcc built without error, but CC=bsdcc did. ( "bsdcc" is not a in the xlc distribution, but the bsdcc profile is listed in the porting hints in infoexplorer xlc docs. ) With that it appears to work. Loading tests/test gets one math error ( which is documented as not abnormal ), and some of the Examples ( tourdemo and some others ) work. I tried to load and run some of my 2.1R2 code. The first incompatability was easy to catch: The changes doc says that packages are now supported. I had "faked" it with a variable name containing a colon. One other previously working piece of code still gives me an error (sometimes): ( defun multi-plot ( &rest ys &key ( title "multi-plot" ) ) ( let* (( y ( car ys )) ( x ( iseq 1 ( length y ))) ( colors ( remove 'white ( remove 'black (color-symbols) ))) ( p ( plot-lines x y :title title :width 2 :color ( car colors ))) ( junk ( send p :reverse-colors ) ) ( i 0 ) ( c Nil )) ( print p ) ( dolist ( y ( cdr ys )) ( setq i ( + i 1 )) ( setq c ( elt colors ( mod i ( length colors )))) ( if ( not ( = (length x) (length y))) ( setq y ( iseq 1 ( length y )))) ( send p :add-lines x y :color c :width 2 )) ( send p :adjust-to-data ) p )) > ( setq x ( iseq 20 )) ; *ONE* argument doesn't work > ( multi-plot x ) Error: keyword value missing Happened in: # ; but *TWO* arguments does work and produces a correct two line plot > ( multi-plot x x ) # # ; Three arguments doesn't work... > ( multi-plot x x x ) Error: keyword value missing Happened in: # ; and this one gives and error message ; but the window appears with the proper window title "test" > ( multi-plot x x :title "test" ) # Error: bad argument type - :TITLE Happened in: # > I note that ( help 'defun ) doesn't list a &key argument in either version, but it DID work previously. ( There were a few other descrepancies between the doc's and the actual behaviour, so I thought that was just another. ) Has it been changed so that it no longer supports &key ? (Is there another way to do keyword args ? ) - Steve Majewski (804-982-0831) - UVA Department of Molecular Physiology and Biol Received: by umnstat.stat.umn.edu; Thu, 1 Sep 1994 18:36:16 -0500 Received: from virginia.edu (uvaarpa.Virginia.EDU) by umnstat.stat.umn.edu; Thu, 1 Sep 1994 18:36:13 -0500 Received: from elvis.med.virginia.edu by uvaarpa.virginia.edu id aa28227; 1 Sep 94 19:36 EDT Received: by elvis.med.Virginia.EDU (5.65c/1.34) id AA14703; Thu, 1 Sep 1994 19:35:58 -0400 Newsgroups: comp.lang.lisp.x Date: Thu, 1 Sep 1994 19:35:52 -0400 (EDT) From: "Steven D. Majewski" X-Sender: sdm7g@elvis.med.Virginia.EDU To: Xlisp List Subject: DEFCLASS vs DEFPROTO / ( xlisp vs xlisp-stat ? ) Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Steven D. Majewski" xlispstat online help or apropos documents a DEFPROTO but not a DEFCLASS. ( it also has no defclass ) The xlisp 2.1g manual documents a DEFCLASS but not a DEFPROTO. Why? Is this an undocumented change to xlisp ? or is this a change introduced by xlispstat ? ( and why? ) And what are the differences? - Steve Majewski (804-982-0831) - UVA Department of Molecular Physiology and Biological Physics From owner-SL-news Fri Sep 2 08:33:54 1994 Resent-Date: Fri, 2 Sep 1994 12:33:54 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199409021634.AA25605@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 2 Sep 1994 11:34:18 -0500 Received: from virginia.edu (uvaarpa.Virginia.EDU) by umnstat.stat.umn.edu; Fri, 2 Sep 1994 11:34:13 -0500 Received: from elvis.med.virginia.edu by uvaarpa.virginia.edu id aa13580; 2 Sep 94 12:34 EDT Received: by elvis.med.Virginia.EDU (5.65c/1.34) id AA21039; Fri, 2 Sep 1994 12:34:06 -0400 Newsgroups: comp.lang.lisp.x Date: Fri, 2 Sep 1994 12:33:54 -0400 (EDT) From: "Steven D. Majewski" X-Sender: sdm7g@elvis.med.Virginia.EDU To: Chris Riesbeck Cc: Xlisp List Subject: Re: xlispstat-3-37 vs 2.1R2 compatability In-Reply-To: <9409021424.AA23659@lyonesse.ils.nwu.edu> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Steven D. Majewski" Chris Riesbeck pointed out to me: > > If "correct" is defined to mean "like Common Lisp," then it looks like > xlispstat has moved partially towards correct. > I pulled out some examples from Steele:CLtL 5.2.2, and it does now appear to be Common Lisp conformant in what it accepts. > > xlispstat should complain about *all* your example calls. The fact > that it's accepting some may be handy for you right now, but sure to > disappear as xlispstat is updated. xlisp2.1g, the most recent xlisp > base, behaves like Common Lisp. > But what threw me off was that it is not completely conformant in what it doesn't reject ( as Chris points out above! ) As the previous set of "rules" my old code was based on were experimentally inferred, I'm glad to see it moving towards closer conformance with Common Lisp in this and many other respects. ( i.e. It's worth having to fix my code, in the long run. ) xlispstat-3.37 *is* based on xlisp2.1g BTW. | XLISP-PLUS version 2.1g | Portions Copyright (c) 1988, by David Betz. | Modified by Thomas Almy and others. | XLISP-STAT 2.1 Release 3.37 (Beta). | Copyright (c) 1989-1994, by Luke Tierney. [Bret Musser was also nice enough to recode my example in a cleaner style. Thanks - my Lisp is a bit rusty! ] - Steve Majewski (804-982-0831) - UVA Department of Molecular Physiology and Biological Physics From owner-SL-news Fri Sep 2 07:46:25 1994 Resent-Date: Fri, 2 Sep 94 12:46:25 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199409021658.AA25739@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 2 Sep 1994 11:58:25 -0500 Received: from cfr32.cfr.nist.gov by umnstat.stat.umn.edu; Fri, 2 Sep 1994 11:58:22 -0500 Received: by cfr32.cfr.nist.gov (NX5.67c/NX3.0M1) id AA03449; Fri, 2 Sep 94 12:46:25 -0500 Date: Fri, 2 Sep 94 12:46:25 -0500 From: Richard L. Smith Message-Id: <9409021746.AA03449@cfr32.cfr.nist.gov> Received: by NeXT.Mailer (1.87.1) Received: by NeXT Mailer (1.87.1) To: stat-lisp-news@umnstat Subject: please remove me form mailing list Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Richard L. Smith Please remove me form your mailing list. --- Richard L. Smith Bldg. 224 Rm B356 National Institute of Standards and Technology Gaithersburg, MD 20899 USA (301) 975-6870 rlsmith@NIST.gov FAX (301) 975-4052 From owner-SL-news Fri Sep 2 09:32:10 1994 Resent-Date: Fri, 2 Sep 1994 14:32:10 -0500 Resent-From: owner-SL-news Resent-Message-Id: <199409021834.AA26202@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 2 Sep 1994 13:34:17 -0500 Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu; Fri, 2 Sep 1994 13:34:12 -0500 Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id OAA08700; Fri, 2 Sep 1994 14:33:58 -0400 Message-Id: <199409021833.OAA08700@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Fri, 2 Sep 1994 14:32:10 -0500 To: stat-lisp-news@umnstat From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: Problems with ViSta for Unix Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) The following problems exist for ViSta running with LispStat under Unix: 1) The file vista.lsp contained in the folder vista must be renamed to ViSta.lsp. 2) (show-xlisp-stat) and (show-toolbar) must be removed from prefs.lsp (this leaves prefs.lsp empty of code). 3) For versions of LispStat starting with 3.26 and higher: In vismenus.lsp, the reference to make-fake-menu-bar and *fake-menu-bar* must be changed to xlisp::make-fake-menu-bar and xlisp::*fake-menu-bar*. This must NOT be done with versions of LispStat prior to 3.26. 4) Help is not formatted properly (lines are too long). 5) GuideMaps do not work because many file names were changed to all lower case when they were loaded onto ftp.stat.ucla.edu. 6) Files with long pathnames are difficult to enter because the open file dialog doesn't resize and doesn't scroll left when typing past the end (an unfortunate xlisp feature under some implementations of Unix). 7) X-Windows come up with a "Menu" button which has no function. 8) Under some versions of X-Windows code to determine window placement is ignored. For XLisp-Plus (version 3.26 and higher) on all platforms the code cannot be successfully compiled (it was written before there was a compiler). The first 5 problems will be corrected in the next release, and I will work on the compilation problems (no promisses). Anyone willing to work on problems 6, 7 or 8? There seem to be no problems on the Mac or under MS-Windows, other than the code not be compilable. Thanks to several of you (particularly Harvey J. Stein) for helping to locate these problems. ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From owner-SL-news Fri Sep 2 12:50:34 1994 Resent-Date: Fri, 02 Sep 94 19:50:34 -0700 Resent-From: owner-SL-news Resent-Message-Id: <199409030250.AA28007@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 2 Sep 1994 21:50:19 -0500 Received: from netcom7.netcom.com by umnstat.stat.umn.edu; Fri, 2 Sep 1994 21:50:15 -0500 Received: from localhost by netcom7.netcom.com (8.6.8.1/Netcom) id TAA08058; Fri, 2 Sep 1994 19:50:34 -0700 Message-Id: <199409030250.TAA08058@netcom7.netcom.com> To: "Steven D. Majewski" Cc: stat-lisp-news@umnstat Subject: Re: DEFCLASS vs DEFPROTO / ( xlisp vs xlisp-stat ? ) In-Reply-To: Your message of "Thu, 01 Sep 94 19:35:52 EDT." Date: Fri, 02 Sep 94 19:50:34 -0700 From: "Niels P. Mayer" Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Niels P. Mayer" > xlispstat online help or apropos documents a DEFPROTO but not > a DEFCLASS. ( it also has no defclass ) > > The xlisp 2.1g manual documents a DEFCLASS but not a DEFPROTO. > > Why? > Is this an undocumented change to xlisp ? At least in the version of XLISP-PLUS I'm using in WINTERP 2.0 (see http://www.eit.com/software/winterp/winterp.html), DEFCLASS, and DEFMETHOD are defined in "classes.lsp" -- these macros are not built-in primitives in XLISP-PLUS. If xlispstat's object system is backwards- compatible with XLISP-PLUS, then hopefully "classes.lsp" will work there too. DEFPROTO is an xlispstat-only extension to the XLISP object system. XLISP's object system is your typical class/instance object system, whereas xlispstat's supports a "prototype-based" object model. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= = Niels Mayer ..... mayer@eit.com .... http://www.eit.com/people/mayer.html = = Multimedia Engineering Collaboration Environment (MM authoring for WWW) = = Enterprise Integration Technologies, 800 El Camino Real, Menlo Park, CA = =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From owner-SL-news Fri Sep 2 16:05:33 1994 Resent-Date: Fri, 2 Sep 1994 23:05:33 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409030605.AA28642@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 3 Sep 1994 01:05:44 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 3 Sep 1994 01:05:37 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA22193; Fri, 2 Sep 94 23:05:35 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA24264; Fri, 2 Sep 94 23:05:33 PDT From: Jan Deleeuw Message-Id: <9409030605.AA24264@galton.math.ucla.edu> Subject: More smoothing To: stat-lisp-news@umnstat (Xlisp List) Date: Fri, 2 Sep 1994 23:05:33 -0700 (PDT) Cc: ucla-stat@math.ucla.edu (ucla-stat mailing list) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 5427 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Here are some useful interpolating splines. ------------------- snip snip ------------- snip snip ------------------ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Regularized bivariate splines with smoothing and tension according to ;; Mitasova and Mitas (Mathematical Geology, 25, 1993, 641-669) ;; are computed. This is the interpolation method s.surf.tps in ;; GRASS 4.1. Programmed in Xlisp-Stat by Jan de Leeuw, UCLA Statistics, ;; September 2, 1994. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defconstant euler .577215664901532860606512) (defun thin-plate-spline (x y z &key (tension .05) (smoothing 0)) "Args: (x y z &key (tension .05) (smoothing 0)) Thin-plate spline with smoothing and tension. Matrix X has sampled points in two dimensions, vector Z has corresponding function values. Matrix Y has points where we want to interpolate. TENSION and SMOOTHING are parameters regulating the smooth." (let* ( (nn (length z)) (rn (repeat 1 nn)) (ez (transpose (make-array (list 2 nn) :initial-contents (list rn (coerce z 'list))))) (tt (/ (^ tension 2) 4)) (dd (set-diagonal (* tt (dist-matrix x x)) 1)) (ee (set-diagonal (+ euler (log dd) (expo-integral dd)) (- smoothing))) (aa (column-list (solve ee ez))) (ai (/ (sum (second aa)) (sum (first aa)))) (bb (- (* ai (first aa)) (second aa))) (de (* tt (dist-matrix x y))) (fe (+ euler (log de) (expo-integral de))) ) (- ai (matmult bb fe)) )) (defun cross-thin-plate (x z &key (tension .05) (smoothing 0)) "Args: (x z &key (tension .05) (smoothing 0)) Cross-validatory evaluation of thin-plate smoothing spline. Matrix X contains sampled points, vector Z has function values. Each of the function values is predicted using the delete-one method, and the prediction-error sum of squares is returned." (let* ( (nn (length z)) (in (iseq nn)) (ss 0) ) (dotimes (i nn ss) (let* ( (im (remove i in)) (zz (thin-plate-spline (select x im (iseq 2)) (select x (list i) (iseq 2)) (select z im) :tension tension :smoothing smoothing)) ) (setf ss (+ ss (sum (^ (- zz (select z i)) 2)))) )))) (defun func-thin-plate (x z &key (tension .05) (smoothing 0) (eps .1) (nu 6) (nv 6)) "Args: (x z &key (tension .05) (smoothing 0) (eps .1) (nu 6) (nv 6)) Draws interpolating function using thin-plate spline. Actually NU * NV interpolating points are formed, and the usual Xlisp-Stat interpolating spline is drawn through these points." (let* ( (ax (column-list x)) (u+ (+ (max (first ax)) eps)) (u- (- (min (first ax)) eps)) (v+ (+ (max (second ax)) eps)) (v- (- (min (second ax)) eps)) (ru (rseq u- u+ nu)) (rv (rseq v- v+ nv)) (hh (make-pairs ru rv)) (sp (spin-plot (list (first ax) (second ax) z))) (vv (thin-plate-spline x hh z :tension tension :smoothing smoothing)) ) (send sp :add-surface ru rv (make-array (list nu nv) :displaced-to vv)) )) (defun dist-matrix (x y) "Args (x y) Computes matrix of squared Euclidean distances between rows of the matrices X and Y." (let ( (c (matmult x (transpose y))) (d (row-sums (^ x 2))) (e (row-sums (^ y 2))) ) (- (outer-product d e #'+) (* 2 c)) )) (defun expo-integral (x) "Args: (x) Exponential integral for argument X." (if (< x 1) (expo-integral-1 x) (expo-integral-2 x))) (defun expo-integral-1 (x) "Args: (x) Exponential integral for 0 < X < 1. Uses polynomial approximation." (let ( (a0 -.57721566) (a1 .99999193) (a2 -.24991055) (a3 .05519968) (a4 -.00976004) (a5 .00107857) ) (- (+ a0 (* x (+ a1 (* x (+ a2 (* x (+ a3 (* x (+ a4 (* x a5)))))))))) (log x)) )) (defun expo-integral-2 (x) "Args: (x) Exponential integral for X >= 1. Uses rational approximation." (let ( (a1 8.5733278401) (a2 18.0590169730) (a3 8.6347608925) (a4 .2677737343) (b1 9.5733223454) (b2 25.6329561486) (b3 21.0996530827) (b4 3.9584969228) ) (/ (/ (+ a4 (* x (+ a3 (* x (+ a2 (* x a1)))))) (+ b4 (* x (+ b3 (* x (+ b2 (* x b1))))))) (* x (exp x))) )) (defun row-sums (x) "Args: (x) Returns row sums of matrix X." (mapcar #'sum (row-list x))) (defun set-diagonal (x a) "Args: (x a) Sets all diagonal elements of the square matrix X equal to a." (let ( (n (first (array-dimensions x))) ) (+ (- x (diagonal (diagonal x))) (diagonal (repeat a n))) )) (defun make-pairs (x y) "Args: (x y) Suppose X and Y are sequences of length nx and ny. Makes an nx*ny by 2 matrix containing all ordered pairs." (let* ( (nx (length x)) (ny (length y)) (nn (* nx ny)) (ry (repeat y nx)) (rx (combine (mapcar #'(lambda (z) (repeat z ny)) x))) ) (transpose (make-array (list 2 nn) :initial-contents (list rx ry))) )) -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Fri Sep 2 16:31:06 1994 Resent-Date: Fri, 2 Sep 1994 23:31:06 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409030631.AA28758@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 3 Sep 1994 01:31:14 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 3 Sep 1994 01:31:11 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA22298; Fri, 2 Sep 94 23:31:09 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA24333; Fri, 2 Sep 94 23:31:06 PDT From: Jan Deleeuw Message-Id: <9409030631.AA24333@galton.math.ucla.edu> Subject: dismay ! To: stat-lisp-news@umnstat (Xlisp List) Date: Fri, 2 Sep 1994 23:31:06 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 857 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw I noticed that the directory ~/pub/lisp/xlisp/xlisp-stat/homegrown/bootstrap has not been updated for a long time. This is unfortunate, because we now have routines for basically everything in Efron and Tibshirani, for the balanced bootstrap, and for the stratified and clustered sampling with and without replacement bootstraps by Sitter. They are there now (and in the corresponding gopher and www directories). There are also some demo's, which can be used for teaching, perhaps. Observe that three new directories in ~/pub/lisp/xlisp/xlisp-stat/homegrown/ are impute, mcmc, and smoothers. Watch them closely. Same for tables. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From kupermaj@tardis.union.edu Wed Sep 7 10:35:43 1994 Received: from tardis.union.edu by umnstat.stat.umn.edu; Wed, 7 Sep 1994 21:16:19 -0500 Received: by tardis.union.edu id AA25695 (5.65c+/IDA-1.4.4 for sl-news-list@umnstat.stat.umn.edu); Wed, 7 Sep 1994 14:35:44 -0400 From: Joshua Kuperman Message-Id: <199409071835.AA25695@tardis.union.edu> Subject: Re: UCLA archives To: deleeuw@math.ucla.edu (Jan Deleeuw) Date: Wed, 7 Sep 1994 14:35:43 -0400 (EDT) Cc: sl-news-list@umnstat In-Reply-To: <9408311558.AA10277@galton.math.ucla.edu> from "Jan Deleeuw" at Aug 31, 94 08:58:36 am X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 486 I downloaded two versions of xlisp-stat from the UCLA archive, one had 00 in the name and one didn't. They both seem to work quite nicely on my Mac (quadra 660av). How can I tell which one is the right version to be using. They've both been de-binhexed and the only difference I find with the get info is the size of the two programs. At least for anything I've asked either to do their performance is identical. -- Josh Kuperman kupermaj@tardis.union.edu From owner-SL-news Thu Sep 8 06:37:59 1994 Resent-Date: Thu, 8 Sep 94 10:37:59 EDT Resent-From: owner-SL-news Resent-Message-Id: <199409081503.AA06788@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Sep 1994 10:03:33 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Thu, 8 Sep 1994 10:02:17 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA11470; Thu, 8 Sep 94 11:02:03 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA20268; Thu, 8 Sep 94 10:38:01 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA19404; Thu, 8 Sep 94 10:37:59 EDT Date: Thu, 8 Sep 94 10:37:59 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409081437.AA19404@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Solving simultaneous eqns. Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) How does one go about solving a set of simultaneous equations in XLS? I want to fit the Bradley-Terry model to some data and want to solve the k-1 equations for i=1,2,...k-1 [sum(over i,j) f(ij) / p(i)] - [n sum(over j /=i) 1/(p(i)+p(j)]=0 where f(ij) is the freq. of i preferred over j, ie the data, and the p's are the parameters to fit. Now I know that this model can be fit using the GLIM functions written in XLS, but I would like to fit the above model and also an unequal n version. If anyone can conveniently tell me how to do this (hints) or has any references for this type of basic math programming using XLS then I'd sure appreciate it. I have settled on XLS as my programming language of choice and am exploring capabilities. Thanks! Jeffrey D. Morris Kodak Research Labs morris@kodak.com From owner-SL-news Thu Sep 8 06:24:46 1994 Resent-Date: Thu, 8 Sep 94 10:24:46 EDT Resent-From: owner-SL-news Resent-Message-Id: <199409081547.AA07020@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Sep 1994 10:47:46 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Thu, 8 Sep 1994 10:47:26 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA13050; Thu, 8 Sep 94 11:47:31 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA20243; Thu, 8 Sep 94 10:24:48 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA19401; Thu, 8 Sep 94 10:24:46 EDT Date: Thu, 8 Sep 94 10:24:46 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409081424.AA19401@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: ftp site Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Just curious, but what is up with umnstat.stat.umn.edu? Been logging on regularly waiting for ver 3.39 and suddenly yesterday, there were no directories. Hope this isn't a problem. Jeffrey D. Morris Kodak Research Labs morris@kodak.com From bjm Thu Sep 8 06:17:29 1994 Resent-Date: Thu, 08 Sep 94 11:17:29 -0500 Resent-Message-Id: <199409081617.AA07233@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Sep 1994 11:17:36 -0500 Message-Id: <199409081617.AA07224@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 8 Sep 1994 11:17:32 -0500 To: luh700@gosset.kodak.com Cc: stat-lisp-news@umnstat Subject: Re: ftp site In-Reply-To: Your message of "Thu, 08 Sep 94 10:24:46 EDT." <9409081424.AA19401@gosset.kodak.com> Date: Thu, 08 Sep 94 11:17:29 -0500 From: "Bret J. Musser" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Bret J. Musser" In message <9409081424.AA19401@gosset.kodak.com> you wrote: > >Just curious, but what is up with umnstat.stat.umn.edu? Been >logging on regularly waiting for ver 3.39 and suddenly yesterday, >there were no directories. Hope this isn't a problem. Yes, there is a problem with anonymous ftp at umnstat. We're having server problems right now and anonymous ftp had to be taken off-line for the time being. It will be back up as soon as we transfer the anonymous ftp files to another machine, but we have no firm time estimate on that. Bret Musser bjm@stat.umn.edu From bjm Sat Sep 10 17:52:58 1994 Resent-Date: Sat, 10 Sep 1994 22:52:58 -0500 Resent-Message-Id: <199409110353.AA14852@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 10 Sep 1994 22:53:01 -0500 Date: Sat, 10 Sep 1994 22:52:58 -0500 From: "Bret J. Musser" Message-Id: <199409110352.AA14845@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 10 Sep 1994 22:52:58 -0500 To: lisp-stat-news Subject: umnstat.stat.umn.edu back up Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Bret J. Musser" The anonymous ftp server at umnstat.stat.umn.edu is partially back up. The xlispstat and macanova archives have been restored. There will be additions to both of these in the near future. Bret Musser bjm@stat.umn.edu From owner-SL-news Wed Sep 14 06:48:07 1994 Resent-Date: Wed, 14 Sep 94 10:48:07 EDT Resent-From: owner-SL-news Resent-Message-Id: <199409141442.AA05852@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 14 Sep 1994 09:42:20 -0500 Received: from mail-relay1.cis.yale.edu by umnstat.stat.umn.edu; Wed, 14 Sep 1994 09:42:16 -0500 Received: from ZEUS.PSYCH.YALE.EDU by mail-relay1.cis.yale.edu with SMTP id AA05707 (5.67a/IDA-1.5 for ); Wed, 14 Sep 1994 10:40:53 -0400 Received: by ZEUS.PSYCH.YALE.EDU (4.1/SMI-4.1) id AA15697; Wed, 14 Sep 94 10:48:07 EDT Date: Wed, 14 Sep 94 10:48:07 EDT From: joe@Zeus.Psych.Yale.EDU (Joe Goulet) Message-Id: <9409141448.AA15697@ZEUS.PSYCH.YALE.EDU> To: lisp-stat-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: joe@Zeus.Psych.Yale.EDU (Joe Goulet) SUBSCRIBE From luke Wed Sep 14 05:09:43 1994 Resent-Date: Wed, 14 Sep 1994 10:09:43 -0500 Resent-Message-Id: <199409141509.AA24591@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 14 Sep 1994 10:09:45 -0500 Date: Wed, 14 Sep 1994 10:09:43 -0500 From: "Luke Tierney" Message-Id: <199409141509.AA24583@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 14 Sep 1994 10:09:43 -0500 To: stat-lisp-news Subject: xlispstat 3.39 for UNIX, Macintosh and MS Windows is now available. Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" XLISP-STAT Release 3.39 for UNIX systems, Macintosh and MS Windows is now available for anonymous ftp from umnstat.stat.umn.edu (128.101.51.1). The sources for all versions are in pub/xlispstat/xlispstat-3-39.tar.gz This a tar archive compressed with the GNU gzip compression utility. Once you have retrieved the file you can extract the sources with gzip -cd | tar xvf - The Macintosh and MS Windows distributions are in the directories pub/xlispstat/macintosh and pub/xlispstat/mswin. README files in those directories give further details. This is a beta realease -- some things are still in flux, others have not been extensively tested. Please let me know if you run into any problems. Changes from 3.37 include Fixed bug in dynamic loading callback code. Incorporation of Macintosh and Windows code. Addition of set-working-directory and get-working-directory functions. Workaround for bug in Linux IEEE NaN handling. Fix for bug in dynamic call-cfun/call-lfun code. Rearranged files in library directory; eliminated copying of .fsl files already in the saved workspace. Added file-write-date, rename-file. Added pathname functions. Changed compile-file to use pathname functions; also now writes to a temporary file and renames after successful compilation. Modified load command to check modification dates of .fsl and .lsp files. Luke Tierney School of Statistics University of Minnesota Minneapolis, MN 55455 luke@stat.umn.edu From owner-SL-news Wed Sep 14 11:34:58 1994 Resent-Date: Wed, 14 Sep 1994 18:34:58 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409150135.AA09106@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 14 Sep 1994 20:35:10 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Wed, 14 Sep 1994 20:35:04 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA13535; Wed, 14 Sep 94 18:34:59 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA06483; Wed, 14 Sep 94 18:34:58 PDT From: Jan Deleeuw Message-Id: <9409150134.AA06483@galton.math.ucla.edu> Subject: ftp/gopher/www.stat.ucla.edu To: stat-lisp-news@umnstat (Xlisp List) Date: Wed, 14 Sep 1994 18:34:58 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 481 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw The xlisp (including xlisp-plus, winterp, xlisp-stat) directories on ftp.stat.ucla.edu (or gopher.stat.ucla.edu or www.stat.ucla.edu) have been reorganized, and updated to some extent. You can get an idea by looking at the file ls-lR in ~/pub/lisp/xlisp --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From luke Thu Sep 15 04:33:44 1994 Resent-Date: Thu, 15 Sep 1994 09:33:44 -0500 Resent-Message-Id: <199409151433.AA27571@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 15 Sep 1994 09:33:47 -0500 Date: Thu, 15 Sep 1994 09:33:44 -0500 From: "Luke Tierney" Message-Id: <199409151433.AA27563@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 15 Sep 1994 09:33:44 -0500 To: stat-lisp-news Subject: New MS Windows archive file for xlispstat release 3.39 Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" The archie file I made available yesterday apparently got corrupted during the upload. I have replaced it with a new one. Sorry about that. luke From rlenth@stat.uiowa.edu Fri Sep 16 07:12:23 1994 Received: from ns-mx.uiowa.edu by umnstat.stat.umn.edu; Fri, 16 Sep 1994 12:13:52 -0500 Received: from stat.uiowa.edu by ns-mx.uiowa.edu (8.6.8.2/19940322) on Fri, 16 Sep 1994 12:13:50 -0500 id MAA06905 with SMTP Received: from nuthatch.uiowa.edu by stat.uiowa.edu (4.1/SMI-4.1) id AA22788; Fri, 16 Sep 94 12:12:23 CDT Date: Fri, 16 Sep 94 12:12:23 CDT From: rlenth@stat.uiowa.edu (Russ Lenth) Message-Id: <9409161712.AA22788@ stat.uiowa.edu> To: SL-news-list@umnstat Subject: formatting a list I'm puzzling over how to format a list of numbers so that they all come out looking nice. Here are my failures (SunOS 4.1, xlisp-stat 2.1 Release 3-39)... > (format nil "~,4g" (list .1234567 .10765)) "(0.12345670000000000255 0.10764999999999999569)" > (map-elements #'(lambda(u) (format nil "~,4g" u)) (list .1234567 12.5647)) ("0.1235" "12.56") > (map-elements #'(lambda(u) (read (make-string-input-stream (format nil "~,4g" u)))) (list .1234567 12.5647)) (0.12349999999999999867 12.56000000000000049738) The last method always seemed to work fine in xlisp-stat version 2.1R2; I've only run into problems with the newer releases. I've had the same experiences with the latest HPUX and MS-Windows versions too. Can anyone suggest a fix? Thanks in advance, ------------------------------------------------ --------------, Russ Lenth rlenth@stat.uiowa.edu \ ) Department of Statistics | \_ "The Athens and Actuarial Science Tel: (319)335-0814 \ Iowa City \ of the The University of Iowa FAX: (319)335-3017 \ * _/ Midwest" Iowa City, IA 52242 USA CW: *= * ====== *=* | / ------------------------------------------------ ----------v From owner-SL-news Mon Sep 19 07:38:07 1994 Resent-Date: Mon, 19 Sep 94 11:38:07 EDT Resent-From: owner-SL-news Resent-Message-Id: <199409191549.AA29303@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:49:01 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:48:40 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA17220; Mon, 19 Sep 94 11:48:38 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA22690; Mon, 19 Sep 94 11:38:09 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA01092; Mon, 19 Sep 94 11:38:07 EDT Date: Mon, 19 Sep 94 11:38:07 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409191538.AA01092@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Missing values Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I seem to remember reading somewhere that the new version of XLS, 3.39 would be able to handle missing values in lists, vectors, matrices. Is this true and if so, what is the symbol to designate a missing value? Thanks in advance. Jeffrey D. Morris, Ph.D. Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From luke Mon Sep 19 06:14:09 1994 Resent-Date: Mon, 19 Sep 94 11:14:09 CDT Resent-Message-Id: <199409191614.AA08975@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:20 -0500 From: "Luke Tierney" Message-Id: <199409191614.AA08968@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:10 -0500 Subject: Re: Missing values To: luh700@gosset.kodak.com Date: Mon, 19 Sep 94 11:14:09 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9409191538.AA01092@gosset.kodak.com>; from "Jeffrey D. Morris" at Sep 19, 94 11:38 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > > I seem to remember reading somewhere that the new > version of XLS, 3.39 would be able to handle missing > values in lists, vectors, matrices. Is this true and > if so, what is the symbol to designate a missing value? > > Thanks in advance. > > Jeffrey D. Morris, Ph.D. > Applied Math and Statistics > Kodak Research Labs > Rochester, NY 14650-2205 > morris@kodak.com > > The only change related to missing values has to do with the handling of nonnumerical data in graphs. Here is the relevant section throm changes.tex: \subsection{Missing and Non-Numerical Data in Graphs} It is now possible to give plotting functions data sequences that contain non-numerical values, such as missing value codes. Points with one or more non-numerical coordinates are marked internally as masked. This means they are not drawn and are not considered for the calculation of scaling information. Any non-numerical lisp item can be used as a missing data code, but \NIL\ should be avoided since it also represents the empty list and can cause confusion in vectorized operations. luke From luke Mon Sep 19 06:14:09 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:34 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4A-00041PC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18920 for ; Mon, 19 Sep 1994 09:25:42 -0700 Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA05535; Mon, 19 Sep 1994 11:17:24 -0500 Resent-Date: Mon, 19 Sep 94 11:14:09 CDT Resent-Message-Id: <199409191614.AA08975@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:20 -0500 From: "Luke Tierney" Message-Id: <199409191614.AA08968@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:10 -0500 Subject: Re: Missing values To: luh700@gosset.kodak.com Date: Mon, 19 Sep 94 11:14:09 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9409191538.AA01092@gosset.kodak.com>; from "Jeffrey D. Morris" at Sep 19, 94 11:38 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > > I seem to remember reading somewhere that the new > version of XLS, 3.39 would be able to handle missing > values in lists, vectors, matrices. Is this true and > if so, what is the symbol to designate a missing value? > > Thanks in advance. > > Jeffrey D. Morris, Ph.D. > Applied Math and Statistics > Kodak Research Labs > Rochester, NY 14650-2205 > morris@kodak.com > > The only change related to missing values has to do with the handling of nonnumerical data in graphs. Here is the relevant section throm changes.tex: \subsection{Missing and Non-Numerical Data in Graphs} It is now possible to give plotting functions data sequences that contain non-numerical values, such as missing value codes. Points with one or more non-numerical coordinates are marked internally as masked. This means they are not drawn and are not considered for the calculation of scaling information. Any non-numerical lisp item can be used as a missing data code, but \NIL\ should be avoided since it also represents the empty list and can cause confusion in vectorized operations. luke From owner-SL-news Mon Sep 19 07:38:07 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:46 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:37 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4S-00041RC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18691 for ; Mon, 19 Sep 1994 09:04:41 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA05152; Mon, 19 Sep 1994 10:53:37 -0500 Resent-Date: Mon, 19 Sep 94 11:38:07 EDT Resent-Message-Id: <199409191549.AA29303@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:49:01 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:48:40 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA17220; Mon, 19 Sep 94 11:48:38 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA22690; Mon, 19 Sep 94 11:38:09 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA01092; Mon, 19 Sep 94 11:38:07 EDT Date: Mon, 19 Sep 94 11:38:07 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409191538.AA01092@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Missing values Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I seem to remember reading somewhere that the new version of XLS, 3.39 would be able to handle missing values in lists, vectors, matrices. Is this true and if so, what is the symbol to designate a missing value? Thanks in advance. Jeffrey D. Morris, Ph.D. Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From luke Mon Sep 19 06:14:09 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:45 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:19 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsc2-00040hC; Mon, 19 Sep 94 16:59 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11161; Mon, 19 Sep 1994 18:56:15 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:34 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4A-00041PC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18920 for ; Mon, 19 Sep 1994 09:25:42 -0700 Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA05535; Mon, 19 Sep 1994 11:17:24 -0500 Resent-Date: Mon, 19 Sep 94 11:14:09 CDT Resent-Message-Id: <199409191614.AA08975@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:20 -0500 From: "Luke Tierney" Message-Id: <199409191614.AA08968@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:10 -0500 Subject: Re: Missing values To: luh700@gosset.kodak.com Date: Mon, 19 Sep 94 11:14:09 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9409191538.AA01092@gosset.kodak.com>; from "Jeffrey D. Morris" at Sep 19, 94 11:38 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > > I seem to remember reading somewhere that the new > version of XLS, 3.39 would be able to handle missing > values in lists, vectors, matrices. Is this true and > if so, what is the symbol to designate a missing value? > > Thanks in advance. > > Jeffrey D. Morris, Ph.D. > Applied Math and Statistics > Kodak Research Labs > Rochester, NY 14650-2205 > morris@kodak.com > > The only change related to missing values has to do with the handling of nonnumerical data in graphs. Here is the relevant section throm changes.tex: \subsection{Missing and Non-Numerical Data in Graphs} It is now possible to give plotting functions data sequences that contain non-numerical values, such as missing value codes. Points with one or more non-numerical coordinates are marked internally as masked. This means they are not drawn and are not considered for the calculation of scaling information. Any non-numerical lisp item can be used as a missing data code, but \NIL\ should be avoided since it also represents the empty list and can cause confusion in vectorized operations. luke From luke Mon Sep 19 06:14:09 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:04:59 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:04:45 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsgI-00040hC; Mon, 19 Sep 94 17:03 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11199; Mon, 19 Sep 1994 19:01:53 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:45 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:19 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsc2-00040hC; Mon, 19 Sep 94 16:59 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11161; Mon, 19 Sep 1994 18:56:15 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:34 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4A-00041PC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18920 for ; Mon, 19 Sep 1994 09:25:42 -0700 Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA05535; Mon, 19 Sep 1994 11:17:24 -0500 Resent-Date: Mon, 19 Sep 94 11:14:09 CDT Resent-Message-Id: <199409191614.AA08975@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:20 -0500 From: "Luke Tierney" Message-Id: <199409191614.AA08968@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:10 -0500 Subject: Re: Missing values To: luh700@gosset.kodak.com Date: Mon, 19 Sep 94 11:14:09 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9409191538.AA01092@gosset.kodak.com>; from "Jeffrey D. Morris" at Sep 19, 94 11:38 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > > I seem to remember reading somewhere that the new > version of XLS, 3.39 would be able to handle missing > values in lists, vectors, matrices. Is this true and > if so, what is the symbol to designate a missing value? > > Thanks in advance. > > Jeffrey D. Morris, Ph.D. > Applied Math and Statistics > Kodak Research Labs > Rochester, NY 14650-2205 > morris@kodak.com > > The only change related to missing values has to do with the handling of nonnumerical data in graphs. Here is the relevant section throm changes.tex: \subsection{Missing and Non-Numerical Data in Graphs} It is now possible to give plotting functions data sequences that contain non-numerical values, such as missing value codes. Points with one or more non-numerical coordinates are marked internally as masked. This means they are not drawn and are not considered for the calculation of scaling information. Any non-numerical lisp item can be used as a missing data code, but \NIL\ should be avoided since it also represents the empty list and can cause confusion in vectorized operations. luke From owner-SL-news Mon Sep 19 07:38:07 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:05:56 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:05:49 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmshR-00040hC; Mon, 19 Sep 94 17:04 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA26472 for ; Mon, 19 Sep 1994 17:09:07 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11159; Mon, 19 Sep 1994 18:56:14 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:46 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:37 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4S-00041RC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18691 for ; Mon, 19 Sep 1994 09:04:41 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA05152; Mon, 19 Sep 1994 10:53:37 -0500 Resent-Date: Mon, 19 Sep 94 11:38:07 EDT Resent-Message-Id: <199409191549.AA29303@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:49:01 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:48:40 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA17220; Mon, 19 Sep 94 11:48:38 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA22690; Mon, 19 Sep 94 11:38:09 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA01092; Mon, 19 Sep 94 11:38:07 EDT Date: Mon, 19 Sep 94 11:38:07 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409191538.AA01092@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Missing values Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I seem to remember reading somewhere that the new version of XLS, 3.39 would be able to handle missing values in lists, vectors, matrices. Is this true and if so, what is the symbol to designate a missing value? Thanks in advance. Jeffrey D. Morris, Ph.D. Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From owner-SL-news Mon Sep 19 07:38:07 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:08:47 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:08:38 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsk7-00040hC; Mon, 19 Sep 94 17:07 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11237; Mon, 19 Sep 1994 19:06:30 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:05:56 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:05:49 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmshR-00040hC; Mon, 19 Sep 94 17:04 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA26472 for ; Mon, 19 Sep 1994 17:09:07 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11159; Mon, 19 Sep 1994 18:56:14 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:46 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:37 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4S-00041RC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18691 for ; Mon, 19 Sep 1994 09:04:41 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA05152; Mon, 19 Sep 1994 10:53:37 -0500 Resent-Date: Mon, 19 Sep 94 11:38:07 EDT Resent-Message-Id: <199409191549.AA29303@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:49:01 -0500 Received: from kodak.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 10:48:40 -0500 Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA17220; Mon, 19 Sep 94 11:48:38 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA22690; Mon, 19 Sep 94 11:38:09 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA01092; Mon, 19 Sep 94 11:38:07 EDT Date: Mon, 19 Sep 94 11:38:07 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9409191538.AA01092@gosset.kodak.com> To: stat-lisp-news@umnstat Subject: Missing values Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I seem to remember reading somewhere that the new version of XLS, 3.39 would be able to handle missing values in lists, vectors, matrices. Is this true and if so, what is the symbol to designate a missing value? Thanks in advance. Jeffrey D. Morris, Ph.D. Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From luke Mon Sep 19 06:14:09 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:10:08 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:09:54 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmslE-00040lC; Mon, 19 Sep 94 17:08 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA26671 for ; Mon, 19 Sep 1994 17:12:54 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11216; Mon, 19 Sep 1994 19:05:37 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:04:59 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:04:45 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsgI-00040hC; Mon, 19 Sep 94 17:03 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11199; Mon, 19 Sep 1994 19:01:53 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:45 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:00:19 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmsc2-00040hC; Mon, 19 Sep 94 16:59 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11161; Mon, 19 Sep 1994 18:56:15 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:34 -0500 Received: from main.statsci.com ([198.145.125.110]) by umnstat.stat.umn.edu; Mon, 19 Sep 1994 18:54:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qms4A-00041PC; Mon, 19 Sep 94 16:24 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id JAA18920 for ; Mon, 19 Sep 1994 09:25:42 -0700 Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA05535; Mon, 19 Sep 1994 11:17:24 -0500 Resent-Date: Mon, 19 Sep 94 11:14:09 CDT Resent-Message-Id: <199409191614.AA08975@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:20 -0500 From: "Luke Tierney" Message-Id: <199409191614.AA08968@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 11:14:10 -0500 Subject: Re: Missing values To: luh700@gosset.kodak.com Date: Mon, 19 Sep 94 11:14:09 CDT Cc: stat-lisp-news@umnstat In-Reply-To: <9409191538.AA01092@gosset.kodak.com>; from "Jeffrey D. Morris" at Sep 19, 94 11:38 am X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" > > > I seem to remember reading somewhere that the new > version of XLS, 3.39 would be able to handle missing > values in lists, vectors, matrices. Is this true and > if so, what is the symbol to designate a missing value? > > Thanks in advance. > > Jeffrey D. Morris, Ph.D. > Applied Math and Statistics > Kodak Research Labs > Rochester, NY 14650-2205 > morris@kodak.com > > The only change related to missing values has to do with the handling of nonnumerical data in graphs. Here is the relevant section throm changes.tex: \subsection{Missing and Non-Numerical Data in Graphs} It is now possible to give plotting functions data sequences that contain non-numerical values, such as missing value codes. Points with one or more non-numerical coordinates are marked internally as masked. This means they are not drawn and are not considered for the calculation of scaling information. Any non-numerical lisp item can be used as a missing data code, but \NIL\ should be avoided since it also represents the empty list and can cause confusion in vectorized operations. luke From owner-SL-news Mon Sep 19 16:41:24 1994 Resent-Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) Resent-From: owner-SL-news Resent-Message-Id: <199409200041.AA01594@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:29 -0500 Received: from tardis.union.edu by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:26 -0500 Received: by tardis.union.edu id AA28616 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Mon, 19 Sep 1994 20:41:24 -0400 From: Joshua Kuperman Message-Id: <199409200041.AA28616@tardis.union.edu> Subject: benchmarks To: stat-lisp-news@umnstat Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 849 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Joshua Kuperman I'd like to thank Jan Deleeuw for helping me figure out which version of xlisp-stat, of the two I had de-binhexed, used the FPU built into the 68040 chip on my Mac Quadra 660av. He sent me some old timing results and I found my machine was roughly equilavent to a DecStation 3100 (actually the 660av was a tad faster). This made me wonder. Does anyone have a set of standard benchmarks for lisp - xlisp -xlisp stat that would be good for comparing systems. Also, all these benchmarks, that were don with Jan's tester program were pre PowerPC and Pentium machines. I'm wondering how fast these machines are and how fast xlisp-stat can be run. (I first tried xlisp-stat on a MacPlus. Which is why I had such a hard time noticing the difference between the two versions.) -- Josh Kuperman kupermaj@tardis.union.edu From owner-SL-news Mon Sep 19 16:41:24 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:37 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtJj-00040hC; Mon, 19 Sep 94 17:44 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27185 for ; Mon, 19 Sep 1994 17:48:36 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11477; Mon, 19 Sep 1994 19:42:16 -0500 Resent-Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) Resent-Message-Id: <199409200041.AA01594@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:29 -0500 Received: from tardis.union.edu by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:26 -0500 Received: by tardis.union.edu id AA28616 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Mon, 19 Sep 1994 20:41:24 -0400 From: Joshua Kuperman Message-Id: <199409200041.AA28616@tardis.union.edu> Subject: benchmarks To: stat-lisp-news@umnstat Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 849 Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Joshua Kuperman I'd like to thank Jan Deleeuw for helping me figure out which version of xlisp-stat, of the two I had de-binhexed, used the FPU built into the 68040 chip on my Mac Quadra 660av. He sent me some old timing results and I found my machine was roughly equilavent to a DecStation 3100 (actually the 660av was a tad faster). This made me wonder. Does anyone have a set of standard benchmarks for lisp - xlisp -xlisp stat that would be good for comparing systems. Also, all these benchmarks, that were don with Jan's tester program were pre PowerPC and Pentium machines. I'm wondering how fast these machines are and how fast xlisp-stat can be run. (I first tried xlisp-stat on a MacPlus. Which is why I had such a hard time noticing the difference between the two versions.) -- Josh Kuperman kupermaj@tardis.union.edu From owner-SL-news Mon Sep 19 16:41:24 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:43 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:30 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtPc-00040hC; Mon, 19 Sep 94 17:50 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27288 for ; Mon, 19 Sep 1994 17:54:33 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11506; Mon, 19 Sep 1994 19:46:26 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:37 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtJj-00040hC; Mon, 19 Sep 94 17:44 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27185 for ; Mon, 19 Sep 1994 17:48:36 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11477; Mon, 19 Sep 1994 19:42:16 -0500 Resent-Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) Resent-Message-Id: <199409200041.AA01594@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:29 -0500 Received: from tardis.union.edu by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:26 -0500 Received: by tardis.union.edu id AA28616 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Mon, 19 Sep 1994 20:41:24 -0400 From: Joshua Kuperman Message-Id: <199409200041.AA28616@tardis.union.edu> Subject: benchmarks To: stat-lisp-news@umnstat Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 849 Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Joshua Kuperman I'd like to thank Jan Deleeuw for helping me figure out which version of xlisp-stat, of the two I had de-binhexed, used the FPU built into the 68040 chip on my Mac Quadra 660av. He sent me some old timing results and I found my machine was roughly equilavent to a DecStation 3100 (actually the 660av was a tad faster). This made me wonder. Does anyone have a set of standard benchmarks for lisp - xlisp -xlisp stat that would be good for comparing systems. Also, all these benchmarks, that were don with Jan's tester program were pre PowerPC and Pentium machines. I'm wondering how fast these machines are and how fast xlisp-stat can be run. (I first tried xlisp-stat on a MacPlus. Which is why I had such a hard time noticing the difference between the two versions.) -- Josh Kuperman kupermaj@tardis.union.edu From owner-SL-news Mon Sep 19 16:41:24 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:57:12 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:56:58 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtUv-00040hC; Mon, 19 Sep 94 17:55 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id SAA27327 for ; Mon, 19 Sep 1994 18:00:12 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11542; Mon, 19 Sep 1994 19:52:23 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:43 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:30 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtPc-00040hC; Mon, 19 Sep 94 17:50 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27288 for ; Mon, 19 Sep 1994 17:54:33 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11506; Mon, 19 Sep 1994 19:46:26 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:37 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtJj-00040hC; Mon, 19 Sep 94 17:44 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27185 for ; Mon, 19 Sep 1994 17:48:36 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11477; Mon, 19 Sep 1994 19:42:16 -0500 Resent-Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) Resent-Message-Id: <199409200041.AA01594@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:29 -0500 Received: from tardis.union.edu by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:26 -0500 Received: by tardis.union.edu id AA28616 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Mon, 19 Sep 1994 20:41:24 -0400 From: Joshua Kuperman Message-Id: <199409200041.AA28616@tardis.union.edu> Subject: benchmarks To: stat-lisp-news@umnstat Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 849 Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Joshua Kuperman I'd like to thank Jan Deleeuw for helping me figure out which version of xlisp-stat, of the two I had de-binhexed, used the FPU built into the 68040 chip on my Mac Quadra 660av. He sent me some old timing results and I found my machine was roughly equilavent to a DecStation 3100 (actually the 660av was a tad faster). This made me wonder. Does anyone have a set of standard benchmarks for lisp - xlisp -xlisp stat that would be good for comparing systems. Also, all these benchmarks, that were don with Jan's tester program were pre PowerPC and Pentium machines. I'm wondering how fast these machines are and how fast xlisp-stat can be run. (I first tried xlisp-stat on a MacPlus. Which is why I had such a hard time noticing the difference between the two versions.) -- Josh Kuperman kupermaj@tardis.union.edu From owner-SL-news Mon Sep 19 16:41:24 1994 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 20:00:00 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:59:52 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtXk-00040hC; Mon, 19 Sep 94 17:58 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11575; Mon, 19 Sep 1994 19:57:48 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:57:12 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:56:58 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtUv-00040hC; Mon, 19 Sep 94 17:55 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id SAA27327 for ; Mon, 19 Sep 1994 18:00:12 -0700 Resent-From: owner-SL-news@umnstat Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11542; Mon, 19 Sep 1994 19:52:23 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:43 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:51:30 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtPc-00040hC; Mon, 19 Sep 94 17:50 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27288 for ; Mon, 19 Sep 1994 17:54:33 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11506; Mon, 19 Sep 1994 19:46:26 -0500 Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:37 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:45:25 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qmtJj-00040hC; Mon, 19 Sep 94 17:44 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id RAA27185 for ; Mon, 19 Sep 1994 17:48:36 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA11477; Mon, 19 Sep 1994 19:42:16 -0500 Resent-Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) Resent-Message-Id: <199409200041.AA01594@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:29 -0500 Received: from tardis.union.edu by umnstat.stat.umn.edu; Mon, 19 Sep 1994 19:41:26 -0500 Received: by tardis.union.edu id AA28616 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Mon, 19 Sep 1994 20:41:24 -0400 From: Joshua Kuperman Message-Id: <199409200041.AA28616@tardis.union.edu> Subject: benchmarks To: stat-lisp-news@umnstat Date: Mon, 19 Sep 1994 20:41:24 -0400 (EDT) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 849 Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: Joshua Kuperman Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Joshua Kuperman I'd like to thank Jan Deleeuw for helping me figure out which version of xlisp-stat, of the two I had de-binhexed, used the FPU built into the 68040 chip on my Mac Quadra 660av. He sent me some old timing results and I found my machine was roughly equilavent to a DecStation 3100 (actually the 660av was a tad faster). This made me wonder. Does anyone have a set of standard benchmarks for lisp - xlisp -xlisp stat that would be good for comparing systems. Also, all these benchmarks, that were don with Jan's tester program were pre PowerPC and Pentium machines. I'm wondering how fast these machines are and how fast xlisp-stat can be run. (I first tried xlisp-stat on a MacPlus. Which is why I had such a hard time noticing the difference between the two versions.) -- Josh Kuperman kupermaj@tardis.union.edu From luke Mon Sep 19 23:01:46 1994 Resent-Date: Tue, 20 Sep 1994 04:01:46 -0500 Resent-Message-Id: <199409200901.AA04617@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:55 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:51 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn14G-00040tC; Tue, 20 Sep 94 02:00 PDT Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA14790; Tue, 20 Sep 1994 04:01:47 -0500 Date: Tue, 20 Sep 1994 04:01:46 -0500 From: "Luke Tierney" Message-Id: <199409200901.AA11940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:46 -0500 To: statlisp@statsci.com Subject: mail problems Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" If there is someone managing this relay could you please contact me to resolve some problems with the mailing list? It looks like your entry is reflecting mailings back to umnstat resulting in multiple postings. thanks luke From luke Mon Sep 19 23:01:46 1994 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:26:04 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:25:59 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1Rc-00040tC; Tue, 20 Sep 94 02:25 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id CAA01650 for ; Tue, 20 Sep 1994 02:29:26 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14854; Tue, 20 Sep 1994 04:23:10 -0500 Resent-Date: Tue, 20 Sep 1994 04:01:46 -0500 Resent-Message-Id: <199409200901.AA04617@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:55 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:51 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn14G-00040tC; Tue, 20 Sep 94 02:00 PDT Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA14790; Tue, 20 Sep 1994 04:01:47 -0500 Date: Tue, 20 Sep 1994 04:01:46 -0500 From: "Luke Tierney" Message-Id: <199409200901.AA11940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:46 -0500 To: statlisp@statsci.com Subject: mail problems Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" If there is someone managing this relay could you please contact me to resolve some problems with the mailing list? It looks like your entry is reflecting mailings back to umnstat resulting in multiple postings. thanks luke From luke Mon Sep 19 23:01:46 1994 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:28:07 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:28:03 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1Tb-00040tC; Tue, 20 Sep 94 02:27 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14871; Tue, 20 Sep 1994 04:26:51 -0500 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:26:04 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:25:59 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1Rc-00040tC; Tue, 20 Sep 94 02:25 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id CAA01650 for ; Tue, 20 Sep 1994 02:29:26 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14854; Tue, 20 Sep 1994 04:23:10 -0500 Resent-Date: Tue, 20 Sep 1994 04:01:46 -0500 Resent-Message-Id: <199409200901.AA04617@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:55 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:51 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn14G-00040tC; Tue, 20 Sep 94 02:00 PDT Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA14790; Tue, 20 Sep 1994 04:01:47 -0500 Date: Tue, 20 Sep 1994 04:01:46 -0500 From: "Luke Tierney" Message-Id: <199409200901.AA11940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:46 -0500 To: statlisp@statsci.com Subject: mail problems Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" If there is someone managing this relay could you please contact me to resolve some problems with the mailing list? It looks like your entry is reflecting mailings back to umnstat resulting in multiple postings. thanks luke From luke Mon Sep 19 23:01:46 1994 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:31:44 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:31:39 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1X6-00040tC; Tue, 20 Sep 94 02:30 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id CAA01674 for ; Tue, 20 Sep 1994 02:35:06 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14879; Tue, 20 Sep 1994 04:28:56 -0500 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:28:07 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:28:03 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1Tb-00040tC; Tue, 20 Sep 94 02:27 PDT Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14871; Tue, 20 Sep 1994 04:26:51 -0500 Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:26:04 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:25:59 -0500 Received: from pdx1.i.net by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn1Rc-00040tC; Tue, 20 Sep 94 02:25 PDT Received: from mail.unet.umn.edu (mail.unet.umn.edu [128.101.101.103]) by pdx1.i.net (8.6.9/8.6.9) with SMTP id CAA01650 for ; Tue, 20 Sep 1994 02:29:26 -0700 Received: from umnstat.stat.umn.edu by mail.unet.umn.edu (5.65c) id AA14854; Tue, 20 Sep 1994 04:23:10 -0500 Resent-Date: Tue, 20 Sep 1994 04:01:46 -0500 Resent-Message-Id: <199409200901.AA04617@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:55 -0500 Received: from main.statsci.com by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:51 -0500 Received: from mail.unet.umn.edu by main.statsci.com with smtp (Smail3.1.28.1 #5) id m0qn14G-00040tC; Tue, 20 Sep 94 02:00 PDT Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA14790; Tue, 20 Sep 1994 04:01:47 -0500 Date: Tue, 20 Sep 1994 04:01:46 -0500 From: "Luke Tierney" Message-Id: <199409200901.AA11940@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 04:01:46 -0500 To: statlisp@statsci.com Subject: mail problems Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news@umnstat Resent-From: owner-SL-news@umnstat Resent-To: SL-news-list@umnstat Resent-Reply-To: "Luke Tierney" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" If there is someone managing this relay could you please contact me to resolve some problems with the mailing list? It looks like your entry is reflecting mailings back to umnstat resulting in multiple postings. thanks luke From luke Tue Sep 20 03:46:16 1994 Resent-Date: Tue, 20 Sep 1994 08:46:16 -0500 Resent-Message-Id: <199409201346.AA13036@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 08:46:19 -0500 Date: Tue, 20 Sep 1994 08:46:16 -0500 From: "Luke Tierney" Message-Id: <199409201346.AA13029@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 08:46:16 -0500 To: stat-lisp-news@umnstat Subject: mailing list problems Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" It looks like someone as statsci.com added a feedback to stat-lisp-news to their local list alias, statlisp@statsci.com. That caused messages to be sent to the list repeatedly. I have removed this entry from the list, which should cure this problem. If you are managing a local repeater alias, please be caraful to avoid creating problems such as this. luke From luke Tue Sep 20 04:19:19 1994 Resent-Date: Tue, 20 Sep 1994 09:19:19 -0500 Resent-Message-Id: <199409201419.AA13185@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 09:19:22 -0500 Date: Tue, 20 Sep 1994 09:19:19 -0500 From: "Luke Tierney" Message-Id: <199409201419.AA13178@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 20 Sep 1994 09:19:19 -0500 To: stat-lisp-news@umnstat Subject: Preliminary 32-bit WIndows version of XLISP-STAT Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" A preliminary version of XLISP-STAT for Win32 is now available. It should run under Windows NT on Intel processors or under Windows 3.1 with Win32s installed. The archive file for the Win32 version is WXLS32ZP.EXE in pub/xlispstat/mswin on umnstat.stat.umn.edu. This version removes limits on array sizes present in the 16 bit version. Under Win32s it still has a rather small system stack size, but the system stack size should be reasonable under Windows NT (I would appreciate it if someone could test that -- I don't have access to a Windows NT machine myself). As in the 16-bit version, it is possible to call code in a DLL from XLISP-STAT, but for the Win32 version the DLL has to be a 32-bit DLL. The 32-bit version of XLISP-STAT requires Win32s to run on Windows 3.1. Version 1.1.5a of the Win32s software, the only version this distribution has been tested with, is available from Microsoft's anonymous ftp server ftp.microsoft.com in the file Win32s115a.Zip in the /developr/win32dk/sdk-public directory. Once Win32s is installed, assuming you need it, the installation process for the 32 bit version is analogous to the process for the 16 bit version outlined above. Luke Tierney School of Statistics University of Minnesota From owner-SL-news Thu Sep 22 12:19:18 1994 Resent-Date: Thu, 22 Sep 1994 19:19:18 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409230219.AA15759@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 22 Sep 1994 21:19:35 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Thu, 22 Sep 1994 21:19:27 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA26204; Thu, 22 Sep 94 19:19:21 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA12515; Thu, 22 Sep 94 19:19:19 PDT From: Jan Deleeuw Message-Id: <9409230219.AA12515@galton.math.ucla.edu> Subject: Xlisp-Stat To: machten@tenon.com Date: Thu, 22 Sep 1994 19:19:18 -0700 (PDT) Cc: stat-lisp-news@umnstat (Xlisp List) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 781 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw I ported Xlisp-Stat to MachTen on the Mac (bertillon is a Quadra 800) I'll post some timings later. Just copy the tar.gz at ftp://stat.umn.edu/pub/xlispstat/xlispstat-3-39.tar.gz the run configure. There are two problems. Because of the 68000 configure thinks it is dealing with a sun3, so it puts fp68881 in the compiler flags. Just take that oput of the makefile and replace -O by -O2. Also, in the linking, the symbol __isnan is multiply defined in libc.a and libm.a If you make a temp copy of libm.a without isnan.o the link goes well. That's it. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Thu Sep 22 13:28:49 1994 Resent-Date: Thu, 22 Sep 1994 20:28:49 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409230329.AA00299@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Thu, 22 Sep 1994 22:29:15 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Thu, 22 Sep 1994 22:29:12 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA26616; Thu, 22 Sep 94 20:28:51 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA12594; Thu, 22 Sep 94 20:28:49 PDT From: Jan Deleeuw Message-Id: <9409230328.AA12594@galton.math.ucla.edu> Subject: timings To: stat-lisp-news@umnstat (Xlisp List), machten@tenon.com Date: Thu, 22 Sep 1994 20:28:49 -0700 (PDT) Cc: ucla-stat@math.ucla.edu (ucla-stat mailing list) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1205 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Here are some recent timings. This is to solve 100 eigenvector-eigenvalue problems of order 20 in Xlisp-Stat. I give two runs. All machines have virtually no other load. machine - type - OS - time - time bertillon - Quadra 800 - MachTen - 27.20 27.28 bertillon - Quadra 800 - MacOS 7.1 - 16.95 17.40 quetelet - Sun 470 - SunOS 4.1.3 - 12.70 12.57 laplace - SparcCenter 1000 - Solaris 2.3 - 6.80 6.73 galton - SparcStation 20 - SunOS 4.1.3 - 4.82 4.70 bertillon - PowerMac 8100 - MacOS 7.1 - 3.53 3.48 NB: the Quadra/Mac version is compiled with MPW C. Symantec's SC would probably give better performance. The Sparc versions have been compiled with gcc -O2, same for MachTen. The PowerMac is the Quadra with a card, which means that a real PowerMac would be 10-20% faster. The Xlisp-Stat version for the PowerMac is an unstable version compiled with PPCC, probably the newer compilers would do even better. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From luke Fri Sep 23 04:00:37 1994 Resent-Date: Fri, 23 Sep 1994 09:00:37 -0500 Resent-Message-Id: <199409231400.AA26037@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 23 Sep 1994 09:00:40 -0500 Date: Fri, 23 Sep 1994 09:00:37 -0500 From: "Luke Tierney" Message-Id: <199409231400.AA26030@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 23 Sep 1994 09:00:37 -0500 To: stat-lisp-news@umnstat Subject: upgrade to Win32 version of XLISP-STAT Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Luke Tierney" I have put up a new Win32 version of XLISP-STAT on umnstat.stat.umn.edu. There are two changes: I have managed to increase the system stack under Win32s to about 70K -- in the previous version it was only 20K. The icon should now show up properly in the program manager after running config.lsp. luke From owner-SL-news Sat Sep 24 00:54:13 1994 Resent-Date: Sat, 24 Sep 1994 07:54:13 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409241454.AA08323@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 24 Sep 1994 09:54:22 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 24 Sep 1994 09:54:17 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA04086; Sat, 24 Sep 94 07:54:15 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA05523; Sat, 24 Sep 94 07:54:13 PDT From: Jan Deleeuw Message-Id: <9409241454.AA05523@galton.math.ucla.edu> Subject: timings To: machten@tenon.com, stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Sat, 24 Sep 1994 07:54:13 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1034 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Here is some new info on the timings. I expect to get some figures from others, and we are also doing a Gateway Pentium-90, and a version of the benchmark in S-plus. Observe that my little program is not exactly a test-suite, it merely looks at floating point (not at consing, for instance). The friendly folks at Tenon send me some tools & tips. As a result the MachTen version in bertillon (Quadra 800) now runs much faster. Times were 27.40 + 27.28, they are now 12.67 + 12.40, which is close to quetelet, our Sun 470 server (between Sparc 1 and Sparc 2). If gcc + MachTen can outperform MPW-C + MacOS, then gcc for MachTen for PowerPC can perhaps do better than PPCC + MacOS as well. For comparison, the MPW + MacOS times were 16.95 + 17.40, and the PowerMac times 3.53 + 3.48. I still can't believe that chip. -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sat Sep 24 03:41:14 1994 Resent-Date: Sat, 24 Sep 1994 10:41:14 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409241741.AA08923@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 24 Sep 1994 12:41:25 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 24 Sep 1994 12:41:18 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA04714; Sat, 24 Sep 94 10:41:16 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA05981; Sat, 24 Sep 94 10:41:15 PDT From: Jan Deleeuw Message-Id: <9409241741.AA05981@galton.math.ucla.edu> Subject: xlisp for machten To: machten@tenon.com, stat-lisp-news@umnstat (Xlisp List) Date: Sat, 24 Sep 1994 10:41:14 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 594 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw The binary can now be ftp-ed from ftp.stat.ucla.edu, ~/pub/lisp/xlisp/xlisp-stat/systems/macintosh/machten You have to get the xxx.lsp and xlisp.help files from the main distribution, which sits one level higher in the hierarchy. As I mentioned elsewhere, this version is at least as fast on floating point as the MPW/MacOS version, but of course you do need MachTen. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Sat Sep 24 10:08:14 1994 Resent-Date: Sat, 24 Sep 1994 17:08:14 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409250008.AA10011@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 24 Sep 1994 19:08:49 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Sat, 24 Sep 1994 19:08:41 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA07947; Sat, 24 Sep 94 17:08:16 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA06422; Sat, 24 Sep 94 17:08:14 PDT From: Jan Deleeuw Message-Id: <9409250008.AA06422@galton.math.ucla.edu> Subject: more xlisp-stat timings To: stat-lisp-news@umnstat (Xlisp List), machten@tenon.com, ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Sat, 24 Sep 1994 17:08:14 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1491 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw This is the nine queens problem (put nine queens on the chess board in such a way that none of them can attack any other). Find all solutions. This is very different from the eigen-benchmark (no floating point, lots of list manipulation). Observe this is specmark 022.li (cf Dowd, High Performance Computing, p 269). Configurations A: Quadra 800, 24 MB, XlispStat 2.1 3.37b compiled with MPW-C B: Same machine, PowerMac Card on, compiled with PPCC C: Same machine, running MachTen 2.1.1E, compiled with gcc 2.6.0 D: Sparc 20, 32 MB, compiled with gcc 2.6.0 A0 loads queens.lsp from the xlisp2.1g distributions, A1 first byte-compiles to queens.fsl, then loads (into a fresh process). Same for B, etc. The compiler for B does not work reliably, though (stack problems), observe that B is an unstable version I use to get an idea on how fast a proper PPC version would run. A0 : 198.87(0.18) A1 : 42.27(0.00) B0 : 83.33(0.88) B1 : ??????????? C0 : 213.85(0.30) C1 : 31.77(0.00) D0 : 91.65(0.15) D1 : 8.62(0.00) The small time in parentheses is garbage collection time. Conclusions are not very different from the floating point benchmark. We need a stable PPC Xlisp-Stat, or a PPC MachTen. Both configurations will outperform a Sparc 20. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news Wed Sep 28 18:42:02 1994 Resent-Date: Wed, 28 Sep 1994 19:42:02 -0100 Resent-From: owner-SL-news Resent-Message-Id: <199409281842.AA09882@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Wed, 28 Sep 1994 13:42:13 -0500 Received: from ds.cised.unina.it by umnstat.stat.umn.edu; Wed, 28 Sep 1994 13:42:08 -0500 Received: by ds.cised.unina.it (5.65/DEC-Ultrix/4.3) id AA14029; Wed, 28 Sep 1994 19:42:02 -0100 Date: Wed, 28 Sep 1994 19:42:02 -0100 From: pagnotta@ds.cised.unina.it (pagnotta stefano m. dip.mat. 2 statistica) Message-Id: <9409282042.AA14029@ds.cised.unina.it> To: stat-lisp-news@umnstat Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: pagnotta@ds.cised.unina.it (pagnotta stefano m. dip.mat. 2 statistica) ; ; Hi all, ; you find enclosed a modified version of the ; ; (defmeth scatterplot-proto :add-boxplot ..., ; ; taken from the file graph2.lsp of the WXLS version 2.1R3 Alpha 6, ; for MS-Windows. ; ; The modification allows to detect outliers in univariate sample. ; The bounds low and high are now evaluated according to the rule in ; U.R.E.D.A. (Hoaglin, Mosteller & Tukey, 1983 - Wiley) page 60. ; The outlying points are drawn. ; ; Stefano M. Pagnotta ; Dept.of Math.Stat. ; University of Naples Federico II - Italy. ;;;; ;;;; ;;;; Boxplot Functions ;;;; sept 28, 1994. ;;;; (defmeth scatterplot-proto :add-boxplot (y &key (x 1.0) (width 1.0) (draw t)) (unless (= 2 (send self :num-variables)) (error "only works for 2D plots")) (let* ((half-box (* 0.4 width)) (half-foot (* 0.1 width)) (fiv (fivnum y)) (q1 (select fiv 1)) (med (select fiv 2)) (q3 (select fiv 3)) (dq (* 1.5 (- q3 q1))) (low (- q1 dq)) (low (min (select y (which (< low y))))) (high (+ q3 dq)) (high (max (select y (which (> high y))))) (below (which (> low y))) (lsuspect (if below (select y below))) (above (which (< high y))) (hsuspect (if above (select y above)))) (send self :plotline (- x half-foot) low (+ x half-foot) low nil) (send self :plotline (- x half-foot) high (+ x half-foot) high nil) (send self :plotline x low x q1 nil) (send self :plotline x q3 x high nil) (send self :plotline (- x half-box) q1 (+ x half-box) q1 nil) (send self :plotline (- x half-box) med (+ x half-box) med nil) (send self :plotline (- x half-box) q3 (+ x half-box) q3 nil) (send self :plotline (- x half-box) q1 (- x half-box) q3 nil) (send self :plotline (+ x half-box) q1 (+ x half-box) q3 nil) (if hsuspect (send self :add-points (repeat x (length hsuspect)) hsuspect)) (if lsuspect (send self :add-points (repeat x (length lsuspect)) lsuspect)))) From owner-SL-news Thu Sep 29 17:09:05 1994 Resent-Date: Fri, 30 Sep 1994 00:09:05 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409300709.AA19326@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 30 Sep 1994 02:09:37 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Fri, 30 Sep 1994 02:09:32 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA10020; Fri, 30 Sep 94 00:09:07 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA09520; Fri, 30 Sep 94 00:09:05 PDT From: Jan Deleeuw Message-Id: <9409300709.AA09520@galton.math.ucla.edu> Subject: Optimizing Xlisp-Stat for MachTen To: stat-lisp-news@umnstat (Xlisp List), machten@tenon.com Date: Fri, 30 Sep 1994 00:09:05 -0700 (PDT) Cc: ucla-stat@math.ucla.edu (ucla-stat mailing list) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1370 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw We have some new timings for the floating point benchmark. The DEC Alpha 3000 has roughly the same speed as the PowerMac, we have timed two Pentiums but found some discrepancies. They have, on the average, Sparc 10 speed, it seems. We also timed the same benchmark programmed in S-plus on a Sparc 20. It is twice as slow as Xlisp-Stat on the same machine. This is remarkable since almost all the computing is done in C. We have not programmed the nine queens in S yet, but it seems that there the differences will be even larger (especially with the compiled version, which is already 5-10 times faster as the lisp-code version). We recompiled Xlisp-Stat on MachTen with gcc-2.6.0, gas 2.3, and with compiler switches -O3 -m68040. This resulted in a speedup of 20% compared to -O2 -m68020 -m68881. The MachTen version is now 20% faster than our Sun 470, and 40% faster than the MPW-C version under MacOS with the switches set to opt=full, and also 68020-68881. Of course the PowerMac version is still three times as fast as our top MachTen contender. The -O3 -m68040 switches dont do anything for the nine queens problem (not surprisingly). --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From n2ell!pcolsen@cs.UMD.EDU Thu Sep 29 17:09:05 1994 Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu; Fri, 30 Sep 1994 04:58:05 -0500 Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id FAA03757; Fri, 30 Sep 1994 05:58:04 -0400 Resent-Date: Fri, 30 Sep 1994 05:58:04 -0400 Message-Id: <199409300958.FAA03757@mimsy.cs.UMD.EDU> Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0qqeXw-0004osC; Fri, 30 Sep 94 05:46 EDT Resent-Message-Id: Resent-From: pcolsen@cs.UMD.EDU (Peter C. Olsen P.E.) To: k.trabue/LantAt@cgsmtp.comdt.uscg.mil, MIKE_BOHLMAN++SEAMAIL+dADR%SLOPR_6733273@mcimail.com Resent-To: SL-news-list@umnstat Resent-Reply-To: Jan Deleeuw From: Jan Deleeuw To: stat-lisp-news@umnstat (Xlisp List), machten@tenon.com Cc: ucla-stat@math.ucla.edu (ucla-stat mailing list) Subject: Optimizing Xlisp-Stat for MachTen Date: Fri, 30 Sep 1994 00:09:05 -0700 (PDT) We have some new timings for the floating point benchmark. The DEC Alpha 3000 has roughly the same speed as the PowerMac, we have timed two Pentiums but found some discrepancies. They have, on the average, Sparc 10 speed, it seems. We also timed the same benchmark programmed in S-plus on a Sparc 20. It is twice as slow as Xlisp-Stat on the same machine. This is remarkable since almost all the computing is done in C. We have not programmed the nine queens in S yet, but it seems that there the differences will be even larger (especially with the compiled version, which is already 5-10 times faster as the lisp-code version). We recompiled Xlisp-Stat on MachTen with gcc-2.6.0, gas 2.3, and with compiler switches -O3 -m68040. This resulted in a speedup of 20% compared to -O2 -m68020 -m68881. The MachTen version is now 20% faster than our Sun 470, and 40% faster than the MPW-C version under MacOS with the switches set to opt=full, and also 68020-68881. Of course the PowerMac version is still three times as fast as our top MachTen contender. The -O3 -m68040 switches dont do anything for the nine queens problem (not surprisingly). - --- Jan - -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu ------- end ------- From owner-SL-news Fri Sep 30 04:18:45 1994 Resent-Date: Fri, 30 Sep 1994 11:18:45 -0700 (PDT) Resent-From: owner-SL-news Resent-Message-Id: <199409301818.AA22022@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 30 Sep 1994 13:18:53 -0500 Received: from julia.math.ucla.edu by umnstat.stat.umn.edu; Fri, 30 Sep 1994 13:18:49 -0500 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA24630; Fri, 30 Sep 94 11:18:47 PDT Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA14355; Fri, 30 Sep 94 11:18:46 PDT From: Jan Deleeuw Message-Id: <9409301818.AA14355@galton.math.ucla.edu> Subject: powermac To: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Fri, 30 Sep 1994 11:18:45 -0700 (PDT) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 728 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Jan Deleeuw Only relevant if you want to run Xlisp-Stat on a PowerMac. Your options are (1) Run the 68000 version of Xlisp-Stat which does not use require the coprocessor. This is slow as molasses. (2) Run the PPC native version from ftp.stat.ucla.edu. This is unstable, and several things are disabled. (3) Run the 68020/68881 version of Xlisp-Stat, and install the SoftFPU cdev. I have put it in ~/pub/lisp/xlisp/xlisp-stat/systems/ macintosh/ppc. For the time being (3) will be best under most circumstances. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From bjm Fri Sep 30 09:12:56 1994 Resent-Date: Fri, 30 Sep 94 14:12:56 -0500 Resent-Message-Id: <199409301913.AA07878@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 30 Sep 1994 14:13:05 -0500 Message-Id: <199409301912.AA07867@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 30 Sep 1994 14:12:58 -0500 To: Jan Deleeuw Cc: stat-lisp-news@umnstat (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Subject: Re: powermac In-Reply-To: Your message of "Fri, 30 Sep 94 11:18:45 PDT." <9409301818.AA14355@galton.math.ucla.edu> Date: Fri, 30 Sep 94 14:12:56 -0500 From: "Bret J. Musser" Errors-To: owner-SL-news Resent-From: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: "Bret J. Musser" In message <9409301818.AA14355@galton.math.ucla.edu> you wrote: >Only relevant if you want to run Xlisp-Stat on a PowerMac. Your options >are > >(1) Run the 68000 version of Xlisp-Stat which does not use require >the coprocessor. This is slow as molasses. >(2) Run the PPC native version from ftp.stat.ucla.edu. This is >unstable, and several things are disabled. >(3) Run the 68020/68881 version of Xlisp-Stat, and install the >SoftFPU cdev. I have put it in ~/pub/lisp/xlisp/xlisp-stat/systems/ >macintosh/ppc. > >For the time being (3) will be best under most circumstances. I've tried running all three options. The first I've found to be the fastest, beating the SoftFPU emulation (after all, this is an emulation of a 68881 running in 68020 code which is being emulated...). However, the latest release of SoftFPU, which is payware, does run in native mode and may be faster than option (1). Mr. Deleeuw's compilation of Xlisp-Stat for the PPC I've found to be extremely unstable and forced me to reboot frequently. That is worse than running slow. Your mileage may vary, Bret Musser From owner-SL-news Sat Oct 1 15:59:13 1994 Resent-Date: Sat, 1 Oct 1994 09:59:13 +0600 Resent-From: owner-SL-news Resent-Message-Id: <199410011459.AA26112@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Sat, 1 Oct 1994 09:59:04 -0500 Received: from vuse.vanderbilt.edu (vuse.vuse.vanderbilt.edu) by umnstat.stat.umn.edu; Sat, 1 Oct 1994 09:58:56 -0500 Received: from aim.vuse by vuse.vanderbilt.edu (8.6.9/SMI-4.1/VUSE-1.12) id JAA16136; Sat, 1 Oct 1994 09:58:54 -0500 Received: by aim.vuse (5.0/SMI-SVR4) id AA06630; Sat, 1 Oct 1994 09:59:13 +0600 Date: Sat, 1 Oct 1994 09:59:13 +0600 From: dfisher@vuse.vanderbilt.edu (Douglas H. Fisher) Message-Id: <9410011459.AA06630@aim.vuse> To: stat-lisp-news@umnstat Subject: AI/Statistics Workshop Content-Length: 16060 Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: dfisher@vuse.vanderbilt.edu (Douglas H. Fisher) Preliminary Call for Participation Fifth International Workshop on ARTIFICIAL INTELLIGENCE and STATISTICS January 4-7, 1995 Ft. Lauderdale, Florida TECHNICAL and TUTORIAL PROGRAM: This is the fifth in a series of workshops that has brought together researchers in Artificial Intelligence and in Statistics to discuss problems of mutual interest. To encourage interaction and a broad exchange of ideas, there will be 20 discussion papers in single session meetings over three days (Jan. 5-7). Two poster sessions will provide the means for presenting and discussing the remaining research papers. Attendance at the workshop is *not* limited to paper presenters. The three days of research presentations will be preceded by a day of tutorials (Jan. 4). The tutorial topics, presenters, and approximate times are: (1) Machine Learning 9:00AM - 12:15PM (Dr. David Aha, Naval Research Lab) (2) Statistical Methods for Inducing 9:00AM - 12:15PM Models from Data (Prof. Steffen Lauritzen, Aalborg U.) (3) Probabilistic Models of Causality 2:00PM - 5:15PM (Prof. Glenn Shafer, Rutgers U.) (4) Statistical Models for Function 2:00PM - 5:15PM Estimation and Classification (Prof. Trevor Hastie, Stanford U.) Notes prepared by the tutorial presenters will be made available at the Workshop. LOCATION: The 1995 Workshop will be held at Pier Sixty Six Resort & Marina 2301 SE 17th Street Causeway Fort Lauderdale, Florida, 33316 USA. Phone: 800-327-3796 (outside Florida) 305-525-6666 Fax : 305-728-3541 The hotel is a 22 acre resort located on the intracoastal waterway. Available amenities include two pools, a 40 person hydrotherapy pool, spa, tennis courts, a children's activity club, seven restaurants and lounges, and water shuttle service to the beach. The Hotel is most conveniently reached from Fort Lauderdale International Airport, which is about 5-10 minutes by car/cab. The Hotel is approximately 45-60 minutes by car from Miami International Airport. The Resort is holding a block of rooms at the rate of $95 US dollars (for single/double) until Dec. 10, 1994. Reservations should be made before this date. The block is held under the name `SOCIETY for ARTIficial Intelligence and Statistics' (or SOCIETY ARTI). REGISTRATION: Registration for the Technical Program (plenary and poster sessions) includes a proceedings of papers submitted by authors, continental breakfasts each day of the technical program, and tentatively, two lunches and one dinner. The Workshop offers student rates and an early-registration discount. Registration rates and instructions can be found on the Registration Form at the end of this Call. Registration for tutorials can also be made in advance using the Registration Form. PROGRAM COMMITTEE: General Chair: D. Fisher Vanderbilt U., USA Program Chair: H. Lenz Free U. Berlin, Germany Members: W. Buntine NASA (Ames), USA J. Catlett AT&T Bell Labs, USA P. Cheeseman NASA (Ames), USA P. Cohen U. of Mass., USA D. Draper U. of Bath, UK Wm. Dumouchel Columbia U., USA A. Gammerman U. of London, UK D. J. Hand Open U., UK P. Hietala U. Tampere, Finland R. Kruse TU Braunschweig, Germany S. Lauritzen Aalborg U., Denmark W. Oldford U. of Waterloo, Canada J. Pearl UCLA, USA D. Pregibon AT&T Bell Labs, USA E. Roedel Humboldt U., Germany G. Shafer Rutgers U., USA P. Smyth JPL, USA Tutorial Chair: P. Shenoy U. Kansas, USA MORE INFORMATION: For more information write dfisher@vuse.vanderbilt.edu or call 615-343-4111. SPONSORS: Society for Artificial Intelligence and Statistics International Association for Statistical Computing *********** Papers accepted for Technical Program Fifth International Workshop on Artificial Intelligence and Statistics PLENARY PAPERS Almond, Schimert (MathSoft) Missing data models as meta-data Brent, Murthy, Lundberg Minimum description length induction (John Hopkins U) for discovering morphemic suffixes Buntine (NASA Ames) Software for data analysis with graphical models: basic tools Chickering, Geiger, Heckerman Learning Bayesian networks: search (MicroSoft) methods and experimental results Cohen, Gregory, Ballesteros, Two algorithms for inducing structural St Amant (U Mass) equation models from data Cooper (U Pitt) Causal discovery from observational data in the presence of selection bias Cox (US West) Using causal knowledge to learn more useful decision rules from data Decatur (Harvard U) Learning in hybrid noise environments using statistical queries Elder (Rice U) Heuristic search for model structure Gebhardt, Kruse Learning possibilistic networks from data (U Braunschweig) Kasahara, Ishikawa, Viewpoint-based measurement of semantic Matsuzawa, Kawaoka similarity between words (Nippon TT) Lubinsky (U Witwatersrand SA) Structured interpretable regression Madigan, Almond (U Washington) Test selection strategies for belief networks Malvestuto (U L'Aquila, IT) Derivation DAGs for inferring interaction models Merz (U Cal Irvine) Dynamic learning bias selection Pearl (UCLA) A causal calculus for statistical research with applications to observational and experimental studies Riddle, Frenedo, Newman Framework for a generic knowledge (Boeing) discovery tool Shafer, Kogan, Spirtes A generalization of the Tetrad (Rutgers) representation theorem St Amant, Cohen (U Mass) Preliminary design for an EDA assistant Yao, Tritchler (U Toronto) Likelihood-based causal inference POSTER PAPERS Aha, Bankert (NRL) A comparative evaluation of sequential feature selection algorithms Ali, Brunk, Pazzani Learning multiple relational rule-based (U Cal Irvine) models Almond (MathSoft) Hypergraph grammars for knowledge-based model construction Anderson, Carlson, Westbrook Tools for analyzing AI programs Hart, Cohen (U Mass) Bergman, Rivest (MIT) Picking the best expert from a sequence Blau (U Rochester) Ploxoma: Test-bed for uncertain inference Breese, Heckerman Probabilistic case-based reasoning (MicroSoft) Burke (U Nevada) Comparing the prediction accuracy of statistical models and artificial neural networks in breast cancer Catlett (ATT) Tailoring rulesets to misclassification cost Chen, Yeh Predicting stock returns with genetic (National Chengchi U) programming Cheng (U Cincinnati) Analysis and Application of the Generalized Mean-Shift Process Cozman, Krotkov (CMU) Truncated Gaussians as tolerance sets Cunningham (U Waikato) Textual data mining De Vel, Li, Coomans Non-Linear dimensionality reduction: (U James Cook, NZ) A comparative performance study DuMouchel, Friedman, Johnson Natural language processing of Hripcsak (Columbia U) radiology reports Esposito, Malerba, Semeraro A further study of pruning methods in (U degli Studi, IT) decision tree induction Feelders, Verkooijen Which method learns most from the data? (U Twente, Netherlands) Franz (CMU) Classifying new words for robust parsing Gelsema (Erasmus U, Abductive reasoning in Bayesian belief The Netherlands) networks using a genetic algorithm Harner, Galfalvy Omega-Stat: An environment for (West Virginia U) implementing intelligent modeling strategies Heckerman, Shachter A decision-based view of causality (MicroSoft) Howe (Colorado St U) Finding dependencies in event streams using local search Jenzarli (U Tampa) Solving influence diagrams using Gibbs sampling John (Stanford U) Robust linear discriminant trees Ketterlin, Gancarski, Korczak Hierarchical clustering of composite (U Louis Pasteur) objects with a variable number of components Kim (Korea Adv. Inst. of Sci. An approach to fitting large influence and Eng.) diagrams Kim, Moon (Syracuse U) Modeling life time data by neural networks Kloesgen (German Nat. Rsch.) Learning from data: Pattern evaluations and search strategies Larranaga, Murga, Poza, Structure learning of Bayesian networks Kuijpers (U Basque, by hybrid genetic algorithms Spain) Lekuona, Lacruz, Lasala Graphical models for dynamic systems (U de Zaragoza, Spain) Liu (U Kansas) Propagation of Gaussian belief functions Martin (U Cal, Irvine) A hypergeometric null hypothesis probability test for feature selection and stopping Martin (U Cal, Irvine) Evaluating and comparing classifiers: Complexity measures Murthy (John Hopkins U) Statistical preprocessing of decision trees Neufeld, Adams, Choy, Philip, Part-of-speech tagging from small Tawfik (U Saskatchewan) data sets Oates, Gregory, Cohen (U Mass) Detecting complex dependencies in categorical data Pazzani (U Cal Irvine) Searching for attribute dependencies in Bayesian classifiers Provan, Singh (Inst. for Learning ``Predictively-Optimal'' Decision Systems Res.) Bayesian Networks Risius, Seidelmann Combining statistics and AI in the (Hahn-Meitner Inst) optimization of semiconductor films for solar cells Shenoy (U Kansas) Representing and solving asymmetric decision problems using valuation networks Srkantan, Srihari Data representations in learning (SUNY Buffalo) Sun, Qiu, Cox (US West) A hill-climbing approach to construct near optimal decision trees Valtorta (U South Carolina) MENTOR: A Bayesian model for prediction and intervention in mental retardation Young, Lubinsky (UNC) Learning from data by guiding the analyst: On the representation, use, and creation of visual statistical strategies *********** Registration Form Fifth International Workshop on Artificial Intelligence and Statistics Participants may register on site. To register in advance of the Workshop send this form and a check (in US dollars) made to the order of **Society for Artificial Intelligence and Statistics** in the appropriate amount to: Doug Fisher Department of Computer Science Box 1679, Station B Vanderbilt University Nashville, Tennessee 37235 USA Advance registration discounts apply if registration is received by Dec. 1, 1994. Name: ________________________________________ Affiliation: _________________________________ Phone: _______________________________________ Fax: _________________________________________ Email: _______________________________________ Address: _____________________________________ _____________________________________ _____________________________________ Technical Program -- check one: ____ Technical Program (regular, by Dec. 1, 1994): $245 ____ Technical Program (student, by Dec. 1, 1994): $155 ____ Technical Program (regular, after Dec. 1, 1994): $295 ____ Technical Program (student, after Dec. 1, 1994): $195 Technical Program Subtotal: $____ Tutorial Program -- check applicable tutorials, if any. Note that the tutorial times may conflict; to avoid conflict at most one selection from (1) and (2), and one selection from (3) and (4) may be made. ____ (1) Machine Learning ____ (regular, by Dec. 1): $ 70 ____ (student, by Dec. 1): $ 45 ____ (regular, after Dec. 1): $ 80 ____ (student, after Dec. 1): $ 55 ____ (2) Statistical Methods for Inducing Models from Data ____ (regular, by Dec. 1): $ 70 ____ (student, by Dec. 1): $ 45 ____ (regular, after Dec. 1): $ 80 ____ (student, after Dec. 1): $ 55 ____ (3) Probabilistic Models of Causality ____ (regular, by Dec. 1): $ 70 ____ (student, by Dec. 1): $ 45 ____ (regular, after Dec. 1): $ 80 ____ (student, after Dec. 1): $ 55 ____ (4) Statistical Models for Function Estimation and Classification ____ (regular, by Dec. 1): $ 70 ____ (student, by Dec. 1): $ 45 ____ (regular, after Dec. 1): $ 80 ____ (student, after Dec. 1): $ 55 Tutorial Program Subtotal: $____ Technical and Tutorial Total: $____ *********** From owner-SL-news Fri Oct 14 10:04:00 1994 Resent-Date: Fri, 14 Oct 94 16:01:38 MET Resent-From: owner-SL-news Resent-Message-Id: <199410141504.AA03018@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 14 Oct 1994 10:04:00 -0500 Message-Id: <199410141503.AA03011@umnstat.stat.umn.edu> Received: from halley.upf.es by umnstat.stat.umn.edu; Fri, 14 Oct 1994 10:03:52 -0500 Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA13457; Fri, 14 Oct 94 16:11:58 +0100 Received: by libiya.upf.es (1.37.109.4/15.6) id AA05798; Fri, 14 Oct 94 16:01:39 +0100 From: Frederic Udina Subject: testing To: stat-lisp-news@umnstat (lisp stat list) Date: Fri, 14 Oct 94 16:01:38 MET Mailer: Elm [revision: 70.85] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina sorry but I have the feeling to be disconnected form the xlisp-stat list. Are you still there? Please just discard this e-mail -- Frederic Udina From owner-SL-news Fri Oct 14 12:55:27 1994 Resent-Date: Fri, 14 Oct 94 18:22:37 MET Resent-From: owner-SL-news Resent-Message-Id: <199410141755.AA04026@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Fri, 14 Oct 1994 12:55:27 -0500 Message-Id: <199410141755.AA04012@umnstat.stat.umn.edu> Received: from halley.upf.es by umnstat.stat.umn.edu; Fri, 14 Oct 1994 12:55:08 -0500 Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA14341; Fri, 14 Oct 94 18:32:57 +0100 Received: by libiya.upf.es (1.37.109.4/15.6) id AA06036; Fri, 14 Oct 94 18:22:38 +0100 From: Frederic Udina Subject: enjoy xlisp-stat To: stat-lisp-news@umnstat (lisp stat list) Date: Fri, 14 Oct 94 18:22:37 MET Mailer: Elm [revision: 70.85] Errors-To: owner-SL-news Resent-To: SL-news-list Resent-Reply-To: Frederic Udina So, thinking about how to explain to our students the difference between mean and median, and how to show the robustness of these statistics, XLISP-STAT has been useful: the program below has been written in a really short time. Enjoy it, is pure XLISP-STAT. -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | voice: 34 - 3 - 542 17 56 Universitat Pompeu Fabra | fax: 34 - 3 - 542 17 46 Balmes 132 | e-mail: udina@upf.es 08008 Barcelona | appleLink: spa0172 SPAIN | Servicom: sva00484 Office #610, 6th floor, old Balmes ___________________________________/_\_________________________________ (defun meanmedian (&optional (data (exp (normal-rand 25)))) "Arg: optional DATA, a list of numbers. A graph window will appear depicting the data points toghether with the mean and the median. You can move the points or add new points (see mouse mode in the menu) and watch the central statistics changing." (let* ((gr (send graph-proto :new 2 :title "Mean and median" :show nil)) (mitj (mean data)) (fn (fivnum data))) (send gr :add-slot 'data) (send gr :add-slot 'mime) (send gr :add-slot 'prev-mime) (defmeth gr :data (&optional (dt nil set)) (when set (setf (slot-value 'data) dt)) (when (setf dt (slot-value 'data)) (let ((mitj (mean dt)) (med (nth 2 (fivnum dt)))) (setf (slot-value 'prev-mime) (slot-value 'mime)) (setf (slot-value 'mime) (list mitj med)))) (slot-value 'data)) (defmeth gr :do-point-moving (x y a b) (let ((p (send self :drag-point x y :draw nil))) (when p (let* ((pts (send self :point-coordinate 0 (iseq (send self :num-points))))) (send self :point-coordinate 1 (iseq (send self :num-points)) 0) (send self :data pts)) (send self :redraw)))) (defmeth gr :do-add-point (x y m1 m2) (let* ( (xy (send self :canvas-to-real x y)) (num (send self :num-points)) (there-was-selection (send self :selection)) ) (send self :add-points (list (list (nth 0 xy)) '(0))) (send self :point-symbol num 'X) (if there-was-selection (send self :point-selected num t)) (send self :data (send self :point-coordinate 0 (iseq (send self :num-points)))) (send self :redraw) )) (defmeth gr :redraw () (flet ((expand-ival (bounds &optional (factor 1.5)) (let* ((mid (mean bounds)) (wd (second (- bounds mid)))) (list (- mid (* factor wd)) (+ mid (* factor wd)))))) (let* ((dt (send self :slot-value 'data)) (mitj (first (slot-value 'mime))) (med (second (slot-value 'mime))) (minmax (list (min dt) (max dt))) (meanlabel (send self :real-to-canvas mitj 0.45)) (medlabel (send self :real-to-canvas med 0.25))) (send self :clear-lines) (send self :add-lines (list (list mitj mitj) (list -0.3 0.5))) (send self :add-lines (list (list med med) (list -0.1 0.3))) (send self :add-lines (list (expand-ival minmax) '(0 0))) (mapcar #'(lambda (pt) (send self :add-lines (list (list pt pt) '(-0.05 0.05)))) dt) (apply #'send self :draw-string "mean" meanlabel) (apply #'send self :draw-string "median" medlabel) (when (slot-value 'prev-mime) (unless (= mitj (first (slot-value 'prev-mime))) (setf mitj (first (slot-value 'prev-mime))) (send self :add-lines (list (list mitj mitj) (list -0.3 0.5)) :type 'dashed)) (unless (= med (second (slot-value 'prev-mime))) (setf med (second (slot-value 'prev-mime))) (send self :add-lines (list (list med med) (list -0.1 0.3)) :type 'dashed)))))) (send gr :data data) (send gr :add-points (list data (repeat 0 (length data)))) (send gr :add-mouse-mode 'point-moving :title "Point moving" :cursor 'finger :click :do-point-moving) (unless (member 'add-point (send gr :mouse-modes)) (send gr :add-mouse-mode 'add-points :title "Add new points" :cursor 'finger :click :do-add-point)) (send gr :adjust-to-data) (send gr :show-window) (send gr :adjust-to-data) (send gr :mouse-mode 'point-moving) gr)) From owner-SL-news@umnstat.stat.umn.edu Tue Oct 25 16:16:57 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA12385; Tue, 25 Oct 1994 16:16:57 -0500 Resent-Date: Tue, 25 Oct 94 15:47:47 EDT Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from kodak.com by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA12378; Tue, 25 Oct 1994 16:16:34 -0500 Return-Path: Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA13326; Tue, 25 Oct 94 17:16:24 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA12952; Tue, 25 Oct 94 15:47:50 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA10879; Tue, 25 Oct 94 15:47:47 EDT Date: Tue, 25 Oct 94 15:47:47 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9410251947.AA10879@gosset.kodak.com> To: stat-lisp-news@umnstat.stat.umn.edu Subject: Use of :add-function Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Could someone please send me an example of the :add-funtion message that would plot say a quadratic regression line to some x,y data? This is discussed on page 292 of the Lisp-Stat text, but I can't get it to work properly. It says, "The :add-function message takes a function of one real arguement, two real numbers representing lower and upper bounds on an interval, and a keyword arguement specifying a number of points." When I tried what I thought it said, I got a key value missing error message, and when I stuck in another number, I got a line but not the correct one. Would appreciate any aid! Thanks! Jeffrey D. Morris Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From owner-SL-news@umnstat.stat.umn.edu Wed Oct 26 08:20:55 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA15405; Wed, 26 Oct 1994 08:20:55 -0500 Resent-Date: Wed, 26 Oct 94 09:18:15 EDT Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from [150.220.251.69] by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA15399; Wed, 26 Oct 1994 08:20:27 -0500 Return-Path: Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA03978; Wed, 26 Oct 94 09:20:28 -0400 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA15020; Wed, 26 Oct 94 09:18:20 -0400 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA11068; Wed, 26 Oct 94 09:18:15 EDT Date: Wed, 26 Oct 94 09:18:15 EDT From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9410261318.AA11068@gosset.kodak.com> To: stat-lisp-news@umnstat.stat.umn.edu Subject: :add fcn & new ? Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) Thanks for the responses to the :add function question. I was complicating things. I still don't know what the phrase "and a keyword arguement specifying a number of points" means. ??? But onto my next question? I am again trying something that seems straight forward but am running into a problem. I have a function that I have written. I would like to pull down a menu, highlight the function name, have it present a dialog box into which I input various numbers. Well, I followed the example in the book and it all seems to work OK except...The example in the book (section 7.5) has the editable item (the fields in the dialog box) set up using the command: (setf name (send edit-text-item-proto) :new "" :text-length 15)) But when the function goes to use the values I've entered, I get an error message Error: not a number. What seems to be happening is that what I enter into the dialog box is read as text rather than a number. Is this the problem? Is there a version of the above command for numbers rather than text? Again a simple example would be very useful. Thanks again for solving my other problem! Jeffrey D. Morris Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From owner-SL-news@umnstat.stat.umn.edu Thu Oct 27 09:35:50 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA25849; Thu, 27 Oct 1994 09:35:50 -0500 Resent-Date: Thu, 27 Oct 1994 14:35:34 +0000 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA25843; Thu, 27 Oct 1994 09:35:48 -0500 Return-Path: Received: from burnmoor.ncl.ac.uk by cheviot.ncl.ac.uk id (8.6.9/ for ncl.ac.uk) with SMTP; Thu, 27 Oct 1994 14:35:35 GMT Received: from [128.240.138.23] (greabhal.ncl.ac.uk [128.240.138.23]) by burnmoor.ncl.ac.uk (8.6.9/8.6.x-cf revision 8 for Solaris 2.x) with SMTP id OAA06004; Thu, 27 Oct 1994 14:35:32 GMT Message-Id: <199410271435.OAA06004@burnmoor.ncl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Thu, 27 Oct 1994 14:35:34 +0000 To: stat-lisp-news@umnstat.stat.umn.edu From: Chris.Brunsdon@newcastle.ac.uk (Chris Brunsdon) Subject: Rubout Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Chris.Brunsdon@newcastle.ac.uk (Chris Brunsdon) Does anyone have any idea how to overcome the 'rubout' gremlins that seem to plague my copy of the xlisp-stat editor on the Mac? Basically, when I try to load files, or do an 'eval selection' I get a message saying > Error: illegal character - #\Rubout > Happened in: # the offending character is a rubout character, which I have to locate and delete. The only way this can be done (as far as I can see) is to scan through the file character by character with the cursor key until one key press doesn't make the cursor move. When this happens I press backspace and the offending character is removed. The annoying thing is that this character is otherwise invisible and the above process takes a VERY long time on occasion. If somebody has found a work-around I would be grateful to hear from them, as apart from this I think xlisp-stat is an excellent package. ============================================================================== Dr. Chris Brunsdon, + Phone +44 091 222 6000 x 7570 Lecturer in Computer Based Methods + Fax +44 091 222 8811 Dept. Of Town and Country Planning + Telex 53654 (UNINEWG) University of Newcastle Upon Tyne NE1 7RU + chris.brunsdon@newcastle.ac.uk ============================================================================ == From bjm@umnstat.stat.umn.edu Thu Oct 27 11:27:04 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA26685; Thu, 27 Oct 1994 11:27:04 -0500 Resent-Date: Thu, 27 Oct 1994 11:20:13 CDT Received: by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA26678; Thu, 27 Oct 1994 11:27:03 -0500 Return-Path: Message-Id: <9410271627.AA26678@umnstat.stat.umn.edu> To: Chris.Brunsdon@newcastle.ac.uk (Chris Brunsdon) Cc: stat-lisp-news@umnstat.stat.umn.edu Subject: Re: Rubout In-Reply-To: Your message of "Thu, 27 Oct 1994 14:35:34 CDT." <199410271435.OAA06004@burnmoor.ncl.ac.uk> Date: Thu, 27 Oct 1994 11:20:13 CDT From: "Bret J. Musser" Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: "Bret J. Musser" The problem comes from hitting the delete key instead of backspace (or vice versa, depending on your keyboard mapping). The solution is to find an editor that will display all control characters with something besides blanks. Alternatively, you could write an xlispstat program that reads in the file character-by-charcter and searches for the rubout character and replaces it with something else (eg. a space). Bret From owner-SL-news@umnstat.stat.umn.edu Thu Oct 27 12:17:14 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA27032; Thu, 27 Oct 1994 12:17:14 -0500 Resent-Date: Thu, 27 Oct 1994 18:14:53 +0100 (MET) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from halley.upf.es by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA27024; Thu, 27 Oct 1994 12:17:03 -0500 Return-Path: Message-Id: <9410271717.AA27024@umnstat.stat.umn.edu> Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA16054; Thu, 27 Oct 94 18:25:52 +0100 Received: by libiya.upf.es (1.37.109.4/15.6) id AA04555; Thu, 27 Oct 94 18:14:53 +0100 From: udina@upf.es Subject: Rubout To: stat-lisp-news@umnstat.stat.umn.edu (lisp stat list) Date: Thu, 27 Oct 1994 18:14:53 +0100 (MET) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Content-Length: 214 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: udina@upf.es OK, Bret is right but anyway I think it will be better if the XLISP-STAT editor would display the control chars with some special sign like the non-printable char that every macintosh font has. -- Frederic Udina From owner-SL-news@umnstat.stat.umn.edu Mon Oct 31 05:14:51 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA11828; Mon, 31 Oct 1994 05:14:51 -0600 Resent-Date: Mon, 31 Oct 1994 00:17:43 +0200 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from relay.xlink.net by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA11822; Mon, 31 Oct 1994 05:14:32 -0600 Return-Path: Received: from rgvx1b.spacediv.dofn.de by relay.xlink.net id <43423-0@relay.xlink.net>; Mon, 31 Oct 1994 10:39:49 +0000 Date: Mon, 31 Oct 1994 00:17:43 +0200 Message-Id: <94103100174320@spacediv.dofn.de> From: eickhoff@spacediv.dofn.de To: stat-lisp-news@umnstat.stat.umn.edu Subject: Compiling XLisp-Stat 3.39 with Think C7.0 on Mac - Problems X-Vms-To: SMTP%"stat-lisp-news@umnstat.stat.umn.edu" Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: eickhoff@spacediv.dofn.de I am working with XLisp-Stat and have included a number of own special routines in an older version of the system. Now I try to migrate to the 3.39 version as it offers some new features I need, but I'm having trouble in getting 3.39 properly compiled and running on the Mac with the Think C7.0 compiler. Has anyone alredy compiled the 3.39 version with Think C7.0? Luke apparently uses Code Warrior in the meantime, but I just have Think C/C++ 7.0. Thanks for hints, Jens Eickhoff 100140.1476@compuserve.com eickhoff@spacediv.dofn.de From owner-SL-news@umnstat.stat.umn.edu Mon Oct 31 14:52:07 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA13877; Mon, 31 Oct 1994 14:52:07 -0600 Resent-Date: Mon, 31 Oct 1994 16:50:42 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA13871; Mon, 31 Oct 1994 14:52:04 -0600 Return-Path: Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id PAA26274; Mon, 31 Oct 1994 15:51:59 -0500 Message-Id: <199410312051.PAA26274@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 31 Oct 1994 16:50:42 -0500 To: stat-lisp-news@umnstat.stat.umn.edu From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: repeat-command Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) I have added a menu-item to the "Command" menu. The purpose of this menu item is to repeat the previous command entered in the listener window. The menu item uses the (repeat-command) function that is defined by the following code: (defun repeat-command () (send *listener* :paste-string (format nil "~a" -)) (send *listener* :show-window)) The code doesn't work right and I can't figure out how to make it right. The problem is that if the previous command is: (setf driveratio (send current-data :variable "weight")) Then what appears in *listener* as a result of (repeat-command) is: (SETF DRIVERATIO (SEND CURRENT-DATA VARIABLE weight)) In general, repeat-command seems to work right except for not coping correctly with : and ". Can anyone help? Thanks in advance... ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From luke@umnstat.stat.umn.edu Fri Nov 4 10:20:44 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA03813; Fri, 4 Nov 1994 10:20:44 -0600 Resent-Date: Fri, 4 Nov 1994 10:20:43 -0600 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA03807; Fri, 4 Nov 1994 10:20:43 -0600 Date: Fri, 4 Nov 1994 10:20:43 -0600 From: Luke Tierney Return-Path: Message-Id: <9411041620.AA03807@umnstat.stat.umn.edu> To: stat-lisp-news@umnstat.stat.umn.edu Subject: XLISP-STAT Release 3.43 (includes native PowerMac version) Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Luke Tierney XLISP-STAT Release 3.43 for UNIX systems, Macintosh and MS Windows is now available for anonymous ftp from umnstat.stat.umn.edu (128.101.51.1). All versions include a number of bug fixes, and the Macintosh release now includes a native PowerPC version. The sources for all versions are in pub/xlispstat/xlispstat-3-43.tar.gz This a tar archive compressed with the GNU gzip compression utility. Once you have retrieved the file you can extract the sources with gzip -cd | tar xvf - The Macintosh and MS Windows distributions are in the directories pub/xlispstat/macintosh and pub/xlispstat/mswin. README files in those directories give further details. This is a beta realease -- some things are still in flux, others have not been extensively tested. Please let me know if you run into any problems. Changes from 3.37 include 3-39 - 3-40: Fixed SetPort bug that could cause crash after creating graph with :show nil. Added win32 code. Fixed scrolling bug in Windows version (affected name-list primarily). Added check to prevent graph-protos with vars=0 from failing on some systems. Modified load-dll for Windows to return multiple values on error. Modified postscript header for saved bitmap image on X11. Fixed bug in cond with empty consequent (from Tom Almy). Added check for Win16 vs Win32 workspace. Added WIN32 *features* for Win32 version. Added exit call to osfinish on Macintosh version -- may avoid some problems. Fixed Windows listener trimming to ignore line structure and always trim. Added some tests for initialization for handling early termination in Macintosh version. added :if-does-not-exist nil to internal load call 3-40 - 3-41: Redefined pusharg macro on suns to work arouns apparent compiler bug in 4.1.3 optimizer for sparcs Increased stack size on win32 version. Fixed makefile wor win32 so icon is available to progman. Added handling of show/hide window messages for modeless dialogs in Windows version. Added :xlisp-stat *feature* entry. 3.41 - 3.42: Modified callbacks to protect against oscheck event processing on Macintosh and Windows version. Changed OFFTYPE to unsigned long on all versions -- avoid problems with hashing where high end of vritual address space is used. Fixed activation handling to work properly in win32. Fixed polygon drawing to work in win32. Cleanups for conversion to MetroWerks compiler; added macros for full prototype generation on files used on Macintosh. Added PowerPC changes. Fixed load to properly set *load-pathname*. Modified test files to use *load-pathname* for directory of stuff to load. Modified redraw content to not erase entire view rectangle. Modified comparison to break ties using original position (make stable). Modified to handle arc drawing with large/negative arcs properly on windows version. Fixed size and location commands to work with iconified windows on Windows version. 3.42 - 3.43: Cleaned up minimization code; replaced internal derivative and minimization code by lisp code. Added level 1 BLAS routines. Modified floating point printing to work around MetroWerks bug and produce nicer output. Replaced lisp 'replace' function by internal version. Fixed errors in byte code handling of typed array arguments to aref's. Fixed bug in make-array's handling of :initial-contents arguments. Fixed problems with allocating and accessing complex vectors. Fixed check of argument count in test code generation. From owner-SL-news@umnstat.stat.umn.edu Sun Nov 6 12:32:08 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA15240; Sun, 6 Nov 1994 12:32:08 -0600 Resent-Date: Sun, 6 Nov 1994 13:32:04 -0500 (EST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from tardis.union.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA15234; Sun, 6 Nov 1994 12:32:06 -0600 Return-Path: Received: by tardis.union.edu id AA03001 (5.65c+/IDA-1.4.4 for stat-lisp-news@umnstat.stat.umn.edu); Sun, 6 Nov 1994 13:32:04 -0500 From: Joshua Kuperman Message-Id: <199411061832.AA03001@tardis.union.edu> Subject: Help with format problem To: stat-lisp-news@umnstat.stat.umn.edu Date: Sun, 6 Nov 1994 13:32:04 -0500 (EST) Cc: nysnet!jkuperma (work) X-Mailer: ELM [version 2.4 PL21] Content-Type: text Content-Length: 1121 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Joshua Kuperman Let me know if this shows up twice. The first time I sent it it bounced. I think I might have been using an incorrect name for the list so I'm sending it again. i > > I was recently trying to write a simple compiler in xlisp-stat. I needed to > have the output all be in text format to be input into another program. > I found I couldn't figure out a way to easily write out fixed length > binary character strings. > CLtL2 of course supports the "~b" directive to format. Statements of the form > > (format nil "~3,'0d" f) > "005" > are no problem (f was simply set to 5 for the above test). But there is no > way I could find to get the binary number into a string. > > At first I thought I'd use kcl after I got the rest written but kcl's handling > (at least here) is much buggier; even though it does recognize ~b. > > I desparately need to be able to have > >( format nil "~4,'0b" 3) > return "0011". Any help work arounds will be greatly appreciated. > > -- > Josh Kuperman > kupermaj@tardis.union.edu > > > -- Josh Kuperman kupermaj@tardis.union.edu From luke@umnstat.stat.umn.edu Mon Nov 7 06:26:27 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA17288; Mon, 7 Nov 1994 06:26:27 -0600 Resent-Date: Mon, 7 Nov 1994 06:26:25 -0600 Received: from mail.unet.umn.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA17282; Mon, 7 Nov 1994 06:26:26 -0600 Return-Path: Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA24728; Mon, 7 Nov 1994 06:26:25 -0600 Date: Mon, 7 Nov 1994 06:26:25 -0600 From: luke@umnstat.stat.umn.edu Message-Id: <199411071226.AA26855@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 7 Nov 1994 06:26:25 -0600 To: stat-lisp-news@umnstat.stat.umn.edu Subject: compiling 3.43 with non-ansi compilers (e.g. bundled sun cc) Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luke@umnstat.stat.umn.edu If you are using the bundled sun cc to compile 3.43 the compile will fail on cholesky because a prototyped declaration in linalg.h has not been properly set up to work on a non-ANSI compiler. Use the linalg.h file attached below instead. THis will be fixed properly in the next release. luke ---------------------------------(linalg.h)------------------------------------ #include "xlisp.h" #include "xlstat.h" typedef struct { double r, i; } dcomplex; #define min(x,y) (x < y ? x : y) #define max(x,y) (x > y ? x : y) #define abs(x) (x < 0 ? -x : x) #define ABS(x) (d__abs = (x), abs(d__abs)) #define POW2(x) (d__pow2 = (x), d__pow2 * d__pow2) double d_sign P2H(double *, double *); double z_abs P1H(dcomplex *); VOID z_div P3H(dcomplex *, dcomplex *, dcomplex *); VOID d_cnjg P2H(dcomplex *, dcomplex *); double dcabs1 P1H(dcomplex *); /* BLAS routines */ extern double blas_dasum P3H(int, double *, int); extern VOID blas_daxpy P6H(int, double, double *, int, double *, int); extern VOID blas_dcopy P5H(int, double *, int, double *, int); extern double blas_ddot P5H(int, double *, int, double *, int); extern double blas_dnrm2 P3H(int, double *, int); extern VOID blas_drot P7H(int, double *, int, double *, int, double, double); extern VOID blas_drotg P4H(double *, double *, double *, double *); extern VOID blas_dscal P4H(int, double, double *, int); extern VOID blas_dswap P5H(int, double *, int, double *, int); extern int blas_idamax P3H(int, double *, int); extern double blas_dzasum P3H(int, dcomplex *, int); extern double blas_dznrm2 P3H(int, dcomplex *, int); extern int blas_izamax P3H(int, dcomplex *, int); extern VOID blas_zaxpy P6H(int, dcomplex *, dcomplex *, int, dcomplex *, int); extern VOID blas_zcopy P5H(int, dcomplex *, int, dcomplex *, int); extern VOID blas_zdotc P6H(dcomplex *, int, dcomplex *, int, dcomplex *, int); extern VOID blas_zdotu P6H(dcomplex *, int, dcomplex *, int, dcomplex *, int); extern VOID blas_zdrot P7H(int, dcomplex *, int, dcomplex *, int, double, double); extern VOID blas_zdscal P4H(int, double, dcomplex *, int); extern VOID blas_zrotg P4H(dcomplex *, dcomplex *, double *, dcomplex *); extern VOID blas_zscal P4H(int, dcomplex *, dcomplex *, int); extern VOID blas_zswap P5H(int, dcomplex *, int, dcomplex *, int); /* LINPACK routines */ VOID linpack_dgeco P6H(double *, int, int, int *, double *, double *); VOID linpack_dgedi P7H(double *, int, int, int *, double *, double *, int); VOID linpack_dgefa P5H(double *, int, int, int *, int *); VOID linpack_dgesl P6H(double *, int, int, int *, double *, int); VOID linpack_dqrdc P8H(double *, int, int, int, double *, int *, double *, int); VOID linpack_dqrsl P13H(double *, int, int, int, double *, double *, double *, double *, double *, double *, double *, int, int *); VOID linpack_dsvdc P13H(double *, int, int, int, double *, double *, double *, int, double *, int, double *, int, int *); VOID linalg_zgeco P6H(dcomplex *, int, int, int *, double *, dcomplex *); VOID linalg_zgeco P6H(dcomplex *, int, int, int *, double *, dcomplex *); VOID linpack_zgedi P7H(dcomplex *, int, int, int *, dcomplex *, dcomplex *, int); VOID linpack_zgefa P5H(dcomplex *, int, int, int *, int *); VOID linpack_zgesl P6H(dcomplex *, int, int, int *, dcomplex *, int); /* in place transpose */ int gtrans P8H(char *, int, int, int, int *, int, int, char *); From owner-SL-news@umnstat.stat.umn.edu Tue Nov 8 10:40:23 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA23763; Tue, 8 Nov 1994 10:40:23 -0600 Resent-Date: Tue, 8 Nov 94 11:24 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA23757; Tue, 8 Nov 1994 10:40:21 -0600 Return-Path: Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id LAA29263; Tue, 8 Nov 1994 11:40:11 -0500 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0r4tLb-0004oSC; Tue, 8 Nov 94 11:24 EST Message-Id: Date: Tue, 8 Nov 94 11:24 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: stat-lisp-news@umnstat.stat.umn.edu Subject: Speed of "Objects" -vs- "Programs" Reply-To: pcolsen@super.org Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) I'm writing to ask about the relative speed of roughly equivalent algorithms written in "object-oriented" style as opposed to "traditional" style. As a class/research project, I've written a neural network suite in xlispstat. I'm now trying to cleanup the code and I decided to try rewriting it in "object-oriented" style. For example, rather than creating a separate weight-matrix for each back-propagation layer and then using functions to manipulate them, I've created a "layer" object that contains its own weight-matrix as well as the methods to update it. My fear is that implementation may be *much* slower than the original because of additional overhead inherent in the object-oriented approach --- for example, in sending, receiving, and parsing messages. Does anyone have a good feel for the relative speed of the two approaches. I see that "oo" offers several big advantages, but it will be a hollow victory if my now-so-well-engineered code winds up slow to use. Peter -- Peter Olsen, P.E., pcolsen%n2ell.uucp@mimsy.umd.edu, ...!mimsy!n2ell.edu P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From owner-SL-news@umnstat.stat.umn.edu Mon Nov 14 10:53:13 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA23765; Mon, 14 Nov 1994 10:53:13 -0600 Resent-Date: Mon, 14 Nov 1994 08:52:25 -0800 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from tsunami.cor.epa.gov by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA23758; Mon, 14 Nov 1994 10:53:05 -0600 Return-Path: Received: from anonimo.cor.epa.gov.landnsea (anonimo.cor.epa.gov [204.47.148.94]) by tsunami.cor3.epa.gov (8.6.9/8.6.9) with SMTP id IAA20213; Mon, 14 Nov 1994 08:52:25 -0800 Date: Mon, 14 Nov 1994 08:52:25 -0800 From: Dan Kugler Message-Id: <199411141652.IAA20213@tsunami.cor3.epa.gov> To: stat-lisp-news@umnstat.stat.umn.edu Cc: dkugler@tsunami.cor.epa.gov Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Dan Kugler help From owner-SL-news@umnstat.stat.umn.edu Sun Nov 20 14:19:42 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA20799; Sun, 20 Nov 1994 14:19:42 -0600 Resent-Date: Sun, 20 Nov 94 11:11 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA20793; Sun, 20 Nov 1994 14:19:09 -0600 Return-Path: Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id PAA27164; Sun, 20 Nov 1994 15:19:04 -0500 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0r9Eqz-0004pVC; Sun, 20 Nov 94 11:11 EST Message-Id: Date: Sun, 20 Nov 94 11:11 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: remailer@soda.berkeley.edu, stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) scheme@ai.mit.edu Subject: Fast Lisp Interpreter? Faster Lisp Techniques? Post-To: comp.lang.lisp,comp.lang.lisp.x,comp.lang.scheme Reply-To: pcolsen@acm.org I'm looking for advice about fast lisp interpreters or good techniques to speed up lisp code. I'm doing some research into neural networks that requires lots of numerical calculation. I've prototyped my algorithms in XlispStat, but I've found that large cases are just too slow. Can anyone suggest a faster lisp (or scheme)? My application requires several matrix multiplications, several vector inner-products, and several non-linear function evaluations inside the innermost "algorithmic" loop. (Accurately comparing performance might be difficult because I'm already using XlispStat's vectorized matrix and vector operations.) Alternatively, are there some good references to general techniques I can use to speed up my code? (I know lots of C tricks, but not many for lisp.) I have these constraints: 1. My programs should run on several platforms with few changes: Linux PCs, SGI, Cray Unicos, and Suns (so CMU lisp may be out). 2. This is a graduate program, not a company-funded one, so anything I use must be free (or nearly so). I've already installed XlispStat, GCL, and MIT-scheme on several computers. I have CMU lisp on a Sun to which I have access, but it isn't working yet. My alternative is to move to C, but I would like to stay with Lisp, if possible. Thanks! Peter. -- Peter Olsen, P.E., pcolsen%n2ell.uucp@mimsy.umd.edu, ...!mimsy!n2ell.edu P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From owner-SL-news@umnstat.stat.umn.edu Mon Nov 21 01:19:37 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22802; Mon, 21 Nov 1994 01:19:37 -0600 Resent-Date: Sun, 20 Nov 1994 23:18:32 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22796; Mon, 21 Nov 1994 01:19:32 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA12116; Sun, 20 Nov 94 23:19:11 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA19206; Sun, 20 Nov 94 23:18:32 PST From: Jan Deleeuw Message-Id: <9411210718.AA19206@galton.math.ucla.edu> Subject: function To: abraverm@stat.ucla.edu (Amy Braverman), smithm@nicco.sscnet.ucla.edu (Mark Smith), dbetz@stat.ucla.edu (David Betz), jbond@stat.ucla.edu (Jason Bond), afsharto@stat.ucla.edu (David Afshartous), gmichail@stat.ucla.edu (George Michailides), harvey@stat.ucla.edu (Tyrone Harvey), stockdal@stat.ucla.edu (Susan Stockdale) Date: Sun, 20 Nov 1994 23:18:32 -0800 (PST) Cc: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1595 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw In our textbook work we combine Xlisp-Stat and HTML. This can be done in various ways. The function below is an example. It can be used with Brooks Cutter's html+tables to produce HTML tables, but the function itself defines HTML+ tables descriptions, which look much nicer in browsers that support them. =========================================================================== (defun html+tables (x &key (filename "table.html") (border t) (clabels nil) (rlabels nil) (caption nil)) "Args: A This functions produces a file with a HTML+ table, which describes the contents of an Xlisp array A. Caption and labels can be added as well. If labels are used, they must be lists or vectors of strings." (let* ( (nd (array-dimensions x)) (rd (elt nd 0)) (cd (elt nd 1)) ) (with-open-file (ff filename :direction :output) (format ff "~%" (if border "BORDER" "")) (if caption (format ff "~a~%" caption)) (if clabels (progn (if rlabels (format ff "")) (dotimes (j cd) (format ff " ~a" (elt clabels j))) (format ff " ~%"))) (dotimes (i rd) (if rlabels (format ff " ~a" (elt rlabels i))) (dotimes (j cd) (format ff " ~a" (num-to-string (aref x i j)))) (format ff " ~%") ) (format ff "")) )) -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Wed Nov 23 03:27:08 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA05910; Wed, 23 Nov 1994 03:27:08 -0600 Resent-Date: Wed, 23 Nov 1994 01:27:02 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA05904; Wed, 23 Nov 1994 03:27:07 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA07610; Wed, 23 Nov 94 01:27:04 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA19089; Wed, 23 Nov 94 01:27:02 PST From: Jan Deleeuw Message-Id: <9411230927.AA19089@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Wed, 23 Nov 1994 01:27:02 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2629 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; This file implements the spatial interaction models ;;; described by Keith Ord in JASA, 70, 1975, 120-126. ;;; In educational statistics these are known as Erbring ;;; and Young models. I think they are cute. The Xlisp ;;; is rather boring, but it works. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun ord-spatial-interaction-model (y w &key (epsilon 1e-8)) (let* ( (yl (matmult w y)) (ll (eigenvalues w)) (s1 (sum (* y y))) (s2 (sum (* y yl))) (s3 (sum (* yl yl))) (rh (ord-find-rho s1 s2 s3 ll)) ) (list rh (/ (sum (^ (- y (* rh yl)) 2)) (length ll))) )) (defun ord-mixed-model (x y w &key (epsilon 1e-8)) (let* ( (ll (eigenvalues w)) (yl (matmult w y)) (my (regression-model x y)) (ry (send my :residuals)) (ml (regression-model x yl)) (rl (send ml :residuals)) (s1 (sum (* ry ry))) (s2 (sum (* ry rl))) (s3 (sum (* rl rl))) (rh (ord-newton-find-rho s1 s2 s3 ll)) (zz (- y (* rh yl))) (mz (regression-model x z)) (rz (send mz :residuals)) ) (list rh (/ (sum (* rz rz)) (length ll)) (send mz :coef-estimates)) )) (defun ord-autoregressive-model (x y w &key (epsilon 1e-8)) (let* ( (rr (regression-model x y)) (rs (send rr :residuals)) (bo (send rr :coef-estimates)) (ll (eigenvalues w)) (yl (matmult w y)) (xl (matmult w x)) ) (loop (let* ( (rl (matmult w rs)) (s1 (sum (* rs rs))) (s2 (sum (* rs rl))) (s3 (sum (* rl rl))) (rh (ord-newton-find-rho s1 s2 s3 ll)) (zz (- y (* rh yl))) (xx (- x (* rh xl))) (zr (regression-model xx zz)) (bn (send zr :coef-estimates)) ) (setf rs (send zr :residuals)) (if (> epsilon (max (abs (- bn bo)))) (return (list rh (/ (sum (* rs rs)) (length ll)) bn)) (setf bo bn)) )))) (defun ord-newton-find-rho (s1 s2 s3 ll &key (old 0) (epsilon 1e-8)) (loop (let* ( (q (- 1 (* old ll))) (p (sum (log q))) (r (/ 2 (length ll))) (s (+ s1 (- (* 2 old s2)) (* old old s3))) (b (/ (- (* old s3) s2) (^ s 2))) (a (sum (/ ll q))) (u (sum (/ (^ ll 2) (^ q 2)))) (v (* 4 (^ b 2))) (w (/ (* 2 s3) (^ s 2))) (f (- (log s) (* r p))) (g (+ (* r a) (* 2 b))) (h (+ (* r u) w (- v))) (new (- old (/ (+ (* r a) (* 2 b)) (+ (* r u) w (- v))))) ) (format t "~,8f ~,8f ~,8f ~,8f ~,8f ~%" old new f g h) (if (> epsilon (abs (- old new))) (return new) (setf old new)))) ) From owner-SL-news@umnstat.stat.umn.edu Fri Nov 25 13:32:34 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA15064; Fri, 25 Nov 1994 13:32:34 -0600 Resent-Date: Fri, 25 Nov 1994 11:32:28 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA15058; Fri, 25 Nov 1994 13:32:32 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA23792; Fri, 25 Nov 94 11:32:30 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA27609; Fri, 25 Nov 94 11:32:28 PST From: Jan Deleeuw Message-Id: <9411251932.AA27609@galton.math.ucla.edu> Subject: from the desk of Jan de Leeuw To: stat-lisp-news@umnstat.stat.umn.edu, (Xlisp, List), xlisp-stat@math.ucla.edu, under@math.ucla.edu, ilisp@math.ucla.edu, in@math.ucla.edu, emacs@math.ucla.edu Date: Fri, 25 Nov 1994 11:32:28 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 872 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw Get this from ftp.stat.ucla.edu in ~pub/lisp/xlisp/xlisp-stat/ilisp This is some minimal stuff to get xlispstat to run under ilisp, with a much improved inferior lisp mode and lisp interaction mode. You need ilisp-5.6. Get it from haldane.bu.edu (128.197.54.25) I have included some lines from my .emacs. Add them to yours, change the path names. Replace ilisp.el by the version in here. Add ilisp-xls.el to the emacs/ilisp directories. This is just a minimal file to make things work. It can be improved enormously. I may do it myself. Or I may not. Recompile the .el files. You can now start xlispstat by saying M-x xlispstat in emacs, this will split the frame, etc etc. All of ilisp will be available, and you wil have good interaction between your lisp-buffer in which you are editing and your inferior lisp buffer in which xlispstat is running. --- Jan From owner-SL-news@umnstat.stat.umn.edu Sun Nov 27 00:57:38 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA18571; Sun, 27 Nov 1994 00:57:38 -0600 Resent-Date: Sun, 27 Nov 94 01:40 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA18565; Sun, 27 Nov 1994 00:57:36 -0600 Return-Path: Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id BAA17160; Sun, 27 Nov 1994 01:57:33 -0500 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0rBdHc-0004q0C; Sun, 27 Nov 94 01:40 EST Message-Id: Date: Sun, 27 Nov 94 01:40 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: stat-lisp-news@umnstat.stat.umn.edu Subject: Possible bug in xlispstat-3.43? (Very long with sample data.) Reply-To: pcolsen@acm.org Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) Please excuse the long message, but I've included the data... I was recently conducting some numerical experiments when I found that the results of (print-matrix) didn't look right. In fact, I found that they weren't right --- they weren't what they were "supposed" to be (by construction) nor were they the same as I obtained using other displays. Here's a matrix, named "j2" that ought to be orthonormal. (I constructed it by computing the svd of a random matrix, then multiplying the right and left matrices of singular vectors, without the diagonal matrix of singular values.) Unfortunately, while the "standard" lisp representation of the product of j2 and its transpose is close to orthonormal, the "print-matrix" representation is far from orthonormal --- apparently because numbers just slightly less than 1.0 are being printed as "0.1" instead! The bug only seems to show up for numbers 0.9999995 and larger --- 0.99999949 rounds properly to 0.999999 while 0.9999995 goes to 0.100000. I've run some tests (and written this email) under Emacs and copied the results directly to insure accuracy. I then edited the display format slightly to make it easier to find the rows. My machine is a 486DX2/66 running Emacs, X11, and XlispStat under Linux. I compiled this version of XlispStat with gcc-2.5.8 using the -m486 option. Again --- please excuse the length of the data Peter Peter Olsen, P.E., pcolsen@acm.org P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." ================================================================= Here's the problem... XLISP-PLUS version 2.1g Portions Copyright (c) 1988, by David Betz. Modified by Thomas Almy and others. XLISP-STAT 2.1 Release 3.43 (Beta). Copyright (c) 1989-1994, by Luke Tierney. > j2 #2A((0.22041774700557615 -0.07156399426167465 0.22053852785148814 -0.43358995282295676 0.08405129944686808 0.5696512911845104 -0.49777434831262696 0.3392749592797975 0.11716543778473844 0.038410518661430186) (-0.4037245259269013 -0.7156377339190552 0.22091941900186612 0.19522978541376146 0.43208230722690094 -0.02620201935138596 -0.003693166257960915 0.16581320929156904 -0.08956109616597513 0.12263183239204745) (0.5629646972908083 -0.09669562599208993 0.2912128496265755 0.41345014647435213 0.06406816339970869 -0.38356806302160745 -0.4051221202260222 0.041936962850791355 -0.05751372491339153 -0.31233811787296095) (-0.05717979856364301 -0.2896077756153183 -0.21222180762196344 -0.3312244626116696 -0.012081091961547788 -0.3032997738639935 -0.3899691341431995 -0.5385633945559848 0.4682786585616773 0.06754260480117286) (-0.028367246878128017 -0.28885850464052715 -0.4417064393214991 -0.16377203850365346 -0.2087874293428466 0.08530977174666299 -0.21348963699301132 -0.09388347962232893 -0.6838744019416527 -0.34768394581883655) (-0.3389013330618913 0.21846165388025546 0.6214418248565122 0.01605371155323549 -0.06435704959764908 0.19008437290248983 -0.15840643421163877 -0.5534551558590967 -0.2387291690307836 -0.14933856216567587) (-0.03535914427467418 -0.35459234433427644 0.16066206226834315 0.23847422474758315 -0.8452704966332278 0.12396384406266081 0.012436051019404492 0.09198860777731158 0.17077686335288597 0.15066918277675698) (-0.5691935733847164 0.24051826851183916 -0.0564137584125681 0.020076118446038477 -0.11034760997757487 -0.22489844817631116 -0.29492187118361657 0.42796612950998175 0.2346331254600611 -0.4760688470865111) (-0.16455763426262224 0.26920443602273597 -0.25028430120025447 0.3931283793731041 0.023668710152067497 0.020875045314726243 -0.5274451339265471 0.010706089804086818 -0.1892721583098622 0.6067327975358119) (-0.015941201447567048 0.04793739971745782 0.3158841347489537 -0.5043138746124384 -0.16442791936668855 -0.5708797673036199 -0.0022005751194933442 0.24234478166620288 -0.33307827205667445 0.3474412074872265)) > Here's the product of j2 and its transpose. Note that the diagonal elements are all close to 1.0. > (setq j2j2t (matmult j2 (transpose j2))) #2A((0.9999999999999999 3.033919551134398E-16 5.677661845445575E-17 -2.0229222011153465E-16 2.977388572234646E-16 2.3880315178645764E-16 -2.618390598199856E-17 1.4026865606531214E-17 4.209397994016026E-16 2.8304368262154975E-16) (3.033919551134398E-16 1.0000000000000002 9.505064920908857E-17 -1.4695767524977935E-16 -2.0849885403254054E-16 4.729662570878562E-17 -2.0691320835528049E-16 1.5798180905829406E-16 3.0383410631190655E-16 3.1283637247532525E-16) (5.677661845445575E-17 9.505064920908857E-17 0.9999999999999999 -4.366624249685369E-17 -1.4852214510335804E-16 -1.751664134921893E-18 -1.7772106486110828E-16 -1.7729416025569211E-16 5.835718193403228E-16 2.2640174240570743E-16) (-2.0229222011153465E-16 -1.4695767524977935E-16 -4.366624249685369E-17 1.0000000000000007 1.2181011407874642E-16 9.315753057197521E-17 -1.2569121904306563E-17 -2.9926690466031136E-16 1.6666220270175613E-17 -9.972288294614329E-17) (2.977388572234646E-16 -2.0849885403254054E-16 -1.4852214510335804E-16 1.2181011407874642E-16 1.0000000000000002 -5.267189679206141E-17 7.137777239922538E-17 -1.9651164376299768E-16 -4.867525653373672E-16 -4.763713295358185E-17) (2.3880315178645764E-16 4.729662570878562E-17 -1.751664134921893E-18 9.315753057197521E-17 -5.267189679206141E-17 1.0000000000000002 7.88655436529534E-17 5.536207343254107E-18 -1.002954772184872E-16 4.198606794268006E-16) (-2.618390598199856E-17 -2.0691320835528049E-16 -1.7772106486110828E-16 -1.2569121904306563E-17 7.137777239922538E-17 7.88655436529534E-17 0.9999999999999997 -2.7076594005109866E-16 -3.1108470834040336E-16 1.626167733456696E-16) (1.4026865606531214E-17 1.5798180905829406E-16 -1.7729416025569211E-16 -2.9926690466031136E-16 -1.9651164376299768E-16 5.536207343254107E-18 -2.7076594005109866E-16 0.9999999999999996 1.541464438731266E-16 1.84558314811345E-16) (4.209397994016026E-16 3.0383410631190655E-16 5.835718193403228E-16 1.6666220270175613E-17 -4.867525653373672E-16 -1.002954772184872E-16 -3.1108470834040336E-16 1.541464438731266E-16 1.0000000000000002 -5.3044591288853304E-17) (2.8304368262154975E-16 3.1283637247532525E-16 2.2640174240570743E-16 -9.972288294614329E-17 -4.763713295358185E-17 4.198606794268006E-16 1.626167733456696E-16 1.84558314811345E-16 -5.3044591288853304E-17 1.0000000000000002)) > Now, here's the same display using (print-matrix j2j2t). Note that the diagonal elements in the first, third, seventh and eighth rows are all displayed as 0.1, *not* 1.0. > (print-matrix j2j2t) #2a( ( 0.100000 3.033920E-16 5.677662E-17 -2.022922E-16 2.977389E-16 2.388032E-16 -2.618391E-17 1.402687E-17 4.209398E-16 2.830437E-16) ( 3.033920E-16 1.00000 9.505065E-17 -1.469577E-16 -2.084989E-16 4.729663E-17 -2.069132E-16 1.579818E-16 3.038341E-16 3.128364E-16) ( 5.677662E-17 9.505065E-17 0.100000 -4.366624E-17 -1.485221E-16 -1.751664E-18 -1.777211E-16 -1.772942E-16 5.835718E-16 2.264017E-16) (-2.022922E-16 -1.469577E-16 -4.366624E-17 1.00000 1.218101E-16 9.315753E-17 -1.256912E-17 -2.992669E-16 1.666622E-17 -9.972288E-17) ( 2.977389E-16 -2.084989E-16 -1.485221E-16 1.218101E-16 1.00000 -5.267190E-17 7.137777E-17 -1.965116E-16 -4.867526E-16 -4.763713E-17) ( 2.388032E-16 4.729663E-17 -1.751664E-18 9.315753E-17 -5.267190E-17 1.00000 7.886554E-17 5.536207E-18 -1.002955E-16 4.198607E-16) (-2.618391E-17 -2.069132E-16 -1.777211E-16 -1.256912E-17 7.137777E-17 7.886554E-17 0.100000 -2.707659E-16 -3.110847E-16 1.626168E-16) ( 1.402687E-17 1.579818E-16 -1.772942E-16 -2.992669E-16 -1.965116E-16 5.536207E-18 -2.707659E-16 0.100000 1.541464E-16 1.845583E-16) ( 4.209398E-16 3.038341E-16 5.835718E-16 1.666622E-17 -4.867526E-16 -1.002955E-16 -3.110847E-16 1.541464E-16 1.00000 -5.304459E-17) ( 2.830437E-16 3.128364E-16 2.264017E-16 -9.972288E-17 -4.763713E-17 4.198607E-16 1.626168E-16 1.845583E-16 -5.304459E-17 1.00000 ) ) NIL > It appears that any of the diagonal elements which are strictly less than 1.0 are being displayed as 0.100000 instead of being rounded to 1.00000. As a double-check, I'll take (diagonal j2j2t) > (diagonal j2j2t) (0.9999999999999999 1.0000000000000002 0.9999999999999999 1.0000000000000007 1.0000000000000002 1.0000000000000002 0.9999999999999997 0.9999999999999996 1.0000000000000002 1.0000000000000002) > which agrees with the "standard" matrix representation, not the pretty-printed one. I can "localize" the bug by setting the (0 0) element a little smaller > (setf (select j2j2t 0 0) .99999949) 0.99999949 > (print-matrix j2j2t) #2a( ( 0.999999 3.033920E-16 5.677662E-17 -2.022922E-16 2.977389E-16 2.388032E-16 -2.618391E-17 1.402687E-17 4.209398E-16 2.830437E-16) ( 3.033920E-16 1.00000 9.505065E-17 -1.469577E-16 -2.084989E-16 4.729663E-17 -2.069132E-16 1.579818E-16 3.038341E-16 3.128364E-16) ( 5.677662E-17 9.505065E-17 0.100000 -4.366624E-17 -1.485221E-16 -1.751664E-18 -1.777211E-16 -1.772942E-16 5.835718E-16 2.264017E-16) (-2.022922E-16 -1.469577E-16 -4.366624E-17 1.00000 1.218101E-16 9.315753E-17 -1.256912E-17 -2.992669E-16 1.666622E-17 -9.972288E-17) ( 2.977389E-16 -2.084989E-16 -1.485221E-16 1.218101E-16 1.00000 -5.267190E-17 7.137777E-17 -1.965116E-16 -4.867526E-16 -4.763713E-17) ( 2.388032E-16 4.729663E-17 -1.751664E-18 9.315753E-17 -5.267190E-17 1.00000 7.886554E-17 5.536207E-18 -1.002955E-16 4.198607E-16) (-2.618391E-17 -2.069132E-16 -1.777211E-16 -1.256912E-17 7.137777E-17 7.886554E-17 0.100000 -2.707659E-16 -3.110847E-16 1.626168E-16) ( 1.402687E-17 1.579818E-16 -1.772942E-16 -2.992669E-16 -1.965116E-16 5.536207E-18 -2.707659E-16 0.100000 1.541464E-16 1.845583E-16) ( 4.209398E-16 3.038341E-16 5.835718E-16 1.666622E-17 -4.867526E-16 -1.002955E-16 -3.110847E-16 1.541464E-16 1.00000 -5.304459E-17) ( 2.830437E-16 3.128364E-16 2.264017E-16 -9.972288E-17 -4.763713E-17 4.198607E-16 1.626168E-16 1.845583E-16 -5.304459E-17 1.00000 ) ) NIL > and then increasing it slightly > (setf (select j2j2t 0 0) .9999995) 0.9999995 > (print-matrix j2j2t) #2a( ( 0.100000 3.033920E-16 5.677662E-17 -2.022922E-16 2.977389E-16 2.388032E-16 -2.618391E-17 1.402687E-17 4.209398E-16 2.830437E-16) ( 3.033920E-16 1.00000 9.505065E-17 -1.469577E-16 -2.084989E-16 4.729663E-17 -2.069132E-16 1.579818E-16 3.038341E-16 3.128364E-16) ( 5.677662E-17 9.505065E-17 0.100000 -4.366624E-17 -1.485221E-16 -1.751664E-18 -1.777211E-16 -1.772942E-16 5.835718E-16 2.264017E-16) (-2.022922E-16 -1.469577E-16 -4.366624E-17 1.00000 1.218101E-16 9.315753E-17 -1.256912E-17 -2.992669E-16 1.666622E-17 -9.972288E-17) ( 2.977389E-16 -2.084989E-16 -1.485221E-16 1.218101E-16 1.00000 -5.267190E-17 7.137777E-17 -1.965116E-16 -4.867526E-16 -4.763713E-17) ( 2.388032E-16 4.729663E-17 -1.751664E-18 9.315753E-17 -5.267190E-17 1.00000 7.886554E-17 5.536207E-18 -1.002955E-16 4.198607E-16) (-2.618391E-17 -2.069132E-16 -1.777211E-16 -1.256912E-17 7.137777E-17 7.886554E-17 0.100000 -2.707659E-16 -3.110847E-16 1.626168E-16) ( 1.402687E-17 1.579818E-16 -1.772942E-16 -2.992669E-16 -1.965116E-16 5.536207E-18 -2.707659E-16 0.100000 1.541464E-16 1.845583E-16) ( 4.209398E-16 3.038341E-16 5.835718E-16 1.666622E-17 -4.867526E-16 -1.002955E-16 -3.110847E-16 1.541464E-16 1.00000 -5.304459E-17) ( 2.830437E-16 3.128364E-16 2.264017E-16 -9.972288E-17 -4.763713E-17 4.198607E-16 1.626168E-16 1.845583E-16 -5.304459E-17 1.00000 ) ) NIL > I haven't tried this with other matrices (bigger, smaller, etc) because I'm working like mad to prepare a presentation on what I hope will become my dissertation research. Luckily I noticed this *before* my presentation. Any suggestions? I hate to post a bug without even trying to find the solution, but I won't have any daylight for bug-pursuit until week-after-next, at the earliest. Peter -- Peter Olsen, P.E., pcolsen@acm.org P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From owner-SL-news@umnstat.stat.umn.edu Sun Nov 27 02:27:55 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA18708; Sun, 27 Nov 1994 02:27:55 -0600 Resent-Date: Sun, 27 Nov 1994 10:27:03 +0200 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from sunset.ma.huji.ac.il by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA18702; Sun, 27 Nov 1994 02:27:46 -0600 Return-Path: Received: by sunset.ma.huji.ac.il id AA00830 (5.65c/HUJI 4.152 for stat-lisp-news@umnstat.stat.umn.edu); Sun, 27 Nov 1994 10:27:03 +0200 Date: Sun, 27 Nov 1994 10:27:03 +0200 From: "Harvey J. Stein" Message-Id: <199411270827.AA00830@sunset.ma.huji.ac.il> To: pcolsen@acm.org In-Reply-To: Subject: Possible bug in xlispstat-3.43? (Very long with sample data.) Cc: hjstein@math.huji.ac.il, stat-lisp-news@umnstat.stat.umn.edu Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: "Harvey J. Stein" Maybe you have an older version of xlispstat laying around. I just tried it under version 2.1 release 2, and didn't see this bug. However, under this version, the matrix j2j2t comes out quite differently from what you showed in your email. So, it might have just been that the numbers didn't come out to the weird range that causes problems. However, I did set the first element to .99999949 and to .9999995, and didn't see the problem. This is under Linux kernel 1.0.9, with libc.so.4.5.26. Here's what happened: hjstein@blinky:~$ xlispstat XLISP version 2.1, Copyright (c) 1989, by David Betz XLISP-STAT version 2.1 Release 2, Copyright (c) 1989, by Luke Tierney. Several files will be loaded; this may take a few minutes. ; loading "/buster/usr/lib/xlispstat/common.lsp" ; loading "/buster/usr/lib/xlispstat/init.lsp" ; loading "/buster/usr/lib/xlispstat/help.lsp" ; loading "/buster/usr/lib/xlispstat/objects.lsp" ; loading "/buster/usr/lib/xlispstat/menubar.lsp" ; loading "/buster/usr/lib/xlispstat/statistics.lsp" ; loading "/buster/usr/lib/xlispstat/dialogs.lsp" ; loading "/buster/usr/lib/xlispstat/graphics.lsp" ; loading "/buster/usr/lib/xlispstat/graphics2.lsp" ; loading "/buster/usr/lib/xlispstat/graphics3.lsp" ; loading "/buster/usr/lib/xlispstat/regression.lsp" ; loading "/buster/usr/lib/xlispstat/autoload.lsp" > 0.9999995 1 > () NIL > (setq j2 '#2A((1 2 3) (1 2 3))) #2A((1 2 3) (1 2 3)) > j2 #2A((1 2 3) (1 2 3)) > (setq j2 '#2A((0.22041774700557615 -0.07156399426167465 0.22053852785148814 -0.43358995282295676 0.08405129944686808 0.5696512911845104 -0.49777434831262696 0.3392749592797975 0.11716543778473844 0.038410518661430186) (-0.4037245259269013 -0.7156377339190552 0.22091941900186612 0.19522978541376146 0.43208230722690094 -0.02620201935138596 -0.003693166257960915 0.16581320929156904 -0.08956109616597513 0.12263183239204745) (0.5629646972908083 -0.09669562599208993 0.2912128496265755 0.41345014647435213 0.06406816339970869 -0.38356806302160745 -0.4051221202260222 0.041936962850791355 -0.05751372491339153 -0.31233811787296095) (-0.05717979856364301 -0.2896077756153183 -0.21222180762196344 -0.3312244626116696 -0.012081091961547788 -0.3032997738639935 -0.3899691341431995 -0.5385633945559848 0.4682786585616773 0.06754260480117286) (-0.028367246878128017 -0.28885850464052715 -0.4417064393214991 -0.16377203850365346 -0.2087874293428466 0.08530977174666299 -0.21348963699301132 -0.09388347962232893 -0.6838744019416527 -0.34768394581883655) (-0.3389013330618913 0.21846165388025546 0.6214418248565122 0.01605371155323549 -0.06435704959764908 0.19008437290248983 -0.15840643421163877 -0.5534551558590967 -0.2387291690307836 -0.14933856216567587) (-0.03535914427467418 -0.35459234433427644 0.16066206226834315 0.23847422474758315 -0.8452704966332278 0.12396384406266081 0.012436051019404492 0.09198860777731158 0.17077686335288597 0.15066918277675698) (-0.5691935733847164 0.24051826851183916 -0.0564137584125681 0.020076118446038477 -0.11034760997757487 -0.22489844817631116 -0.29492187118361657 0.42796612950998175 0.2346331254600611 -0.4760688470865111) (-0.16455763426262224 0.26920443602273597 -0.25028430120025447 0.3931283793731041 0.023668710152067497 0.020875045314726243 -0.5274451339265471 0.010706089804086818 -0.1892721583098622 0.6067327975358119) (-0.015941201447567048 0.04793739971745782 0.3158841347489537 -0.5043138746124384 -0.16442791936668855 -0.5708797673036199 -0.0022005751194933442 0.24234478166620288 -0.33307827205667445 0.3474412074872265)) ) #2A((0.220418 -0.071564 0.220539 -0.43359 0.0840513 0.569651 -0.497774 0.339275 0.117165 0.0384105) (-0.403725 -0.715638 0.220919 0.19523 0.432082 -0.026202 -0.00369317 0.165813 -0.0895611 0.122632) (0.562965 -0.0966956 0.291213 0.41345 0.0640682 -0.383568 -0.405122 0.041937 -0.0575137 -0.312338) (-0.0571798 -0.289608 -0.212222 -0.331224 -0.0120811 -0.3033 -0.389969 -0.538563 0.468279 0.0675426) (-0.0283672 -0.288859 -0.441706 -0.163772 -0.208787 0.0853098 -0.21349 -0.0938835 -0.683874 -0.347684) (-0.338901 0.218462 0.621442 0.0160537 -0.064357 0.190084 -0.158406 -0.553455 -0.238729 -0.149339) (-0.0353591 -0.354592 0.160662 0.238474 -0.84527 0.123964 0.0124361 0.0919886 0.170777 0.150669) (-0.569194 0.240518 -0.0564138 0.0200761 -0.110348 -0.224898 -0.294922 0.427966 0.234633 -0.476069) (-0.164558 0.269204 -0.250284 0.393128 0.0236687 0.020875 -0.527445 0.0107061 -0.189272 0.606733) (-0.0159412 0.0479374 0.315884 -0.504314 -0.164428 -0.57088 -0.00220058 0.242345 -0.333078 0.347441)) > (setq j2j2t (matmult j2 (transpose j2))) #2A((1 2.87097e-16 6.76542e-17 -2.15539e-16 2.98372e-16 2.29851e-16 -2.51535e-17 1.73472e-17 4.44089e-16 2.60209e-16) (2.87097e-16 1 6.93889e-17 -1.70003e-16 -2.08167e-16 5.55112e-17 -1.2837e-16 1.45717e-16 3.05311e-16 3.1225e-16) (6.76542e-17 6.93889e-17 1 -3.1225e-17 -1.52656e-16 -2.08167e-17 -1.80411e-16 -1.66533e-16 5.55112e-16 2.22045e-16) (-2.15539e-16 -1.70003e-16 -3.1225e-17 1 1.2837e-16 1.05818e-16 6.93889e-18 -2.98372e-16 3.46945e-17 -9.02056e-17) (2.98372e-16 -2.08167e-16 -1.52656e-16 1.2837e-16 1 -4.85723e-17 4.16334e-17 -1.94289e-16 -5.27356e-16 -8.32667e-17) (2.29851e-16 5.55112e-17 -2.08167e-17 1.05818e-16 -4.85723e-17 1 7.97973e-17 0 -8.32667e-17 4.23273e-16) (-2.51535e-17 -1.2837e-16 -1.80411e-16 6.93889e-18 4.16334e-17 7.97973e-17 1 -2.63678e-16 -2.91434e-16 1.66533e-16) (1.73472e-17 1.45717e-16 -1.66533e-16 -2.98372e-16 -1.94289e-16 0 -2.63678e-16 1 1.66533e-16 1.38778e-16) (4.44089e-16 3.05311e-16 5.55112e-16 3.46945e-17 -5.27356e-16 -8.32667e-17 -2.91434e-16 1.66533e-16 1 -5.55112e-17) ( 2.60209e-16 3.1225e-16 2.22045e-16 -9.02056e-17 -8.32667e-17 4.23273e-16 1.66533e-16 1.38778e-16 -5.55112e-17 1)) > (print-matrix j2j2t) #2a( ( 1 2.87097e-16 6.76542e-17 -2.15539e-16 2.98372e-16 2.29851e-16 -2.51535e-17 1.73472e-17 4.44089e-16 2.60209e-16) ( 2.87097e-16 1 6.93889e-17 -1.70003e-16 -2.08167e-16 5.55112e-17 -1.2837e-16 1.45717e-16 3.05311e-16 3.1225e-16) ( 6.76542e-17 6.93889e-17 1 -3.1225e-17 -1.52656e-16 -2.08167e-17 -1.80411e-16 -1.66533e-16 5.55112e-16 2.22045e-16) (-2.15539e-16 -1.70003e-16 -3.1225e-17 1 1.2837e-16 1.05818e-16 6.93889e-18 -2.98372e-16 3.46945e-17 -9.02056e-17) ( 2.98372e-16 -2.08167e-16 -1.52656e-16 1.2837e-16 1 -4.85723e-17 4.16334e-17 -1.94289e-16 -5.27356e-16 -8.32667e-17) ( 2.29851e-16 5.55112e-17 -2.08167e-17 1.05818e-16 -4.85723e-17 1 7.97973e-17 0 -8.32667e-17 4.23273e-16) (-2.51535e-17 -1.2837e-16 -1.80411e-16 6.93889e-18 4.16334e-17 7.97973e-17 1 -2.63678e-16 -2.91434e-16 1.66533e-16) ( 1.73472e-17 1.45717e-16 -1.66533e-16 -2.98372e-16 -1.94289e-16 0 -2.63678e-16 1 1.66533e-16 1.38778e-16) ( 4.44089e-16 3.05311e-16 5.55112e-16 3.46945e-17 -5.27356e-16 -8.32667e-17 -2.91434e-16 1.66533e-16 1 -5.55112e-17) ( 2.60209e-16 3.1225e-16 2.22045e-16 -9.02056e-17 -8.32667e-17 4.23273e-16 1.66533e-16 1.38778e-16 -5.55112e-17 1) ) NIL > (diagonal j2j25) error: unbound variable - J2J25 > (diagonal j2j2t) (1 1 1 1 1 1 1 1 1 1) > > (setf (select j2j2t 0 0) .99999949) 0.999999 > (print-matrix j2j2t) #2a( ( 0.999999 2.87097e-16 6.76542e-17 -2.15539e-16 2.98372e-16 2.29851e-16 -2.51535e-17 1.73472e-17 4.44089e-16 2.60209e-16) ( 2.87097e-16 1 6.93889e-17 -1.70003e-16 -2.08167e-16 5.55112e-17 -1.2837e-16 1.45717e-16 3.05311e-16 3.1225e-16) ( 6.76542e-17 6.93889e-17 1 -3.1225e-17 -1.52656e-16 -2.08167e-17 -1.80411e-16 -1.66533e-16 5.55112e-16 2.22045e-16) (-2.15539e-16 -1.70003e-16 -3.1225e-17 1 1.2837e-16 1.05818e-16 6.93889e-18 -2.98372e-16 3.46945e-17 -9.02056e-17) ( 2.98372e-16 -2.08167e-16 -1.52656e-16 1.2837e-16 1 -4.85723e-17 4.16334e-17 -1.94289e-16 -5.27356e-16 -8.32667e-17) ( 2.29851e-16 5.55112e-17 -2.08167e-17 1.05818e-16 -4.85723e-17 1 7.97973e-17 0 -8.32667e-17 4.23273e-16) (-2.51535e-17 -1.2837e-16 -1.80411e-16 6.93889e-18 4.16334e-17 7.97973e-17 1 -2.63678e-16 -2.91434e-16 1.66533e-16) ( 1.73472e-17 1.45717e-16 -1.66533e-16 -2.98372e-16 -1.94289e-16 0 -2.63678e-16 1 1.66533e-16 1.38778e-16) ( 4.44089e-16 3.05311e-16 5.55112e-16 3.46945e-17 -5.27356e-16 -8.32667e-17 -2.91434e-16 1.66533e-16 1 -5.55112e-17) ( 2.60209e-16 3.1225e-16 2.22045e-16 -9.02056e-17 -8.32667e-17 4.23273e-16 1.66533e-16 1.38778e-16 -5.55112e-17 1) ) NIL > (setf (select j2j2t 0 0) .9999995) 1 > (print-matrix j2j2t) #2a( ( 1 2.87097e-16 6.76542e-17 -2.15539e-16 2.98372e-16 2.29851e-16 -2.51535e-17 1.73472e-17 4.44089e-16 2.60209e-16) ( 2.87097e-16 1 6.93889e-17 -1.70003e-16 -2.08167e-16 5.55112e-17 -1.2837e-16 1.45717e-16 3.05311e-16 3.1225e-16) ( 6.76542e-17 6.93889e-17 1 -3.1225e-17 -1.52656e-16 -2.08167e-17 -1.80411e-16 -1.66533e-16 5.55112e-16 2.22045e-16) (-2.15539e-16 -1.70003e-16 -3.1225e-17 1 1.2837e-16 1.05818e-16 6.93889e-18 -2.98372e-16 3.46945e-17 -9.02056e-17) ( 2.98372e-16 -2.08167e-16 -1.52656e-16 1.2837e-16 1 -4.85723e-17 4.16334e-17 -1.94289e-16 -5.27356e-16 -8.32667e-17) ( 2.29851e-16 5.55112e-17 -2.08167e-17 1.05818e-16 -4.85723e-17 1 7.97973e-17 0 -8.32667e-17 4.23273e-16) (-2.51535e-17 -1.2837e-16 -1.80411e-16 6.93889e-18 4.16334e-17 7.97973e-17 1 -2.63678e-16 -2.91434e-16 1.66533e-16) ( 1.73472e-17 1.45717e-16 -1.66533e-16 -2.98372e-16 -1.94289e-16 0 -2.63678e-16 1 1.66533e-16 1.38778e-16) ( 4.44089e-16 3.05311e-16 5.55112e-16 3.46945e-17 -5.27356e-16 -8.32667e-17 -2.91434e-16 1.66533e-16 1 -5.55112e-17) ( 2.60209e-16 3.1225e-16 2.22045e-16 -9.02056e-17 -8.32667e-17 4.23273e-16 1.66533e-16 1.38778e-16 -5.55112e-17 1) ) NIL > From bjm@otter.stat.umn.edu Sun Nov 27 03:21:47 1994 Received: by otter.stat.umn.edu (1.38.193.4/16.2) id AA07070; Sun, 27 Nov 1994 03:21:47 -0600 Resent-Date: Sun, 27 Nov 1994 03:21:01 CST Received: from localhost by otter.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA07056; Sun, 27 Nov 1994 03:21:02 -0600 Return-Path: Message-Id: <9411270921.AA07056@otter.stat.umn.edu> To: "Harvey J. Stein" Cc: pcolsen@acm.org, stat-lisp-news@otter.stat.umn.edu Subject: Re: Possible bug in xlispstat-3.43? (Very long with sample data.) In-Reply-To: Your message of "Sun, 27 Nov 1994 10:27:03 CST." <199411270827.AA00830@sunset.ma.huji.ac.il> Date: Sun, 27 Nov 1994 03:21:01 CST From: "Bret J. Musser" Errors-To: owner-SL-news@otter.stat.umn.edu Resent-From: owner-SL-news@otter.stat.umn.edu Resent-To: SL-news-list@otter.stat.umn.edu Resent-Reply-To: "Bret J. Musser" Well, there are a couple of bugs still left in 3.43. For example, on your last setf, the HP version prints "0.100000" instead of "1.000000". These bugs may be related, and they may all be tied into how xlispstat displays numbers. You may also notice that: > (setf (select j2j2t 0 0) .9999995) 0.9999995 > (print-matrix j2j2t) #2a( ( 0.100000 [the HP bug]2.870967E-16 6.765422E-17 -2.155394E-16 2.983724E-16 ...(rest deleted) > (diagonal j2j2t) (0.9999995 1.0000000000000002 1.0 1.0000000000000007 1.0000000000000002 1.0000000000000002 0.9999999999999998 0.9999999999999993 1.0000000000000002 1.0) So xlispstat hasn't lost the knowledge that you replaced the element by ".9999995" but it has gotten a little confused on printing it... Needless to say, "Be Careful." Similarly, "Xlisp-Stat is still in a testing stage." bjm From owner-SL-news@umnstat.stat.umn.edu Sun Nov 27 08:40:05 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA19131; Sun, 27 Nov 1994 08:40:05 -0600 Resent-Date: Sun, 27 Nov 94 09:20 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from mimsy.cs.umd.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA19125; Sun, 27 Nov 1994 08:40:04 -0600 Return-Path: Received: from n2ell.UUCP by mimsy.cs.UMD.EDU (8.6.9/UMIACS-0.9/04-05-88) id JAA21008; Sun, 27 Nov 1994 09:40:03 -0500 Received: by n2ell.uucp (Smail3.1.28.1 #6) id m0rBkSS-0004qDC; Sun, 27 Nov 94 09:20 EST Message-Id: Date: Sun, 27 Nov 94 09:20 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: stat-lisp-news@umnstat.stat.umn.edu Subject: Followup: Re Possible Bug in Xlispstat-3.43 Reply-To: pcolsen@acm.org Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: pcolsen@n2ell (Peter C. Olsen P.E.) Although I forgot to mention it in my original message, all the functions in which I observed the error had been loaded from a compiled "*.fsl" file. Peter -- Peter Olsen, P.E., pcolsen@acm.org P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From luke@umnstat.stat.umn.edu Mon Nov 28 02:54:00 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA21374; Mon, 28 Nov 1994 02:54:00 -0600 Resent-Date: Mon, 28 Nov 94 2:53:57 CST Received: from mail.unet.umn.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA21368; Mon, 28 Nov 1994 02:53:59 -0600 Return-Path: Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA13881; Mon, 28 Nov 1994 02:53:57 -0600 From: luke@umnstat.stat.umn.edu Message-Id: <199411280853.AA24977@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Mon, 28 Nov 1994 02:53:58 -0600 Subject: Bug in ~f printing in xlisp-stat-3.43 To: stat-lisp-news@umnstat.stat.umn.edu Date: Mon, 28 Nov 94 2:53:57 CST X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luke@umnstat.stat.umn.edu There is a bug in the ~f format directive in xlispstat 3.43 that affects all vesions. The bug is that certain numbers are not rounsed properly on printing. For example, > (format t "~,3f" .9999) 0.100 Since ~f is useg as part of ~g format printing, any printing of formatted numbers is affected. This bug krept in while I was rewriting the printing code to avoid a bug in the Metrowerks libraries for the Macintosh version. All versions are affected by this bug. The bug has been fixed. I will put a new version of the file xlfio.c which contains the fix in the xlispstat ftp directory on umnstat. You can recompile the UNIX version with this new file to correct the bug. I will release a full distribution of all versions with the fix as soon as possible, but this may take a few days. luke From owner-SL-news@umnstat.stat.umn.edu Mon Nov 28 09:27:05 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22140; Mon, 28 Nov 1994 09:27:05 -0600 Resent-Date: Mon, 28 Nov 1994 10:27:00 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from zombie.ncsc.mil by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22134; Mon, 28 Nov 1994 09:27:03 -0600 Return-Path: Received: (from pcolsen@localhost) by zombie.ncsc.mil (8.6.9/8.6.9) id KAA18362; Mon, 28 Nov 1994 10:27:00 -0500 Date: Mon, 28 Nov 1994 10:27:00 -0500 From: "Peter C. Olsen" Message-Id: <199411281527.KAA18362@zombie.ncsc.mil> To: stat-lisp-news@umnstat.stat.umn.edu Subject: Passing arguments? Are vectors or lists faster in matmults? Cc: pcolsen@acm.org Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: "Peter C. Olsen" I think that I've found part of the reason for the leisurely pace of my code: I'm dealing with a very long data list as a list, by peeling off the first element and then storing the remainder back as the list (loop (let ((this-one (car list))) (setq (list (cdr list))) (stuff ...))) As my lists may contain tens of thousands of numeric atoms, this may account for lots of time. An obvious way around this would be to pass the list once, and then use an index variable to "select" the right element --- and this raises some questions: 1. Is there an appreciable difference in speed between using select on a list and using it on a vector? 2. The "logical" place to make the index selection is several layers down in my code, so I'd like to pass the entire argument structure down to that layer. On the other hand, I don't want to spend lots of time copying elements I won't need. In C terms, does Xlispstat pass arguments "by reference" "by value"? (Will I save time by inverting the logic of my algorithm to make the selection at the top?) 3. My overall data structure is now a list-of-lists and I do lots of linear algebra on the sub-lists? Would I win big by changing those sub-lists to vectors? Any advice will be gratefully appreciated! Peter From owner-SL-news@umnstat.stat.umn.edu Mon Nov 28 10:39:33 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22611; Mon, 28 Nov 1994 10:39:33 -0600 Resent-Date: Mon, 28 Nov 94 11:34:39 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from KARIBA.BBN.COM by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22600; Mon, 28 Nov 1994 10:39:30 -0600 Return-Path: Message-Id: <9411281639.AA22600@umnstat.stat.umn.edu> Received: by KARIBA.BBN.COM id aa03776; 28 Nov 94 11:40 EST To: "Peter C. Olsen" Cc: stat-lisp-news@umnstat.stat.umn.edu, pcolsen@acm.org Subject: Re: Passing arguments? Are vectors or lists faster in matmults? In-Reply-To: Your message of Mon, 28 Nov 94 10:27:00 -0500. <199411281527.KAA18362@zombie.ncsc.mil> Date: Mon, 28 Nov 94 11:34:39 -0500 From: kanderso@bbn.com Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: kanderso@bbn.com Date: Mon, 28 Nov 1994 10:27:00 -0500 From: "Peter C. Olsen" To: stat-lisp-news@umnstat.stat.umn.edu Subject: Passing arguments? Are vectors or lists faster in matmults? Cc: pcolsen@acm.org Errors-To: owner-SL-news@stat.umn.edu I think that I've found part of the reason for the leisurely pace of my code: I'm dealing with a very long data list as a list, by peeling off the first element and then storing the remainder back as the list (loop (let ((this-one (car list))) (setq (list (cdr list))) (stuff ...))) I assume you have (setq list (cdr list)). This is a fine way to iterate over the elements of a list. In isolation, it is not a performance problem. As my lists may contain tens of thousands of numeric atoms, this may account for lots of time. An obvious way around this would be to pass the list once, and then use an index variable to "select" the right element --- and this raises some questions: 1. Is there an appreciable difference in speed between using select on a list and using it on a vector? Yes, selecting the i'th element out of a list is an O(i) operation, while selecting an element out of an array is O(1). So, generally selecting random elements of an array is faster than selecting random elements of a list. 2. The "logical" place to make the index selection is several layers down in my code, so I'd like to pass the entire argument structure down to that layer. On the other hand, I don't want to spend lots of time copying elements I won't need. In C terms, does Xlispstat pass arguments "by reference" "by value"? (Will I save time by inverting the logic of my algorithm to make the selection at the top?) 3. My overall data structure is now a list-of-lists and I do lots of linear algebra on the sub-lists? Would I win big by changing those sub-lists to vectors? Maybe. If lists are an inappropriate data structure for what you are doing, vectors might be better. For example, it would be a bad idea to represent a two dimensional matrix as a lists of lists in a matrix multiplication (see the file cs.utexas.edu:pub/garbage/worse.ps). From owner-SL-news@umnstat.stat.umn.edu Mon Nov 28 20:57:53 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA27892; Mon, 28 Nov 1994 20:57:53 -0600 Resent-Date: Mon, 28 Nov 1994 18:57:42 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA27886; Mon, 28 Nov 1994 20:57:51 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA18537; Mon, 28 Nov 94 18:57:44 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA16961; Mon, 28 Nov 94 18:57:42 PST From: Jan Deleeuw Message-Id: <9411290257.AA16961@galton.math.ucla.edu> Subject: UCLA Statistics WWW Server To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Mon, 28 Nov 1994 18:57:42 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 1759 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw This is of some interest to Xlisp-Stat users, perhaps. For the Electronic Textbook and for the NELS Example mentioned below, we use Xlisp-Stat from Mosaic (or any MIME compatible browser). In the near future (a week, say) I will organize the Lisp directories in ~/develop in the same way as the TeX is done now. =================================================================== News on the UCLA Statistics Server We are adding stuff to http://www.stat.ucla.edu from ftp.stat.ucla.edu. An example is http://www.stat.ucla.edu/develop/tex/index.html which leads to a large amount of online TeX/LaTeX documentation. Most of this is in Postscript, some is plain text, some is html. Other new things in: http://www.stat.ucla.edu/consult/nels/index.html which describes one of our large projects: the multilevel/multivariate analysis of a large educational database NELS-88. http://www.stat.ucla.edu/graduate/M278/index.html which has information about our graduate Nonlinear Multivariate Analysis course, with a nice multiple correspondence analysis demo on an educational data set. http://www.stat.ucla.edu/practice/case-studies/index.html a growing directory of case studies in html http://www.stat.ucla.edu/textbook/index.html a growing electronic introductory statistics textbook http://www.stat.ucla.edu/consult/free.html free electronic statistical consulting at UCLA and much more. Suggestions welcome. To use our server you need mosaic, to read the ps you need ghostview, to do some demos you need xlispstat. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Tue Nov 29 08:03:00 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA29596; Tue, 29 Nov 1994 08:03:00 -0600 Resent-Date: Tue, 29 Nov 1994 15:02:39 +0100 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from hypatia-gw.ethz.ch by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA29589; Tue, 29 Nov 1994 08:02:53 -0600 Return-Path: Received: from ingrid.ethz.ch (ingrid.ethz.ch [129.132.58.16]) by hypatia.ethz.ch (8.6.5/Main-mathdept-mailer) with ESMTP id PAA22069 for ; Tue, 29 Nov 1994 15:02:42 +0100 From: Martin Maechler Received: from localhost (maechler@localhost) by ingrid.ethz.ch (8.6.5/D-MATH-stat-client) id PAA22011; Tue, 29 Nov 1994 15:02:39 +0100 Date: Tue, 29 Nov 1994 15:02:39 +0100 Message-Id: <199411291402.PAA22011@ingrid.ethz.ch> To: Lisp-Stat Mailinglist Subject: FORWARD of Announce: The OO-Browser, the multi-language object-oriented browser. Reply-To: Martin Maechler Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Martin Maechler I think this could be VERY interesting for X-Lisp-Stat to have available. Only CLOS (Common Lisp Object System) is mentioned below; maybe someone could port it to Lisp-Stat's Object System ?? Martin Maechler <>< _ Seminar fuer Statistik, SOL F5 _| |_ ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND |_ _| phone: x-41-1-632-3408 fax: ...-1086 |_| ------- Start of forwarded message ------- From: bweiner@sun285.pts.mot.com (Bob Weiner) Reply-To: bob_weiner@pts.mot.com Newsgroups: gnu.emacs.sources Subject: ANNOUNCE: The OO-Browser, the multi-language object-oriented browser. Organization: Motorola Inc, Paging Products Group, Boynton Beach, FL Date: Mon, 28 Nov 1994 04:19:03 GMT The OO-Browser is part of the InfoDock tool framework, which will be announced and released under the terms of the GNU Public License within the next week or so. Both the OO-Browser and InfoDock have been donated by Motorola to the Free Software Foundation and will be available via anonymous ftp in the near future. Since the OO-Browser is useful with various versions of Emacs, it is being released here. This message summarizes the OO-Browser's features. The next two messages contain the complete source and a full user manual in Postscript and Info formats. Do not send requests asking to have the OO-Browser mailed to you; it will not be. Here is the contents of the "BR-FEATURES" file included in the OO-Browser distribution. OO-Browser Features ******************* The OO-Browser is a multi-windowed, interactive object-oriented class browser similar in use to the well-known Smalltalk browsers. It is unique in a number of respects foremost of which is that it works well with a multiplicity of object-oriented languages. It provides both textual views within an editor and graphical views under the X window system. * Support for all popular OO Languages on UNIX ---------------------------------------------- ** Contains support for Eiffel, C++, Objective-C, Common Lisp Object System (CLOS), and Smalltalk class browsing. Additionally, support for browsing large amounts of material in Info format by node name (a popular online documentation format with cross references and hierarchical structure) is included. ** Immediate switching among languages is allowed. One can switch from Eiffel browsing to C++ browsing in an instant, if so desired. Or simply run two OO-Browsers side by side. ** Multiple inheritance support is built-in, where applicable. ** Statistics on classes and Environments may be displayed. ** Language-specific class information may be shown. Presently this feature is supported only for Eiffel. A listing of class parents, attributes, routines and best guess (highly accurate) list of routine calls may be displayed. Outputs from the Eiffel 'short' and 'flat' commands may also be shown. * For Serious Use ---------------------- ** Library (stable) and System (in development) classes may be maintained and listed separately or together. Any number of Libraries and Systems may be combined for listing in a single Environment. There are no fixed limits on the number of classes per Environment nor on the number of Environments that may be browsed. ** All source code, over 200 kilobytes, is included and is heavily documented. * Ease of Use ------------- ** Machine-independent mouse support is included along with an extremely intuitive point and click interface. The OO-Browser is pre-configured for use with X windows, Sunview or Apollo's DM window system. ** The OO-Browser help display gives short descriptions of all of the commands and key bindings available in the browser. By clicking on any such selection, the corresponding command is executed. ** One may also click on class names to see ancestors, descendants, or the class itself. Just select a class name and the OO-Browser immediately will display or edit the class' source. Once a class file has been loaded, one can quickly switch to it by selection from a menu of such files. ** For a number of languages, one may also select a feature (method) name or declaration and move directly to the definition of the feature. The browser accounts for the complexities of member name overloading in C++ and unlimited feature renaming in Eiffel so that you need not. Just click on a declaration and watch the browser display jump to the proper defintion. ** Jump back to a previously visited class or feature by selecting from a list of recently visited ones. ** OO-Browser commands may also be invoked from the keyboard, allowing unrestricted use via standard terminal interfaces. * Speed ------- ** Once an Environment (a lookup data structure for a set of classes) is built, startup is fast along with the display of selected classes or features. Environment building is also fast. Response times on workstations are excellent; for example, in one test case, less than two real seconds were required to display a set of complex inheritance graphs involving over 400 classes. * Flexibility ------------- ** A Motif-based (X Window) hierarchy display can provide views of class inheritance structure and lexically included features. A click on a class or feature name immediately jumps to it in the editor, providing rapid, visual browsing. ** The OO-Browser uses class source code only, hence no compiler is necessary for proper browser operation. This allows one to explore class libraries without the need for additional tools. ** Class inheritance networks may be displayed. Either a single inheritance level (parents or children) or the entire inheritance network (ancestors or descendants) for a set of classes may be shown. ** Class files may be added, replaced or deleted one at a time or as a group by specifying a root directory below which all class files are found, including those in subdirectories. ** On startup, the OO-Browser lists all currently known classes within a particular Environment. Any desired classes may be found by searching or by matching a regular expression or string to the set of class names. ** The number of class listing windows is limited only by the screen width and the width setting used for class listing windows. ** The OO-Browser is adaptable to any class-based object-oriented language. * Editor Integration -------------------- ** The OO-Browser works with the powerful, freely distributable, GNU Emacs editor; it works on any UNIX system display supported by Emacs. ** All OO-Browser outputs are text which may be edited as desired or saved to files. ** OO-Browser functions may be used standalone within the editor without using the multi-windowed browser interface. One useful example is to point to a class name such as a parent class in the text of another class and have the parent's source appear in an editable fashion. -- Bob Weiner, Motorola, 1500 Gateway Blvd, MS-70, Boynton Beach, FL 33426-8753 Work: 407-364-2091 Fax: 407-364-3329 INTERNET: Check out "/anonymous@ftp.cs.brown.edu:pub/hyperbole" if you would like a well designed, free everyday information management tool for UNIX workstations. ------- End of forwarded message ------- From owner-SL-news@umnstat.stat.umn.edu Tue Nov 29 09:17:48 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA00224; Tue, 29 Nov 1994 09:17:48 -0600 Resent-Date: Tue, 29 Nov 1994 10:14:35 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA00217; Tue, 29 Nov 1994 09:17:46 -0600 Return-Path: Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id KAA10680; Tue, 29 Nov 1994 10:17:23 -0500 Message-Id: <199411291517.KAA10680@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Tue, 29 Nov 1994 10:14:35 -0500 To: stat-lisp-news@umnstat.stat.umn.edu From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: Another Bug Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) I have discovered that the code (setf a (list 1 2 3)) (setf b (list 4 5 6)) (defun foo (x &rest args &key abc) "Hi") (foo a b) works under the old version 2.1r3a7 but not under the newere versions 3.37, 3.39 or 3.43. Under the new versions we get the message Error: keyword value missing Note, however, that the following code works under all four versions (defun foo (x &rest args ) "Hi") (foo a b) ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From luke@umnstat.stat.umn.edu Tue Nov 29 09:37:07 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA00539; Tue, 29 Nov 1994 09:37:07 -0600 Resent-Date: Tue, 29 Nov 94 9:37:01 CST Received: from mail.unet.umn.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA00533; Tue, 29 Nov 1994 09:37:05 -0600 Return-Path: Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA00331; Tue, 29 Nov 1994 09:37:01 -0600 From: luke@umnstat.stat.umn.edu Message-Id: <199411291537.AA29936@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 29 Nov 1994 09:37:03 -0600 Subject: Re: Another Bug To: stat-lisp-news@umnstat.stat.umn.edu, uluru@gibbs.oit.unc.edu Date: Tue, 29 Nov 94 9:37:01 CST X-Mailer: ELM [version 2.3 PL6] Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luke@umnstat.stat.umn.edu > > I have discovered that the code > > (setf a (list 1 2 3)) > (setf b (list 4 5 6)) > (defun foo (x &rest args &key abc) > "Hi") > > (foo a b) > > works under the old version 2.1r3a7 but not under the newere versions 3.37, > 3.39 or 3.43. Under the new versions we get the message > Error: keyword value missing > This is no bug. One of the objectives of the new releases is to move the basic lisp system closer to common lisp. In CL, the &key construct requires that arguments, if supplied, come in keyword/value pairs. Yours do not -- that is an error. luke From owner-SL-news@umnstat.stat.umn.edu Tue Nov 29 10:19:53 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA01018; Tue, 29 Nov 1994 10:19:53 -0600 Resent-Date: Tue, 29 Nov 1994 17:16:20 +0100 (MET) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from halley.upf.es by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA01010; Tue, 29 Nov 1994 10:19:22 -0600 Return-Path: Message-Id: <9411291619.AA01010@umnstat.stat.umn.edu> Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA01074; Tue, 29 Nov 94 17:29:59 +0100 Received: by libiya.upf.es (1.37.109.4/15.6) id AA13035; Tue, 29 Nov 94 17:16:20 +0100 From: udina@upf.es Subject: Re: Another Bug To: uluru@gibbs.oit.unc.edu (Forrest Young) Date: Tue, 29 Nov 1994 17:16:20 +0100 (MET) Cc: stat-lisp-news@umnstat.stat.umn.edu (lisp stat list) In-Reply-To: <199411291517.KAA10680@gibbs.oit.unc.edu> from "Forrest Young" at Nov 29, 94 10:14:35 am X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Content-Length: 1053 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: udina@upf.es ~~ ~~I have discovered that the code ~~ ~~(setf a (list 1 2 3)) ~~(setf b (list 4 5 6)) ~~(defun foo (x &rest args &key abc) ~~ "Hi") ~~ ~~(foo a b) ~~ ~~Note, however, that the following code works under all four versions ~~ ~~(defun foo (x &rest args ) ~~ "Hi") ~~(foo a b) ~~ I think that this is not a bug, in the documentation about release 3 luke points out something about that: if in the defun there is a key without default value, the caller MUST give a value to the key. -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | voice: 34 - 3 - 542 17 56 Universitat Pompeu Fabra | fax: 34 - 3 - 542 17 46 Balmes 132 | e-mail: udina@upf.es 08008 Barcelona | appleLink: spa0172 SPAIN | Servicom: sva00484 Office #610, 6th floor, old Balmes ___________________________________/_\_________________________________ From owner-SL-news@umnstat.stat.umn.edu Tue Nov 29 13:55:40 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA02331; Tue, 29 Nov 1994 13:55:40 -0600 Resent-Date: Tue, 29 Nov 1994 14:52:43 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from gibbs.oit.unc.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA02325; Tue, 29 Nov 1994 13:55:36 -0600 Return-Path: Received: from [152.2.85.134] by gibbs.oit.unc.edu (8.6.4.3/10.1) id OAA14752; Tue, 29 Nov 1994 14:55:33 -0500 Message-Id: <199411291955.OAA14752@gibbs.oit.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Tue, 29 Nov 1994 14:52:43 -0500 To: stat-lisp-news@umnstat.stat.umn.edu From: uluru@gibbs.oit.unc.edu (Forrest Young) Subject: Not A Bug Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: uluru@gibbs.oit.unc.edu (Forrest Young) >> >> >> >> >> I have discovered that the code >> >> >> >> (setf a (list 1 2 3)) >> >> (setf b (list 4 5 6)) >> >> (defun foo (x &rest args &key abc) >> >> "Hi") >> >> >> >> (foo a b) >> >> >> >> works under the old version 2.1r3a7 but not under the newere versions >>3.37, >> >> 3.39 or 3.43. Under the new versions we get the message >> >> Error: keyword value missing >> >> >> > >> >This is no bug. One of the objectives of the new releases is to move >> >the basic lisp system closer to common lisp. In CL, the &key construct >> >requires that arguments, if supplied, come in keyword/value pairs. >> >Yours do not -- that is an error. >> > >> >luke >> >> I don't understand. I'm not supplying anything having to do with the >> keyword, as b is part of the &rest, not part of &key. I think that what >> you are saying would imply that >> >> (foo a b :abc) >> >> would be an error since :abc isnt paired with a value. I should instead say >> >> (foo a b :abc t) pairing :abc with its value t. >> > >All argumants after the first are grouped in to the rest argument. And >all arguments after the first are interpreted as keyword-value pairs, >which requires minimally that their number be even. > >luke My problem ("bug") came about in the process of modifying plot-points. With plot-points the user has two syntacies that can be used. Either (plot-points x y :show nil) or (plot-points (list x y) :show nil). So, I am writting code that trys to allow both usages. What I did (back when, with the old system) was write (defun plot-points (x &rest args &key (show t)) (when (not (listp (first x))) (setf x (list x (first args))) (setf args (rest args))) (let ((w (apply #'send scatterplot2-proto :new x :show nil args))) (when show (send w :show-window)) w)) Thus, in the first syntax, I treated the "y" as part of args, along with the other keyword-value pairs, producing an "args" list of ((4 5 6) :show nil) --- if (setf y (list 4 5 6)) --- then I stripped off y and combined it with x to produce an internal (list x y) and shortened args. In the second usage I skipped this "preprocessing". Apparently this change means that I can't take that same approach. However, the new version still allows plot-points to have either syntax. Do you do this in c-code? How can I do it in lisp? ===================================================================== Forrest Young Internet: forrest@unc.edu UNC Psychometrics Home Telephone: 919-563-4464 CB-3270 Davie Hall Home FAX: 919-304-2329 Chapel Hill NC 27599-3270 Work Telephone: 919-962-5038 USA Work FAX: 919-962-5145 ===================================================================== From owner-SL-news@umnstat.stat.umn.edu Mon Dec 5 09:06:33 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA08183; Mon, 5 Dec 1994 09:06:33 -0600 Resent-Date: Mon, 5 Dec 1994 10:06:30 -0500 (EST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from Emerald.Tufts.EDU by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA08177; Mon, 5 Dec 1994 09:06:31 -0600 Return-Path: Received: (from dmarshal@localhost) by emerald.tufts.edu (8.6.9/8.6.9) id KAA07250; Mon, 5 Dec 1994 10:06:30 -0500 Date: Mon, 5 Dec 1994 10:06:30 -0500 (EST) From: Durwood Marshall Subject: Possible bug To: stat-lisp-news@umnstat.stat.umn.edu Cc: Durwood Marshall Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Durwood Marshall Hello list members, We have XlispStat ver. 2.1 rel. 3.39 running on a Dec Alpha 3000 model 800 under OSF/1 ver. 3.0. The Kernel-Dens function appears to have a problem. Whenever data is generated from within XlispStat and passed, Kernel-Dens works fine. However, if I read in a column of numbers from an external file Kernel-Dens returns the error: Bad Linear Algebra data (....the data...) Happened in:# The data that gets read in is usable in histogram, boxplot and others. One other point to note is that the data returned in the error message has many more significant digits after the decimal point. This seems to be the case for any length vector. I there something obvious that I am missing here? Thank you for your time. =========================================================== Durwood Marshall - Tufts University - Academic Computer Services Statistical/Software Consultant - Mgr. User Software Services Phone: 617-628-5000 x2180 Fax: 617-627-3667 E-Mail: dmarshal@emerald.tufts.edu From owner-SL-news@umnstat.stat.umn.edu Mon Dec 5 10:20:08 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA08618; Mon, 5 Dec 1994 10:20:08 -0600 Resent-Date: Mon, 5 Dec 1994 11:20:03 -0500 (EST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from Emerald.Tufts.EDU by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA08612; Mon, 5 Dec 1994 10:20:04 -0600 Return-Path: Received: (from dmarshal@localhost) by emerald.tufts.edu (8.6.9/8.6.9) id LAA17517; Mon, 5 Dec 1994 11:20:03 -0500 Date: Mon, 5 Dec 1994 11:20:03 -0500 (EST) From: Durwood Marshall Subject: Possible Kernel-Dens bug To: stat-lisp-news@umnstat.stat.umn.edu Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Durwood Marshall Hello For completeness, as suggested, I include the code. We have XlispStat ver. 2.1 rel. 3.39 running on a Dec Alpha 3000 model 800 under OSF/1 ver. 3.0. The Kernel-Dens function appears to have a problem. Whenever data is generated from within XlispStat and passed, Kernel-Dens works fine. for example: (def normvar(normal-rand 500)) (plot-lines (kernel-dens normvar)) However, if I read in a column of numbers from an external file Kernel-Dens returns the error: (def stuff(read-data-columns "stuff.dat")) (plot-lines(kernel-dens stuff)) Bad Linear Algebra data (....the data...) Happened in:# The data that gets read in is usable in histogram, boxplot and others. One other point to note is that the data returned in the error message has many more significant digits after the decimal point. This seems to be the case for any length vector. I there something obvious that I am missing here? Thank you for your time. =========================================================== Durwood Marshall - Tufts University - Academic Computer Services Statistical/Software Consultant - Mgr. User Software Services Phone: 617-628-5000 x2180 Fax: 617-627-3667 E-Mail: dmarshal@emerald.tufts.edu From owner-SL-news@umnstat.stat.umn.edu Mon Dec 5 13:11:29 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA09613; Mon, 5 Dec 1994 13:11:29 -0600 Resent-Date: Mon, 5 Dec 1994 20:08:14 +0100 (MET) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from halley.upf.es by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA09607; Mon, 5 Dec 1994 13:11:22 -0600 Return-Path: Message-Id: <9412051911.AA09607@umnstat.stat.umn.edu> Received: from libiya.upf.es by halley.upf.es with SMTP (1.37.109.4/16.2) id AA04829; Mon, 5 Dec 94 20:22:22 +0100 Received: by libiya.upf.es (1.37.109.4/15.6) id AA14470; Mon, 5 Dec 94 20:08:15 +0100 From: udina@upf.es Subject: Re: Possible Kernel-Dens bug To: dmarshal@emerald.tufts.edu (Durwood Marshall) Date: Mon, 5 Dec 1994 20:08:14 +0100 (MET) Cc: stat-lisp-news@umnstat.stat.umn.edu (lisp stat list) In-Reply-To: from "Durwood Marshall" at Dec 5, 94 11:20:03 am X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Content-Length: 1269 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: udina@upf.es ~~ ~~Hello ~~For completeness, as suggested, I include the code. ~~ ~~ ~~ (def stuff(read-data-columns "stuff.dat")) ~~ (plot-lines(kernel-dens stuff)) ~~ ~~ Bad Linear Algebra data (....the data...) ~~ Happened in:# ~~ ~~The data that gets read in is usable in histogram, boxplot ~~and others. One other point to note is that the data note that read-data-columns return a list of columns. So if there is only one column, you get a list of a list of data. Histogram and boxplot work fine with it, but kernel-dens wants only a list of numbers, so you must call (plot-lines (kernel-dens (first stuff))) instead of your call. You will have no problems, I hope. -- Frederic Udina _______________________________________________________________________ Facultat de Ciencies Economiques | voice: 34 - 3 - 542 17 56 Universitat Pompeu Fabra | fax: 34 - 3 - 542 17 46 Balmes 132 | e-mail: udina@upf.es 08008 Barcelona | appleLink: spa0172 SPAIN | Servicom: sva00484 Office #610, 6th floor, old Balmes ___________________________________/_\_________________________________ From luke@umnstat.stat.umn.edu Tue Dec 6 15:40:01 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA25409; Tue, 6 Dec 1994 15:40:01 -0600 Resent-Date: Tue, 6 Dec 1994 15:40:02 -0600 Received: from mail.unet.umn.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA25403; Tue, 6 Dec 1994 15:40:00 -0600 Return-Path: Received: from umnstat.stat.umn.edu (nokomis.stat.umn.edu) by mail.unet.umn.edu (5.65c) id AA29976; Tue, 6 Dec 1994 15:39:59 -0600 Date: Tue, 6 Dec 1994 15:40:02 -0600 From: luke@umnstat.stat.umn.edu Message-Id: <199412062140.AA22211@umnstat.stat.umn.edu> Received: by umnstat.stat.umn.edu; Tue, 6 Dec 1994 15:40:02 -0600 To: stat-lisp-news@umnstat.stat.umn.edu Subject: XLISP-STAT Release 3.44 available (includes fix for print bug) Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-From: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luke@umnstat.stat.umn.edu XLISP-STAT Release 3.44 for UNIX systems, Macintosh and MS Windows is now available for anonymous ftp from umnstat.stat.umn.edu (128.101.51.1). All versions include a number of bug fixes, in particular a fix for the floating point printing bug introduced in Release 3.43. The sources for all versions are in pub/xlispstat/xlispstat-3-44.tar.gz This a tar archive compressed with the GNU gzip compression utility. Once you have retrieved the file you can extract the sources with gzip -cd | tar xvf - The Macintosh and MS Windows distributions are in the directories pub/xlispstat/macintosh and pub/xlispstat/mswin. README files in those directories give further details. The Macintosh release now includes a native PowerPC version. For the Macintosh version, be sure to get both an executable and the support fies. Workspaces are tied to version numbers; old workspaces will not work with new executables. This is a beta realease -- some things are still in flux, others have not been extensively tested. Please let me know if you run into any problems. Changes from 3.37 include 3-39 - 3-40: Fixed SetPort bug that could cause crash after creating graph with :show nil. Added win32 code. Fixed scrolling bug in Windows version (affected name-list primarily). Added check to prevent graph-protos with vars=0 from failing on some systems. Modified load-dll for Windows to return multiple values on error. Modified postscript header for saved bitmap image on X11. Fixed bug in cond with empty consequent (from Tom Almy). Added check for Win16 vs Win32 workspace. Added WIN32 *features* for Win32 version. Added exit call to osfinish on Macintosh version -- may avoid some problems. Fixed Windows listener trimming to ignore line structure and always trim. Added some tests for initialization for handling early termination in Macintosh version. added :if-does-not-exist nil to internal load call 3-40 - 3-41: Redefined pusharg macro on suns to work arouns apparent compiler bug in 4.1.3 optimizer for sparcs Increased stack size on win32 version. Fixed makefile wor win32 so icon is available to progman. Added handling of show/hide window messages for modeless dialogs in Windows version. Added :xlisp-stat *feature* entry. 3.41 - 3.42: Modified callbacks to protect against oscheck event processing on Macintosh and Windows version. Changed OFFTYPE to unsigned long on all versions -- avoid problems with hashing where high end of vritual address space is used. Fixed activation handling to work properly in win32. Fixed polygon drawing to work in win32. Cleanups for conversion to MetroWerks compiler; added macros for full prototype generation on files used on Macintosh. Added PowerPC changes. Fixed load to properly set *load-pathname*. Modified test files to use *load-pathname* for directory of stuff to load. Modified redraw content to not erase entire view rectangle. Modified comparison to break ties using original position (make stable). Modified to handle arc drawing with large/negative arcs properly on windows version. Fixed size and location commands to work with iconified windows on Windows version. 3.42 - 3.43: Cleaned up minimization code; replaced internal derivative and minimization code by lisp code. Added level 1 BLAS routines. Modified floating point printing to work around MetroWerks bug and produce nicer output. Replaced lisp 'replace' function by internal version. Fixed errors in byte code handling of typed array arguments to aref's. Fixed bug in make-array's handling of :initial-contents arguments. Fixed problems with allocating and accessing complex vectors. Fixed check of argument count in test code generation. 3.43 - 3.44: Fixed declaration in linalg.h that caused problems on non-ansi compilers (like sun's bundled cc). Modified coerce to allow coercing multi-dimensional typed arrays. Fixed bug in ~f floating point printing introduced in workaround for MetroWerks bug. Modified vector allocation to try minor gc before major one. This may improve gc speed for vector allocation-intensize code. From owner-SL-news@umnstat.stat.umn.edu Tue Dec 6 16:08:01 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA25564; Tue, 6 Dec 1994 16:08:01 -0600 Resent-Date: Wed, 7 Dec 94 11:09:23 NZD Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from ccvcom.auckland.ac.nz by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA25558; Tue, 6 Dec 1994 16:07:58 -0600 Return-Path: Received: from stat.auckland.ac.nz by ccvcom.auckland.ac.nz (PMDF V4.3-7 #2864) id <01HKCYVILB3K8X3FXJ@ccvcom.auckland.ac.nz>; Wed, 7 Dec 1994 11:10:04 GMT+1200 Received: from stat5.statistics (stat5.stat.auckland.ac.nz) by stat.auckland.ac.nz (4.1/SMI-4.1) id AA04535; Wed, 7 Dec 94 11:09:23 NZD Date: Wed, 7 Dec 94 11:09:23 NZD From: triggs@stat.auckland.ac.nz (Chris Triggs) To: stat-lisp-news@umnstat.stat.umn.edu Message-Id: <9412062209.AA04535@stat.auckland.ac.nz> Content-Transfer-Encoding: 7BIT Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: triggs@stat.auckland.ac.nz (Chris Triggs) unsubscribe From owner-SL-news@umnstat.stat.umn.edu Fri Dec 9 18:09:56 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA15305; Fri, 9 Dec 1994 18:09:56 -0600 Resent-Date: Fri, 9 Dec 1994 16:09:43 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA15299; Fri, 9 Dec 1994 18:09:50 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA19927; Fri, 9 Dec 94 16:09:45 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA06168; Fri, 9 Dec 94 16:09:44 PST From: Jan Deleeuw Message-Id: <9412100009.AA06168@galton.math.ucla.edu> Subject: ti-30 calculator To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 9 Dec 1994 16:09:43 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 26964 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw Here is a ti-30 calculator in xlisp-stat (nice example of oo programming). Written by our David Betz. --- Jan +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ (defproto ti-30-calculator '(dialog-window stack display status-window drg inv mem should-clear count-x sum-x sum-y sum-x-sq sum-y-sq sum-xy need-y)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; strchr ; ; str - string ; c - character ; returns - index of first occurence of character c in string str ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :strchr (str c) (dotimes (i (length str) nil) (cond ((eq (elt str i) c) (return i)) (T nil)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; is-number ; ; x - string ; returns - true if x is a valid lisp number ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :is-number (x) (cond ((send self :strchr x #\() nil) ((send self :strchr x #\)) nil) (t (numberp (read-from-string x))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; is-unary ; ; x - string ; returns - true if x is a unary operator ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :is-unary (x) (dolist (i '("!" "log" "ln" "sin" "asin" "cos" "acos" "tan" "atan" "1/x" "x^2" "sqrt" "10^x" "e^x") nil) (cond ((string= x i) (return t))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; is-binary ; ; x - string ; returns - true if x is a binary operator ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :is-binary (x) (dolist (i '("+" "-" "*" "/" "^") nil) (cond ((string= x i) (return t))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; is-operator ; ; x - string ; returns - true if x is a unary or binary operator ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :is-operator (x) (or (send self :is-unary x) (send self :is-binary x))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; op-precedence ; ; x - string ; returns - the precedence (0=lowest,4=highest) of the operator x ; nil if x is not an operator ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :op-precedence (x) (cond ((string= x "+") 1) ((string= x "-") 1) ((string= x "*") 2) ((string= x "/") 2) ((string= x "^") 3) (T nil))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; stack-top-index ; ; returns - the index of the top-most number on the stack ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :stack-top-index () (dotimes (i (length (send self :slot-value 'stack)) nil) (cond ((send self :is-number (elt (send self :slot-value 'stack) i)) (return i))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; stack-top ; ; returns - the topmost number on the stack ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :stack-top () (elt (send self :slot-value 'stack) (send self :stack-top-index))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; push-number ; ; x - number string ; side-effect - if the top member of the stack is a number, it is replaced by x ; if the top member of the stack is an operator (not number), ; the x is pushed on the stack ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :push-number (x) (let ((stack (send self :slot-value 'stack))) (cond ((send self :is-number (car stack)) (send self :slot-value 'stack (cons x (cdr stack)))) (T (send self :slot-value 'stack (cons x stack)))) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; push-unary-op ; ; x - string ; side-effects - if the top of the stack is an operator, the topmost number ; of the stack is pushed, and the stack evaluated ; if the top of the stack is a number, the stack is evaluated ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :push-unary-op (x) (let ((stack (send self :slot-value 'stack)) (the-op x) the-val result) (send self :slot-value 'should-clear t) (cond ((eq (send self :slot-value 'inv) t) (setf the-op (cond ((string= x "sin") "asin") ((string= x "cos") "acos") ((string= x "tan") "atan") ((string= x "x^2") "sqrt") ((string= x "sqrt") "x^2") ((string= x "log10") "10^x") ((string= x "log") "e^x"))) (send self :slot-value 'inv nil))) (cond ((send self :is-operator (car stack)) (send self :slot-value 'stack (cons (send self :stack-top) stack)))) (setf the-val (read-from-string (car (send self :slot-value 'stack)))) (setf result (format nil "~a" (cond ((string= the-op "!") (send self :factorial the-val)) ((string= the-op "1/x") (/ 1 the-val)) ((string= the-op "x^2") (^ the-val 2)) ((string= the-op "sqrt")(sqrt the-val)) ((string= the-op "ln") (log the-val)) ((string= the-op "log") (log the-val 10)) ((string= the-op "10^x")(^ 10 the-val)) ((string= the-op "e^x") (exp the-val)) ((or (string= the-op "sin") (string= the-op "cos") (string= the-op "tan")) (apply (read-from-string the-op) (list (case (send self :slot-value 'drg) ((DEG) (* PI (/ the-val 180))) ((RAD) the-val) ((GRAD) (* (/ PI 200) the-val 100)))))) ((or (string= the-op "asin") (string= the-op "acos") (string= the-op "atan")) (case (send self :slot-value 'drg) ((DEG) (* (/ 180 PI) (apply (read-from-string the-op) (list the-val)))) ((RAD) (apply (read-from-string the-op) (list the-val))) ((GRAD) (* (/ 200 PI) (apply (read-from-string the-op) (list the-val)))))) (t (format *standard-output* "Error: unimplemented op"))))) (setf stack (cons result (cdr stack))) (send self :slot-value 'stack stack) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; push-binary-op ; ; x - string ; side-effects - if the top of the stack is an operator, x replaces that ; operator ; if the top of the stack is a number, x is pushed onto the ; stack ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :push-binary-op (x) (let ((stack (send self :slot-value 'stack)) (the-op x)) (send self :slot-value 'should-clear t) (cond ((send self :is-operator (car stack)) (send self :slot-value 'stack (cons the-op (cdr stack))) (send self :evaluate-stack)) (T (send self :slot-value 'stack (cons the-op stack)) (send self :evaluate-stack))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; push-parenthesis ; ; x - string, either "(" or ")" ; test cases: ; 2 * 3 ( 4 + 1 ) --> 2 * ( 34 + 1 ) --> 2 * 35 --> 70 ; 2 * ( 3 + 4 + ) --> 2 * ( 3 + 4 + ; ( 2 --> 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :push-parenthesis (x) (let ((stack (send self :slot-value 'stack)) (stack-top (car (send self :slot-value 'stack)))) (cond ((string= x "(") (cond ((string= "(" stack-top) (send self :slot-value cons (x stack))) ((send self :is-operator stack-top) (send self :slot-value 'should-clear t) (send self :slot-value 'stack (cons x stack))) ((send self :is-number stack-top) (cond ((send self :slot-value 'should-clear) (send self :slot-value 'stack (cons (car stack) (cons x (cdr stack))))) (t (send self :slot-value 'stack (cons (car stack) (cons x (cdr stack))))))) (t (format *standard-output* "Error: unknown stack-top")))) ((string= x ")") (cond ((member "(" stack :test #'string=) (cond ((send self :is-number stack-top) (send self :slot-value 'stack (cons ")" stack)) (send self :evaluate-stack)))))))) (send self :display-stack-top)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; display-stack-top ; ; side-effect - finds the topmost number on the stack, and displays it's value ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :display-stack-top () (send (send self :slot-value 'status-window) :text (format nil "~a ~a ~a" (case (send self :slot-value 'inv) (nil " ") (t "INV")) (case (send self :slot-value 'drg) (DEG "DEG ") (RAD " RAD ") (GRAD " GRAD")) (case (send self :slot-value 'need-y) (nil " ") (t "NEED-Y")))) (do ((stack (send self :slot-value 'stack) (cdr stack))) ((eq stack nil) (format *standard-output* "display-stack-top: empty stack?")) (cond ((send self :is-number (car stack)) (send (send self :slot-value 'display) :text (car stack)) (return))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; correct-error ; ; side-effect - removes the topmost elements of the stack up-to and ; including the first topmost number ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :correct-error () (do ((stack (send self :slot-value 'stack) (cdr stack))) ((send self :is-number (car stack)) (send self :slot-value 'stack (cond ((eq (cdr stack) nil) '("0")) (t (cdr stack))))) (cond ((eq nil (send self :stack-top)) (send self :slot-value 'stack '("0")))) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; all-clear ; ; side-effect - resets the stack to it's initial state ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :all-clear () (send self :slot-value 'stack '("0")) (send self :slot-value 'count-x 0) (send self :slot-value 'count-x 0) (send self :slot-value 'sum-x 0) (send self :slot-value 'sum-y 0) (send self :slot-value 'sum-x-sq 0) (send self :slot-value 'sum-y-sq 0) (send self :slot-value 'sum-xy 0) (send self :slot-value 'need-y nil) (send self :display-stack-top)) (defmeth ti-30-calculator :toggle-drg () (send self :slot-value 'drg (case (send self :slot-value 'drg) ((DEG) 'RAD) ((RAD) 'GRAD) ((GRAD) 'DEG))) (send self :display-stack-top)) (defmeth ti-30-calculator :store () (send self :slot-value 'mem (send self :stack-top)) (send self :slot-value 'should-clear t)) (defmeth ti-30-calculator :recall () (send self :push-number (send self :slot-value 'mem)) (send self :slot-value 'should-clear t)) (defmeth ti-30-calculator :sum () (send self :slot-value 'mem (format nil "~a" (+ (read-from-string (send self :slot-value 'mem)) (read-from-string (send self :stack-top))))) (send self :slot-value 'should-clear t)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; exchange ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :exchange () (let ((tmp (send self :slot-value 'mem))) (send self :slot-value 'mem (send self :stack-top)) (send self :push-number tmp) (send self :display-stack-top)) (send self :slot-value 'should-clear t)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; factorial ; ; x - an integer >= 0 ; returns - x!=x(x-1)(x-2)...1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :factorial (x) (do ((i 2 (+ i 1)) (sum 1)) ((> i x) sum) (setf sum (* sum i)))) (defmeth ti-30-calculator :evaluate-stack () (let ((stack (send self :slot-value 'stack)) tmp) (do ((op1 (first stack) (first stack)) (num1 (second stack) (second stack)) (op2 (third stack) (third stack)) (num2 (fourth stack) (fourth stack))) (nil nil) (cond ((string= op1 ")") (cond ((string= op2 "(") (setf stack (cons num1 (cdddr stack))) (send self :slot-value 'stack stack) (send self :display-stack-top) (return)) (T (setf num1 (format nil "~a" (eval (read-from-string (format nil "( ~a ~a ~a )" op2 num2 num1))))) (setf stack (cons op1 (cons num1 (cddddr stack)))) (send self :slot-value 'stack stack) (send self :display-stack-top)))) ((string= op2 "(") (return)) ((numberp (read-from-string op1)) (return)) ((string= op1 "=") (cond ((>= (length stack) 4) (setf num1 (format nil "~a" (eval (read-from-string (format nil "( ~a ~a ~a )" op2 num2 num1))))) (setf stack (cons op1 (cons num1 (cddddr stack)))) (send self :slot-value 'stack stack) (send self :display-stack-top)) ((= (length stack) 2) (setf stack (list num1)) (send self :slot-value 'stack stack) (send self :display-stack-top)) (T (format *standard-output* "Error: stack=~a" stack) (return)))) ((= (length stack) 1) (return)) ((= (length stack) 2) (return)) ((= (length stack) 3) (return)) ((<= (send self :op-precedence op1) (send self :op-precedence op2)) (setf num1 (format nil "~a" (eval (read-from-string (format nil "( ~a ~a ~a )" op2 num2 num1))))) (setf stack (cons op1 (cons num1 (cddddr stack)))) (send self :slot-value 'stack stack) (send self :display-stack-top)) (T (send self :slot-value 'stack stack) (return)))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; toggle-sign ; ; side effect - if a number has no exponent, toggle the sign of the mantissa ; if a number has an exponent, toggle the sign of the exponent ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :toggle-sign () (let ((stack (copy-list (send self :slot-value 'stack))) (top (send self :stack-top)) (i (send self :strchr (send self :stack-top) #\E)) (new-sign "")) (cond (i (cond ((eq (elt top (+ i 1)) #\+) (setf new-sign "-")) ((eq (elt top (+ i 1)) #\-) (setf new-sign "+"))) (setf top (format nil "~aE~a~a" (subseq top 0 i) new-sign (subseq top (+ i 2) (length top))))) (t (cond ((eq (elt top 0) #\-) (setf top (format nil "~a" (subseq top 1)))) (t (setf top (format nil "-~a" top)))))) (setf (elt (send self :slot-value 'stack) (send self :stack-top-index)) top) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; toggle-inv ; ; logically negate the inverse slot ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :toggle-inv () (send self :slot-value 'inv (not (send self :slot-value 'inv))) (send self :display-stack-top)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; enter-char ; ; c - character: 0-9 or . ; ; side-effect - if should-clear is true ; if the stack-top is a number, ; if c is a digit, the stack-top is replaced by c ; if c is a decimal point, the stack-top is replaced ; by 0. ; if the stack-top is an operator, ; if c is a digit, c is pushed on the stack ; if c is a decimal point, 0. is pushed on the stack ; if should-clear is nil, ; if the stack-top is a number ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :enter-char (c) (let ((stack (send self :slot-value 'stack)) (stack-top (car (send self :slot-value 'stack))) new-val) (cond ((send self :slot-value 'should-clear) (send self :slot-value 'should-clear nil) (cond ((eq c #\.) (setf new-val "0.")) (t (setf new-val (string c)))) (cond ((string= stack-top "(") (send self :slot-value 'stack (cons new-val stack))) ((send self :is-number stack-top) (send self :slot-value 'stack (cons new-val (cdr stack)))) ((send self :is-operator stack-top) (send self :slot-value 'stack (cons new-val stack))) (t (format *standard-output* "Error: enter-char: invalid stack-top")))) (t (cond ((send self :is-number stack-top) (cond ((equal c #\.) (cond ((not (send self :strchr stack-top #\.)) (setf new-val (format nil "~a." stack-top))) (t (return nil)))) ((string= stack-top "0") (setf new-val (string c))) (t (setf new-val (format nil "~a~a" stack-top (string c))))) (send self :slot-value 'stack (cons new-val (cdr stack)))) (t (send self :slot-value 'stack (cons (string c) stack)))))) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; exponent ; ; side-effect - if the top-most number is already in exponential notiation, ; do nothing ; else append an "E+" to the end to the top-most number ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :exponent () (let ((stack (send self :slot-value 'stack)) (new-val (car (send self :slot-value 'stack)))) (cond ((send self :op-precedence new-val) (setf new-val "0E+") (send self :slot-value 'stack (cons new-val stack))) ((send self :strchr new-val #\E) (return nil)) (T (setf new-val (format nil "~aE+" (car stack))) (send self :slot-value 'stack (cons new-val (cdr stack))))) (send self :display-stack-top))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; count-x ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :enter-x () (let ((the-num (read-from-string (send self :stack-top)))) (send self :slot-value 'count-x (+ (send self :slot-value 'count-x) 1)) (send self :slot-value 'sum-x (+ (send self :slot-value 'sum-x) the-num)) (send self :slot-value 'sum-x-sq (+ (send self :slot-value 'sum-x-sq) (* the-num the-num))) (send self :slot-value 'should-clear t) (send self :slot-value 'need-y the-num) (send self :display-stack-top))) (defmeth ti-30-calculator :enter-y () (cond ((send self :slot-value 'need-y) (let ((the-num (read-from-string (send self :stack-top)))) (send self :slot-value 'sum-y (+ (send self :slot-value 'sum-y) the-num)) (send self :slot-value 'sum-y-sq (+ (send self :slot-value 'sum-y-sq) (* the-num the-num))) (send self :slot-value 'sum-xy (+ (send self :slot-value 'sum-xy) (* the-num (send self :slot-value 'need-y)))) (send self :slot-value 'should-clear t) (send self :slot-value 'need-y nil) (send self :display-stack-top))))) (defmeth ti-30-calculator :count-x () (send self :push-number (format nil "~a" (send self :slot-value 'count-x)))) (defmeth ti-30-calculator :sum-x () (send self :push-number (format nil "~a" (send self :slot-value 'sum-x)))) (defmeth ti-30-calculator :sum-y () (send self :push-number (format nil "~a" (send self :slot-value 'sum-y)))) (defmeth ti-30-calculator :sum-x-sq () (send self :push-number (format nil "~a" (send self :slot-value 'sum-x-sq)))) (defmeth ti-30-calculator :sum-y-sq () (send self :push-number (format nil "~a" (send self :slot-value 'sum-y-sq)))) (defmeth ti-30-calculator :sum-xy () (send self :push-number (format nil "~a" (send self :slot-value 'sum-xy)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmeth ti-30-calculator :isnew () (send self :slot-value 'display (send text-item-proto :new "0" :text-length 50)) (send self :slot-value 'status-window (send text-item-proto :new "" :text-length 50)) (send self :slot-value 'stack '("0")) (send self :slot-value 'mem "0") (send self :slot-value 'drg 'DEG) (send self :slot-value 'inv nil) (send self :slot-value 'should-clear t) (send self :slot-value 'count-x 0) (send self :slot-value 'sum-x 0) (send self :slot-value 'sum-y 0) (send self :slot-value 'sum-x-sq 0) (send self :slot-value 'sum-y-sq 0) (send self :slot-value 'sum-xy 0) (send self :slot-value 'need-y nil) (send self :display-stack-top) (send self :slot-value 'dialog-window (send dialog-proto :new (list (list (send button-item-proto :new "Close" :action #'(lambda () (exit)))) (list (send self :slot-value 'display)) (list (send self :slot-value 'status-window)) (list (send button-item-proto :new "X" :action #'(lambda () (send self :enter-x))) (send button-item-proto :new "1/x" :action #'(lambda () (send self :push-unary-op "1/x"))) (send button-item-proto :new "x^2" :action #'(lambda () (send self :push-unary-op "x^2"))) (send button-item-proto :new "SQRT" :action #'(lambda () (send self :push-unary-op "sqrt"))) (send button-item-proto :new "CE/C" :action #'(lambda () (send self :correct-error))) (send button-item-proto :new "AC" :action #'(lambda () (send self :all-clear)))) (list (send button-item-proto :new "Y" :action #'(lambda () (send self :enter-y))) (send button-item-proto :new "INV" :action #'(lambda () (send self :toggle-inv))) (send button-item-proto :new "sin" :action #'(lambda () (send self :push-unary-op "sin"))) (send button-item-proto :new "cos" :action #'(lambda () (send self :push-unary-op "cos"))) (send button-item-proto :new "tan" :action #'(lambda () (send self :push-unary-op "tan"))) (send button-item-proto :new "DRG" :action #'(lambda () (send self :toggle-drg)))) (list (send button-item-proto :new "N(X)" :action #'(lambda () (send self :count-x))) (send button-item-proto :new "e" :action #'(lambda () (send self :push-number (format nil "~a" (exp 1))))) (send button-item-proto :new "EE" :action #'(lambda () (send self :exponent))) (send button-item-proto :new "log" :action #'(lambda () (send self :push-unary-op "log"))) (send button-item-proto :new "ln" :action #'(lambda () (send self :push-unary-op "ln"))) (send button-item-proto :new "y^x" :action #'(lambda () (send self :push-binary-op "^")))) (list (send button-item-proto :new "SUM(X)" :action #'(lambda () (send self :sum-x))) (send button-item-proto :new "PI" :action #'(lambda () (send self :push-number (format nil "~a" PI)))) (send button-item-proto :new "x!" :action #'(lambda () (send self :push-unary-op "!"))) (send button-item-proto :new "(" :action #'(lambda () (send self :push-parenthesis "("))) (send button-item-proto :new ")" :action #'(lambda () (send self :push-parenthesis ")"))) (send button-item-proto :new "/" :action #'(lambda () (send self :push-binary-op "/")))) (list (send button-item-proto :new "SUM(Y)" :action #'(lambda () (send self :sum-y))) (send button-item-proto :new "STO" :action #'(lambda () (send self :store))) (send button-item-proto :new "7" :action #'(lambda () (send self :enter-char #\7))) (send button-item-proto :new "8" :action #'(lambda () (send self :enter-char #\8))) (send button-item-proto :new "9" :action #'(lambda () (send self :enter-char #\9))) (send button-item-proto :new "*" :action #'(lambda () (send self :push-binary-op "*")))) (list (send button-item-proto :new "SUM(X^2)" :action #'(lambda () (send self :sum-x-sq))) (send button-item-proto :new "RCL" :action #'(lambda () (send self :recall))) (send button-item-proto :new "4" :action #'(lambda () (send self :enter-char #\4))) (send button-item-proto :new "5" :action #'(lambda () (send self :enter-char #\5))) (send button-item-proto :new "6" :action #'(lambda () (send self :enter-char #\6))) (send button-item-proto :new "-" :action #'(lambda () (send self :push-binary-op "-")))) (list (send button-item-proto :new "SUM(Y^2)" :action #'(lambda () (send self :sum-y-sq))) (send button-item-proto :new "SUM" :action #'(lambda () (send self :sum))) (send button-item-proto :new "1" :action #'(lambda () (send self :enter-char #\1))) (send button-item-proto :new "2" :action #'(lambda () (send self :enter-char #\2))) (send button-item-proto :new "3" :action #'(lambda () (send self :enter-char #\3))) (send button-item-proto :new "+" :action #'(lambda () (send self :push-binary-op "+")))) (list (send button-item-proto :new "SUM(XY)" :action #'(lambda () (send self :sum-xy))) (send button-item-proto :new "EXC" :action #'(lambda () (send self :exchange))) (send button-item-proto :new "0" :action #'(lambda () (send self :enter-char #\0))) (send button-item-proto :new "." :action #'(lambda () (send self :enter-char #\.))) (send button-item-proto :new "+/-" :action #'(lambda () (send self :toggle-sign))) (send button-item-proto :new "=" :action #'(lambda () (send self :push-binary-op "="))))) :go-away nil))) (send ti-30-calculator :new) -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Sat Dec 10 14:29:13 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA26383; Sat, 10 Dec 1994 14:29:13 -0600 Resent-Date: Sat, 10 Dec 94 14:29:10 CST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from bru.mayo.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA26377; Sat, 10 Dec 1994 14:29:12 -0600 Return-Path: Received: from hsrnfs-101.Mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0) id AA20179; Sat, 10 Dec 94 14:29:11 CST Received: from butch.Mayo.EDU by hsrnfs-101.Mayo.EDU (4.1/SMI-4.1) id AA21361; Sat, 10 Dec 94 14:29:10 CST Date: Sat, 10 Dec 94 14:29:10 CST From: wollan@mayo.EDU (Peter Wollan) Message-Id: <9412102029.AA21361@hsrnfs-101.Mayo.EDU> To: stat-lisp-news@umnstat.stat.umn.edu Subject: Re: ti-30 calculator Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: wollan@mayo.EDU (Peter Wollan) I just tried the TI-30 program, not to use as a calculator but rather to learn more about programming xlispstat, and got the following error message: error: unbound function - READ-FROM-STRING This from version 2.1 r2, unix. I have two questions: (1) is read-from-string a newer version of something that is in 2.1, and should I replace the function, or should I get a newer version of xls installed? (2) it seems that xls has greatly outrun its documentation; how do I go about finding out what the capabilities and syntax are now? Are there sources, and where? Peter Wollan wollan@mayo.edu From owner-SL-news@umnstat.stat.umn.edu Sun Dec 11 16:25:00 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA07224; Sun, 11 Dec 1994 16:25:00 -0600 Resent-Date: Mon, 12 Dec 1994 11:28:22 NZST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from chv.lincoln.cri.nz by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA07218; Sun, 11 Dec 1994 16:24:56 -0600 Return-Path: Received: from LAN.Lincoln.cri.nz by CHV.LINCOLN.CRI.NZ (MX V4.1 VAX) with SMTP; Mon, 12 Dec 1994 11:24:37 +1300 To: stat-lisp-news@umnstat.stat.umn.edu From: "John McCallum" Date: Mon, 12 Dec 1994 11:28:22 NZST Subject: Re: ti-30 calculator -Reply. Formatted file reading X-Gateway: iGate, (WP Office) vers 2.01 - 1000 Message-Id: <9412121134.4eeb8c78.LN1@Lincoln.cri.nz> Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: "John McCallum" >>>>>>>>>>>>>>> >I just tried the TI-30 program, not to use as a calculator but rather to learn >more about programming xlispstat, and got the following error message: >error: unbound function - READ-FROM-STRING >This from version 2.1 r2, unix. >I have two questions: (1) is read-from-string a newer version of something >that is in 2.1, and should I replace the function, or should I get a newer >version of xls installed? All you need to do is : (defun read-from-string (x) (read (make-string-input-stream x))) I presume this is iinternal in the new version >(2) it seems that xls has greatly outrun its documentation; how do I go >about >finding out what the capabilities and syntax are now? Are there sources, >and >where? Release 3 has comprehensive documentation on updates. The documentation for XLISP itself is terse but worth obtaining if you want to get into more programming. I like using the MS Windows XLISP help facility and would love to see similar for XLISPstat.... My own Question is...I am keen to use a (Fortran-type) formatted file reader to read/filter some largish files and was planning on adapting FORMAT-L.LSP /FORMATIN.LSP . Has anybody tidied these up further or written similar (simpler?) functions to parse strings into LISP data types?? From owner-SL-news@umnstat.stat.umn.edu Mon Dec 12 00:04:46 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA07834; Mon, 12 Dec 1994 00:04:46 -0600 Resent-Date: Sun, 11 Dec 1994 22:04:39 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA07828; Mon, 12 Dec 1994 00:04:43 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA25673; Sun, 11 Dec 94 22:04:41 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA17843; Sun, 11 Dec 94 22:04:39 PST From: Jan Deleeuw Message-Id: <9412120604.AA17843@galton.math.ucla.edu> Subject: Xlisp-Stat updates, etc To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Sun, 11 Dec 1994 22:04:39 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1667 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw My read-format.lsp, which reads files using FORTRAN format statements, was broken because of Xlisp upgrades. In particular, coerce did not make a list of lists out of an array any more, and read-char now gave an error instead of a nil at the end of file. Also, in the dconvert defun I used t as a local variable. This is all repaired, and it sits on ftp.stat.ucla.edu in pub/lisp/xlisp/xlisp-stat/code/homegrown/IO/formatted-input I added a counter, so that you can see progress, and have some idea about how long you have to wait. For the counter, see below. We have also created a new directory in homegrown, which is called robust. At the moment it contains some location and scale estimates. Programs for LMS and LQS regression are almost done. An M-estimate prototype (inheriting from regression-model-proto) is in preparation. The modules directory in homegrown will have a number of new introstat demos (written for the electronic textbook) later this week. The niceties directory has the ti-30 calculator. One thing that has bothered me for quite a while is how to write a simple counter on stdout. I now know how to do it in Unix. Just say (dotimes (i n) (format t "~d~a" i (code-char 13))) and the characters will nicely overwrite each other on the same line. Of course this does not work on the Mac, because code-char 13 is carriage return, which is a newline+carriage return on the Mac. I guess it will work on DOS/MSW. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Mon Dec 12 18:37:19 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA19286; Mon, 12 Dec 1994 18:37:19 -0600 Resent-Date: Mon, 12 Dec 1994 16:37:09 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA19280; Mon, 12 Dec 1994 18:37:14 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA21034; Mon, 12 Dec 94 16:37:11 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA23360; Mon, 12 Dec 94 16:37:09 PST From: Jan Deleeuw Message-Id: <9412130037.AA23360@galton.math.ucla.edu> Subject: Lisp documentation To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Mon, 12 Dec 1994 16:37:09 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 557 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw Point your browser at http://www.stat.ucla.edu/develop/lisp/ This is documentation, there will be a similar link for code. There is a very similar documentation link for TeX, by the way. http://www.stat.ucla.edu/develop/tex/ Most of this material is gzipped postscript, which means you need gunzip and ghostview to browse it. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Mon Dec 19 07:23:53 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA05027; Mon, 19 Dec 1994 07:23:53 -0600 Resent-Date: Mon, 19 Dec 1994 07:47:00 -0400 (EDT) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from vx.cis.umn.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA05021; Mon, 19 Dec 1994 07:23:52 -0600 Return-Path: Received: from FDACD.BITNET (BALCHA@FDACD) by VX.CIS.UMN.EDU (PMDF V4.2-13 #2574) id <01HKTIH0G2BKAPTGPC@VX.CIS.UMN.EDU>; Mon, 19 Dec 1994 07:24:12 CDT Received: from MR.CDER.FDA.GOV by FDACD.CDER.FDA.GOV (PMDF V4.3-7 #6152) id <01HKTKCHSFXC9S5TOK@FDACD.CDER.FDA.GOV>; Mon, 19 Dec 1994 08:17:27 EDT Received: with PMDF-MR; Mon, 19 Dec 1994 08:03:18 EDT Mr-Received: by mta MICKEY; Relayed; Mon, 19 Dec 1994 08:03:18 -0400 Alternate-Recipient: prohibited Disclose-Recipients: prohibited Date: Mon, 19 Dec 1994 07:47:00 -0400 (EDT) From: Alfred Balch 301-443-7580 FAX 301-443-5161 Subject: xlisp-stat To: stat-lisp-news@umnstat.stat.umn.edu Message-Id: <01HKTKCKE7P29S5TOK@MR.CDER.FDA.GOV> Mime-Version: 1.0 Content-Type: TEXT/PLAIN Content-Transfer-Encoding: 7BIT Posting-Date: Mon, 19 Dec 1994 07:53:00 -0400 (EDT) Importance: normal Priority: normal X400-Mts-Identifier: [;81308091214991/365503@FDACD] A1-Type: MAIL Hop-Count: 1 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Alfred Balch 301-443-7580 FAX 301-443-5161@umnstat.stat.umn.edu I would like to be added to the xlisp-stat mailing list. How can I get xlisp-stat ? I would prefer a Windows version, although we do have a MacIntosh available. Thanks in advance for your help on this important issue. Fred Balch FDA (CDER/OEB/RAMP) BALCHA@fdacd.bitnet.gov (301)-443-7580 From owner-SL-news@umnstat.stat.umn.edu Mon Dec 19 08:33:44 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA05172; Mon, 19 Dec 1994 08:33:44 -0600 Resent-Date: Mon, 19 Dec 1994 14:33:36 +0000 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from cheviot.ncl.ac.uk by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA05166; Mon, 19 Dec 1994 08:33:42 -0600 Return-Path: Received: from burnmoor.ncl.ac.uk by cheviot.ncl.ac.uk id (8.6.9/ for ncl.ac.uk) with SMTP; Mon, 19 Dec 1994 14:33:36 GMT Received: from [128.240.138.23] (greabhal.ncl.ac.uk [128.240.138.23]) by burnmoor.ncl.ac.uk (8.6.9/8.6.x-cf revision 8 for Solaris 2.x) with SMTP id OAA28995; Mon, 19 Dec 1994 14:33:32 GMT Message-Id: <199412191433.OAA28995@burnmoor.ncl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 19 Dec 1994 14:33:36 +0000 To: stat-lisp-news@umnstat.stat.umn.edu From: Chris.Brunsdon@newcastle.ac.uk (Chris Brunsdon) Subject: Making Movies Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Chris.Brunsdon@newcastle.ac.uk (Chris Brunsdon) Does anybody have any ideas how you can create Quicktime movies out of Xlisp-Stat graph windows on a Mac? For example, if I wanted to view some 3d data, and make a movie of it rotating. Ideally a method such as :add-frame-to-movie on a graph window would be ideal. Failing this, is it possible to make a window save its image to a PICT file as a method? I have software that can construct multiple PICT files into a movie? Any help gratefully received, Chris Brunsdon. ============================================================================== + Phone +44 091 222 6000 x 7570 Dr. Chris Brunsdon, + Mobile 0374 840556 Lecturer in Computer Based Methods + Fax +44 091 222 8811 Dept. Of Town and Country Planning + Telex 53654 (UNINEWG) University of Newcastle Upon Tyne NE1 7RU + chris.brunsdon@newcastle.ac.uk ============================================================================ == From owner-SL-news@umnstat.stat.umn.edu Mon Dec 19 11:54:01 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA06045; Mon, 19 Dec 1994 11:54:01 -0600 Resent-Date: Mon, 19 Dec 1994 09:53:54 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA06039; Mon, 19 Dec 1994 11:53:59 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA00592; Mon, 19 Dec 94 09:53:55 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA29515; Mon, 19 Dec 94 09:53:54 PST From: Jan Deleeuw Message-Id: <9412191753.AA29515@galton.math.ucla.edu> Subject: new xlispstat code To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Mon, 19 Dec 1994 09:53:54 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1584 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw Last updated 12/19/94. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ New and upgraded code in ftp.stat.ucla.edu:/pub/lisp/xlisp/xlisp-stat/code/homegrown Look in the following subdirectories. Some of this code is incomplete, in the sense that some parts are unfinished. It will be updated whenever another part is ready, or whenever substantial changes of any kind are implemented. sem/ has code for maximum likelihood and least squares factor analysis, for image analysis, and for minimum trace factor analysis. By Jan de Leeuw. smoothers/ has code and a manual for Jerry Friedman's variable span supersmoother. By Jason Bond and Afshan Tabazadeh. combinatorial/ has code by David Betz to generate all choices of m out of n lexicographically. bootstrap/ has the balanced bootstrap, by David Betz. optimization/ has routines to compute roots of polynomials of degree lte four using the classic algorithms (by Sona Vartanian). robust/ has a growing list of robust location and scale estimates, by Jan de Leeuw. mcmc/ has code by Jan de Leeuw for Adrian Raftery's technique to estimate the number of iterations of the Gibbs sampler. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Coming soon: cubic interpolating splines, by David Depew. exact and approximate LMS and LQS regression, by David Betz variograms and kriging, by George Michailides, Stan Bentow, David Afshartous simplex method, by David Betz writing quickdraw files in Xlisp-Stat, by Jose Garcia and/or David Betz structural equation modeling, by Jan de Leeuw From owner-SL-news@umnstat.stat.umn.edu Tue Dec 20 14:40:29 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA20505; Tue, 20 Dec 1994 14:40:29 -0600 Resent-Date: Tue, 20 Dec 1994 15:39:57 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from euler.bd.psu.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA20499; Tue, 20 Dec 1994 14:40:27 -0600 Return-Path: Received: by euler.bd.psu.edu via SMTP (931110.SGI/930416.SGI.AUTO) for stat-lisp-news@umnstat.stat.umn.edu id AA26974; Tue, 20 Dec 94 15:40:05 -0500 Message-Id: <9412202040.AA26974@euler.bd.psu.edu> To: stat-lisp-news@umnstat.stat.umn.edu Subject: A Literate Program for a Hyper-document Date: Tue, 20 Dec 1994 15:39:57 -0500 From: Balasubramanian Narasimhan Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Balasubramanian Narasimhan A draft of my report A Literate Program for a Hyper-document is now available from http://euler.bd.psu.edu/lispstat/stbl.ps. The associated code is available from ftp://euler.bd.psu.edu/pub/stbl/stbl.tar.gz. The latter includes the former. Here is the abstract. ABSTRACT We describe a literate program for a hyper-document using the NoWEB literate programming tools. The program essentially consists of a hyper-document and the associated Lisp code that implements the hyper-links. The code uses the Lisp-Stat environment. The hyper-document can be LaTeXed and viewed with XHDvi, a Hyper-TeX dvi previewer. This is but a small part of a free hyper-text for introductory statistics that is being developed by a group of us. ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu From owner-SL-news@umnstat.stat.umn.edu Fri Dec 23 21:19:37 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA00427; Fri, 23 Dec 1994 21:19:37 -0600 Resent-Date: Fri, 23 Dec 1994 17:40:08 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA00421; Fri, 23 Dec 1994 21:19:35 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA00723; Fri, 23 Dec 94 17:46:30 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA22059; Fri, 23 Dec 94 17:40:09 PST From: Jan Deleeuw Message-Id: <9412240140.AA22059@galton.math.ucla.edu> Subject: two functions To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 23 Dec 1994 17:40:08 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 3475 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw write-profiles takes a list of lists. The outer list are variables, the innre lists are labels or categories. The function makes a string-matrix with all possible profiles, lexicographically. write-latex-table takes a two-dimensional array of strings and writes the information in it to a file using the LaTeX table and tabular environments. --------------------- snip ----- snip ----------------------------- (defun write-profiles (x) "Args: x The argument is a list of lists of strings. Each element of the list corresponds with a variable, the elements of the list corresponding with a variable are the labels of that variable, which are either strings or characters or numbers or symbols. The program returns a matrix of strings coding all the profiles." (let* ( (nvar (length x)) (ncat (mapcar #'length x)) (nprf (prod ncat)) (arry (make-array (list nprf nvar))) ) (dotimes (i nprf arry) (let ( (icat (array-subscript ncat i)) ) (setf (select arry i (iseq nvar)) (make-array (list 1 nvar) :displaced-to (coerce (mapcar #'(lambda (k) (elt (to-string-list (elt x k)) (elt icat k))) (iseq nvar)) 'vector))) )) )) (defun array-subscript (m k) "Args: array integer Returns the subscript of the element of an array with array-dimensions mx having row-major-index K. Inverse of array-row-major-index." (let* ( (dx (length m)) (ss (make-list dx)) ) (dotimes (i dx ss) (let* ( (ex (1- (- dx i))) (ux (elt m ex)) (kx (mod k ux)) (rx (/ (- k kx) ux)) ) (setf (elt ss ex) kx) (setf k rx) )) )) (defun write-latex-table (x &key (title "table.tex") (how "c")) "Args: x Takes a matrix of strings, and writes it to a file with a LaTeX table. Optional parameters for the title, written in a caption, and for the alignment, either centered, right, or left. Returns nil." (let* ( (n (first (array-dimensions x))) (m (second (array-dimensions x))) (s (with-output-to-string (form) (format form "~a" "|") (dotimes (i m) (format form "~a~a" "|" how) (if (= i (1- m)) (format form "~a" "||"))))) ) (with-open-file (texfile "table.tex" :direction :output) (format texfile "~a[ht]~%" "\\begin{table}") (format texfile "~a~%" "\\centering") (format texfile "~a{~a}~%" "\\begin{tabular}" s) (dotimes (i n) (dotimes (j m) (format texfile "~a" (aref x i j)) (if (= j (1- m)) (if (= i (1- n)) (format texfile "~%") (format texfile " \\\\~%")) (format texfile " & ")))) (format texfile "~a~%" "\\end{tabular}") (format texfile "~a{~a}~%" "\\caption" title) (format texfile "~a~%" "\\end{table}")) )) (defun to-string-list (ls) "Args: LIST Converts LIST to list of strings." (mapcar #'(lambda (x) (format nil "~a" x)) ls) ) -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Fri Dec 30 13:36:45 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA19275; Fri, 30 Dec 1994 13:36:45 -0600 Resent-Date: Fri, 30 Dec 1994 11:36:37 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA19267; Fri, 30 Dec 1994 13:36:44 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA15401; Fri, 30 Dec 94 11:36:40 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA18577; Fri, 30 Dec 94 11:36:38 PST From: Jan Deleeuw Message-Id: <9412301936.AA18577@galton.math.ucla.edu> Subject: simplex To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 30 Dec 1994 11:36:37 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 567 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw As Common Lisp users probably know, Bruno Haible, of Clisp fame, has written a CL version of the simplex method to solve canonical LP problems. David Betz has adapted the CL version to Xlisp. It is now in ~/pub/lisp/xlisp/xlisp-stat/code/homegrown/optimze on ftp.stat.ucla.edu as simplex.lsp. Dont forget to byte compile, that really helps. --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Fri Dec 30 17:47:28 1994 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA20081; Fri, 30 Dec 1994 17:47:28 -0600 Resent-Date: Fri, 30 Dec 1994 15:47:22 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA20075; Fri, 30 Dec 1994 17:47:26 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA17720; Fri, 30 Dec 94 15:47:24 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA19244; Fri, 30 Dec 94 15:47:22 PST From: Jan Deleeuw Message-Id: <9412302347.AA19244@galton.math.ucla.edu> Subject: how fast is Xlisp-Stat ? To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List), ucla-stat@math.ucla.edu (ucla-stat mailing list) Date: Fri, 30 Dec 1994 15:47:22 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 540 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw I made some comparisons with free common lisp systems (gcl, cmucl, clisp), both the interpreted and the compiled code. I am using the Gabriel Benchmarks. These can be obtained from ftp.stat.ucla.edu in ~/pub/lisp/common/code/gabriel The first test results are in ~/pub/lisp/xlisp/xlisp-stat/code/homegrown/timings --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Mon Jan 2 09:48:47 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22267; Mon, 2 Jan 1995 09:48:47 -0600 Resent-Date: Mon, 2 Jan 1995 16:45:21 +0000 (CUT) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from pollux.edv.agrar.tu-muenchen.de by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22261; Mon, 2 Jan 1995 09:48:43 -0600 Return-Path: Received: by pollux.edv.agrar.tu-muenchen.de (AIX 3.2/UCB 5.64/4.03) id AA14910; Mon, 2 Jan 1995 16:45:21 GMT From: walter@pollux.edv.agrar.tu-muenchen.de (Bernhard Walter (DVS)) Message-Id: <9501021645.AA14910@pollux.edv.agrar.tu-muenchen.de> Subject: Is there an OS/2 port of XLispStat 3.44 ? To: stat-lisp-news@umnstat.stat.umn.edu (stat-lisp) Date: Mon, 2 Jan 1995 16:45:21 +0000 (CUT) X-Mailer: ELM [version 2.4 PL24alpha3] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 819 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: walter@pollux.edv.agrar.tu-muenchen.de (Bernhard Walter (DVS)) hi all, I'm just wondering whether there is a OS/2 port of XLispStat. (I just found UNIX, DOS, Windows 3.1 and Macintosh versions) I know one can work with the Windows version if you have both, OS/2 and Win 3.1, but also in this case it would be more elegant (and perhaps faster) to work directly with a 32 Bit OS/2 version. Best regards -- Bernhard ---------------------------------------------------------------------------- Bernhard Walter walter@pollux.edv.agrar.tu-muenchen.de Techn. Univ. Munich ###### ##### +49-(0)8161-71-5055 (phone) DVS - Weihenstephan # # # # # +49-(0)8161-71-4409 (fax) 85350 Freising # #### # # (Germany) ---------------------------------------------------------------------------- From owner-SL-news@umnstat.stat.umn.edu Mon Jan 2 12:36:16 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22749; Mon, 2 Jan 1995 12:36:16 -0600 Resent-Date: Mon, 2 Jan 1995 19:36:07 +0100 (MET) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from fisher.unipg.it by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22743; Mon, 2 Jan 1995 12:36:13 -0600 Return-Path: Received: by fisher.stat.unipg.it (AIX 3.2/UCB 5.64/4.03) id AA23537; Mon, 2 Jan 1995 19:36:08 +0100 From: glm@fisher.stat.unipg.it (Gianfranco Galmacci) Message-Id: <9501021836.AA23537@fisher.stat.unipg.it> Subject: IASC Web server To: sl-news@umnstat.stat.umn.edu Date: Mon, 2 Jan 1995 19:36:07 +0100 (MET) X-Mailer: ELM [version 2.4 PL22] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2322 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: glm@fisher.stat.unipg.it (Gianfranco Galmacci) Recently IASC (International Association for Statistical Computing, a section of the ISI, International Statistical Institute) has set up a WWW server to help members in better knowing the Association activities and to provide useful information concerning statistical computing. This effort has been made mainly by Fionn Murtagh and myself, realizing two different info services for IASC-ERS and IASC respectively in two different sites. Both are linked one_another so that connecting one of them it is possible to move to the other. Actually you can find information on the IASC life, on the forthcoming main events of the ERS , European Regional Section, (i.e. the Summer School 1995 that will be held in Izmir, Turkey, and the COMPSTAT '96 in Barcelona, Spain), CSDA and SSN table of contents, and many anchors to relevant sites which make available software, data and info for statisticians (e.g. direct FTP, GOPHER, WWW or TELNET access to the main interesting sites). To connect the IASC WWW servers use a browser like Mosaic, Netscape, etc., connecting the Internet address http://www.stat.unipg.it/iasc/ <=== home page or http://http.hq.eso.org/~fmurtagh/iasc.html chosing the closest to your site. People who wish to connect direcly the IASC Summer School 95 WWW server in Turkey must use (between 9am-5pm Turkish time) the address http://gediz.sun.9eylul.edu.tr/ Please help us sending suggestions, new ideas and contributions. On this occasion we would like to remind you on the existence of the IASC listserver, an E-mail broadcast system for statistical computing. Subscription can be made sending an E-mail to listproc@stat.unipg.it whose body should be subscribe iasc Happy new year ! Gianfranco Galmacci -- +-----------------------------------------------------------------------+ | Gianfranco Galmacci | | Dipartimento di Scienze Statistiche tel. +39 - 75 - 5855226 | | Universita' degli Studi fax. +39 - 75 - 43242 | | Casella Postale 1315/Succ.1 | | 06100 PERUGIA (ITALY) E-mail: glm@stat.unipg.it | +-----------------------------------------------------------------------+ From owner-SL-news@umnstat.stat.umn.edu Wed Jan 4 12:54:40 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA18361; Wed, 4 Jan 1995 12:54:40 -0600 Resent-Date: Wed, 04 Jan 95 13:48:09 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from vm1.yorku.ca by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA18355; Wed, 4 Jan 1995 12:54:37 -0600 Return-Path: Message-Id: <9501041854.AA18355@umnstat.stat.umn.edu> Received: from VM1.YorkU.CA by vm1.yorku.ca (IBM VM SMTP V2R1) with BSMTP id 6164; Wed, 04 Jan 95 13:52:51 EST Date: Wed, 04 Jan 95 13:48:09 EST From: Michael Friendly Subject: ViSta workshop To: Lisp Stat News Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Michael Friendly Data Visualization Workshop Professor Forrest Young, Psychometric Laboratory at the Universi- ty of North Carolina, Chapel Hill will present a one-day workshop on Friday, Feb 3 in Administrative Studies Bldg, Room 031 York University, Toronto, ONT describing Vista - The Visual Statistics System. The information below, plus a few images and other pointers is available by WWW at: http://www.math.yorku.ca/SCS/Vista.html 9am - noon: Visual Methods for Statistical Data Analysis Abstract: ViSta, a new statistical data visualization system, will be discussed and demonstrated in a non-technical, intuitive and entirely visual presentation. The goal of the system is to provide the statistical data analyst with visual methods that improve the quality, accuracy and satisfaction of the data analy- sis process. The system works under Microsoft Windows, on Macin- tosh computers, and under XWindows. The system includes visuali- zation methods which fall into five major areas: 1) Visual Guidance (GuideMaps): To guide novice data analysts, the steps which expert data analysts think should be taken to complete a particular data analysis are presented as a map. The map is dynamic, and through computer/analyst interactions, guides the analyst through the analysis. 2) Session Visualization (WorkMaps): To aid analysts at all lev- els of expertise, a map is constructed of the steps taken during the data analysis session. This map acts as a memory aid, and can be used to review earlier steps or commence new analyses. 3) Structure Visualization (SpreadPlots): To aid hypothesis for- mation and confirmation, pictures are presented showing the structure of data and the structure and fit of data analysis results. 4) Model Re-Vision (Interactive Graphical Modeling): To further aid hypothesis formation and confirmation, model SpreadPlots include graphical tools for revising parameter estimates. The consequences, in terms of the model's structure and fit, are immediately shown to the analyst, who can then make further re- visions if desired. 5) Visual Guidance Tools (GuideTools): To guide novice data ana- lysts, the expert data analyst has visual tools for creating gui- demaps. To create the maps, the expert uses the system to per- form prototypical data analyses, indicating the decision steps as well as the analysis steps. 1pm - 4pm: The Implementation of ViSta in LispStat Abstract: ViSta, discussed in the morning session, is imple- mented using the LispStat object-oriented environment for statis- tical computing and dynamic graphics. A brief introduction to LispStat is presented, with emphasis on its object-oriented and dynamic graphics features. Then, ViSta's object-oriented system architecture is presented, covering its data, model, map, icon, menu and tool objects and the underlying ViSta/Lisp-Stat data analysis language. This presentation culminates in showing how a programmer develops new model objects within ViSta's open pro- gramming environment. The relation of ViSta's architecture to hypertext, hypercode, dataflow languages, visual programming and program visualization will also be discussed. Finally, a cogni- tive theory about data analysis will be briefly mentioned. About Forrest Young Forrest W. Young, Professor of Psychometrics and Biostatistics at the University of North Carolina at Chapel Hill, received his PhD in Psychometrics from the University of Southern California in 1967. His early research interests focused on Multidimensional and Optimal Scaling (for which he was elected the President of the Psychometric Society and received the American Market Research Association's O'Dell award, both in 1981). His research interests then shifted to Statistical Visualization, including the development of Guided Tours and SpreadPlots. In recent years Prof. Young has worked on visualization tech- niques for guiding novice data analysts through complex data analyses. This work is based on cognitive-science and artificial- intelligence notions concerning the structuring of the environ- ment in which data analysis occurs. Prof. Young's long-range goal is to develop a public-domain, academically-oriented, exten- sible visual statistics package that will be useful for teaching introductory statistics, for data analysis by statistically naive researchers, and for advanced research and development in visual statistics. From luke@nokomis.stat.umn.edu Sat Jan 7 05:29:22 1995 Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA12837; Sat, 7 Jan 1995 05:29:22 -0600 Resent-Date: Sat, 7 Jan 1995 05:29:20 -0600 (CST) Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA12830; Sat, 7 Jan 1995 05:29:21 -0600 From: Luke Tierney Return-Path: Message-Id: <9501071129.AA12830@nokomis.stat.umn.edu> Subject: XLISP-STAT 3.45 for MS Windows is now available To: stat-lisp-news@nokomis.stat.umn.edu Date: Sat, 7 Jan 1995 05:29:20 -0600 (CST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 882 Errors-To: owner-SL-news@nokomis.stat.umn.edu Resent-From: owner-SL-news@nokomis.stat.umn.edu Resent-To: SL-news-list@nokomis.stat.umn.edu Resent-Reply-To: Luke Tierney XLISP-STAT Release 3.45 for MS Windows is now avialable from umnstat.stat.umn.edu in pub/xlispstat/mswin. This release fixes a bug introduced into the MS Windows version of 3.44 that caused :size and :location messages to windows to fail to work properly in the Win16. This bug seemed to affect only the Win16 version, but I have release a new Win32 version also to be on the safe side. Since 3.45 does not change the Macintosh or UNIX vesions, I have not made new Macintosh or UNIX releases -- 3.44 is the most recent release for these platforms. The changes to the MS WIndows ources will be incorpoated into the next UNIX source release in a few weeks. The next release will most likely incorporate some changes in the internals of linear algebra functions that should result in significant speed improvements for the computation of larger regression and glim model fits. luke From owner-SL-news@umnstat.stat.umn.edu Tue Jan 10 13:46:08 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA06079; Tue, 10 Jan 1995 13:46:08 -0600 Resent-Date: Tue, 10 Jan 1995 11:45:57 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA06073; Tue, 10 Jan 1995 13:46:05 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA03961; Tue, 10 Jan 95 11:46:02 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA14377; Tue, 10 Jan 95 11:45:58 PST From: Jan Deleeuw Message-Id: <9501101945.AA14377@galton.math.ucla.edu> Subject: Xlisp-Stat Help System (fwd) To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Tue, 10 Jan 1995 11:45:57 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 3350 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw Forwarded message: From ucla-stat Tue Jan 10 11:36 PST 1995 Date: Mon, 9 Jan 95 20:28:24 PST Message-Id: <9501100427.AA09964@galton.math.ucla.edu> Errors-To: deleeuw Reply-To: ucla-stat Originator: ucla-stat@julia Sender: ucla-stat Precedence: bulk From: Jan Deleeuw To: Multiple recipients of list Subject: Xlisp-Stat Help System X-Listserver-Version: 6.0 -- UNIX ListServer by Anastasios Kotsikonas X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 2634 I have been working off and on to get a somewhat nicer and more complete on-line help facility for Xlisp-Stat. In the directory ftp://ftp.stat.ucla.edu/pub/lisp/xlisp/xlisp-stat/code/homegrown/help is the most recent attempt. We have to work with three sets of materials: - Tim Mikkelsen's Reference Manual for Xlisp 2.0 - Tom Almy's Manual for Xlisp 2.1f (an upgrade of David Betz manual for 2.1) - Luke Tierney's help file, the appendix to the 1988 Minnesota Report, the Book, the Xlisp-Stat 2.1 release 3 upgrade notes I have started with Mikkelsen. All of this is in the help dialogs. But some of it is outdated (due to Almy-Tierney upgrades) and it is very incomplete (compared to both Xlisp-PLus and Xlisp-Stat). I have added much of Almy, but not yet the new function descriptions and the function modifications, because I want to use the Mikkelsen format for each page. Almost nothing of Xlisp-Stat has been added, but it is easy to see how and where it will fit in. Just a week of work. So far, I have only tried this on the Mac (actually, if you unpack this, the text files may be in Mac form). Because of the disgusting fact that there is no display-window-proto in the X11 version, I have used the deplorable hack of opening an Xterm with the help text browsed by more in it. Because laplace is down with a broken power supply, I can't test this now, but there is no reason why it should not work. The help consists of four pieces. The files ourhelp.lsp and helper.lsp and manual.lsp should be at the level of the Xlisp interpreter, the directory Help (which has 300+ files) should be on the same level (i.e. next to Examples and Data). Actually, the three driver files should be compiled and incorporated in xlisp.wks. Although this thing is far from complete, it is much much more complete than my previous effort. It is also nicer, because it has apropos and search and an index. For now, it is perhaps mainly for programmers, not for statisticians, but the next wave of andrenalin and coffee may change this. Or perhaps somebody else could do some stuff. Various people have suggested, or urged, that I made an html version of the help browser. I am somewhat reluctant to do this, because of portability, and because it involves more work. The hierarchical structure of the current help shows clearly, of course, what a html version would look like. O, and now for something completely different, by looking at all the symbols of Xlisp-Stat 3.44 I discovered something interesting. You can also discover this, by opening your faithful Xlisp-Stat on the Mac, and by saying (help* 'apple-event) --- Jan -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Wed Jan 11 14:33:57 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA20896; Wed, 11 Jan 1995 14:33:57 -0600 Resent-Date: Wed, 11 Jan 1995 12:33:46 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA20890; Wed, 11 Jan 1995 14:33:53 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA27186; Wed, 11 Jan 95 12:33:49 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA19742; Wed, 11 Jan 95 12:33:47 PST From: Jan Deleeuw Message-Id: <9501112033.AA19742@galton.math.ucla.edu> Subject: help system To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Wed, 11 Jan 1995 12:33:46 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1945 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw The Xlisp-Stat help system has been updated. It is guaranteed to work only on Macs. It consists of four files hulp.lsp machulp.lsp helper.lsp manual.lsp These have to be loaded into the interpreter (for best results, compile, and load into the workspace). Then the directory Help must be installed (next to Examples and Data). It has 400+ files, and it's growing. The system is still changing (see To Do, below) and you may want to update frequently (latest version always in ftp://ftp.stat.ucla.edu/pub/lisp/xlisp/xlisp-stat/code/homegrown/help) We have the following functions. (hulp) put up a browser type dialog. double click on the items to get help. buttons for apropos, index, and search. (hulp-index) scrollable list of all symbols in the help. Double click for help. On the mac three commands will be added to the command menu. They work with selected text in the front-window (this can be *listener*, an edit-window, or a display-window). Select text and do Command-H will look up the text, do Command-P will do an apropos, and Command-T will replace the selection by a complete symbol (if there is a unique completion). Thus type into *listener* (with-i Select "with-i" by double-clicking, then do Command-T, and "with-i" will be replaced by "with-input-from-string". If you are looking at a hulp window (a display-window), you can select a symbol in that window (by dragging) and say Command-H or Command-T to open hulp or apropos on that symbol. To do: Put in more stuff. Update Mikkelsen-file, expand Almy-Tierney files to Mikkelsen format. Create HTML versions (?). Reorganize, using symbols. Some symbols are not unique (* and + and -), this screws up searches. Completing without selecting ? X11. -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Thu Jan 12 03:05:48 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA02457; Thu, 12 Jan 1995 03:05:48 -0600 Resent-Date: Thu, 12 Jan 1995 10:05:38 +0100 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from hypatia-gw.ethz.ch by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA02451; Thu, 12 Jan 1995 03:05:45 -0600 Return-Path: Received: from ingrid.ethz.ch (maechler@ingrid.ethz.ch [129.132.58.16]) by hypatia.ethz.ch (8.6.5/Main-mathdept-mailer) with ESMTP id KAA00513; Thu, 12 Jan 1995 10:05:41 +0100 From: Martin Maechler Received: from localhost (maechler@localhost) by ingrid.ethz.ch (8.6.5/D-MATH-stat-client) id KAA08662; Thu, 12 Jan 1995 10:05:38 +0100 Date: Thu, 12 Jan 1995 10:05:38 +0100 Message-Id: <199501120905.KAA08662@ingrid.ethz.ch> To: deleeuw@math.ucla.edu Cc: Lisp-Stat Mailinglist In-Reply-To: <199501112044.VAA28181@hypatia.ethz.ch> (message from Jan Deleeuw on Wed, 11 Jan 1995 12:33:46 -0800 (PST)) Subject: Re: help system Reply-To: Martin Maechler Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Martin Maechler I`d be quit willing to give you feedback on the help system as soon as you have an X11 version working.... It's really great if you put effort in the on-line help system. This makes lisp-stat leap from an 'expert' to a 'user' system.... [today's users are spoiled more than they used to be 10 years ago...] From owner-SL-news@umnstat.stat.umn.edu Thu Jan 19 16:44:43 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA06807; Thu, 19 Jan 1995 16:44:43 -0600 Resent-Date: Thu, 19 Jan 1995 15:44:36 -0700 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from dns1.NMSU.Edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA06801; Thu, 19 Jan 1995 16:44:39 -0600 Return-Path: Received: from ccserver by NMSU.Edu (8.6.8.1/NMSU-1.18) id PAA05141; Thu, 19 Jan 1995 15:44:36 -0700 Date: Thu, 19 Jan 1995 15:44:36 -0700 Message-Id: <199501192244.PAA05141@NMSU.Edu> Received: from [128.123.31.142] by ccserver (4.1/NMSU) id AA23322; Thu, 19 Jan 95 15:44:32 MST X-Sender: ddaniel@dante.nmsu.edu Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: stat-lisp-news@umnstat.stat.umn.edu From: ddaniel@nmsu.edu (David L. Daniel) Subject: sv-decomp usage... Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: ddaniel@nmsu.edu (David L. Daniel) Hi, I've been trying to use sv-decomp, but am having trouble getting the expected results. Here's a sample: > (def b #2A((1 1 0) (0 2 1) (0 0 3))) B > (print-matrix b) #2a( (1 1 0) (0 2 1) (0 0 3) ) NIL > (second (sv-decomp b)) #(3.27307 2.13264 0.859565) Now shouldn't this vector be #(3 2 1)??? Perhaps the tolerance for the convergence is not set very low? If anyone has suggestions or comments I would appreciate them. I'm running this under the ppc version 3.43, but have gotten the same results from a 2.1R3a7 version for a 68000 macintosh. Thanks, -David David Daniel Dept. of Experimental Statistics New Mexico State University ddaniel@nmsu.edu ##################################################### This random sign-off was generated by a statistician. ##################################################### From owner-SL-news@umnstat.stat.umn.edu Thu Jan 19 16:59:59 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA06845; Thu, 19 Jan 1995 16:59:59 -0600 Resent-Date: Thu, 19 Jan 95 14:59:52 PST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA06839; Thu, 19 Jan 1995 16:59:56 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA18326; Thu, 19 Jan 95 14:59:53 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA17962; Thu, 19 Jan 95 14:59:52 PST Date: Thu, 19 Jan 95 14:59:52 PST From: Jan Deleeuw Message-Id: <9501192259.AA17962@galton.math.ucla.edu> To: ddaniel@nmsu.edu (David L. Daniel) Cc: stat-lisp-news@umnstat.stat.umn.edu Subject: sv-decomp usage... In-Reply-To: <199501192244.PAA05141@NMSU.Edu> References: <199501192244.PAA05141@NMSU.Edu> Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw David L. Daniel writes: > Hi, > > I've been trying to use sv-decomp, but am having trouble getting the > expected results. Here's a sample: > > > (def b #2A((1 1 0) (0 2 1) (0 0 3))) > B > > (print-matrix b) > #2a( > (1 1 0) > (0 2 1) > (0 0 3) > ) > NIL > > (second (sv-decomp b)) > #(3.27307 2.13264 0.859565) > > Now shouldn't this vector be #(3 2 1)??? > Perhaps the tolerance for the convergence is not set very low? If anyone > has suggestions or comments I would appreciate them. I'm running this > under the ppc version 3.43, but have gotten the same results from a 2.1R3a7 > version for a 68000 macintosh. > > Thanks, > -David > > > David Daniel > Dept. of Experimental Statistics > New Mexico State University > ddaniel@nmsu.edu > ##################################################### > This random sign-off was generated by a statistician. > ##################################################### > > The singular values are correct, singular values are not eigenvalues. Check the sum of squares of b (16) and the sum of squares of your suggested singular values (15). --- Jan From owner-SL-news@umnstat.stat.umn.edu Fri Jan 20 10:37:16 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA18405; Fri, 20 Jan 1995 10:37:16 -0600 Resent-Date: Fri, 20 Jan 95 11:33:49 EST Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from kodak.com by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA18395; Fri, 20 Jan 1995 10:36:44 -0600 Return-Path: Received: from euler.kodak.com by Kodak.COM (5.61+/2.1-Eastman Kodak) id AA23586; Fri, 20 Jan 95 11:37:38 -0500 Reply-To: luh700@gosset.kodak.com Received: from gosset.kodak.com by euler.kodak.com via SMTP (931110.SGI/931108.SGI.ANONFTP) for @kodakr.Kodak.COM:stat-lisp-news@umnstat.stat.umn.edu id AA21343; Fri, 20 Jan 95 11:31:31 -0500 Received: by gosset.kodak.com (4.1/SMI-4.1) id AA06254; Fri, 20 Jan 95 11:33:49 EST Date: Fri, 20 Jan 95 11:33:49 EST From: luh700@gosset.kodak.com (Jeffrey D. Morris) Message-Id: <9501201633.AA06254@gosset.kodak.com> To: stat-lisp-news@umnstat.stat.umn.edu Subject: t-test.lsp problem Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: luh700@gosset.kodak.com (Jeffrey D. Morris) I downloaded t-test.lsp from the UCLA site but when I loaded it I got the following error message... Error: Bad object -NIL Happened in: # The plot window does come up but then nothing. I'm running on 3.44 on a Mac IIi. Any ideas? BTW would it make sense to put the authors name and address in the function listing in case someone had questions, ideas for enhancements, etc? Jeffrey D. Morris Applied Math and Statistics Kodak Research Labs Rochester, NY 14650-2205 morris@kodak.com From owner-SL-news@umnstat.stat.umn.edu Fri Jan 20 18:46:33 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA20919; Fri, 20 Jan 1995 18:46:33 -0600 Resent-Date: Fri, 20 Jan 1995 16:46:04 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA20913; Fri, 20 Jan 1995 18:46:12 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.11) id AA04501; Fri, 20 Jan 95 16:46:07 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.10) id AA29480; Fri, 20 Jan 95 16:46:04 PST From: Jan Deleeuw Message-Id: <9501210046.AA29480@galton.math.ucla.edu> Subject: Here Comes a File To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 20 Jan 1995 16:46:04 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2848 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw New and upgraded Xlisp-Stat code in ftp.stat.ucla.edu:/pub/lisp/xlisp/xlisp-stat/code/homegrown Look in the following subdirectories. Some of this code is incomplete, in the sense that some parts are unfinished. It will be updated whenever another part is ready, or whenever substantial changes of any kind are implemented. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 01/20/95 spatial/ has code for different types of variogram estimates By Stan Bentow, Dave Afshartous, and George Michailides. 01/20/95 plotters/ has a useful upgrade to spin-plot-proto by Jason Bond. 01/18/95 modules/ has a new selection of modules and demos for introductory statistics teaching. By Jason Bond and Jan de Leeuw. 01/13/95 help/ has a large on-line help system for xlisp/xlisp-stat by Jan de Leeuw. IN PROGRESS. 01/12/95 IO/stem-and-leaf has a stem-and-leaf plot with sliders. By Jason Bond. 01/05/95 robust/ has code for Rousseeuw's S_n scale estimate. By Jason Bond. Q_n IS COMING. 01/05/95 robust/lms has code for Stromberg's exact algorithm to do Least Median of Squares estimation. By David Betz. 12/30/94 optimize/ has Bruno Haible's CL simplex method, adapted to Xlisp by David Betz. 12/25/94 niceties/ now has list-from-string.lsp which takes a string and cuts it in pieces defined by the separating characters in charbag. Does a post-operation on each member (capitalize, reverse, whatever). 12/23/94 IO/ has write-profile.lsp which takes a list of lists with category labels for a number of variables, and writes a string matrix will all possible profiles. The file also has a function write-latex-table which takes a xlisp array of strings and writes it to a file with LaTeX table/tabular environments. 12/19/94 sem/ has code for maximum likelihood and least squares factor analysis, for image analysis, and for minimum trace factor analysis. By Jan de Leeuw. 12/19/94 smoothers/ has code and a manual for Jerry Friedman's variable span supersmoother. By Jason Bond and Afshan Tabazadeh. 12/19/94 combinatorial/ has code by David Betz to generate all choices of m out of n lexicographically. 12/19/94 optimization/ has routines to compute roots of polynomials of degree lte four using the classic algorithms (by Sona Vartanian). 12/10/94 bootstrap/ has the bootstrap for stationary observations, by Jan de Leeuw. 12/10/94 robust/ has a growing list of robust location and scale estimates, by Jan de Leeuw. 09/06/94 mcmc/ has code by Jan de Leeuw for Adrian Raftery's technique to estimate the number of iterations of the Gibbs sampler. 09/02/94 bootstrap/ has the balanced bootstrap, by David Betz. From owner-SL-news@umnstat.stat.umn.edu Fri Jan 27 12:50:17 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA22204; Fri, 27 Jan 1995 12:50:17 -0600 Resent-Date: Fri, 27 Jan 1995 13:48:48 -0500 (EST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from dns.sph.umich.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA22197; Fri, 27 Jan 1995 12:50:15 -0600 Return-Path: Received: from csrvr5.sph.umich.edu (csrvr5.sph.umich.edu [141.211.50.223]) by sph.umich.edu (8.6.9/8.6.9) with ESMTP id NAA10503 for ; Fri, 27 Jan 1995 13:50:14 -0500 Received: (pgreen@localhost) by csrvr5.sph.umich.edu (8.6.9/8.6.9) id NAA24358; Fri, 27 Jan 1995 13:48:48 -0500 Date: Fri, 27 Jan 1995 13:48:48 -0500 (EST) From: Paul Green X-Sender: pgreen@csrvr5.sph.umich.edu To: LISP Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Paul Green LISP-STAT supplies a log-gamma function, but not the first and second derivatives (the digamma and trigamma functions). Here are some simple functions for calculating them. For details, see Bernardo (1976), Appl. Stat., 315-317, and Schneider (1978), Appl. Stat., 97-99, also Francis (1991?), Appl. Stat., 514-515. ;;;; LISP-STAT functions for evaluating the first and ;;;; second derivatives of the log-gamma function (the ;;;; digamma and trigamma functions, respectively). ;;;; Both functions take a real positive argument. (defun digam (x) (let ((s3 8.333333333e-2) (s4 8.333333333e-3) (s5 3.968253968e-3) (d1 -0.5772156649)) (cond ((<= x 0) (princ "error: non-positive argument - ") x) ((<= x 1e-5) (- d1 (/ x))) (t (do ((z x (+ z 1)) (dgam 0 (- dgam (/ z)))) ((>= z 8.5) (setf y (/ z)) (setf dgam (+ dgam (log z) (- (* 0.5 y)))) (setf y (* y y)) (- dgam (* y (- s3 (* y (- s4 (* y s5)))))))))))) (defun trigam (x) (let ((b2 0.1666666667) (b4 -0.03333333333) (b6 0.02380952381) (b8 -0.03333333333)) (cond ((<= x 0) (princ "error: non-positive argument - ") x) ((<= x 1e-4) (/ (* x x))) (t (do ((z x (+ z 1)) (tgam 0 (+ tgam (/ (* z z))))) ((>= z 5) (setf y (/ (* z z))) (+ tgam (* 0.5 y) (/ (+ 1 (* y (+ b2 (* y (+ b4 (* y (+ b6 (* y b8)))))))) z)))))))) ------------------------------------------------------------------ Paul E. Green E-mail: pgreen@umich.edu University of Michigan Phone: (313) 764-8213 Transportation Research Institute Fax: (313) 936-1081 Ann Arbor, MI 48109-2150 From owner-SL-news@umnstat.stat.umn.edu Wed Feb 1 12:43:36 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA27642; Wed, 1 Feb 1995 12:43:36 -0600 Resent-Date: Wed, 1 Feb 1995 13:43:34 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from email.unc.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA27636; Wed, 1 Feb 1995 12:43:32 -0600 Return-Path: Received: from upper68.psych.unc.edu by email.unc.edu (AIX 3.2/UCB 5.64/4.03) id AA206913; Wed, 1 Feb 1995 13:43:34 -0500 Date: Wed, 1 Feb 1995 13:43:34 -0500 Message-Id: <9502011843.AA206913@email.unc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: stat-lisp-news@umnstat.stat.umn.edu From: richf@email.unc.edu (Rich Faldowski) Subject: Qs:Print accurary, Menu Items, Byte Compilers Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: richf@email.unc.edu (Rich Faldowski) I have two unrelated questions. (1) In the context of saving statistical modeling work (intermediate results, transformations, ect.) between sessions or for transporting them between platforms, what technique (or lisp command) for writing out results to disk files produces the most numerically accurate representations of floating point numbers. Here, I mean "numerical accuracy" in the sense of producing the smallest possible discrepancy between the original double precision internal representation of a number and the value that results when the number is saved to disk then read back. Using PRINT, with a file specified as the output stream, I have so far only achieved equality between original and saved values up to five or six decimal places (worst cases among sets of numbers). The FORMAT command has not yielded any better results. Any suggestions would be welcome? (2) For the purposes of completing a fairly substantial project, I am currently still using XLispStat version 2.1r3a7, but have been following the evolution of XLS into versions 3.xx with interest. Perhaps this is a naive question, but what exactly is the "byte compiler" included with XLS 3.xx and what differentiates it from more familiar, good old-fashioned C or Fortran compilers. Thanks in advance. ============================================== Richard A. Faldowski (richf@email.unc.edu) L.L. Thurstone Psychometric Laboratory Department of Psychology University of North Carolina at Chapel Hill ---------------------------------------------- "It is very easy to be blinded to the essential uselessness of [Sirius Cybernetics Corporation products] by the sense of achievement you get from getting them to work at all. ...[T]heir fundamental design flaws are completely hidden by their superficial design flaws." (The Hitchhiker's Guide to the Galaxy) ============================================== From owner-SL-news@umnstat.stat.umn.edu Wed Feb 1 13:38:45 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA27935; Wed, 1 Feb 1995 13:38:45 -0600 Resent-Date: Wed, 01 Feb 95 12:37:12 -2400 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from bill.math.montana.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA27927; Wed, 1 Feb 1995 13:38:08 -0600 Return-Path: Received: by bill.math.montana.edu (5.65/DEC-Ultrix/4.3) id AA04755; Wed, 1 Feb 1995 12:38:59 -0700 Message-Id: <9502011938.AA04755@bill.math.montana.edu> From: Jeff Banfield Date: Wed, 01 Feb 95 12:37:12 -2400 To: lisp-stat-news@umnstat.stat.umn.edu Mime-Version: 1.0 X-Mailer: Mozilla/1.0N (Macintosh) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Subject: subscribe X-Url: http://stat.umn.edu/~rcode/get-xlispstat.html Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jeff Banfield subscribe From luke@nokomis.stat.umn.edu Wed Feb 1 16:17:57 1995 Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA26339; Wed, 1 Feb 1995 16:17:57 -0600 Resent-Date: Wed, 1 Feb 1995 16:17:55 -0600 (CST) Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA26331; Wed, 1 Feb 1995 16:17:55 -0600 From: Luke Tierney Return-Path: Message-Id: <9502012217.AA26331@nokomis.stat.umn.edu> Subject: Qs:Print accurary, Menu Items, Byte Compilers (fwd) To: stat-lisp-news@nokomis.stat.umn.edu Date: Wed, 1 Feb 1995 16:17:55 -0600 (CST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 5289 Errors-To: owner-SL-news@nokomis.stat.umn.edu Resent-From: owner-SL-news@nokomis.stat.umn.edu Resent-To: SL-news-list@nokomis.stat.umn.edu Resent-Reply-To: Luke Tierney > > (1) In the context of saving statistical modeling work (intermediate > results, transformations, ect.) between sessions or for transporting them > between platforms, what technique (or lisp command) for writing out results > to disk files produces the most numerically accurate representations of > floating point numbers. Here, I mean "numerical accuracy" in the sense of > producing the smallest possible discrepancy between the original double > precision internal representation of a number and the value that results > when the number is saved to disk then read back. Using PRINT, with a file > specified as the output stream, I have so far only achieved equality > between original and saved values up to five or six decimal places (worst > cases among sets of numbers). The FORMAT command has not yielded any > better results. Any suggestions would be welcome? One of the changes with releses since 3.39 has been to make PRINT produce floating point output that is reasonably close to reproducing internal representations. THe code relies on the native C printf, so if that is flawed then xlispstat will be. So in the new release, using PRINT should work. In the old release you can probably use "~,16e" with format, but I have not checked that. > (2) For the purposes of completing a fairly substantial project, I am > currently still using XLispStat version 2.1r3a7, but have been following > the evolution of XLS into versions 3.xx with interest. Perhaps this is a > naive question, but what exactly is the "byte compiler" included with XLS > 3.xx and what differentiates it from more familiar, good old-fashioned C or > Fortran compilers. > C and FORTRAN compilers usually produce machine code, thoug there are some that optionally produce byte code (I think Microsoft C does). Many Scheme systems, emacs lisp, and even one Common Lisp system (CLISP) use byte code compilation. A byte code compiler produces code for a byte code interpreter (or a "virtual machine" if you want to be fancy). Usually the instruction set is designed to consist of at most 256 instructions, which can be contained in one byte, and hece the name. Like most byte code interpreters, mine is written in C as a single C function with a big switch on the opcode. The byte code is essentially machine independent. Byte code compilation gains most of its speed from the fact that a properly designed code ant interpreter can run much faster than a direct interpeter of lisp code. In addition, there are many things an interpreter has to check for at run time that the compiler can get rid of, which also saves time. To give a simple example, (defun f (x) (let ((s 0)) (dolist (y x s) (incf s y)))) defines a function that sums a list, say 1, 2, ... 1000, (def x (iseq 1 1000)) The speeds are: > (time (dotimes (i 1000) (f x))) The evaluation took 32.64 seconds; 0.44 seconds in gc. NIL > (compile 'f) F > (time (dotimes (i 1000) (f x))) The evaluation took 3.37 seconds; 0.09 seconds in gc. NIL So the byte compiler speeds it up by a factor of 10. (Obviously this is one of the more favorable examples.) A native C implementation that uses generic addition gives a factor of 2 improvement, > (time (dotimes (i 1000) (f2 x))) The evaluation took 1.46 seconds; 0.04 seconds in gc. A C implementation that uses double precision floating point addition (but would not work on complex numbers of course) gives another factor of 2, > (time (dotimes (i 1000) (f1 x))) The evaluation took 0.70 seconds; 0.00 seconds in gc. Finally, a native C version that uses double precision addition on a double precision array gives about another factor of 5 improvement. > (time (dotimes (i 1000) (f3 y))) The evaluation took 0.13 seconds; 0.00 seconds in gc. The functions f1, f2 and f3 were dynamically loaded. Similar little experiments seem to suggest that a good byte code system can get reasonably close to equivalent native C code as long as generic arithmetic is used. If you can restrict your code to a specific machine type of data, such as C double's then native C can do quite a bit better. Some of that gain can be picked up even in a byte code system by working with native data types, maybe as much as a factor of 4 in this case, but the remaining factor of 5 requires machine code generation to get everything to stay in registers during the whole computation. The reason the byte code compiler does as well as it does here is that it reduces the loop to just 4 instructions to the byte code interpreter. Here is the internal assembly representation of the function: (#:MAIN208210 (%INITIALIZE 0 2 1 0 3) (%COPY 2 3) (%COPY 1 4) (%CAR 4 5) (%GOTO #:TEST161211) #:LOOP162212 (%ARITH2 43 3 5 3) ;; add y to s, put in s (%CDR 4 4) ;; compute (cdr x), store in x (%CAR 4 5) ;; compute (car x), store in y #:TEST161211 (%TEST-1 1 ;; test if x is null and branch #:LOOP162212 #:ELSE214216 4) #:ELSE214216 (%SET-ONE-VALUE-RETURN 0 3)) So much for a core dump on byte code compiling ... you asked. luke From owner-SL-news@umnstat.stat.umn.edu Thu Feb 2 09:52:43 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA10708; Thu, 2 Feb 1995 09:52:43 -0600 Resent-Date: Thu, 02 Feb 95 10:44:33 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from BITBURG.BBN.COM by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA10701; Thu, 2 Feb 1995 09:52:41 -0600 Return-Path: Message-Id: <9502021552.AA10701@umnstat.stat.umn.edu> To: Luke Tierney Cc: stat-lisp-news@umnstat.stat.umn.edu, JMorrill@bbn.com Subject: Re: Qs:Print accurary, Menu Items, Byte Compilers (fwd) In-Reply-To: Your message of Wed, 01 Feb 95 16:17:55 -0600. <9502012217.AA26331@nokomis.stat.umn.edu> Date: Thu, 02 Feb 95 10:44:33 -0500 From: kanderso@bbn.com Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: kanderso@bbn.com From: Luke Tierney Subject: Qs:Print accurary, Menu Items, Byte Compilers (fwd) To: stat-lisp-news@nokomis.stat.umn.edu Date: Wed, 1 Feb 1995 16:17:55 -0600 (CST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 5289 Errors-To: owner-SL-news@stat.umn.edu > cases among sets of numbers). The FORMAT command has not yielded any > better results. Any suggestions would be welcome? One of the changes with releses since 3.39 has been to make PRINT produce floating point output that is reasonably close to reproducing internal representations. THe code relies on the native C printf, so if that is flawed then xlispstat will be. So in the new release, using PRINT should work. In the old release you can probably use "~,16e" with format, but I have not checked that. I have common Lisp code that does fast accurate writing of floats, written by Jeff Morrill. It is based on the papers: G. L. Steele and J. L. White, "How to Print Floating-Point Numbers Accurately," pp. 112-126, in Proc. ACM SIGPLAN'90 Conferent on Programming Design and Implementation, White Plains, NY, 1990. There is a companion paper by Will Clingerin the proceedings that describe how to read floats. There is also C code Written by David Gray. I believe it can be gotten from netstat (the functions are called dtoa.c and g_fmt.c) Float printing and reading should be based on this approach. k From bjm@otter.stat.umn.edu Thu Feb 2 20:10:20 1995 Received: by otter.stat.umn.edu (1.38.193.4/16.2) id AA06618; Thu, 2 Feb 1995 20:10:20 -0600 Resent-Date: Thu, 02 Feb 1995 20:10:17 CST Received: from localhost by otter.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA06610; Thu, 2 Feb 1995 20:10:18 -0600 Return-Path: Message-Id: <9502030210.AA06610@otter.stat.umn.edu> To: stat-lisp-news@otter.stat.umn.edu Subject: Re: Qs:Print accurary, Menu Items, Byte Compilers (fwd) In-Reply-To: Your message of "Thu, 02 Feb 1995 10:44:33 CST." <9502021552.AA10701@umnstat.stat.umn.edu> Date: Thu, 02 Feb 1995 20:10:17 CST From: "Bret J. Musser" Errors-To: owner-SL-news@otter.stat.umn.edu Resent-From: owner-SL-news@otter.stat.umn.edu Resent-To: SL-news-list@otter.stat.umn.edu Resent-Reply-To: "Bret J. Musser" I believe that the original poster asked about saving and recalling values. Don't forget the "savevar" function which will save variables in a lisp-readable file. E.g. (def x (normal-rand 5)) (savevar 'x "blah") would create something like (DEF X (QUOTE (0.5248860861756885 -1.6327608204085289 2.6584650826828184 1.464619651621857 -0.9080837158167088))) in a file named "blah.lsp". Bret From owner-SL-news@umnstat.stat.umn.edu Fri Feb 3 07:40:01 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA23516; Fri, 3 Feb 1995 07:40:01 -0600 Resent-Date: Fri, 03 Feb 1995 08:43:15 -0500 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from euler.bd.psu.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA23510; Fri, 3 Feb 1995 07:39:59 -0600 Return-Path: Received: by euler.bd.psu.edu via SMTP (931110.SGI/930416.SGI.AUTO) for stat-lisp-news@umnstat.stat.umn.edu id AA19644; Fri, 3 Feb 95 08:43:27 -0500 Message-Id: <9502031343.AA19644@euler.bd.psu.edu> To: stat-lisp-news@umnstat.stat.umn.edu Subject: Statistical Computing in Lisp. Orlando '95. Date: Fri, 03 Feb 1995 08:43:15 -0500 From: Balasubramanian Narasimhan Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Balasubramanian Narasimhan FYI. The URL http://euler.bd.psu.edu/lispstat now contains a link to a page that contains the titles of talks and abstracts to be presented at the "Statistical Computing in Lisp" session at the Joint Meetings in Orlando, August 1995. ________________________________________________________________ B. Narasimhan naras@euler.bd.psu.edu From owner-SL-news@umnstat.stat.umn.edu Fri Feb 3 11:44:03 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA24450; Fri, 3 Feb 1995 11:44:03 -0600 Resent-Date: Fri, 3 Feb 1995 09:43:53 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA24441; Fri, 3 Feb 1995 11:44:00 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.12) id AA02570; Fri, 3 Feb 95 09:43:57 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.12) id AA23784; Fri, 3 Feb 95 09:43:54 PST From: Jan Deleeuw Message-Id: <9502031743.AA23784@galton.math.ucla.edu> Subject: write-latex-table To: ucla-stat@math.ucla.edu (ucla-stat mailing list), stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 3 Feb 1995 09:43:53 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2242 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw I have found this quite useful. It takes a Lisp array, and writes it to a LaTeX table. This also works in Common Lisp. Along the same lines, I am now writing utilities to convert simple text or simple LaTeX to HTML. ======================================================================= (defun write-latex-table (x &key (title "table.tex") (how "r") (rule nil) (form "full") (size "normalsize") (caption "caption")) "Args: x Takes a matrix of numbers or strings, and writes it to a file in a LaTeX table. Optional parameters for the title of the file, for the caption, for the alignment (r, c, l), for the format (full, upper, lower), for rules between the lines, and for the LaTeX size (normalsize, tiny, LARGE, etc). Returns nil." (let* ( (n (first (array-dimensions x))) (m (second (array-dimensions x))) (s (with-output-to-string (form) (format form "~a" "|") (dotimes (i m) (format form "~a~a" "|" how) (if (= i (1- m)) (format form "~a" "||"))))) ) (with-open-file (texfile title :direction :output) (format texfile "~a[ht]~%" "\\begin{table}") (format texfile "~a~%" "\\centering") (format texfile "\\~a~%" size) (format texfile "~a{~a}\\hline~%" "\\begin{tabular}" s) (dotimes (i n) (dotimes (j m) (if (or (string= form "full") (and (string= form "upper") (>= j i)) (and (string= form "lower") (<= j i))) (format texfile "~a" (aref x i j))) (if (= j (1- m)) (if (= i (1- n)) (format texfile " \\\\\\hline~%") (if rule (format texfile " \\\\\\hline~%") (format texfile " \\\\~%"))) (format texfile " & ")))) (format texfile "~a~%" "\\end{tabular}") (format texfile "~a{~a}~%" "\\caption" caption) (format texfile "~a~%" "\\end{table}")) )) -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Fri Feb 3 12:31:28 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA24680; Fri, 3 Feb 1995 12:31:28 -0600 Resent-Date: Fri, 3 Feb 1995 10:31:21 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA24673; Fri, 3 Feb 1995 12:31:26 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.12) id AA04522; Fri, 3 Feb 95 10:31:24 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.12) id AA23918; Fri, 3 Feb 95 10:31:22 PST From: Jan Deleeuw Message-Id: <9502031831.AA23918@galton.math.ucla.edu> Subject: speed To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Fri, 3 Feb 1995 10:31:21 -0800 (PST) Cc: deleeuw@stat.ucla.edu (Jan de Leeuw) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1240 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw In view of recent discussion about the relative merits of Xlisp and Common Lisp, and about the differences between byte-compiled and object-compiled code, here is a tiny speed comparison using the write-latex-table fucntion I posted recently. I have done similar comparisons using floating point operations, and then the results are quite different. This function is just IO and looping. (0) All runs on galton, a Sparc 20 with 64MB and 1 processor Command (time (write-latex-table (make-array '(100 100)))) (1) Xlisp-Stat interpreted lsp 3.27 sec byte-compiled 0.83 sec (2) Clisp interpreted lsp real 10.54 run 10.43 gc 0.26 byte compiled real 6.36 run 6.24 gc 0.24 (3) cmucl interpreted lsp real 12.10 run 11.61 gc 1.53 object code real 4.74 run 3.45 gc 1.06 (4) gcl interpreted lsp real 5.73 run 3.27 object code real 3.78 run 1.55 I'll do Xlisp-Stat vs MCL when I get home (on the PowerBook 170). I cant do PowerMac, because my Powermac is in LA, and I am in NC. -- Jan de Leeuw; UCLA Statistics Program; UCLA Statistical Consulting US mail: 8118 Math Sciences, 405 Hilgard Ave, Los Angeles, CA 90024-1554 phone (310)-825-9550; fax (310)-206-5658; email: deleeuw@stat.ucla.edu From owner-SL-news@umnstat.stat.umn.edu Tue Feb 7 11:09:53 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA14693; Tue, 7 Feb 1995 11:09:53 -0600 Resent-Date: Tue, 7 Feb 1995 09:09:47 -0800 (PST) Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from julia.math.ucla.edu by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA14686; Tue, 7 Feb 1995 11:09:51 -0600 Received: from galton.math.ucla.edu by julia.math.ucla.edu (Sendmail 4.1/1.12) id AA09813; Tue, 7 Feb 95 09:09:49 PST Return-Path: Received: by galton.math.ucla.edu (Sendmail 4.1/1.12) id AA10933; Tue, 7 Feb 95 09:09:48 PST From: Jan Deleeuw Message-Id: <9502071709.AA10933@galton.math.ucla.edu> Subject: Here Comes A File To: stat-lisp-news@umnstat.stat.umn.edu (Xlisp List) Date: Tue, 7 Feb 1995 09:09:47 -0800 (PST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1495 Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Jan Deleeuw I had promised several people to compare Xlisp and Common Lisp on the Mac. The only Mac I have here is a PowerBook 170 (with 8MB) that has Xlisp-Stat 3.44, MCL 2.0.1, and PowerLisp 1.1b. Plug: PowerLisp is shareware ($ 75). It can be ftp-ed from ftp.stat.ucla.edu in pub/lisp/common. It is a nice starter system, and comes with a native 680xx compiler and assembler written in Common Lisp, plus a nice disassemble function as well. It does not have much of a Toolbox interface, and it is not as complete or as fast as MCL -- but it works quite well. PowerLisp is by Roger Corman (roger@island.com). ========================================================================= (time (write-latex-table (make-array '(100 100))) This is all IO, and Xlisp-Stat shines. The IO is all in C, and the system does not have much overhead. XL-I 22.70 XL-C 8.60 MCL 30.14 MCL compiles all the code it loads, so it does not have interpreted code times. ======================================================================== (testfrpoly) ;; the Gabriel-Fateman polynomial arithmetic benchmark ;; consists for four tests XL-I 1.05 11.70 133.47 966.28 XL-C 0.22 2.28 26.23 185.53 MCL 0.07 0.23 3.07 28.73 ======================================================================== (time (primes 0 1000)) ;; the Sieve XL-I 126.27 XL-C 38.45 MCL 13.61 PL-I 256.00 PL-C 34.01 ======================================================================== From owner-SL-news@umnstat.stat.umn.edu Thu Feb 9 06:33:20 1995 Received: by umnstat.stat.umn.edu (1.38.193.4/16.2) id AA12627; Thu, 9 Feb 1995 06:33:20 -0600 Resent-Date: Thu, 09 Feb 1995 12:32:52 +0000 Resent-From: owner-SL-news@umnstat.stat.umn.edu Received: from oxmail2.ox.ac.uk by umnstat.stat.umn.edu with SMTP (1.38.193.4/16.2) id AA12621; Thu, 9 Feb 1995 06:33:15 -0600 Return-Path: Received: from vax.ox.ac.uk by oxmail2.ox.ac.uk. with SMTP (PP) id <11095-0@oxmail2.ox.ac.uk.>; Thu, 9 Feb 1995 12:33:06 +0000 Received: by vax.ox.ac.uk (MX V4.1 VAX) id 20; Thu, 09 Feb 1995 12:32:54 +0000 Sender: halpin@vax.ox.ac.uk Date: Thu, 09 Feb 1995 12:32:52 +0000 From: Brendan Halpin To: STAT-LISP-NEWS@umnstat.stat.umn.edu Cc: halpin@vax.ox.ac.uk Message-Id: <0098BBA1.B8D84134.20@vax.ox.ac.uk> Subject: Speed Errors-To: owner-SL-news@umnstat.stat.umn.edu Resent-To: SL-news-list@umnstat.stat.umn.edu Resent-Reply-To: Brendan Halpin I'm running XLispStat 2.1 Release 3.43 on a 486/66 PC running Windows 3.1. I've been comparing XLispStat with GLIM 4 for usefulness and the biggest practical consideration that emerges is that XLispStat seems to be about 1/6th the speed when it comes to model estimation. A logistic regression that takes 5 secs to fit in GLIM takes 30 in XLispStat. Is this an anomaly, or typical? It's a particular problem because XLispStat doesn't co-operate about multitasking: when it's working everything else (even the on-screen clock) stops. Brendan Brendan Halpin |Email: HALPIN@VAX.OX.AC.UK Dept of Applied Social Studies |PGP: Finger halpin@vax.ox.ac.uk Oxford University, Wellington Sq.,| or halpin@gramsci.apsoc.ox.ac.uk Oxford OX1 2ER, UK |Phone: +44 865 270347 (work) / 726758 (home) From luke@nokomis.stat.umn.edu Thu Feb 9 08:57:02 1995 Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA09598; Thu, 9 Feb 1995 08:57:02 -0600 Resent-Date: Thu, 9 Feb 1995 08:57:00 -0600 (CST) Received: by nokomis.stat.umn.edu (1.38.193.4/16.2) id AA09591; Thu, 9 Feb 1995 08:57:01 -0600 From: Luke Tierney Return-Path: Message-Id: <9502091457.AA09591@nokomis.stat.umn.edu> Subject: Re: Speed To: stat-lisp-news@nokomis.stat.umn.edu Date: Thu, 9 Feb 1995 08:57:00 -0600 (CST) X-Mailer: ELM [version 2.4 PL24] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2080 Errors-To: owner-SL-news@nokomis.stat.umn.edu Resent-From: owner-SL-news@nokomis.stat.umn.edu Resent-To: SL-news-list@nokomis.stat.umn.edu Resent-Reply-To: Luke Tierney Forwarded message: > From owner-SL-news@umnstat.stat.umn.edu Thu Feb 9 07:45 CST 1995 > Resent-From: owner-SL-news@umnstat.stat.umn.edu > Resent-Message-Id: <199502091345.IAA06322@temper.stat.cmu.edu> > Resent-Date: Thu, 09 Feb 1995 12:32:52 +0000 > Sender: halpin@vax.ox.ac.uk > Date: Thu, 09 Feb 1995 12:32:52 +0000 > From: Brendan Halpin > To: STAT-LISP-NEWS@umnstat.stat.umn.edu > Cc: halpin@vax.ox.ac.uk > Message-Id: <0098BBA1.B8D84134.20@vax.ox.ac.uk> > Subject: Speed > Errors-To: owner-SL-news@umnstat.stat.umn.edu > Resent-To: SL-news-list@umnstat.stat.umn.edu > Resent-Reply-To: Brendan Halpin > > I'm running XLispStat 2.1 Release 3.43 on a 486/66 PC running > Windows 3.1. > > I've been comparing XLispStat with GLIM 4 for usefulness and the > biggest practical consideration that emerges is that XLispStat > seems to be about 1/6th the speed when it comes to model > estimation. A logistic regression that takes 5 secs to fit in GLIM > takes 30 in XLispStat. > > Is this an anomaly, or typical? It's a particular problem because > XLispStat doesn't co-operate about multitasking: when it's working > everything else (even the on-screen clock) stops. > The regression code, which is at the heart of the GLIM code, in 3.45 and earlier releases is not implemented optimally for speed, especially on large problems. I have made some small changes that will be in the next realease. With these changes the speed of fitting a fairly large glim (90 variables, 900 cases) dropped by a factor of 8, so that may bring performance on your problem closer to GLIM's -- please let me know if it doesn't. Smaller problems are likely to see less dramatic improvements because the setup overhead has remained more or less the same. I hope this new release will go into local testing in a week or so and be ready for general release in a couple of weeks. I will look into the handling of yielding time to other applications in Windows to see if some improvement is possible, but that may not make it into the next release. luke