home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / archives / 3178 < prev    next >
Encoding:
Internet Message Format  |  1992-09-01  |  25.2 KB

  1. Path: sparky!uunet!sun-barr!ames!agate!agate!usenet
  2. From: ram+@cs.cmu.edu (Rob MacLachlan)
  3. Newsgroups: comp.archives
  4. Subject: [comp.lang.lisp] CMU Common Lisp 16e Available
  5. Followup-To: comp.lang.lisp
  6. Date: 1 Sep 1992 23:56:18 GMT
  7. Organization: School of Computer Science, Carnegie Mellon
  8. Lines: 563
  9. Approved: adam@soda.berkeley.edu
  10. Distribution: world
  11. Message-ID: <180vv2INNqan@agate.berkeley.edu>
  12. References: <Btux9A.I9F.1@cs.cmu.edu>
  13. NNTP-Posting-Host: soda.berkeley.edu
  14. X-Original-Newsgroups: comp.lang.lisp
  15. X-Original-Date: 31 Aug 92 16:46:18 GMT
  16.  
  17. Archive-name: auto/comp.lang.lisp/CMU-Common-Lisp-16e-Available
  18.  
  19.  
  20.         Release notes for CMU Common Lisp 16e, 5 August 92
  21.  
  22. 16e is primarily a bug-fix release.  The main changes from 16d are:
  23.  -- CLOS support is from March 92 PCL (2a).  This is a new version of PCL
  24.     developed by Richard Harris which incorporates many bug-fixes and ANSI
  25.     compliance cleanups.  He has also back-merged the CMU changes into his
  26.     sources so that we can release future PCLs without time-consuming merging.
  27.     On the downside, there are a couple of new bugs.  Harris has announced
  28.     patches to a couple of problems.
  29.  -- TRACE has been reimplemented, has a new syntax and new features.
  30.  -- The hardcopy and info documentation has been updated.  Note that it
  31.     describes some debugger capabilities (breakpoints) which won't appear
  32.     until version 17.
  33.  
  34. The fasl file format is the same as for 16d, but some code may need to be
  35. recompiled.  In particular, the expansion of PPRINT-LOGICAL-BLOCK has changed.
  36.  
  37. Distribution:
  38.  
  39. CMU Common Lisp is only available via anonymous FTP.  We don't have the
  40. manpower to make tapes.  These are our distribution machines:
  41.     lisp-rt1.slisp.cs.cmu.edu (128.2.217.9)
  42.     lisp-rt2.slisp.cs.cmu.edu (128.2.217.10)
  43.  
  44. Log in with the user "anonymous" and "username@host" as password (i.e. your
  45. EMAIL address.)  When you log in, the current directory should be set to the
  46. CMU CL release area.  If you have any trouble with FTP access, please send mail
  47. to slisp@cs.cmu.edu.
  48.  
  49. The release area holds compressed tar files with names of the form:
  50.     <version>-<machine>_<os>.tar.Z
  51.     <version>-extra-<machine>_<os>.tar.Z
  52.  
  53. FTP compressed tar archives in binary mode.  To extract, "cd" to the
  54. directory that is to be the root of the tree, then type:
  55.     uncompress <file.tar.Z | tar xf - .
  56.  
  57. As of 8/6/92, the latest SunOS Sparc release is:
  58.     16e-sun4c_41.tar.Z (6.5 meg)
  59.     16e-extra-sun4c_41.tar.Z (3.5 meg)
  60.  
  61. The first file holds binaries and documentation for the basic Lisp system,
  62. while the second `-extra' file contains the Hemlock editor, the graphical
  63. inspector and the CLX interface to X11.  The basic configuration takes 16
  64. megabytes of disk space; adding the extras takes another 8 megabytes.  For
  65. installation directions, see the section "site initialization" in README file
  66. at the root of the tree.
  67.  
  68. If poor network connections make it difficult to transfer a 10 meg file, the
  69. release is also available split into 2 megabyte chunks, suffixed `.0', `.1',
  70. etc.  To extract from multiple files, use:
  71.     cat file.tar.Z.* | uncompress | tar xf - .
  72.  
  73. The release area also contains source distributions and other binary
  74. distributions.  A listing of the current contents of the release area is in
  75. FILES.  Major release announcements will be made to comp.lang.lisp until there
  76. is enough volume to warrant a comp.lang.lisp.cmu.
  77.  
  78. Source availability:
  79.  
  80. Lisp and documentation sources are available via anonymous FTP ftp to any CMU
  81. CS machine.  [See the "Distribution" section for FTP instructions.]  All CMU
  82. written code is public domain, but CMU CL also makes use of two imported
  83. packages: PCL and CLX.  Although these packages are copyrighted, they may be
  84. freely distributed without any licensing agreement or fee.
  85.  
  86. The release area contains a source distribution, which is an image of all the
  87. ".lisp" source files used to build version 16e:
  88.     16e-source.tar.Z (3.6 meg)
  89.  
  90. ________________________________________________________________
  91.  
  92.                 DETAILED RELEASE NOTES
  93.  
  94. [Notes are also in doc/release-notes.txt]
  95.  
  96. March 92 PCL highlights:  (see notes.text in the sources for details)
  97.  -- This version of PCL is much closer than previous versions of PCL to the
  98.     metaobject protocol specified in "The Art of the Metaobject Protocol",
  99.     chapters 5 and 6, by Gregor Kiczales, Jim des Riveres, and Daniel G.
  100.     Bobrow.
  101.  -- You can use structure-class as a metaclass to create new classes.
  102.     Classes created this way create and evaluate defstruct forms which
  103.     have generated symbols for the structure accessors and constructor.
  104.  -- Various optimization of instance variable access, both inside and outside
  105.     of methods.
  106.  -- More work (lookups and precompilation) is done at compile and load time,
  107.     rather than run-time.
  108.  
  109.  
  110. New TRACE:
  111.  
  112. Trace has been substantially rewritten, and has a new syntax as well as new
  113. functionality:
  114.  -- Tracing of compiled functions is now implemented using breakpoints.
  115.     Breakpoints destructively modify the code object, causing all calls to the
  116.     function to be trapped, instead of only those calls that indirect through
  117.     the symbol.  This makes TRACE more useful for debugging programs that use
  118.     data structures containing function values, since you can now trace
  119.     anonymous functions and macros.  Also, the breakpoint stops the function
  120.     after the arguments have been parsed, so arguments can accessed by name in
  121.     the debugger or in TRACE options.
  122.  -- Depending on the ENCAPSULATE option and DEBUG:*TRACE-ENCAPSULATE-DEFAULT*,
  123.     encapsulation may be used instead.  This is the default for closures,
  124.     generic functions and interpreted functions.
  125.  -- TRACE options are no longer set off by extra parens, and you can specify
  126.     global trace options which affect all functions traced by a particular
  127.     call to TRACE.
  128.  -- Conditional breakpoints now work much better than before.
  129.  -- *DEBUG-PRINT-LEVEL*, -LENGTH* are used instead of a separate
  130.     *TRACE-PRINT-LEVEL*, etc.
  131.  
  132. Here is the documentation string (see also the hardcopy/info documentation):
  133.    TRACE {Option Global-Value}* {Name {Option Value}*}*
  134.    TRACE is a debugging tool that prints information when specified functions
  135.    are called.  In its simplest form:
  136.        (trace Name-1 Name-2 ...)
  137.  
  138.    TRACE causes a printout on *TRACE-OUTPUT* each time that one of the named
  139.    functions is entered or returns (the Names are not evaluated.)  The output
  140.    is indented according to the number of pending traced calls, and this trace
  141.    depth is printed at the beginning of each line of output.
  142.  
  143.    Options allow modification of the default behavior.  Each option is a pair
  144.    of an option keyword and a value form.  Options may be interspersed with
  145.    function names.  Options only affect tracing of the function whose name they
  146.    appear immediately after.  Global options are specified before the first
  147.    name, and affect all functions traced by a given use of TRACE.
  148.  
  149.    The following options are defined:
  150.  
  151.    :CONDITION Form
  152.    :CONDITION-AFTER Form
  153.    :CONDITION-ALL Form
  154.        If :CONDITION is specified, then TRACE does nothing unless Form
  155.        evaluates to true at the time of the call.  :CONDITION-AFTER is
  156.        similar, but suppresses the initial printout, and is tested when the
  157.        function returns.  :CONDITION-ALL tries both before and after.
  158.  
  159.    :WHEREIN Names
  160.        If specified, Names is a function name or list of names.  TRACE does
  161.        nothing unless a call to one of those functions encloses the call to
  162.        this function (i.e. it would appear in a backtrace.)  Anonymous
  163.        functions have string names like "DEFUN FOO".
  164.  
  165.    :BREAK Form
  166.    :BREAK-AFTER Form
  167.    :BREAK-ALL Form
  168.        If specified, and Form evaluates to true, then the debugger is invoked
  169.        at the start of the function, at the end of the function, or both,
  170.        according to the respective option.
  171.  
  172.    :PRINT Form
  173.    :PRINT-AFTER Form
  174.    :PRINT-ALL Form
  175.        In addition to the usual prinout, he result of evaluating Form is
  176.        printed at the start of the function, at the end of the function, or
  177.        both, according to the respective option.  Multiple print options cause
  178.        multiple values to be printed.
  179.  
  180.    :FUNCTION Function-Form
  181.        This is a not really an option, but rather another way of specifying
  182.        what function to trace.  The Function-Form is evaluated immediately,
  183.        and the resulting function is traced.
  184.  
  185.    :ENCAPSULATE {:DEFAULT | T | NIL}
  186.        If T, the tracing is done via encapsulation (redefining the function
  187.        name) rather than by modifying the function.  :DEFAULT is the default,
  188.        and means to use encapsulation for interpreted functions and funcallable
  189.        instances, breakpoints otherwise.  When encapsulation is used, forms are
  190.        *not* evaluated in the function's lexical environment, but DEBUG:ARG can
  191.        still be used.
  192.  
  193.    :CONDITION, :BREAK and :PRINT forms are evaluated in the lexical environment
  194.    of the called function; DEBUG:VAR and DEBUG:ARG can be used.  The -AFTER and
  195.    -ALL forms are evaluated in the null environment.
  196.  
  197.  
  198. Assorted bug fixes and enhancements:
  199.  
  200. System code:
  201.  -- Changed default base file name for LOAD-FOREIGN to be argv[0] rather than
  202.     being hard-wired to "lisp".
  203.  -- Fixed a bad declaration which caused garbage collection to fail if more
  204.     than MOST-POSITIVE-FIXNUM bytes had been consed since process creation.
  205.  -- Changed GET-INTERNAL-RUN-TIME to use UNIX-FAST-GETRUSAGE to avoid
  206.     number-consing and generic arithmetic.  Also, rearranged the computation
  207.     so that the time is correctly computed for up to 457 days, instead of only
  208.     71 minutes.
  209.  -- Merged Miles' fix to MAKE-PATHNAME so that it knows the difference between 
  210.     an arg being NIL and being unsupplied.
  211.  -- Some partial fixes to circular printing (the #1=#1# bug).
  212.     PPRINT-LOGICAL-BLOCK no longer checks the list argument for CAR
  213.     circularity, now that OUTPUT-OBJECT does it for us.
  214.  -- Fixed reader dispatch macro characters to be case-insensitive, and to
  215.     disallow digits as sub-characters.
  216.  -- Changed #A reader to allow arbitrary sequences instead of just lists.
  217.  -- RUN-PROGRAM now gives a proper error message when "fork" fails (i.e. too
  218.  -- Fixed a bug in initialization of saved cores which caused the old
  219.     environment to be left on the end of EXT:*ENVIRONMENT-LIST*.  One symptom
  220.     was that RUN-PROGRAM would run programs with strange environment values
  221.     based on those in effect at the time the core was saved.  In particular,
  222.     Lisp subprocesses (i.e. Hemlock slaves) might get the wrong value of
  223.     CMUCLLIB, which caused the slave to die before connecting.
  224.  -- SYSTEM:SERVE-EVENT (and XLIB:EVENT-CASE, etc.) now correctly handle
  225.     non-integer timeouts.  Added declarations to improve the efficiency of
  226.     event handling.
  227.  -- Fixed some bugs in UNIX-SELECT which could cause Lisp to hang when more
  228.     than 32 files were open.  Also, improved efficiency in this case.
  229.  -- Merged Olssons fix to WITH-ENABLED-INTERRUPTS to not try to change
  230.     interrupt characters anymore.
  231.  -- A number of bug-fixes for breakpoint support in compiled code (but there
  232.     are still problems with arbitrary breakpoints.)
  233.  -- Fixed DI:FRAME-CATCHES
  234.  
  235. CLX:
  236.  -- Fixed the implementation-dependent pixarray copying routines (for
  237.     GET-IMAGE, etc.) so that they don't occasionally trash memory, and are
  238.     actually faster.
  239.  -- Fixed the definition of the ANGLE type (used by DRAW-ARC, etc.) to work
  240.     regardless of the kind of real number (single or double float, rational,
  241.     etc.)
  242.  -- Fixed several places in image operations where values that could really
  243.     be negative were declared to be non-negative.
  244.  
  245. Compiler:
  246.  -- Fixed a bug which caused an internal error whenever a call to random
  247.     was compiled and the argument type wasn't known to be either a float or
  248.     an integer.
  249.  -- Fixed a bug which caused an internal compiler error when a value that
  250.     wasn't used had an unproven type assertion.
  251.  -- Fixed some more dead-code deletion bugs.
  252.  -- Fixed a problem with the new "assignment" optimization of local function
  253.     call where the compiler could get assertion failures such as tail-sets not
  254.     being equal.
  255.  -- Fixed a few places where reoptimization wasn't being triggered when it
  256.     should have been.
  257.  -- You can now have a TAGBODY with more than one tag that is non-locally
  258.     exited to.  Evidently this never worked...
  259.  -- Some changes in debug-info format related to breakpoint support.
  260.  
  261. Misc:
  262.  -- Fixed some Hemlock Dired commands to know that PATHNAME-DIRECTORY is
  263.     now a list, not a vector.
  264.  -- Fixed the bin/sample-wrapper script to use "$@" instead of $* so that
  265.     arguments are properly passed through.
  266. ________________________________________________________________
  267.  
  268. Sun Release 4.1                                                 1
  269.  
  270. CMUCL(1)                 USER COMMANDS                   CMUCL(1)
  271.  
  272.  
  273.  
  274. NAME
  275.      CMU Common Lisp
  276.  
  277.  
  278. DESCRIPTION
  279.      CMU Common Lisp is public domain "industrial strength"  Com-
  280.      mon Lisp programming environment.  Many of the X3j13 changes
  281.      have been incorporated into CMU CL.  Wherever possible, this
  282.      has  been  done  so  as to transparently allow use of either
  283.      CLtL1 or proposed ANSI CL.  Probably the new  features  most
  284.      interesting  to users are SETF functions, LOOP and the WITH-
  285.      COMPILATION-UNIT macro.
  286.  
  287.  
  288. HARDWARE REQUIREMENTS
  289.      CMU CL is currently available for Sparcstations and  DECsta-
  290.      tions (pmaxes) running Mach (or OSF/1).  We are beta-testing
  291.      a SunOS SPARC version and an IBM RT Mach version.  At  least
  292.      16  megabytes  of  memory and 25 megabytes of disk space are
  293.      recommended.  As usual, more is better.
  294.  
  295.  
  296. OVERVIEW
  297.      When compared other Common Lisp implementations, CMU CL  has
  298.      two broad advantages:
  299.  
  300.      -- The new CMU CL compiler (Python)  is  more  sophisticated
  301.         than  other  Common  Lisp  compilers.   It  both produces
  302.         better code and is easier to use.
  303.  
  304.      -- The programming environment based on the  Hemlock  editor
  305.         is  better  integrated than gnu-emacs based environments.
  306.         (Though you can still use GNU if you want.)
  307.  
  308.      CMU CL also has significant non-technical advantages:
  309.  
  310.      -- It has good local support for  CMU  users,  and  is  well
  311.         integrated with the CMU CS environment.
  312.  
  313.      -- It is public domain, and is freely available  to  non-CMU
  314.         sites  that  aren't  able  to afford a site-license for a
  315.         commercial Lisp.
  316.  
  317.  
  318.  
  319. COMPILER FEATURES
  320.      The `Advanced Compiler' chapter of the User's manual  exten-
  321.      sively  discusses  Python's  optimization  capabilities (See
  322.      DOCUMENTATION below.)  Here are a few high points:
  323.  
  324.      -- Good efficiency and type-checking at the same time.  Com-
  325.         piling code safe gives a 2x speed reduction at worst.
  326.  
  327.      -- In safe code, type declarations  are  verified,  allowing
  328.         declarations to be debugged in safe code.  When you go to
  329.         compile unsafe, you know the declarations are right.
  330.  
  331.      -- Full source level debugging of compiled  code,  including
  332.         display of the exact call that got an error.
  333.  
  334.      -- Good efficiency notes that  tell  you  why  an  operation
  335.         can't  be open coded or where you are number-consing, and
  336.         that provide unprecedented source context
  337.  
  338.      -- Block compilation, partial evaluation, lightweight  func-
  339.         tions  and  proper  tail-recursion  allow low-cost use of
  340.         function call abstraction.
  341.  
  342. TYPE SUPPORT
  343.      Important note: Even  debugged  programs  may  contain  type
  344.      errors that remain undetected by other compilers.  When com-
  345.      piled with type checking suppressed  using  the  CMU  Common
  346.      Lisp  compiler,  these  type  errors may cause said debugged
  347.      programs  to  die  strangely.   If  type  checking  is   not
  348.      suppressed,  these  programs  will die with an explicit type
  349.      error.
  350.  
  351.      The most visible way in which Python differs  from  previous
  352.      Common  Lisp  compilers  is  that it has a greater knowledge
  353.      about types and a different approach to type  checking.   In
  354.      particular, Python implements type checking which is `eager'
  355.      and `precise':
  356.  
  357.      -- Eager in the sense that type checking is done immediately
  358.         whenever  there  is  a  declaration,  rather  than  being
  359.         delayed until the the value is actually used.  For  exam-
  360.         ple:
  361.             (let ((x ...))
  362.               (declare (fixnum x))
  363.               ...)
  364.         Here, the type of the initial value of X must be a FIXNUM
  365.         or an error will be signalled.
  366.  
  367.      -- Precise in the sense that the  exact  type  specified  is
  368.         checked.  For example, if a variable is declared to be of
  369.         type (integer 3 7), then the  value  must  always  be  an
  370.         integer between 3 and 7.
  371.  
  372.      Since Python does more type  checking,  programs  that  work
  373.      fine  when compiled with other compilers may get type errors
  374.      when compiled with Python.  It  is  important  to  initially
  375.      compile  programs  with  the default (safe) policy, and then
  376.      test this version.  If a program with an erroneous  declara-
  377.      tion  is  compiled with type checking suppressed (due to the
  378.      SAFETY optimize quality being reduced), then the type  error
  379.      may  cause obscure errors or infinite looping.  See the sec-
  380.      tion `Getting Existing Programs to Run' (6.6)  in  the  com-
  381.      piler chapter of the user manual.
  382.  
  383.      CMU CL adheres to the X3J13  function  type  cleanup,  which
  384.      means that quoted lambda-lists are not of type FUNCTION, and
  385.      are no longer directly callable.  Use COERCE with the  FUNC-
  386.      TION result type.
  387.  
  388.  
  389. OPTIMIZATION
  390.      Python does many optimizations that are absent or less  gen-
  391.      eral  in other Common Lisp compilers: Proper tail recursion,
  392.      lightweight  function  call,   block   compilation,   inter-
  393.      procedural  type  inference,  global  flow analysis, dynamic
  394.      type inference, global  register  allocation,  stack  number
  395.      allocation,  control  optimization,  integer range analysis,
  396.      enhanced inline expansion, multiple value  optimization  and
  397.      source-to-source transforms.
  398.  
  399.      Optimization and type-checking are controlled by the  OPTIM-
  400.      IZE  declaration.   The  default compilation policy is type-
  401.      safe.
  402.  
  403.  
  404. NUMERIC SUPPORT
  405.      Python is particular good at number crunching:
  406.  
  407.      -- Good inline coding of float and  32  bit  integer  opera-
  408.         tions,  with  no  number  consing.  This includes all the
  409.         hardware primitives ROUND, TRUNCATE, COERCE, as  well  as
  410.         important   library  routines  such  as  SCALE-FLOAT  and
  411.         DECODE-FLOAT.  Results that don't fit in registers go  on
  412.         a special number stack.
  413.  
  414.      -- Full support for IEEE single and  double  (denorms,  +-0,
  415.         etc.)
  416.  
  417.      -- In block compiled code, numbers are  passed  as  function
  418.         arguments  and  return  values  in registers (and without
  419.         number consing.)
  420.  
  421.      -- Calls to library functions (SIN, ...) are optimized to  a
  422.         direct  call  to  the  C  library routine (with no number
  423.         consing.)  On hardware with direct support for such func-
  424.         tions, these operations can easily be open-coded.
  425.  
  426.      --  Substantially better bignum performance than  commercial
  427.         implementations  (2x-4x).   Bignums  implemented  in lisp
  428.         using word integers, so you can roll your own.
  429.  
  430.      Python's compiler warnings and efficiency  notes  are  espe-
  431.      cially  valuable  in  numeric  code.   50+ pages in the user
  432.      manual describe Python's capabilities in more detail.
  433.  
  434.  
  435.  
  436. THE DEBUGGER
  437.      In addition to a basic command-line interface, the  debugger
  438.      also has several powerful new features:
  439.  
  440.      -- The "source" and "vsource" commands print  the  *precise*
  441.         original source form responsible for the error or pending
  442.         function call.  It is no longer necessary to guess  which
  443.         call to CAR caused some "not a list" error.
  444.  
  445.      -- Variables in compiled code can be accessed  by  name,  so
  446.         the  debugger  always  evaluates  forms  in  the  lexical
  447.         environment of the current frame.  This  variable  access
  448.         is  robust  in  the presence of compiler optimization ---
  449.         although higher levels of optimization may make  variable
  450.         values  unavailable  at  some locations in the variable's
  451.         scope, the debugger always errs on the  side  of  discre-
  452.         tion, refusing to display possibly incorrect values.
  453.  
  454.      -- Integration with the Hemlock editor.   In  a  slave,  the
  455.         "edit"  command causes the editor edit the source for the
  456.         current code location.  The editor  can  also  send  non-
  457.         line-mode  input  to  the  debugger using C-M-H bindings.
  458.         Try apropos "debug" in Hemlock.
  459.  
  460.      See the  debugger  chapter  in  the  user  manual  for  more
  461.      details.   We  are  working on integrating the debugger with
  462.      Hemlock and X windows.
  463.  
  464.  
  465. THE INTERPRETER
  466.      As far as Common Lisp semantics are concerned, there  is  no
  467.      interpreter;  this is effectively a compile-only implementa-
  468.      tion.  Forms typed to the read-eval-print loop or passed  to
  469.      EVAL  are in effect compiled before being run.  In implemen-
  470.      tation, there is an interpreter,  but  it  operates  on  the
  471.      internal representation produced by the compiler's font-end.
  472.  
  473.      It is not recommended that programs be debugged  by  running
  474.      the whole program interpreted, since Python and the debugger
  475.      eliminate the main reasons for debugging  using  the  inter-
  476.      preter:
  477.  
  478.      -- Compiled code does much more error checking  than  inter-
  479.         preted code.
  480.  
  481.      -- It is as easy to debug compiled code as interpreted code.
  482.  
  483.      Note that the debugger does not  currently  support  single-
  484.      stepping.  Also, the interpreter's pre-processing freezes in
  485.      the macro definitions in effect at the time  an  interpreted
  486.      function  is  defined.   Until we implement automatic repro-
  487.      cessing when macros are redefined, it is  necessary  to  re-
  488.      evaluate  the definition of an interpreted function to cause
  489.      new macro definitions to be noticed.
  490.  
  491.  
  492. DOCUMENTATION
  493.      The CMU CL documentation is printed as tech reports, and  is
  494.      available (at CMU) in the document room:
  495.  
  496.  
  497.        CMU Common Lisp User's Manual
  498.        Hemlock User's Manual
  499.        Hemlock Command Implementor's Manual
  500.  
  501.      Non-CMU users may get documentation from the doc/  directory
  502.      in the binary distribution:
  503.  
  504.      cmu-user.info
  505.                CMU CL User's Manual  in  Gnu  Info  format.   The
  506.                ``cmu-user.info-<N>'' files are subfiles.  You can
  507.                either have your EMACS maintainer install this  in
  508.                the   info   root,   or   you  can  use  the  info
  509.                ``g(...whatever.../doc/cmu-user.info)'' command.
  510.  
  511.      cmu-user.ps
  512.                The CMU CL User's Manual (148 pages) in postscript
  513.                format.   LaTeX  source  and DVI versions are also
  514.                available.
  515.  
  516.      release-notes.txt
  517.                Information on the changes between releases.
  518.  
  519.      hemlock-user.ps
  520.                Postscript version of the  Hemlock  User's  Manual
  521.                (124 pages.)
  522.  
  523.      hemlock-cim.ps
  524.                Postscript  version   of   the   Hemlock   Command
  525.                Implementor's Manual (96 pages).
  526.  
  527. SUPPORT
  528.      Bug reports should be sent to cmucl-bugs@cs.cmu.edu.  Please
  529.      consult  your  local CMU CL maintainer or Common Lisp expert
  530.      to verify that the problem really is a bug before sending to
  531.      this list.
  532.  
  533.      We have insufficient staffing to provide  extensive  support
  534.      to people outside of CMU.  We are looking for university and
  535.      industrial affiliates to help us with  porting  and  mainte-
  536.      nance  for  hardware and software that is not widely used at
  537.      CMU.
  538.  
  539.  
  540. DISTRIBUTION
  541.      CMU Common Lisp is a public domain implementation of  Common
  542.      Lisp.  Both sources and executables are freely available via
  543.      anonymous FTP; this software is "as is", and has no warranty
  544.      of  any  kind.  CMU and the authors assume no responsibility
  545.      for the consequences of any use of this software.   See  the
  546.      README file in the distribution for FTP instructions.
  547.  
  548.  
  549. ABOUT THE CMU COMMON LISP PROJECT
  550.      Organizationally, CMU Common Lisp is a small,  mostly  auto-
  551.      nomous  part  within the Mach operating system project.  CMU
  552.      CL is more of a tool development effort than a research pro-
  553.      ject.  The project started out as Spice Lisp, which provided
  554.      a modern Lisp implementation for use in the  CMU  community.
  555.      CMU CL has been under continuous development since the early
  556.      1980's (concurrent  with  the  Common  Lisp  standardization
  557.      effort.)
  558.  
  559.      CMU CL is funded by DARPA under CMU's "Research on  Parallel
  560.      Computing"  contract.   Rather  than  doing pure research on
  561.      programming languages and  environments,  our  emphasis  has
  562.      been  on  developing practical programming tools.  Sometimes
  563.      this has required new technology, but much of the  work  has
  564.      been in creating a Common Lisp environment that incorporates
  565.      state-of-the-art features from existing systems  (both  Lisp
  566.      and non-Lisp.)
  567.  
  568.      Because sources are freely available, CMU  Common  Lisp  has
  569.      been  ported  to  experimental hardware, and used as a basis
  570.      for research in programming language  and  environment  con-
  571.      struction.
  572.  
  573.  
  574. SEE ALSO
  575.      lisp(1), README
  576.      The ``CMU Common Lisp User's Manual'',
  577.      the ``Hemlock User's Manual'', and
  578.      the ``Hemlock Command Implementor's Manual''
  579.  
  580.