盐卤是什么| 西湖醋鱼是什么菜系| 熬夜吃什么| 什么补肾效果最好| 安眠穴在什么位置| 共产主义社会是什么样的社会| cn是什么意思二次元| 羞羞是什么意思| 鬼畜什么意思| 欲是什么意思| 什么叫布病| 反流性食管炎吃什么中药| 孕妇腿抽筋是什么原因| 男士内裤买什么牌子好| 11月16是什么星座| 召力念什么| eb病毒阳性是什么意思| 高考吃什么菜| 耳朵嗡嗡响是什么原因| hba是什么意思| zara中文叫什么| 缺铁吃什么补得最快| 办理户口迁移需要什么材料| 切除一侧输卵管对女性有什么影响| c是什么牌子| 为什么生我| 胃胀胃疼吃什么药| 思源名字的寓意是什么| 什么饮料可以解酒| 老公护着婆婆说明什么| 手筋痛是什么原因| 什么是再生障碍性贫血| 第一个月怀孕有什么反应| 为什么十二生肖老鼠排第一| 屈原姓什么| 腰间盘膨出是什么意思| 7号来的月经什么时候是排卵期| 邓超的公司叫什么名字| 跳蛛吃什么| 身上长小红痣是什么原因| 张靓颖什么星座| 般若波罗蜜是什么意思| 干细胞是什么东西| 负离子什么意思| 拉水便是什么原因| 10.5号是什么星座| 咀嚼什么意思| 阳历7月15日是什么星座| 心有戚戚焉什么意思| 口蘑是什么| 葡萄糖输液有什么作用| 舌苔发白吃什么药| 什么时候闰五月| 先天性是什么意思| nuxe是什么牌子| 男左女右是什么意思| 耳钉什么材质的好| 痛经喝什么| 伤口感染化脓用什么药| 肚子拉稀像水一样是什么情况| 木槿花的花语是什么| 淇字五行属什么| 武夷肉桂茶属于什么茶| 下午头晕是什么原因引起的| con是什么意思| 送男朋友什么礼物合适| 粉红色泡沫样痰是什么病| 这叫什么| 泡脚用什么东西泡最好| 麻疹是什么病| 眼色是什么意思| 白兰地是属于什么酒| 为什么叫八路军| 米肉是什么| 人生于世上有几个知己是什么歌| 胃酸分泌过多是什么原因造成的| 敖虫读什么| 补气血用什么泡水喝| 什么是毒龙| 什么不已| 涮菜都有什么菜| 肚脐右边疼是什么原因| 上梁不正下梁歪是什么意思| 腊月初八是什么星座| 2月27是什么星座| 立冬是什么意思| 血糯米是什么米| 兴奋是什么意思| 同房有什么姿势| 晕车喝什么饮料好| 单方精油和复方精油有什么区别| 前来是什么意思| 背包客是什么意思| 有什么无什么的成语| 聋哑人为什么不会说话| 心脏无力吃什么药最好| 带黄金对身体有什么好处| 痛包是什么| 榨菜是什么菜| 排卵期出血是什么原因| 为什么不建议吃大豆油| 脑梗有什么特效药| 杨八妹属什么生肖| 58年属什么生肖| 什么是优质碳水| 肚子胀气吃什么食物好| 出圈什么意思| ad是什么的缩写| 性价比高什么意思| 泓五行属什么| 雪白的什么| 前列腺吃什么药好| 声援是什么意思| 九寨沟什么时候去最好| 什么的| 寒湿重吃什么中成药| 散仙是什么意思| 嘴唇有黑斑是什么病| 豆种翡翠属于什么档次| 地笼捕河虾用什么诱饵| 巨蟹是什么星座| 弱视是什么| 1.28什么星座| 血清铁蛋白高是什么原因| 肾积水有什么危害| 脂肪瘤是什么| 刷牙牙龈出血是什么原因| 欠钱不还被起诉会有什么后果| 双侧筛窦粘膜增厚是什么意思| 经常犯困想睡觉是什么原因| 石榴什么时候开花| 牙周炎用什么药最见效| os是什么意思| 烟酰胺是什么东西| 秦始皇什么星座| 小乌龟吃什么东西| ot什么意思| 男人有腰窝意味着什么| 什么的舞蹈| 空调风扇不转是什么原因| rice什么意思| 泡打粉可以用什么代替| 和解少阳是什么意思| 一笑了之是什么意思| sig是什么意思| 做美甲有什么危害| 口坐念什么| 516是什么星座| 男人阴虱用什么药| 小孩急性肠胃炎吃什么药| 心脏什么情况下需要支架| 淤青擦什么药| 翩跹是什么意思| 西夏国是现在什么地方| 一见什么| 骨质疏松有什么症状表现| 红海是什么意思| 秋千为什么叫秋千| 中的五行属性是什么| 什么食物去湿气效果好| 木安读什么| 中期唐氏筛查查什么| 逍遥丸有什么作用| 什么东西辟邪| 一什么小船| 肝实质回声细密是什么意思| 八月生日什么星座| 12月20日是什么星座| 玉米须有什么功效| 真我是什么意思| 梦到女鬼是什么意思| 56个民族都有什么族| 回煞是什么意思| 狐臭是什么原因| dyj什么意思| 手脚出汗是什么原因| 月经期间喝红糖水有什么好处| 蛇属于什么动物| 积分落户是什么意思| 恍然大悟是什么意思| 福泽深厚什么意思| 活化是什么意思| 龟苓膏有什么作用| 改进什么| 七七年属什么生肖| 压迫硬膜囊是什么意思| 失声是什么意思| miss什么意思| 甲己合化土什么意思| 清谈是什么意思| 脑梗用什么药| 吃什么能长胖| 脑缺血灶是什么意思| 杯酒释兵权是什么意思| 洋生姜的功效与作用是什么| 小甲鱼吃什么| 养蛊是什么意思| 罗汉肉是什么肉| 梦见已故朋友什么预兆| 薄荷叶泡水喝有什么好处| sansui是什么牌子| 汤去掉三点水念什么| 眉毛变白是什么原因| 风吹动窗吹动夜声响是什么歌| 宫颈多发纳氏囊肿是什么意思| 孕妇头疼是什么原因| 黄油可以用什么代替| 2006年出生的是什么命| 肝硬化失代偿期是什么意思| 脾是干什么用的| 为什么脚会肿起来是什么原因| 右脚浮肿预示着什么| 什么是diy| 保底工资是什么意思| 心脏房颤吃什么药| 3月29是什么星座| 十全十美指什么生肖| 贡眉是什么茶| 血脂高看什么科| 肉炒什么好吃| 24节气是什么| 阿华田是什么饮料| 垂体泌乳素是什么意思| 鸡打瞌睡吃什么药| 后背一推就出痧是什么原因| 女性尿频繁是什么原因| 内分泌失调什么意思| 闺六月是什么意思| 4pcs是什么意思| 大器晚成是什么意思| 感冒虚弱吃什么食物好| 幽门螺杆菌感染有什么症状和表现| 1959年是什么年| 修女是什么意思| o和b型生的孩子是什么血型| 一号来的月经排卵期是什么时候| 咳嗽头晕是什么原因| 肠癌吃什么药| 西洋参和人参有什么区别| 小金鱼吃什么| 抗生素药对人体有什么危害| 怎么知道自己缺什么五行| 搬新家有什么讲究和准备的| 没落是什么意思| 孕妇羊水多是什么原因造成的| 什么品牌蓝牙耳机好| 父亲节是什么时候| 头皮发红是什么原因| 后位子宫什么意思| 跳楼是什么感觉| 罗汉果可以和什么一起泡水喝| RHD血型阳性什么意思| 月的偏旁有什么字| 1月12号是什么星座| 脑梗可以吃什么水果| 核酸是什么| 痛风可以吃什么食物表| 未成年改名字需要什么手续| 什么东西补钙最好最快| 身体潮湿是什么原因| 手脱皮是缺什么维生素| 胶囊壳是什么原料做的| 肝脏低密度灶是什么意思| 象牙白适合什么肤色| 百度Jump to content

1129什么星座

From Wikipedia, the free encyclopedia
Information Processing Language (IPL)
ParadigmAssembly
Designed byAllen Newell, Cliff Shaw, Herbert A. Simon
DeveloperAllen Newell, Cliff Shaw, Herbert A. Simon
First appeared1956
Stable release
IPL-V
OSCross-platform: JOHNNIAC, IBM 650, IBM 704, IBM 7090
Influenced
Lisp
百度 我会在NTC的报道之后发布一篇和neL类似的报道。

Information Processing Language (IPL) is a programming language created by Allen Newell, Cliff Shaw, and Herbert A. Simon at RAND Corporation and the Carnegie Institute of Technology about 1956. Newell had the job of language specifier-application programmer, Shaw was the system programmer, and Simon had the job of application programmer-user.

IPL included features to facilitate AI programming, specifically problem solving. such as lists, dynamic memory allocation, data types, recursion, functions as arguments, generators, and cooperative multitasking. IPL also introduced the concepts of symbol processing and list processing. Unfortunately, all of these innovations were cast in a difficult assembly-language style. Nontheless, IPL-V (the only public version of IPL) ran on many computers through the mid 1960s.

Basics of IPL

[edit]

An IPL computer has:

  1. A set of symbols. All symbols are addresses, and name cells. Unlike symbols in later languages, symbols consist of a character followed by a number, and are written H1, A29, 9–7, 9–100.
    1. Cell names beginning with a letter are regional, and are absolute addresses.
    2. Cell names beginning with "9-" are local, and are meaningful within the context of a single list. One list's 9-1 is independent of another list's 9–1.
    3. Other symbols (e.g., pure numbers) are internal.
  2. A set of cells. Lists are made from several cells including mutual references. Cells have several fields:
    1. P, a 3-bit field used for an operation code when the cell is used as an instruction, and unused when the cell is data.
    2. Q, a 3-valued field used for indirect reference when the cell is used as an instruction, and unused when the cell is data.
    3. SYMB, a symbol used as the value in the cell.
  3. A set of primitive processes, which would be termed primitive functions in modern languages.

The data structure of IPL is the list, but lists are more intricate structures than in many languages. A list consists of a singly linked sequence of symbols, as might be expected—plus some description lists, which are subsidiary singly linked lists interpreted as alternating attribute names and values. IPL provides primitives to access and mutate attribute value by name. The description lists are given local names (of the form 9–1). So, a list named L1 containing the symbols S4 and S5, and described by associating value V1 to attribute A1 and V2 to A2, would be stored as follows. 0 indicates the end of a list; the cell names 100, 101, etc. are automatically generated internal symbols whose values are irrelevant. These cells can be scattered throughout memory; only L1, which uses a regional name that must be globally known, needs to reside in a specific place.

IPL-V List Structure Example
Name SYMB LINK
L1 9-1 100
100 S4 101
101 S5 0
9-1 0 200
200 A1 201
201 V1 202
202 A2 203
203 V2 0

IPL is an assembly language for manipulating lists. It has a few cells which are used as special-purpose registers. H1, for example, is the program counter. The SYMB field of H1 is the name of the current instruction. However, H1 is interpreted as a list; the LINK of H1 is, in modern terms, a pointer to the beginning of the call stack. For example, subroutine calls push the SYMB of H1 onto this stack.

H2 is the free-list. Procedures which need to allocate memory grab cells off of H2; procedures which are finished with memory put it on H2. On entry to a function, the list of parameters is given in H0; on exit, the results should be returned in H0. Many procedures return a boolean result indicating success or failure, which is put in H5. Ten cells, W0-W9, are reserved for public working storage. Procedures are "morally bound" (to quote the CACM article) to save and restore the values of these cells.

There are eight instructions, based on the values of P: subroutine call, push/pop S to H0; push/pop the symbol in S to the list attached to S; copy value to S; conditional branch. In these instructions, S is the target. S is either the value of the SYMB field if Q=0, the symbol in the cell named by SYMB if Q=1, or the symbol in the cell named by the symbol in the cell named by SYMB if Q=2. In all cases but conditional branch, the LINK field of the cell tells which instruction to execute next.

IPL has a library of some 150 basic operations. These include such operations as:

  • Test symbols for equality
  • Find, set, or erase an attribute of a list
  • Locate the next symbol in a list; insert a symbol in a list; erase or copy an entire list
  • Arithmetic operations (on symbol names)
  • Manipulation of symbols; e.g., test if a symbol denotes an integer, or make a symbol local
  • I/O operations
  • "Generators", which correspond to iterators and filters in functional programming. For example, a generator may accept a list of numbers and produce the list of their squares. Generators could accept suitably designed functions—strictly, the addresses of code of suitably designed functions—as arguments.

History

[edit]

IPL was first utilized to demonstrate that the theorems in Principia Mathematica which were proven laboriously by hand, by Bertrand Russell and Alfred North Whitehead, could in fact be proven by computation. According to Simon's autobiography Models of My Life, this application was originally developed first by hand simulation, using his children as the computing elements, while writing on and holding up note cards as the registers which contained the state variables of the program.

IPL was used to implement several early artificial intelligence programs, also by the same authors: the Logic Theorist (1956), the General Problem Solver (1957), and their computer chess program NSS (1958).

Several versions of IPL were created: IPL-I (never implemented), IPL-II (1957 for JOHNNIAC), IPL-III (existed briefly), IPL-IV, IPL-V (1958, for IBM 650, IBM 704, IBM 7090, Philco model 212, many others. Widely used). IPL-VI was a proposal for an IPL hardware.[1][2][3]

A co-processor “IPL-VC” for the CDC 3600 at Argonne National Libraries was developed which could run IPL-V commands.[4][5] It was used to implement another checker-playing program.[6] This hardware implementation did not improve running times sufficiently to “compete favorably with a language more directly oriented to the structure of present-day machines”.[7]

IPL was soon displaced by Lisp, which had much more powerful features, a simpler syntax, and the benefit of automatic garbage collection.

Legacy to computer programming

[edit]

IPL arguably introduced several programming language features:

  • List manipulation—but only lists of atoms, not general lists
  • Property lists—but only when attached to other lists
  • Higher-order functions—while assembly programming had always allowed computing with the addresses of functions, IPL was an early attempt to generalize this property of assembly language in a principled way
  • Computation with symbols—though symbols have a restricted form in IPL (letter followed by number)
  • Virtual machine

Many of these features were generalized, rationalized, and incorporated into Lisp[8] and from there into many other programming languages during the next several decades.

References

[edit]
  1. ^ This article is based on material taken from Information+Processing+Language at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
  2. ^ Shaw et al. 1958.
  3. ^ Sammet 1969, p. 389.
  4. ^ Hodges 1964.
  5. ^ Sammet 1969, p. 393–394.
  6. ^ Cowell & Reed 1965.
  7. ^ Carson & Robinson 1966, p. 5.
  8. ^ John McCarthy (1979) History of Lisp "LISP prehistory - Summer 1956 through Summer 1958."

Sources

[edit]
  • Carson, Daniel F.; Robinson, George A. (May 1966). Gyro II, A Macro-Defined System for List Processing (Report). Applied Mathematics Division, Argonne National Laboratories. ANL-7149.
  • Cowell, W. R.; Reed, M. C. (October 1965). A Checker-Playing Program for the IPL-VC Computer (Report). Applied Mathematics Division, Argonne National Laboratories. ANL-7109.
  • Hodges, Donald (May 1964). IPL-VC: A Computer System having the IPL-V Instruction Set (Report). Applied Mathematics Division, Argonne National Laboratories. ANL-6888.
  • Sammet, Jean E. (1969). Programming languages: history and fundamentals. Englewood Cliffs, N.J.: Prentice Hall. pp. 388–400.
  • Shaw, J. C.; Newell, A.; Simon, H. A.; Ellis, T. O. (1958). "A Command Structure for Complex Information Processing". Proceedings of the May 6–8, 1958, Western Joint Computer Conference: Contrasts in Computers. IRE-ACM-AIEE '58 (Western). Association for Computing Machinery. pp. 119–128. doi:10.1145/1457769.1457803. ISBN 9781450378642. {{cite conference}}: ISBN / Date incompatibility (help)

Further reading

[edit]
  • Newell, Allen; Shaw, J. C. (1957). "Programming the Logic Theory Machine". Papers Presented at the February 26–28, 1957, Western Joint Computer Conference: Techniques for Reliability. IRE-AIEE-ACM '57 (Western). Association for Computing Machinery. pp. 230–240. doi:10.1145/1455567.1455606. ISBN 9781450378611. {{cite conference}}: ISBN / Date incompatibility (help)
  • Newell, Allen; Tonge, Fred M.; et al. (1964). Information Processing Language-V Manual. Englewood Cliffs, N.J.: Prentice Hall.
[edit]
18k是什么金 七月四日是什么星座 5D电影是什么效果 腰疼用什么药 盆腔炎吃什么药
11月20号是什么星座 屁多是什么情况 文艺兵是干什么的 马上风为什么拔不出来 7月13日什么星座
什么人没有国籍 什么是盆底肌 什么是呼吸性碱中毒 翡翠的种水是什么意思 什么叫皈依
点天灯是什么意思 新西兰移民需要什么条件 做生意的人最忌讳什么 吃人肉会得什么病 观音菩萨保佑什么
mri检查是什么hcv8jop9ns7r.cn 翡翠的五行属性是什么hcv9jop7ns1r.cn 9.29是什么星座hcv9jop4ns6r.cn 为什么医者不自医hcv9jop1ns4r.cn 65岁属什么hcv8jop4ns0r.cn
看到流星代表什么预兆hcv8jop6ns6r.cn 举牌是什么意思hcv8jop0ns9r.cn 男人喜欢什么罩杯hcv8jop1ns6r.cn 九月初八是什么星座hcv8jop3ns3r.cn 谁发明了什么hcv7jop9ns0r.cn
女人左手断掌什么命运hcv9jop2ns4r.cn 一颗什么hcv7jop9ns3r.cn 黄晓明的老婆叫什么名字hcv9jop3ns9r.cn 对辣椒过敏有什么症状hkuteam.com 为什么哭了眼睛会肿hcv9jop2ns8r.cn
年少有为什么意思hcv9jop3ns8r.cn 脸过敏用什么药膏效果最好hcv8jop7ns8r.cn 男性尿出血什么原因hcv7jop9ns8r.cn 甲减有什么症状hcv8jop1ns0r.cn 龟头炎用什么软膏hcv8jop5ns8r.cn
百度