subtype - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

subtype

test whether one type is a subtype of another

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

subtype(s, t)

Parameters

s

-

any Maple type

t

-

any Maple type

Description

• 

A type s is said to be a subtype of a type t if for every expression e the test type(e, s) evaluates to true, then the expression type(e, t) will also evaluate to true. If a type is identified with its extension, then the ``subtype'' relation is the relation of inclusion.

• 

The subtype(s, t) function attempts to determine if the type s is a subtype of the type t.

• 

If subtype can prove that s is a subtype of t, then the value true is returned. In the same manner, if subtype can prove that s is not a subtype of t, then the value false is returned. Otherwise, if it is not possible to compute whether one type is a subtype of another, the value FAIL is returned.

  

In general, it is not possible to compute whether one type is a subtype of another.

  

Note: Not all pairs of types are comparable. For example, the types list and set are disjoint types; no expression is both a list and a set. Thus, both subtype( 'set', 'list' ) and subtype( 'list', 'set' ) return false.

Examples

subtypeinteger,rational

true

(1)

subtypepolynom,string,algebraic

true

(2)

subtypeAndname,algebraic,name

true

(3)

subtypeVectorinteger,Vectorrational

true

(4)

subtypespecfuncinteger,sin,typefuncrational,name

true

(5)

subtypeinteger,integer,listrational

true

(6)

subtypeinteger,integer,anything,anything

true

(7)

See Also

ExtendingMaple

type

 


Download Help Document