Is the following behavior defined by the standard or implementation specific?



I was wondering if the behavior of the following two (very simple) programs is defined by the standard or is implementation specific. In SBCL using disassemble they seem to produce identical code but my quick perusal of the hyperspec didn't enlighten me. Thanks.


(declaim (ftype (function (double-float double-float) double-float) sss))
(defun sss (x y) (+ x y))

(defun bbb (x y)
(declare (type double-float x y))
(the double-float (+ x y)))


.



Relevant Pages

  • compiler verbosity
    ... As a test i typed "defun' in 4 different lisp compilers (clisp, cmucl, ... sbcl, gcl) to see the error messages, sbcl gave an extremely verbose ... :FUNS NIL ...
    (comp.lang.lisp)
  • Re: compiler verbosity
    ... sbcl, gcl) to see the error messages, sbcl gave an extremely verbose ... (EVAL DEFUN) ... :FUNS NIL ...
    (comp.lang.lisp)
  • Breaking from a loop with a global variable
    ... I'm trying to do some robotics programming using Common Lisp (SBCL ... (defun very-simple-window() ... If I load this on SBCL and press the "Do irrelevant stuff" button, ...
    (comp.lang.lisp)
  • The Joy of Pi
    ... in SBCL. ... (defun make-term-generator () ... ; compiling DEFUN MAKE-ALTERNATING-NUMBER-GENERATOR: ... ; compiling top level form: ...
    (comp.lang.lisp)
  • no consing optimization
    ... (defun LR (mr nr msr nsr ms ns) ... (type double-float mr nr msr nsr ms ns)) ... (defun profiles () ...
    (comp.lang.lisp)