M2001

M2001 is a modular educational mathematical programming language for developing and presenting mathematical algorithms, from the modern discrete to the classical continuous mathematics. M2001 is built on a semantic framework that is based in category theory and has a syntax similar to that of Pascal or Modula-2.

It is designed purely for pedagogic use, so efficiency and ease of implementation have been far less important in its development than generality and range of application. It was created to play an important role in forming a formal algorithmic foundation for first-year college 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

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

References

A modular mathematical programming language By Ronald E. Prather


This article is issued from Wikipedia - version of the Friday, July 29, 2011. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.