hal@econ.lsa.umich.edu (Hal Varian) (06/27/91)
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 lisp 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 locations. I'm told that one can also compile xlispstat using with mouseX, but haven't checked this myself. I don't know if the attached makefile will work for mouseX, but I suspect that it will. Generic unix. This way you have all the computational tools, but only minimal graphics capability. On the other hand, you don't need to have X Windows installed. 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