Modula-2 Reloaded

A Modern Typesafe & Literate Programming Notation

Site Menu

Project

Specification

Implementation

Recommendations

Reference

Needs Updating

Work in Progress

Wastebasket

Wiki Manual

edit SideBar

Spec ZTYPE

ZTYPE

BINDINGS FOR ZTYPE; (* Z-Type *)

(* Semantic Properties for Whole Number Types *)


(* ADTs must be opaque records,
   integer number literals may be used *)

TYPE = OPAQUE RECORD := INTEGER;


(* Bindings permitted for Z-Type ADTs *)

CONST [TMIN]; (* allow binding to TMIN function *)

CONST [TMAX]; (* allow binding to TMAX function *)

PROCEDURE [:=]; (* allow binding to assignment operator *)

PROCEDURE [::]; (* allow binding to conversion operator *)

PROCEDURE [ABS]; (* allow binding to ABS function *)

PROCEDURE [NEG]; (* allow binding to NEG function *)

PROCEDURE [ODD]; (* allow binding to ODD function *)

PROCEDURE [+]; (* allow binding to plus operator *)

PROCEDURE [-]; (* allow binding to minus operator *)

PROCEDURE [*]; (* allow binding to multiply operator *)

PROCEDURE [DIV]; (* allow binding to DIV operator *)

PROCEDURE [=]; (* allow binding to equal operator *)

PROCEDURE [<]; (* allow binding to less operator *)

PROCEDURE [>]; (* allow binding to greater operator *)

PROCEDURE [TO]; (* allow scalar conversion primitive toSXF *)

PROCEDURE [FROM]; (* allow scalar conversion primitive fromSXF *)

END ZTYPE.