SAM76

SAM76

SAM76 is a macro programming language used from the late 1970s to the present 2007 initially ran on CP/M.

The SAM76 language is a list and string processor designed for interactive and user-directed applications, including artificial intelligence programming, and permits high portability from machine to machine. The language shares certain features in common with LISP, Forth, and shell programming languages of the UNIX operating system.

, the language's developer, sought to combine within a single interpretive processor, the characteristics of two different string and general-purpose macro generators and the provisions to embed multiple infix operator mathematical systems.

SAM76 language was designed to:
*be very pure syntactically and semantically;
*require a minimum of user keyboarding to achieve powerful results;
*fit in a very small computer system;
*permit editing, testing, and executing modules interactively;
*not prevent the user from doing strange things with the syntax of the language yielding, however, predictable results.

The language was based around the idea of programming with macros. A user will define a macro (a code word that can be defined by the user to invoke a specific set of instructions to perform a routine within the program) to execute a set of instructions, usually in either machine or assembly language, and use the macro in the program. In this way, a user need only define a routine once and then when that particular operation, or string is required, the user can substitute is with the macro name.

Since then the language has been rewritten in C and compiles on Windows, Unix, Linux, and similar operating systems. The source code is available online and still compiles and runs as of 2006.

Characteristics of the SAM76 language

The SAM76 language follows a well defined syntax which is easy to learn and to read. It relies heavily, however, on a system of symbols to replace the pseudo English words of BASIC and Pascal. The SAM76 interpreter also provides for a highly reactive and interactive language that can almost converse with the user from task to task. Consequently, the language has the capability of performing complex operations in program control, text editing and manipulation, gaming, simulation, and mathematics.

Because it has features similar to LISP, Forth and other list processors, SAM76 also has the capability of functioning as a query language, providing powerful human machine interaction that uses keyboard data from an interaction to modify and shape future responses. The language is also capable of growing by extension. Because, like LISP and Logo, there is almost no difference between procedures and data structures, procedures can be treated as data and be acted upon by other procedures, even procedures defined by different users. The new procedures that are mapped or created behave as if they were language primitives or inherent functions of the language. Like Logo, this means that new users can create their own separate vocabularies which can be saved and executed, adding to the language vocabulary and providing for individual customization.

External links

* [http://www.resistors.org/sam76.html Resistors.org's page about SAM76]
* [http://www.hypernews.org/HyperNews/get/computing/lang-list/2/2/1.html Hypernews.org's page about SAM76]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • SAM76 — Apparu en Fin des années 1970 Influencé par TRAC, Lisp, FORTH Système d exploitation Machines PDP 1 …   Wikipédia en Français

  • TRAC (programming language) — TRAC (for Text Reckoning And Compiling) is a programming language developed in the early 1960s by Calvin Mooers (1919 1994). It was one of three first languages recommended by Ted Nelson in Computer Lib .TRAC is a purely text based language a… …   Wikipedia

  • TRAC (langage de programmation) — Pour les articles homonymes, voir Trac (homonymie). TRAC Apparu en Début des années 1960 Auteur …   Wikipédia en Français

  • Macro (computer science) — A macro (from the Greek μάκρο for long or far) in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters)… …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • TOPS-10 — Company / developer Digital Equipment Corporation Programmed in MACRO 10, BLISS OS family DEC OS family Working state Discontinued Latest stable release 7.04 …   Wikipedia

  • Liste des langages de programmation — Le but de cette Liste des langages de programmation est d inclure tous les langages de programmation existants, qu ils soient actuellement utilisés ou historiques, par ordre alphabétique. Ne sont pas listés ici les langages informatiques de… …   Wikipédia en Français

  • Список языков программирования — Списки языков программирования Алфавитный По категориям Хронологический Генеалогический Цель этого алфавитного списка языков программирования состоит в том, чтобы дать полный перечень всех существующих языков программирования, как используемых в… …   Википедия

  • TOPS-10 — (Timesharing / Total OPerating System) операционная система от Digital Equipment Corporation (DEC) для серии мейнфреймов PDP 10 (или DECsystem 10), созданной в 1967. TOPS 10 возникла из раннего программного обеспечения Monitor для компьютеров PDP …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”