Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.

Browse the dictionary by clicking on a section:

A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+

Get a full dump of the dictionary:

List of Names
Short Form
Full Form

**Magma***Language type:*- M - Mathematical or Simulation

*Description:*- Magma is an environment and
high-level language for
number theory, algebra, and
general mathematical programming.

The fundamental features of Magma are its procedural syntax and statement structure, coupled with very sophisticated built-in data types and operations. In general, Magma is dynamically typed and performs automatic conversions rather than enforcing type checking. Some of the built-in types are: unlimited-precision integers, rational numbers, real and complex numbers, sets, atoms, arrays of various sorts, groups and fields of various sorts, and various kinds of functional types. Newer versions of Magma support closures and higher-order functions.

Magma has simple I/O facilities used mainly for reading and writing mathematical objects to and from files.

There is only one implementation of the Magma language. It is an interpreter written in C.

Magma runs on PCs and Unix systems. Magma was developed at the University of Sydney, and used to be downloadable free. Since about 1996, users have had to pay for subscriptions to Magma. Documentation is available with the distributions.*Origin:*- J. Cannon,

*et al*, 1993.*See Also:*-
Mathematica
Matlab
SETL
Pari

*Remarks:*- Magma evolved from an earlier system
called Cayley. Both systems were
intended for use by serious mathematicians
using computers to model and study
mathematical concepts in detail.
It borrows basic ideas from OO programming
languages, particularly abstract types
and type composition. In Magma, the
fundamental classes based on modern
notions of algebra and category theory.

*Links:*-
Magma Examples at U. of Sydney

*Date:*- Last updated 1/10/98

*Sample code:*- A Magma program to produce random selections
of strings from a simple grammar, by D. Taylor.

produce := procedure(); seq := ["S"]; rhs := ["(", "S", ")", "S"]; i := 1; repeat if Random(1, 10) gt 7 then Insert(~seq, i, i, rhs); else Remove(~seq, i); end if; print #seq gt 0 select &*seq else "eps"; i := Position(seq, "S"); until i eq 0; print "Length:", #seq; end procedure

Descriptions in this dictionary are ©1997-99 Neal Ziring. Some examples copyright of their respective authors. Some technologies and languages are trademarked. Permission to copy descriptions is granted as long as authorship credit is preserved.

Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is *ziring@home.com*

[Ziring MicroWeb Home] [Dictionary Start] [Sign Guestbook]

Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent additions to dictionary and master list, 1/00.