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)

Didier Verna | 22 Feb 15:00 2015
Face
Picon
Picon
Picon
Picon

[Final CfP] ELS 2015 submission deadline extended to March 1st


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

			  April 20-21, 2015

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

	  Sponsored by EPITA, Franz Inc. and Lispworks Ltd.

Recent news:

- *** Submission deadline extended to March 1st ***
- Invited speakers announced: Zach Beane, Bodil Stokke, Martin Cracauer
- Registration to open early March

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 invites high quality papers about
novel research results, insights and lessons learned from practical
applications and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:
(Continue reading)

Didier Verna | 24 Jan 11:10 2015
X-Face
Face
Picon
Picon
Picon
Picon

[2nd CfP] European Lisp Symposium 2015, April 20-21, London


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

			  April 20-21, 2015

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

	  Sponsored by EPITA, Franz Inc. and Lispworks Ltd.

Recent news:

- Submission deadline in less than a month now!
- Programme committee has been announced (see below)
- Venue information now available on the web site

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 invites high quality papers about
novel research results, insights and lessons learned from practical
applications and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:
(Continue reading)

Raymond Toy | 2 Jan 23:11 2015
Picon

Happy New Year and (no) snapshot-2015-01

Happy New Year!

While it's time for the monthly snapshot, there won't be one for the
first month of 2015. Nothing has really changed from the last snapshot
so I decided not to make one for this month.  Things that were planned
or in progress didn't get done, so I'll take this opportunity to take
a break from doing a snapshot.

--

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

Didier Verna | 5 Dec 08:24 2014
Face
Picon
Picon
Picon
Picon

[CfP] ELS 2015, 8th European Lisp Symposium, Apr. 20-21, London


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

			  April 20-21, 2015

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

	  Sponsored by EPITA, Franz Inc. and Lispworks Ltd.

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 invites high quality papers about
novel research results, insights and lessons learned from practical
applications and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:

- Context-, aspect-, domain-oriented and generative programming
- Macro-, reflective-, meta- and/or rule-based development approaches
- Language design and implementation
- Language integration, inter-operation and deployment
- Development methodologies, support and environments
(Continue reading)

Raymond Toy | 5 Dec 05:41 2014
Picon

Snapshot 2014-12

Another month, another snapshot.  Some of the key changes for this
month:

 * Executables on x86 work again. They were accidentally broken when
   we removed support for x86.
 * PPC now supports executables. Currently executables can be made,
   and run, but they are rather buggy.
 * Many fixes the the LOG function, including more accurate log2 and
   log10 values.
   * (log (expt 2 n) 2) = n whenever (expt 2 n) would be a valid
     double-float number.
   * (log (expt 10 n) 10) = n whenever (expt 10 n) would be a valid
     double-float number.
 * New macros: LISP:WITH-STRING-CODEPOINT-ITERATOR and
   LISP:WITH-STRING-GLYPH-ITERATOR that work similarly to
   WITH-HASH-TABLE-ITERATOR.
 * Along with the iterators above, LOOP includes extensions like
   * (loop for cp being the codepoint of string ...)
   * (loop for g-string being the glyph of string ...)

Ray

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

Raymond Toy | 24 Nov 20:52 2014
Picon

Testing gmane


Testing posting from gmane to cmucl-imp. If this message makes it to
cmucl-imp, then gmane is connected to cmucl-imp again, after a long
time.

--
Ray

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

Raymond Toy | 22 Nov 21:31 2014
Picon

Test

Testing.

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

Raymond Toy | 4 Nov 05:52 2014
Picon

November snapshot


The 2014-11 snapshot has been tagged and binaries will be upload soon.

Major changes:

 * ASDF 3.1.4.
 * Fixed issue where TIME returned negative cycles on ppc.
 * :UTF is no longer an alias for :UTF-8 for external formats.
 * Motifd works as a 64-bit binary (thanks to Richard Kreuter)
 * NetBSD updated to support 64-bit time_t and related values (from
   Robert Swindells).

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


Gmane