From ... Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!npeer.kpnqwest.net!nreader1.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: Three questions about type specifications References: <661755b5.0108171419.7f3395fc@posting.google.com> Mail-Copies-To: never From: Erik Naggum Message-ID: <3207153995704416@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 16 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 18 Aug 2001 20:06:38 GMT X-Complaints-To: newsmaster@Norway.EU.net X-Trace: nreader1.kpnqwest.net 998165198 193.71.66.49 (Sat, 18 Aug 2001 22:06:38 MET DST) NNTP-Posting-Date: Sat, 18 Aug 2001 22:06:38 MET DST Xref: archiver1.google.com comp.lang.lisp:14543 * fitzgerald@inetmi.com (Will Fitzgerald) > 1. Is there a Common Lisp function that will determine whether a type > specification is valid? (i.e., (integer * 10) is valid, but (integer * > foo) isn't). compile and compile-file come to mind. > 2. Is there a way to recover the expansions of DEFTYPEs? Sort of a > macroexpand for type specifications? (That is, if I do (deftype mymod (n) > `(integer 0 (,n))) is there a way to go from (MYMOD 4) -> (INTEGER 0 4)? After you have done this, what will you do? It appears to that you are looking for some functionality that can query the type, much like Ada's fairly elaborate ' concept. Is that what you really want? ///