This programming language may be used to instruct a computer to perform a task.
|Parameter passing methods:||By reference, By value|
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
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.
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.
This category has only the following subcategory.