M2001

From Free net encyclopedia

(Difference between revisions)

Current revision

M2001 is a modular mathematical programming language targeted at the development and presentation of mathematical algorithms —from the modern discrete to the classical continuous mathematics. M2001 is built on a semantical framework that is based in category theory and has a syntax similar to that of Pascal or Modula-2.

Having been designed for pure pedagogical pourposes, efficiency and ease of implementation of M2001 have been far less important in its development than generality and range of application. M2001 was created to play an important role in establishing a formal algorithmic foundation for first-year university math students.

Overview

Based on a multi-layered datatyping scheme, M2001 includes a collection of eight computational types and another of six structured types. Over these two, respectively, collections of mathematical classes and of abstract classes have been built, the latter encompassing the most commonly used abstract data types in computer science:

  matrix polynomial rationomial                    stack queue list
  powerseries series sequence                      tree graph digraph
  MATHEMATICAL CLASSES                      ABSTRACT CLASSES
            |                                               |
            |                                               |
            |                                               |
            +-------------------------+---------------------+
                                      |
                                      |
                                      |
                product sum set string exponential subdomain
                            STRUCTURED TYPES
                                      |
                                      |
                                      |
       boolean character natural integer rational real complex text
                           COMPUTATIONAL TYPES<u>

The lower two layers of M2001's typing scheme were based on the earlier experimental called CAT programming language.