In Maple haben alle Objekte (Daten, Ausdrücke usw.) einen Typ, der ihre Zugehörigkeit zu einer Objektklasse bestimmt. Ein Objekt kann mehreren Typen zugeordnet sein, so z.B., wenn eine bestimmte Objektklasse eine durch zusätzliche Relationen definierte Unterklasse enthält. Als Beispiel sei erwähnt, daß die Zahl 6 vom Typ und vom Typ
ist. Mit Hilfe der Typisierung und damit auch einer Hierarchisierung aller Objekte wird die widerspruchsfreie Formulierung und Abarbeitung bestimmter Klassen von mathematischen Aufgaben garantiert.
Der Nutzer kann jederzeit den Basistyp eines Objektes mit der Anfrage
![]() |
(20.30) |
erfragen. Nach Abschluß der Eingabe ist unbedingt das Semikolon zu setzen. Die Rückgabe ist der Basistyp des Objektes. Maple kennt folgende, in der folgenden Tabelle dargestellten Basistypen:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
exprseq | float | fraction | function | hfarray | indexed |
integer | list | ![]() |
![]() |
procedure | series |
set | string | symbol | table | uneval | Array |
Matrix | Vector [column] | Vector [row] |
Die weitergehende Typstruktur kann mit Abfragen der Art , deren Werte die BOOLEschen Funktionen
oder
sind, ermittelt werden. In der folgenden Tabelle ist eine kleine Auswahl der Maple bekannten Typnamen dargestellt.
Auch die Typprüffunktion selbst besitzt einen Typ, nämlich . Grob gesprochen, charakterisieren die Basistypen Klassen von grundlegenden Datenstrukturen (Zahlenarten, strukturierte Datentypen) und Basisoperatoren, während die übrigen tiefergehenden Klassifizierungen der Basistypen bzw. Sachverhalte algebraischer Natur widerspiegeln bzw. mit bestimmten Prozeduren von Maple verknüpft sind.
Wichtige Objekte in Maple sind Ausdrücke. Diese umfassen Konstanten (Zahlen), Operatoren, zusammengesetzte Objekte aus Variablen und Operatoren, Datenstrukturen, Funktionsaufrufe usw. Auch Prozeduren und Module können (zumindest im technischen Sinne) als Ausdrücke aufgefaßt werden.
Namen sind in Maple Aneinanderreihungen von Charakteren (einer oder mehrere), welche eindeutig ein Kommando, eine Variable oder andere Objekte identifizieren.
Zu unterscheiden sind dabei indizierte Namen und Symbole. Ein indizierter Name hat die Form
name[index], etwa
Symbole sind nichtindizierte Namen. Indizierten Namen können ebenso wie Symbolen Werte zugewiesen werden.