sbcl.sbcl/contrib/sb-aclrepl
Gabor Melis 94ea2b2082 0.9.2.9: thread objects
* Public interface changes
    ** proper thread objects instead of thread ids
    ** (MAKE-THREAD FN &KEY NAME) => THREAD
    ** (THREAD-NAME THREAD): threads have names (useful for debugging,
    logging)
    ** (THREAD-ALIVE-P THREAD)
    ** *CURRENT-THREAD* special is bound in each thread
    ** (LIST-ALL-THREADS) returns a list of all active threads
  * Notes
    ** thread-init moved earlier in cold-init and reinit
    ** the lisp side does not ever use os_thread_t (it was problematic due
       to pthread_t being opaque) but struct thread *
    ** threads are reaped (i.e. the thread is pthread_joined and struct
       thread* is freed) by the thread object's finalizer. This makes
       it easy to implement resetting threads. Running threads are kept
       in sb-thread::*all-threads*.
    ** threads block all blockable signals when going down:
       interrupt-thread and others cannot catch it at an inappropriate
       moment, for instance calling quit outside the catch %end-of-the-world
    ** target-thread.lisp renamed target-multithread.lisp,
       target-thread.lisp now contains the generic thread support
    ** new file early-thread.lisp: define *current-thread*
    ** removed thread state STOPPING that was only used for assertions and
       complicated matters
    ** renumbered thread states
    ** sb-thread::release-spinlock now releases the locks with
       non-fixnum value, but is no longer safe to call multiple times
    ** much simplified locking for threads and gc
    ** fixed deadlocking bugs introduced by the pthread merge
2005-07-01 08:48:08 +00:00
..
.cvsignore 0.8.0.12: 2003-05-28 14:26:48 +00:00
debug.lisp 0.8.12.7: Merge package locks, AKA "what can go wrong with a 3783 line patch?" 2004-06-29 08:50:51 +00:00
inspect.lisp 0.8.19.33: fix inspection of specialized arrays 2005-02-20 12:04:44 +00:00
Makefile fix Makefile, improve test-op 2003-04-05 23:15:12 +00:00
README 0.8alpha.0.43: 2003-05-20 16:15:18 +00:00
repl.lisp 0.9.2.9: thread objects 2005-07-01 08:48:08 +00:00
sb-aclrepl.asd 0.8.5.26: 2003-11-08 15:04:45 +00:00
sb-aclrepl.texinfo 0.8.12.50: 2004-07-22 07:46:31 +00:00
tests.lisp 0.8.17.21: 2004-12-05 20:11:08 +00:00
toplevel.lisp 0.8.14.13: Step SBCL, step! 2004-09-13 07:14:35 +00:00

INTRODUCTION
============

The sb-aclrepl module offers an AllegroCL style Read-Eval-Print Loop for
SBCL. An AllegroCL style inspector is integrated. Adding an AllegroCL style
debugger is planned.

USAGE
=====
To start sb-aclrepl as your read-eval-print loop, put the form
  (require 'sb-aclrepl)
in your ~/.sbclrc initialization file.


EXAMPLE ~/.sbclrc FILE
======================

(ignore-errors (require 'sb-aclrepl))

(when (find-package 'sb-aclrepl)
  (push :aclrepl cl:*features*))
#+aclrepl
(progn
  (setq sb-aclrepl:*max-history* 100)
  (setf (sb-aclrepl:alias "asdc") 
       #'(lambda (sys) (asdf:operate 'asdf:compile-op sys)))
  (sb-aclrepl:alias "l" (sys) (asdf:operate 'asdf:load-op sys))
  (sb-aclrepl:alias "t" (sys) (asdf:operate 'asdf:test-op sys))
  ;; The 1 below means that two characaters ("up") are required
  (sb-aclrepl:alias ("up" 1 "Use package") (package) (use-package package))
  ;; The 0 below means only the first letter ("r") is required, such as ":r base64"
  (sb-aclrepl:alias ("require" 0 "Require module") (sys) (require sys))
  (setq cl:*features* (delete :aclrepl cl:*features*)))

Questions, comments, or bug reports should be sent to Kevin Rosenberg
<kevin@rosenberg.net>.