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

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Data Types : Type Checking : surface and nested types

Definition of Surface and Nested Types

Description

• 

The type checks that require information only about the top level of the expression tree will be called surface types.

• 

Types that check a complete expression tree (probably recursively) will be called nested types.

• 

Most of the system types are surface types since these are encoded in the top node of the expression tree. Thus

type{..},set;

type[a]+[b,c],algebraic;

  

Both return true regardless of the types of the components of the set in the first case, and regardless of the types of the terms of the sum in the second.

• 

The following types are examples of surface types:

`!`

`*`

`+`

`..`

`.`

`<=`

`<>`

`<`

`=`

`^`

`and`

`implies`

`intersect`

`minus`

`module`

`not`

`or`

`union`

`xor`

algebraic

anything

applied

boolean

equation

even

float

foreign

fraction

function

indexed

integer

laurent

linear

list

listlist

logical

mathfunc

moduledefinition

monomial

name

negative

nonemptylist

nonemptyset

nonemptystring

nonnegative

numeric

odd

point

positive

procedure

radical

range

rational

record

relation

RootOf

rtable

scalar

SERIES

series

set

sqrt

string

table

taylor

trig

truefalse

truefalseFAIL

type

uneval

zppoly

 

• 

The type 'constant', on the other hand, will completely scan an expression to determine whether or not it is composed of any nonconstant parts. Hence it is a nested type. The following types are examples of nested types:

algfun

algnum

appliable

callable

constant

cubic

expanded

linear

mutable

polynom

quadratic

quartic

radfun

radnum

ratpoly

 

See Also

type