Lisp HUG Maillist Archive

Expanding a derived type spec

Hi

I am pretty sure this is not standardized.

Suppose I have

(deftype non-negative-integer ()
   '(integer 0 *))

or

(deftype square-matrix (n)
   `(array * (,n ,n))

How do I get the "expansion" of NON-NEGATIVE-INTEGER or of
(SQUARE-MATRIX 3) in different Lispworks?

Cheers

--
Marco Antoniotti					http://bioinformatics.nyu.edu
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.


Re: Expanding a derived type spec

Unable to parse email body. Email id is 4190

Re: Expanding a derived type spec

On Jul 21, 2005, at 4:33 PM, Martin Simmons wrote:

>>>>>> On Thu, 21 Jul 2005 12:08:37 -0400, Marco Antoniotti 
>>>>>> <marcoxa@cs.nyu.edu> said:
>
>   Marco> Suppose I have
>
>   Marco> (deftype non-negative-integer ()
>   Marco>    '(integer 0 *))
>
>   Marco> or
>
>   Marco> (deftype square-matrix (n)
>   Marco>    `(array * (,n ,n))
>
>   Marco> How do I get the "expansion" of NON-NEGATIVE-INTEGER or of
>   Marco> (SQUARE-MATRIX 3) in different Lispworks?
>
> Sorry, there is no function to do this in LispWorks (the 
> implementation always
> fully expands the type into an internal format, so doesn't need such a
> function).

Well, you must have some expander somewhere to do this step.

Cheers

Marco


--
Marco Antoniotti					http://bioinformatics.nyu.edu
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.


Re: Expanding a derived type spec

Marco Antoniotti <marcoxa@cs.nyu.edu> writes:

> On Jul 21, 2005, at 4:33 PM, Martin Simmons wrote:
> 
> >>>>>> On Thu, 21 Jul 2005 12:08:37 -0400, Marco Antoniotti
> >>>>>> <marcoxa@cs.nyu.edu> said:
> >
> >   Marco> Suppose I have
> >
> >   Marco> (deftype non-negative-integer ()
> >   Marco>    '(integer 0 *))
> >
> >   Marco> or
> >
> >   Marco> (deftype square-matrix (n)
> >   Marco>    `(array * (,n ,n))
> >
> >   Marco> How do I get the "expansion" of NON-NEGATIVE-INTEGER or of
> >   Marco> (SQUARE-MATRIX 3) in different Lispworks?
> >
> > Sorry, there is no function to do this in LispWorks (the
> > implementation always
> > fully expands the type into an internal format, so doesn't need such a
> > function).
> 
> Well, you must have some expander somewhere to do this step.
 
apropos got me

(type::expand-user-type '(non-negative-integer))

=> (INTEGER 0 *)



Sean.

-- 
"My doctor says that I have a malformed public-duty gland and a
 natural  deficiency in moral fibre," he muttered to himself, "and
 that I am therefore excused from saving Universes."
 - Life, the Universe, and Everything     Douglas Adams.


 Confidentiality Notice:
 The above message and all attachments may contain privileged and confidential information intended only for the
 person or entity to which it is addressed. Any review, retransmission, dissemination, copy or other use of, or
 taking of any action in reliance upon this information by persons or entities other than the intended recipient is
 prohibited. If you received this message in error, please notify the sender immediately by e-mail, facsimile or
 telephone and thereafter delete the material from your computer. Any views expressed in this message are those of
 the individual sender, except where the sender specifically states them to be the view of the entity transmitting
 the message.UCS Group Limited and all of its subsidiary companies hereby distance themselves from and accept no
 liability in respect of the unauthorised use of its e-mail facility or the sending of e-mail communications for
 other than strictly business purposes


Updated at: 2020-12-10 08:51 UTC