CloudFlare suffered a massive security issue affecting all of its customers, including Rosetta Code. All passwords not changed since February 19th 2017 have been expired, and session cookie longevity will be reduced until late March.--Michael Mol (talk) 05:15, 25 February 2017 (UTC)

Category:MAPPER

From Rosetta Code
Language
MAPPER
This programming language may be used to instruct a computer to perform a task.
Official website
Execution method: Interpreted
Garbage collected: No
Parameter passing methods: By reference, By value
Type safety: Weak
Type strength: Weak
Type checking: Dynamic
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using MAPPER.
Your Help Needed
If you know MAPPER, please write code for some of the tasks not implemented in MAPPER.


MAPPER (also more recently known as BIS) was originally a product of the Sperry Corporation and was a mainframe product implemented on the Sperry 1100 systems.

After the merger of Sperry and Burroughs to create the Unisys Corporation, MAPPER was implemented on additional platforms, and is today available on

  1. Unisys 2200 mainframe
  2. Windows Server
  3. Sun Solaris
  4. Linux

At various times MAPPER has been available on a number of Unix implementations, including IBM AIX, and on the Unisys A-Series mainframes.

MAPPER was initially created for the Sperry engineers' internal use. The first commercial customer was the Aitcheson, Topeka and Santa Fe Railroad Company.

During the early 90s, Windows MAPPER was given an optional web-enablement layer, called CoolICE (where ICE means Internet Commerce Enabler), today generally just abbreviated to ICE.

See Also:

MAPPER is a 4GL based on a "filing cabinet" paradigm. Data is organised into a series of numbered "cabinets", each of which contains up to 8 "drawers" (B to I), each of which may contain up to 5,000 "reports". Drawer "A" is special- it is a shared area, conceptually present in all cabinets simultaneously. Cabinets are referenced in pairs, e.g. cabinet 0 and cabinet 1 are the same dataset, but if referenced as the "odd" cabinet, the view of the data is read-only.

A report is a column-oriented grid of fixed-length fields, similar in some ways to a spreadsheet, in that there are columns and rows and a set of headers.

Many operations on reports create a result, which is a non-permanent report with the same structure as a report. In manual functions, there is only one result possible, but runs (scripts) can support up to 17 results, which are referenced the same way as reports but with a negative report-ID. The result created by an operation is "-0", but these can be saved to -1 to -16 inclusive by the "rename" (@rnm) function. This allows runs to perform powerful match, blend and reformat instructions.

The MAPPER language is an interpreted scripting language, and is held within the MAPPER database, in reports. An application in MAPPER is commonly held in reports, within drawers, within a cabinet, or within a series of consecutive cabinets.

While an interpreted language, MAPPER is reasonably quick as the atoms themselves are quite powerful- sort, search, match, count etc are all atoms of the language (which are written in C++ or MASM, depending on platform).

The typing in MAPPER script is very simple: the types are primitive (integer, real, string) and no constructs or similar complex classes are supported. One-dimensional arrays are supported, arrays of higher dimension would have to simulated in code.

Complex data structures would need to be held in reports or results.

As an alternative, MAPPER may be scripted using JavaScript, and the environment contains its own embedded JavaScript interpreter, with some extensions to reference reports etc as recordset objects, and methods which map onto the atoms of the native scripting language.

Subcategories

This category has only the following subcategory.