[Ecls-list] "Unknown type &OPTIONAL. Assuming it is T."

Tobias C. Rittweiler tcr at freebits.de
Sun Feb 7 11:15:21 UTC 2010


Gabriel Dos Reis <gdr at integrable-solutions.net>
writes:

> On Sat, Feb 6, 2010 at 6:15 PM, Tobias C. Rittweiler <tcr at freebits.de> wrote:
>> (defun %guess-sort-duration (length)
>>  (if (zerop length)
>>      0
>>      (let ((comparasions (* 3.8 (* length (log length 2)))))
>>        (* 1000 (* comparasions (expt 10 -7))))))
>>
>> ;;; Compiling /tmp/frob.lisp.
>> ;;; OPTIMIZE levels: Safety=3, Space=0, Speed=1, Debug=3
>> ;;; Compiling (DEFUN %GUESS-SORT-DURATION ...).
>> ;;; Warning: in file /tmp/frob.lisp, position 0, and form
>> ;;;   (FSET '%GUESS-SORT-DURATION #'(LAMBDA-BLOCK %GUESS-SORT-DURATION # ...))
>> ;;; Unknown type &OPTIONAL. Assuming it is T.
>> ;;; End of Pass 1.
>> ;;; Emitting code for %GUESS-SORT-DURATION.
>> ;;; Note: Invoking external command:
>> ;;;   gcc "-I/home/tcr/software/ecl-git/include/"  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC  -D_THREAD_SAFE -Dlinux  -w -c "/tmp/frob.c" -o "/tmp/frob.o"
>> ;;; Note: Invoking external command:
>> ;;;   gcc -o "/tmp/frob.fas" -L"/home/tcr/software/ecl-git/lib/" "/tmp/frob.o"   -shared    -lecl  -lgmp -lpthread -ldl  -lm
>> ;;; Finished compiling /tmp/frob.lisp.
>>
>
> I believe similar warnings exist with VALUES.

Yes, indeed, here's an example:

(defun test ()
  (handler-case 42
    (t (condition)
      (declare (ignore condition))
      (values nil nil))
    (:no-error (value)
      (values value t))))

;;; Compiling /tmp/frob.lisp.
;;; OPTIMIZE levels: Safety=3, Space=0, Speed=1, Debug=3
;;; Compiling (DEFUN TEST ...).
;;; Warning: in file /tmp/frob.lisp, position 0, and form 
;;;   (FSET 'TEST #'(LAMBDA-BLOCK TEST NIL ...))
;;; Unknown type (VALUES &REST T)
;;; End of Pass 1.
;;; Emitting code for TEST.
;;; Emitting code for #:G2.
;;; Emitting code for #:G6.
;;; Note: Invoking external command:
;;;   gcc "-I/home/tcr/software/ecl-git/include/"  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC  -D_THREAD_SAFE -Dlinux  -w -c "/tmp/frob.c" -o "/tmp/frob.o"
;;; Note: Invoking external command:
;;;   gcc -o "/tmp/frob.fas" -L"/home/tcr/software/ecl-git/lib/" "/tmp/frob.o"   -shared    -lecl  -lgmp -lpthread -ldl  -lm 
;;; Finished compiling /tmp/frob.lisp.





More information about the ecl-devel mailing list