IMP (programming language)

IMP is an early systems programming language that was developed by in the late 1960s through early 1970s, at the National Security Agency (NSA). Unlike most other systems languages, IMP supports syntax-extensible programming. Even though its designer refers to the language as "being based on ALGOL", IMP excludes many defining features of that language, while supporting a very non-ALGOL-like one: syntax extensibility. IMP compilers were developed for the CDC 6600, Cray, PDP-10 and PDP-11 computers. Important IMP versions were IMP65, IMP70, and IMP72.

Comment
enIMP is an early systems programming language that was developed by in the late 1960s through early 1970s, at the National Security Agency (NSA). Unlike most other systems languages, IMP supports syntax-extensible programming. Even though its designer refers to the language as "being based on ALGOL", IMP excludes many defining features of that language, while supporting a very non-ALGOL-like one: syntax extensibility. IMP compilers were developed for the CDC 6600, Cray, PDP-10 and PDP-11 computers. Important IMP versions were IMP65, IMP70, and IMP72.
Designer
enEdgar T. Irons
Designer
Edgar T. Irons
Developer
National Security Agency
Developer
National Security Agency
Family
ALGOL
Has abstract
enIMP is an early systems programming language that was developed by in the late 1960s through early 1970s, at the National Security Agency (NSA). Unlike most other systems languages, IMP supports syntax-extensible programming. Even though its designer refers to the language as "being based on ALGOL", IMP excludes many defining features of that language, while supporting a very non-ALGOL-like one: syntax extensibility. A compiler for IMP existed as early as 1965 and was used to program the CDC 6600 time-sharing system, which was in use at the Institute for Defense Analyses since 1967. Although the compiler is slower than comparable ones for non-extensible languages, it has been used for practical production work. IMP compilers were developed for the CDC 6600, Cray, PDP-10 and PDP-11 computers. Important IMP versions were IMP65, IMP70, and IMP72.
Hypernym
Language
Implementations
enIMP65, IMP70, IMP72
InfluencedBy
ALGOL 60
Influenced by
ALGOL 60
Is primary topic of
IMP (programming language)
Label
enIMP (programming language)
LatestReleaseVersion
enIMP72
Latest release version
IMP72
License
Proprietary software
License
Proprietary software
Link from a Wikipage to an external page
pdp-10.trailing-edge.com/decuslib10-03/
www.saildart.org/IMP.BO%5B11,DOC%5D1
Link from a Wikipage to another Wikipage
ALGOL
ALGOL 60
Association for Computing Machinery
Backus–Naur form
Category:Extensible syntax programming languages
Category:National Security Agency
Category:Systems programming languages
CDC 6600
CDC SCOPE
Chippewa Operating System
Communications of the ACM
Compiler
Cray
Data type
Edgar T. Irons
Edinburgh IMP
Extensible programming
Imperative programming
Institute for Defense Analyses
Macro (computer science)
Multi-paradigm programming language
National Security Agency
Opcode
Operating system
PDP-10
PDP-11
Procedural programming
Proprietary software
Scope (computer science)
Semantics (computer science)
Source code
Static type
Strong and weak typing
Structured programming
Syntax (programming languages)
Systems programming language
Time-sharing
TOPS-10
Unix
Name
enIMP
Name
enIMP
OperatingSystem
enCOS, SCOPE, TOPS-10, Unix, others
Paradigms
Extensible programming
Imperative programming
Multi-paradigm programming language
Procedural programming
Structured programming
Platform
CDC 6600
Cray
PDP-10
PDP-11
ProgrammingLanguage
ALGOL 60
SameAs
4nQ5q
IMP (programming language)
m.03j02v
Q5972087
آی‌ام‌پی (زبان برنامه‌نویسی)
Scope
Scope (computer science)
Subject
Category:Extensible syntax programming languages
Category:National Security Agency
Category:Systems programming languages
Typing
Static type
Strong and weak typing
WasDerivedFrom
IMP (programming language)?oldid=1038931520&ns=0
WikiPageLength
6647
Wikipage page ID
859608
Wikipage revision ID
1038931520
WikiPageUsesTemplate
Template:About
Template:ALGOL programming
Template:Citation needed span
Template:Cite journal
Template:Infobox programming language
Template:Reflist
Template:Start date and age