[S] Release: Efun module for S-PLUS function development

Sat, 04 Jul 1998 15:24:45 -0200

Hello out there,

Re: Efun: An S-PLUS Function Development Module

The latest versions of my Efun module for S-PLUS function development
now are available at http://www.spg.wau.nl/pv/pub/chasalow/S.

This web site is still under development, but you should be able
to find what you need.

I began developing this module over 5 years ago under UNIX. The
first UNIX version was tested and used extensively by many users.
In the last 2 years I have ported the Efun module to S-PLUS for
Windows, and in the process enhanced and extended it. One of the
most important enhancements was in documentation. There is now
fairly complete on-line help, and a detailed User's Guide
(aka Overview.txt). These enhancements, alas, have not yet all
found their way back into the UNIX version.

Efun 2.0 for S-PLUS for Windows is an official release.

Efun 1.7 for S-PLUS for UNIX is an alpha release. All the functions
included are believed to work just fine, but it currently lacks some
of the functionality of Efun 2.0 for Windows, and it includes the
Efun 2.0 documentation.

Below I include a brief excerpt from the Efun 2.0 documentation.

Any comments, suggestions, bug reports, and so forth much
appreciated. I will be away from my email for much of July.
I will try to respond to any queries just as soon as possible.



Wageningen Agricultural University
Laboratory of Plant Breeding
P.O. Box 386
6700 AJ Wageningen


Efun: An S-PLUS Function Development Module

Efun 2.0 is an S-PLUS module for creating, revising, and managing
functions. It contains about 65 S-PLUS functions, most with detailed
help files, to help you manage function development.

The efun module includes function editing like fix(), but returns
control immediately to the S prompt, and keeps a record of edited
functions and the corresponding ASCII files.

Copyright (C) 1989-1998 Scott D. Chasalow

Scott D. Chasalow
Wageningen Agricultural University
Laboratory of Plant Breeding
PO Box 386
6700 AJ Wageningen

EMAIL: Scott.Chasalow@users.pv.wau.nl
PHONE: +31 317 484157
FAX: +31 317 483457

Efun includes functions for editing and updating function
definitions, managing records of edited functions, comparing S-PLUS
and ASCII versions of functions, exploring dependencies among
functions, creating hardcopy prints of function definitions, and
setting and displaying options recognized by the efun module. It
also includes several functions for character data operations and
other utility functions required by some of the main efun functions.

Here are some highlights of the most important functions in the efun

1. Editing/Updating a Function

efun: Edit a Function.
The main workhorse of the efun module, and the function
after which the module is named. Writes a function to an
ASCII file, opens an editor on that file in a new window,
updates a record of the functions that have been edited, and
returns control to the S-PLUS prompt. If the efun record
already contains an entry for the function, does the above
except edits an existing ASCII file instead of creating a
new one.

ufun: Update a Function Definition.
Loads into S-PLUS an ASCII version of a function from an
edit file, and optionally assigns that version to the
function name. Use this function in concert with function
efun for cycles of editing and then updating a function.

cfun: Check-in Functions to an Efun Record.
Does everything function efun does, except does NOT start up
an edit session. Allows you to check-in a whole bunch of
functions via a single function call.

2. Managing Edit Records

efun.rec: Get an Efun Record.
Gets a record of functions checked in by function efun or

efun.purge: Remove Entries From an Efun Record.
Removes (purges) requested elements from an efun record, or
deletes the entire efun record.

3. Comparing Function Versions

dfun: Diff Functions.
Compares ASCII (edit-file) and S-PLUS versions of functions.
You can compare a single ASCII version to a single S-PLUS
version, multiple ASCII versions to a single S-PLUS version,
a single ASCII version to multiple S-PLUS versions, or
multiple ASCII versions to multiple S-PLUS versions.

datefun: Times Datasets Were Last Changed.
Returns the times at which permanently stored versions of
datasets (objects) were last modified.

4. Function Dependencies

ftree: Function-Calling Tree.
Creates a function-calling tree (hierarchy), giving the
names of functions called by a given function, the names of
functions called by those functions, and so on ad nauseum.

functions.called: Find Called Functions.
Finds all functions called by a specified function.

functions.calling: Find Functions That Call a Given Function.
Finds all functions in one or more databases in the search
list that call a given function.

findstring: Find Objects Containing Specified Character Strings.
Finds objects containing character strings that match a
given set of regular expressions (of the DOS grep variety).

summary.function: Summarize Information About a Function.
Returns a list giving some (possibly useful) information
about a function, including the date of last modification,
the argument list and first two lines of comments (if any),
functions called by the function, functions in specified
positions of the search list that call the function, and all
the positions in the current search list in which a function
of the same name is found.

5. Hardcopy Printing

hcopy: Create Hard Copy of Function Listings.
Writes each function listed in an efun record to an ASCII
file, and optionally sends the files to a printer. The
S-PLUS version of a function is printed, NOT the ASCII
version in an edit file.

prfun: Produce a Hardcopy of a Function.
Writes a header and a copy of a function to a file,
optionally passes that file through a filter (e.g. an ASCII
to PostScript converter), and optionally sends the resulting
file to a printer.

This message was distributed by s-news@wubios.wustl.edu. To unsubscribe
send e-mail to s-news-request@wubios.wustl.edu with the BODY of the
message: unsubscribe s-news