Untested, but the previous version was invalid, so I'm not too worried
With types you kind of have to strike a balance between user readability
and readability by program analyzers, and with the latter there's
another question, of how much information to include. In the limit,
especially, a function type totally specifies the function's behavior.
I've tried to do ok mixing up all of these. This involves a lot of
deftypes, but I don't think that should be too concerning. Many but not
all of these types mostly correspond to definitions from the CLHS
glossary and I have marked them as such.
Cleanup stuff: Fixed invalid use of &key in function types, a few very
slightly wrong definitions, etc.
Content stuff: Added the rest of "F" alphabetically.
Last philosophical note - would be nice to have these types both spread
out with the function definitions, and in a centrally accessible area.
Possibly something like pjb's computer-readable Lisp specification.
Untested, but the previous version was invalid, so I'm not too worried
With types you kind of have to strike a balance between user readability and readability by program analyzers, and with the latter there's another question, of how much information to include. In the limit, especially, a function type totally specifies the function's behavior.
I've tried to do ok mixing up all of these. This involves a lot of deftypes, but I don't think that should be too concerning. Many but not all of these types mostly correspond to definitions from the CLHS glossary and I have marked them as such.
Cleanup stuff: Fixed invalid use of &key in function types, a few very slightly wrong definitions, etc.
Content stuff: Added the rest of "F" alphabetically.
Last philosophical note - would be nice to have these types both spread out with the function definitions, and in a centrally accessible area. Possibly something like pjb's computer-readable Lisp specification.