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

String Type

Spec.StringType History

Hide minor edits - Show changes to output

2010-05-24 12:56 by benjk -
Added lines 1-36:
[@BINDINGS FOR StringType;

(* Semantic Properties for Dynamic String Types *)


(* ADTs must be opaque pointers,
  character and string literals may be used *)

TYPE = OPAQUE := CHAR;


(* Bindings permitted for StringType ADTs *)

PROCEDURE [NEW]; (* allow binding to NEW procedure *)

PROCEDURE [DISPOSE]; (* allow binding to DISPOSE procedure *)

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

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

PROCEDURE [.]; (* allow accessor binding to [ ] operator *)

PROCEDURE [!]; (* allow mutator binding to [ ] operator *)

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

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

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

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

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

END StringType.@]