IMP (programming language): Difference between revisions

Content deleted Content added
Danakil (talk | contribs)
mNo edit summary
Danakil (talk | contribs)
No edit summary
Line 1:
'''IMP''' is a defunct family of [[programming language]]s intended primarily for [[systems programming]], although at least one IMP was extended enough to be a [[general-purpose programming language]]. Expressively, IMP is similar to [[FORTRAN II]], while syntactically it looks more like [[ALGOL (programming language)|ALGOL]], although it lacks [[block structure]], [[reserved keyword]]s, and [[datatype]]s (it does support both integer and floating-point numbers). IMP allows the programmer to embed [[machine language]] instructions into the IMP source code.
 
IMP is [[expression-oriented (programming)|expression-oriented]]: there is no distinction between common expressions and [[statement (programming)|statement]]s, even though sometimes an expression is only needed for its [[side- effect (programming)|side effect]]s. For example, a read statement's value indicates whether and [[EOL]] (end-of-line) or an [[EOF]] (end-of-file) was encountered, although what's typically used is the expression's side effect of performing input.
 
IMP compilers were developed for the [[CDC-6600]], [[PDP-10]] and [[PDP-11]] computers. Important IMP versions were '''IMP65''', '''IMP70''', and '''IMP72'''. IMP was used to implement the [[EMAS]] [[operating system]].