Raymond Toy | 31 Aug 05:46 2015
Picon

Snapshot 2015-09


Snapshot 2015-09 has been tagged and binaries are uploaded for
selected systems.  For the list of changes see

https://trac.common-lisp.net/cmucl/wiki/WikiStart#Snapshot2015-09

--
Ray

_______________________________________________
cmucl-imp mailing list
cmucl-imp <at> cmucl.cons.org
http://lists.zs64.net/mailman/listinfo/cmucl-imp

Blake McBride | 28 Aug 20:20 2015
Picon

Eval issue

(setq x 33)

(let ((x 44))
  (eval '(print x))
  nil)

SBCL, CCL, CLISP, ABCL, ECL, GCL, MKCL all print 33.

CMUCL prints 44.

The spec is confusing to me.  Which should it be?

Thanks.

Blake McBride
_______________________________________________
cmucl-imp mailing list
cmucl-imp <at> cmucl.cons.org
http://lists.zs64.net/mailman/listinfo/cmucl-imp

Blake McBride | 6 Aug 06:27 2015
Picon

Interesting loop problem

Greetings,

I was running some test code to (stupid) test the speed of various lisp
implementation including those other than CL.  The code I used is as
follows:

(defun count2 (n)
  (prog ((i 0))
   loop
   (and (eql i n) (return))
   (setq i (+ i 1))
   (go loop)))

I know the code is terrible, but it was a bit more portable over various
lisp dialects.  It ran fine on CLISP, SBCL, ABCL, CCL, GCL, ECL, and
LISPF4, but not CMUCL.

CMUCL ran the code compiled but not interpreted.
Try this interpreted:  (count2 80000000) ; 80M

I get:

; [GC threshold exceeded with 12,013,152 bytes in use.  Commencing GC.]
; [GC completed with 106,440 bytes retained and 11,906,712 bytes freed.]
; [GC will next occur when at least 12,106,440 bytes are in use.]
; [GC threshold exceeded with 12,122,352 bytes in use.  Commencing GC.]
; [GC completed with 114,616 bytes retained and 12,007,736 bytes freed.]
; [GC will next occur when at least 12,114,616 bytes are in use.]
; [GC threshold exceeded with 12,124,080 bytes in use.  Commencing GC.]
.....
(Continue reading)

Raymond Toy | 17 Jul 07:15 2015
Picon

Snapshot 2015-07


The July snapshot has been tagged, a little bit late.

Binaries will be uploaded soon.  And thanks to Fred Gilham, we'll have
some FreeBSD binaries once again, including the 20f release. (For
FreeBSD 9.3).

Key changes:

 o Some additional functionality moved back to the core unix.lisp from
   the contrib:
   o unix-getenv for asdf.
   o unix-execve and unix-fork for slime.  Thus, slime should work
     without having to (require :unix).
 o *ERROR-PRINT-LINES* increased to 10.
 o Issues fixed:
   o #5: Give better error messages when using T case in CASE.
   o #4: ELT on lists does not signal an error when given invalid
     index.
   o #3: Shadowing compiler macro functions
   o #7: Local functions and get-setf-expansions

--
Ray

_______________________________________________
cmucl-imp mailing list
cmucl-imp <at> cmucl.cons.org
http://lists.zs64.net/mailman/listinfo/cmucl-imp

(Continue reading)

Jon Boone | 29 Jun 19:42 2015

test message


_______________________________________________
cmucl-imp mailing list
cmucl-imp <at> cmucl.cons.org
http://lists.zs64.net/mailman/listinfo/cmucl-imp

Jon Boone | 28 Jun 13:36 2015

linux amd64 port

Folks,

   It looks like there is (some?) support for an amd64 port -- is this 
code known to work on any particular OS?  I'm hoping to compile it on linux.

--jon

_______________________________________________
cmucl-imp mailing list
cmucl-imp <at> cmucl.cons.org
http://lists.zs64.net/mailman/listinfo/cmucl-imp

Raymond Toy | 5 Jun 05:52 2015
Picon

Snapshot 2015-06


The first snapshot of the year has been tagged, finally[1].  Binaries
will be uploaded soon.

Perhaps the most important news is that the repro for cmucl has been
moved to https://gitlab.common-lisp.net/cmucl/cmucl, along with most
of common-lisp.net.  The old git repro is gone and has been replaced
with this new one.  The current trac instance is still running and
will remain so, but we are planning on migrating everything from trac
to gitlab.  Please use gitlab to file new issues.

The other changes to cmucl include:

o The UNIX package has been changed; it now only contains just enough
  to compile all of cmucl.  If you want the rest of old UNIX package,
  use (require :unix) to get that.
o The clx-inspector contrib module has been added, courtesy of Fred
  Gilham.
o ASDF documentation in html, info, and pdf formats is included.
o Issues fixed:
  o gitlab issue #1 fixed.

--
Ray

Footnotes: 
[1]  I've been occupied with some other things of late, some related
     to cmucl and some not. 

_______________________________________________
(Continue reading)

Didier Verna | 1 Apr 11:17 2015
Face
Picon
Picon
Picon
Picon

[CfPart] ELS 2015, April 20-21 2015, London


		 ELS'15 - 8th European Lisp Symposium
		    Goldsmiths College, London, UK

			  April 20-21, 2015

	       http://www.european-lisp-symposium.org/

    Sponsored by EPITA, Goldsmiths University of London, Franz Inc.,
	    Lispworks Ltd., Clozure Associates and Google

Recent news:

- A few seats left, still time to register!
- Programme now online (schedule may still change a little)
- Invited speakers announced: Zach Beane, Bodil Stokke, Martin Cracauer

The purpose of the European Lisp Symposium is to provide a forum for
the discussion and dissemination of all aspects of design,
implementation and application of any of the Lisp and Lisp-inspired
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP,
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, Hop and so on. We
encourage everyone interested in Lisp to participate.

The 8th European Lisp Symposium features 3 invited talks, one tutorial,
4 technical sessions and 2 lightning talks slots. The full programme is now
available on the website: http://www.european-lisp-symposium.org/.

Programme chair:
  Julian Padget, University of Bath, UK
(Continue reading)

Mark Cox | 21 Mar 00:02 2015
Picon

Error coercing functions at compile time.

G'day,

Compiling the following example produces an error.

;; /tmp/cmucl.lisp
;; $ cmucl -noinit -eval '(compile-file "/tmp/cmucl.lisp")

(defun my-funcall (a)
  (print a))

(my-funcall (coerce '(lambda () (print "hello'"))
                    'function))

;; Output
; Python version 1.1, VM version Intel x86/sse2 on 2015-03-21 08:58:17.
; Compiling: /private/tmp/cmucl.lisp 2015-03-21 08:58:11

; Converted MY-FUNCALL.
; Compiling DEFUN MY-FUNCALL: 
; Byte Compiling Top-Level Form: 

; 
; 
; File: /private/tmp/cmucl.lisp

; In: MY-FUNCALL (COERCE '(LAMBDA # #) 'FUNCTION)

;   (COERCE '(LAMBDA # #) 'FUNCTION)
; --> VALUES PROG1 LET 
; ==>
(Continue reading)

Mark Cox | 15 Mar 07:16 2015
Picon

Lexical environment and compiler macro functions.

G'day,

CMUCL does not shadow the compiler macro function present in the
global environment when introducing a function with the same name in
the current lexical environment. This is demonstrated with the
following example:

  (defun square (x)
    (expt x 2))

  (define-compiler-macro square (&whole form arg)
    (declare (ignore arg))
    form)

  (defun test ()
    (flet ((square (arg)
             (declare (ignore arg))
             (write "SQUARE!")))
      (macrolet ((my-square (arg &environment env)
                   (if (compiler-macro-function 'square env)
                       `(function square)
                       nil)))
        (my-square 1))))

  (test)
  => #<Function (FLET SQUARE TEST) {48704B89}>

Thanks
Mark

(Continue reading)

Mark Cox | 15 Mar 05:26 2015
Picon

define-compiler-macro and funcall forms.

G'day,

The compiler macro functions created by CMUCL using
define-compiler-macro do not correctly handle funcall forms in cases
where the compiler macro function returns the input form. This is
demonstrated with the following example:

  (defun square (x)
    (expt x 2))

  (define-compiler-macro square (&whole form arg)
    (declare (ignore arg))
    form)

  (funcall (compiler-macro-function 'square) '(square x) nil)
  => (SQUARE X)

  (funcall (compiler-macro-function 'square) '(funcall #'square x) nil)
  => (#'SQUARE X)

The cause of this error is due to a bug in the body argument returned
by lisp::parse-defmacro.

  (nth-value 0 (lisp::parse-defmacro '(&whole form arg) 'my-form '(form)
                                     'square 'define-compiler-macro))
  => (let* ((my-form (if (progn
                           (not (and (listp my-form)
                                     (eq 'funcall (car my-form)))))
                         my-form
                         (progn
(Continue reading)


Gmane