General Information: README *************************** ($Revision: 5.21 $, for ESS 5.1.x) This is the README file for the distribution of ESS version 5.1.14, the alpha/beta series we are using on the way to producing 5.2 (the next stable distribution). ESS is an Emacs-Lisp interface for interactive statistical programming and data analysis. Languages supported include: S dialects (S 3/4, S-PLUS 3.x, and R), LispStat dialects (XLispStat, ViSta), and SAS. Stata and SPSS dialect (SPSS, PSPP) support is being examined for possible future implementation (a preliminary Stata mode is distributed). For INSTALLATION, see way below. ESS grew out of the desire for bug fixes and extensions to S-mode-4.8. In particular, XEmacs support as well as extensions to incorporate R were desired. In addition, with new modes being developed for R, Stata, and SAS, it was felt that providing for a unifying framework would eliminate differences in the user interface, as well as to provide for faster development of production tools and statistical analysis. 5.1.y has, for its guts, the basic framework from S-mode. However, it has been cleaned, streamlined, brought closer to conformance as a standard GNU Emacs package, and redesigned for modularity and reuse. The current development team is led by A.J. (Tony) Rossini (), who did the initial port to XEmacs and has been the primary coder. Martin Maechler () and Kurt Hornik () have assisted with S-PLUS, S4, R, and XLispStat sub-modes, and Richard M. Heiberger () has done much of the work for implementing the SAS sub-mode, as well as assisted with S-PLUS (under MS Windows and remote access) and S4 development. Douglas Bates () contributed the initial S4 mode, as well as provided disk space, ftp and http access to the source for development purposes. We are grateful to David M. Smith, the previous developer (for S-mode 3.x and 4.x), as well as to the initial developers of S-mode, Doug Bates, Ed Kademan and Frank Ritter. In addition, some of the code has been and will be borrowed from Tom Cook (from his excellent SAS mode) and Thomas Lumley (preliminary Stata mode), gratefully (from us) and with permission (from them). The name is ESS. Not ESS-mode. License ======= ESS 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, or (at your option) any later version. ESS 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 in the file COPYING in the same directory as this file for more details. New Features ============ Changes/New Features in 5.1.14: * Yet more fixes to SAS mode, (Rich Heiberger () and Rodney Sparapani )). * Customize support (for most Emacsen which support it) (AJRossini, () * ARC and ViSta support out of the box, and fixes for XLispStat (AJRossini, ) Changes/New Features in 5.1.13: * Version numbering finally all depending on the ./VERSION file, thanks to Martin Maechler. * Yet more fixes to SAS mode, thanks to Rich Heiberger (). Changes/New Features in 5.1.12: * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables, Chuck Taylor, and others. * More fixes to SAS mode, thanks to Rodney Sparapani () and Rich Heiberger (). Changes/New Features in 5.1.11: * More fixes to Stata mode, thanks to Brendan Halpin () * fixed bugs in ESS-elsewhere, thanks to many testers * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks to David Brahm (). * Fixes to SAS mode, thanks to Rodney Sparapani () Changes/New Features in 5.1.10: * More fixes to Stata mode * primitive generic version of ESS-elsewhere * Small fixes to SAS/Stata. Changes/New Features in 5.1.9: * Stata mode works * Literate Data Analysis using Noweb works Changes/New Features in 5.1.8: * Bug fixes * R documentation mode defaults changed Beginning with ESS 5.1.2 we are able to use inferior iESS mode to communicate directly with a running S-Plus 4.x process using the Microsoft DDE protocol. We use the familiar (from Unix ESS) C-c C-n and related key sequences to send lines from the S-mode file to the inferior S process. We continue to edit S input files in ESS[S] mode and transcripts of previous S sessions in ESS Transcript mode. All three modes know the S language, syntax, and indentation patterns and provide the syntactic highlighting that eases the programming tasks. For Microsoft platforms, the version of Emacs that this has been tested with is NTEmacs 20.x, x greater than 2. More information about NTEmacs can be retrieved from: * `http://www.cs.washington.edu/homes/voelker/ntemacs.html' including information on retrieval and installation. This has not yet been tested with XEmacs for Microsoft Windows 95/98/NT. Current Features ================ * Languages Supported: * S dialects (S 3/4, S-PLUS 3.x/4.x/5.x, and R) * LispStat dialects (XLispStat, ViSta under development) * SAS * Stata * SPSS dialects (SPSS, Fiasco (GNU project)) (under development) * SCA (under development) * Editing source code (S, LispStat, SAS) * Syntactic indentation and highlighting of source code * Partial evaluations of code * Loading and error-checking of code * Source code revision maintenance * Interacting with the process (S, LispStat, SAS) * Command-line editing * Searchable Command history * Command-line completion of S object names and file names * Quick access to object lists and search lists * Transcript recording * Interface to the help system * Transcript manipulation (S3, S+3, S4, R, XLispStat) * Recording and saving transcript files * Manipulating and editing saved transcripts * Re-evaluating commands from transcript files * Help File Editing (R) * Syntactic indentation and highlighting of source code. * Sending Examples to running ESS process. * Previewing Stability ========= Versions 5.1.x are meant as a beta-level releases. While some bugs are fixed from 5.0, others have been introduced, especially with regards to new features. See the file Doc/TODO for details. Bug reports are solicited; see the BUGS section below. Patches or suggested coding fixes with bug reports are much appreciated! Requirements ============ ESS version 5.1.n (n >= 2) requires Emacs version 19.29 or later, or version XEmacs 19.14 or later. It has been most thoroughly tested with: * S-PLUS versions 3.3, 3.4, 4.5, 5.0 * R versions >=0.49 * XLispStat versions >=3.50 * S4 * SAS * Stata >=6.0 on the following platforms * SunOS (all) * Solaris (all) * SGI (all) * Linux (S-PLUS 5.0, R, XLispStat, S4, Stata 6.0) * Microsoft Windows 95/98/NT (SPLUS 4.5) with the following Emacsen: * Emacs 19.29, 19.34, 20.3, 20.4, XEmacs 19.16, XEmacs 20.4, XEmacs 21.0 * Emacs 19.28 with SAS (with additional modifications) * NTEmacs 20.3.1 with S-PLUS 4.5. It may need some work with other configurations. We include configuration suggestions for emacs 19.28 in Doc/README-19.28. These are the changes we made in order to use ESS with SAS on a Digital Alpha running Emacs 19.28. Getting the Latest Version ========================== The latest versions of ESS are always available by WWW from: `http://ess.stat.wisc.edu/' `ftp://ess.stat.wisc.edu/pub/ESS/' The HTML version of the documentation can be found at: `http://stat.ethz.ch/ESS/' The latest (no more than 24 hours behind the developers) version of ESS can also be retrieved using anonymous CVS. Details on this are forthcoming. Installation (from tar file) ============================ * cd to a directory where you keep emacs lisp files, or create a new directory to hold the distribution. This directory will be referred to below as "the ESS distribution directory". It will contain, at the end, the tar file `ESS-5.1.14.tar.gz', and a directory for the ESS source, which will be termed "the ESS-5.1.14 source directory". Note that the .elc files may be installed elsewhere (as specified in the Makefile) if desired. * Retrieve the compressed tar file from one of the FTP or WWW archive sites via FTP (or HTTP). * Copy `ESS-5.1.14.tar.gz' to the location where you want the ESS-5.1.14 directory, and cd there. Extract the files from the distribution, which will unpack into a subdirectory, ESS-5.1.14. gunzip ESS-5.1.14.tar.gz tar vxf ESS-5.1.14.tar (or: `gunzip < ESS-5.1.14.tar.gz | tar vxf -' ). (or using GNU tar: `tar zvxf ESS-5.1.14.tar.gz'). The `tar' command will extract files into the current directory. Do not create ESS-5.1.14 yourself, or you will get an extra level of depth to your directory structure. * Edit the file `lisp/ess-site.el' as explained in the comments section of that file. Installations that are using ESS only for S-plus 3.x will probably not need to make any changes. Installations that also have one or more of (S+5 S4 R SAS XLispStat Stata) may need to uncomment corresponding lines in `ess-site.el'. * READ THIS ITEM THOROUGHLY BEFORE STARTING: In the ESS-5.1.14 directory, edit the file `Makeconf' (only if you want to place the executables in other locations; see LISPDIR and INFODIR) and then type: make If this works, then you might try: make install Note that the latter does the former as well, so if you are feeling lucky, you might want to skip it. This will install the info files (and the lisp files, if they are to go in another directory). Don't forget to edit the file `dir' in the info directory specified by `INFODIR' in `doc/Makefile'. See the sample `dir' file for an example of the line to add. If you are using XEmacs, you might do: make EMACS=xemacs and then make EMACS=xemacs install instead of editing the Makefile. _Note_ that you might need to use GNU make for everything to work properly An alternative, if you are running XEmacs and have access to the XEmacs system directories, would be to place the directory in the site-lisp directory, and simply type `make' (and copy the documentation as appropriate). For Emacs, you would still have to move the files into the top level site-lisp directory. * Add the line (load "/PATH/ess-site") to your .emacs file (or default.el or site-init.el, for a site-wide installation). Replace `/PATH' above with the value of ess-lisp-directory as defined in ess-site.el. Alternatively, if ess-site.el is in your current Lisp path, you can do: (require 'ess-site) to configure Emacs for ESS. * (OPTIONAL) If you are running S-PLUS or R, you might consider installing the database files. From within (X)Emacs, `C-x d' to the directory containing ESS. Now: M-x S+3 (or M-x S+5: get running. once you have reached the SPLUS prompt, do:) M-x ess-create-object-name-db (this will create the file: ess-s+3-namedb.el; if it isn't in the ESS directory, move it there). Then, completions will be autoloaded and will not be regenerated for every session. For R, do the same, using M-x R and then `M-x ess-create-object-name-db' creating `ess-r-namedb.el'; if it isn't in the ESS directory, move it there). * For more information on using ESS in your daily work, see the files README.S, README.SAS, and README.XLispStat. For the impatient, the quick version of usage follows: * To edit statistical programs, load the files with the requiste extensions (".sas" for SAS, ".S" for S-PLUS, ".R" for R, and ".lsp" for XLispStat). * To run statistical processes under (X)Emacs: Run S-PLUS 3.x with: M-x S+3 (or M-x S using backwards compatibility). You will then be asked for a pathname ("S starting data directory?"), from which to start the process. Similarly for S-PLUS 5.x. If you wish to run R, you can start it with: M-x R XLispStat can be run with M-x XLS SAS can be run with: M-x SAS * That's it! Installation (from anonymous CVS) ================================= To be added. Reporting Bugs ============== Please send bug reports, suggestions etc. to The easiest way to do this is within Emacs by typing `M-x ess-submit-bug-report' This also gives the maintainers valuable information about your installation which may help us to identify or even fix the bug. Note that comments, suggestions, words of praise and large cash donations are also more than welcome. Mailing Lists ============= There is a mailing list for discussions and announcements relating to ESS. Join the list by sending an e-mail with "subscribe ess-help" (or "help") in the body to ; contributions to the list may be mailed to . Rest assured, this is a fairly low-volume mailing list. The purposes of the mailing list include - helping users of ESS to get along with it. - discussing aspects of using ESS for GNU Emacs and XEmacs. - suggestions for improvements. - announcements of new [beta] releases of ESS. - posting small patches to ESS. Authors ======= * A.J. Rossini (http://www.biostat.washington.edu/~rossini/) * Richard M. Heiberger (http://www.sbm.temple.edu/departments/statistics/) * Kurt Hornik (http://www.ci.tuwien.ac.at/~hornik) * Martin Maechler (http://stat.ethz.ch/~maechler/)