Subject: Re: the `the' thingy
From: Erik Naggum <>
Date: 1998/05/21
Newsgroups: comp.lang.lisp
Message-ID: <>

* David Bakhash
| But how do I just declare the return type of `f' to be of type integer?

  the declaration (ftype (function (integer) integer) f) would declare the
  type of the functional value of the symbol F (as opposed to the "normal"
  value you would declare with TYPE) to be a FUNCTION that takes and yields
  an INTEGER.  it is most useful as a top-level "declaration":

(declaim (ftype (function (integer) integer) f))

  the compiler is now free to assume a one-argument, one-valued function
  whenever F is invoked as a function, but it probably won't do it much
  good to know it takes and yields INTEGER objects, since the major savings
  are in not having to cons bignums.

  I have not seen much actual effect of these declarations on the compiled
  code, but they can often help document a system.

  "Where do you want to go to jail today?"
			-- U.S. Department of Justice Windows 98 slogan