遥祝是什么意思| 奶油奶酪可以做什么| 智齿什么时候开始长| 心烦意乱是什么意思| 反物质是什么| 蚂蚁的触角有什么作用| 肝红素高是什么原因| 游乐场都有什么项目| 什么病不能吃松花粉| 糖尿病人不能吃什么| 漏尿吃什么药| 生男孩女孩取决于什么| 哮喘吃什么药最有效| 甲减不能吃什么| 中国的母亲河是什么河| 甲亢吃什么药好得快| hca是什么意思| 三什么一什么| 失去自我是什么意思| 肾阳虚吃什么药最好最有效| 抵押是什么意思| 西安什么省| 嫉妒是什么意思| 925银和s925银有什么区别| 宝宝消化不好吃什么调理| 尺码m是什么意思| 5月13日什么星座| 血小板减少是什么原因| 一见如什么| 马的尾巴有什么作用| 黄瓜敷脸有什么功效与作用| 去医院查怀孕挂什么科| 吃什么容易滑胎流产| 去脚气用什么药最好| 木芙蓉什么时候开花| 红豆生南国什么意思| 91年出生的属什么| timing什么意思| 青色五行属什么| 菠菜不能和什么食物一起吃| 为什么医院开的钙都是碳酸钙| 什么叫血压| 意气用事是什么意思| 如果你是什么就什么造句| 子宫内膜是什么| 秋天都有什么| 孕期阴道炎可以用什么药| 什么牌子的保温杯好| johnny什么意思| pr是什么工作| 锦衣夜行什么意思| 腹股沟疝气挂什么科| 七夕节是什么意思| 鱼是什么结构| 双性恋什么意思| 破冰是什么意思| 每延米是什么意思| 你太low了是什么意思| 反式脂肪酸是什么意思| 舌头尖有小红点这是什么症状| 气血两虚吃什么补最快| 寻麻疹看什么科| 12月12是什么星座| 低回声结节是什么意思| 皮肤病是什么原因造成的| 胃炎糜烂吃什么食物好| 复姓是什么意思| 金银花洗澡对婴儿有什么好处| 食道炎吃什么药| 难舍难分是什么意思| 红肠是什么| 脸上长斑是因为什么原因引起的| 宁波有什么特产| 房间朝向什么方向最好| 反酸烧心吃什么药效果好| 美甲做多了有什么危害| 尿液黄绿色是什么原因| 萎缩性胃炎不能吃什么食物| 文采是什么意思| 血管造影是什么检查| 为什么子宫会隐隐作痛| 在下是什么意思| 月经为什么是黑色的| 对牛弹琴是什么意思| 升结肠管状腺瘤是什么意思| 员外是什么生肖| 人彘是什么| 什么是活检检查| 渠道医院是什么意思| 成人改名字需要什么手续| aq是什么标准| 中产阶级的标准是什么| 龙虾和什么不能一起吃| 什么是数位| 双引号是什么意思| 高粱是什么| 桑叶茶有什么好处| 乐极生悲是什么意思| 预拌粉是什么东西| 尿血应该挂什么科| 拘泥是什么意思| 空调自动关机什么原因| 马为什么不怕蛇毒| disease是什么意思| 淋巴挂什么科| 扁桃和芒果有什么区别| 面色发黄是什么原因| 入伏吃羊肉有什么好处| 梦见发大水是什么征兆| 扫兴是什么意思| 甲状腺囊肿不能吃什么| 冲煞是什么意思| 牛是什么意思| 腋下是什么经络| rinnai是什么品牌| 地塞米松是什么药| 为什么一来月经就拉肚子| 什么冲冲| 皮肤暗黄是什么原因| 字母圈是什么意思| 荔枝不能跟什么一起吃| 一什么蜻蜓| 弹性工作是什么意思| 创伤性关节炎有什么症状| 觉的部首是什么偏旁| 孩子脾虚内热大便干吃什么药| 蜂王浆什么味道| 什么样的充电宝不能带上飞机| 高尿酸血症是什么病| 润肺吃什么| 牙痛是什么原因| 五更是什么时辰| 女人养颜抗衰老吃什么最好| 1月1号什么星座| 周公解梦梦见蛇是什么意思| 什么不平| 汉语什么意思| 孕妇便秘吃什么最快排便| replay是什么牌子| 8月13号什么星座| led灯是什么灯| 调制乳粉是什么意思| 什么属于发物| mt是什么| 什么咖啡好喝| 浑身乏力吃什么药| 何如是什么意思| 龙凤胎是什么意思| 勾芡用什么粉| 静脉曲张 看什么科| 蛋白糖是什么糖| 上吐下泻吃什么药| 莫名是什么意思| 未来的未多一横念什么| 滚床单是什么意思| 梓树为什么叫梧桐树| 番茄和蕃茄有什么区别| 什么是鸡眼| 脸皮最厚是什么生肖| 那个叫什么| 用什么泡脚好| 肺型p波是什么意思| 36是什么意思| 失眠多梦吃什么药| 风言风语是什么意思| 沈殿霞为什么地位高| 阳虚吃什么药| 敏感的反义词是什么| 剪刀是什么生肖| 吃什么补气血最快| 什么水果不能一起吃| 6.19什么星座| 女性得了性病有什么症状| 黄体功能不足吃什么药| 七月二十四是什么星座| 尿微量白蛋白高吃什么药| 梦见被子是什么意思| 舌苔白厚有齿痕是什么原因| 羊水污染对宝宝有什么影响| 血常规能查出什么| 艾灸什么时候做最好| 床垫什么样的好| 什么是香云纱| 五年存活率是什么意思| 鬼斧神工是什么意思| lh是什么激素| upi是什么意思| 口气重吃什么药效果好| 判处死刑缓期二年执行是什么意思| 晚上口苦是什么原因引起的| 肾囊肿用什么药| 胆囊腺肌症是什么病| c肽是什么| 碳酸氢钠有什么作用| 什么是韧带| 米粉是用什么做出来的| 蛋白尿是什么意思| 治字五行属什么| 木棉是什么面料| premier是什么牌子| 难过美人关是什么生肖| pc是什么材质| 六月二十四是什么星座| 拔牙吃什么消炎药| 起伏不定是什么意思| crp是什么检查| 克隆恩病是什么| 折耳猫什么颜色最贵| only什么意思| 梦见门坏了什么意思| 胸前有痣代表什么意思| 唇周发黑是什么原因| 吃黄精有什么好处| 什么药通便最快| 小腿肚子抽筋是什么原因| 本是什么生肖| 近字五行属什么| 男人蛋蛋疼是什么原因| 抵抗力差是什么原因| anxiety什么意思| 南什么北什么| 饱和脂肪酸是什么| 脑梗阻有什么症状| 什么的废墟| 赤砂糖是什么糖| 为什么会水肿| 铁蛋白高是什么原因| 梦见自己给自己剪头发是什么意思| 什么样的智齿需要拔| 尿酸高饮食要注意什么| 怀孕梦到蛇预示着什么| 子宫为什么会长息肉| 决明子泡水喝有什么功效| 中暑什么意思| 什么口什么心| 艺体生是什么意思| 南瓜吃了有什么好处| 时来运转是什么生肖| 葡萄是什么季节的水果| 什么茶叶能减肥刮油脂肪| 大脑供血不足吃什么药最好| 岩茶是什么茶类| 香港什么东西值得买| 前列腺炎不治疗有什么后果| 没什么大不了| 韭菜什么时候种最合适| 样本是什么意思| 为什么会得多囊卵巢| 高血脂是什么原因造成的| 久坐伤什么| 这个是什么表情| 一天老是放屁是什么原因| 干眼症滴什么眼药水好| 胃烧心吃什么药| 生理曲度存在是什么意思| 大海里面有什么| 肚子胀气是什么原因引起的| 慈字五行属什么| 导览是什么意思| 买什么| 五月二十五是什么星座| ad医学上是什么意思| 膝盖跪着疼是什么原因| 跳蚤长什么样子| 百度Jump to content

来月经胸胀痛什么原因

From Wikipedia, the free encyclopedia
CLU
Paradigmmulti-paradigm: object-oriented, procedural
Designed byBarbara Liskov and her students
DeveloperMassachusetts Institute of Technology
First appeared1975; 50 years ago (1975)
Stable release
Native CLU 1.5 (SPARC, VAX) / May 26, 1989; 36 years ago (2025-08-06)[1]
百度 《证券时报》的出版单位为深圳证券时报社有限公司。

Portable CLU / November 6, 2009; 15 years ago (2025-08-06)[2]

Typing disciplinestrong
Websitepmg.csail.mit.edu/CLU.html
Major implementations
PDP-10 CLU,[3] Native CLU,[1] Portable CLU,[2] clu2c[4]
Influenced by
ALGOL 60, Lisp, Simula, Alphard
Influenced
Ada, Argus, C++,[5] Lua, Python,[6] Ruby, Sather, Swift[7]

CLU is a programming language created at the Massachusetts Institute of Technology (MIT) by Barbara Liskov and her students starting in 1973.[8] While it did not find extensive use, it introduced many features that are used widely now, and is seen as a step in the development of object-oriented programming (OOP).

Key contributions include abstract data types,[9] call-by-sharing, iterators, multiple return values (a form of parallel assignment), type-safe parameterized types, and type-safe variant types. It is also notable for its use of classes with constructors and methods, but without inheritance.

Clusters

[edit]

The syntax of CLU was based on ALGOL, then the starting point for most new language designs. The key addition was the concept of a cluster, CLU's type extension system and the root of the language's name (CLUster).[10] Clusters correspond generally to the concept of a "class" in an OO language. For instance, here is the CLU syntax for a cluster that implements complex numbers:

    complex_number = cluster is add, subtract, multiply, ...
        rep = record [ real_part: real, imag_part: real ]
        add = proc ... end add;
        subtract = proc ... end subtract;
        multiply = proc ... end multiply;
        ...
    end complex_number;

A cluster is a module that encapsulates all of its components except for those explicitly named in the "is" clause. These correspond to the public components of a class in recent OO languages. A cluster also defines a type that can be named outside the cluster (in this case, "complex_number"), but its representation type (rep) is hidden from external clients.

Cluster names are global, and no namespace mechanism was provided to group clusters or allow them to be created "locally" inside other clusters.

In a cluster, the explicit type conversions up and down change between the abstract type and the representation; implicit conversions between these types are signified using the special type cvt. CLU does not otherwise perform implicit type conversions. There is a universal type any, and a procedure force[] to check that an object is a certain type. Objects may be mutable or immutable, the latter being base types such as integers, booleans, characters and strings.[10]

Other features

[edit]

Another key feature of the CLU type system are iterators, which return objects from a collection serially, one after another.[10] Iterators offer an identical application programming interface (API) no matter what data they are being used with. Thus the iterator for a collection of complex_numbers can be used interchangeably with that for an array of integers. A distinctive feature of CLU iterators is that they are implemented as coroutines, with each value being provided to the caller via a yield statement. Iterators like those in CLU are now a common feature of many modern languages, such as C#, Ruby, and Python, though recently they are often referred to as generators.

CLU also includes exception handling, based on various attempts in other languages; exceptions are raised using signal and handled with except. Unlike most other languages with exception handling, exceptions are not implicitly resignaled up the calling chain. Also unlike most other languages that provide exception handling, exceptions in CLU are considered part of ordinary execution flow and are considered a "normal" and efficient type-safe way to break out of loops or to return from functions; this allows for direct assignment of return values "except when" other conditions apply. Exceptions that are neither caught nor resignaled explicitly are immediately converted into a special failure exception that typically terminates the program.

CLU is often credited as being the first language with type-safe variant types, called oneofs, before the language ML had them.

A final distinctive feature in CLU is parallel assignment (multiple assignment), where more than one variable can appear on the left hand side of an assignment operator. For instance, writing x,y := y,x would exchange values of x and y. In the same way, functions could return several values, like x,y,z := f(t). Parallel assignment (though not multiple return values) predates CLU, appearing in CPL (1963), named simultaneous assignment,[11] but CLU popularized it and is often credited as the direct influence leading to parallel assignment in later languages.

All objects in a CLU program live in the heap, and memory management is automatic.

CLU supports type-parameterized user-defined data abstractions. It was the first language to offer type-safe bounded parameterized types, using where clauses to express constraints on actual type arguments. Unlike in languages with template-based generics, a use of such a data abstraction can be type-checked without access to the implementation of the abstraction.

Influence

[edit]

CLU and Ada were major inspirations for C++ templates.[5]

CLU's exception handling mechanisms influenced later languages like C++,[5] Java and many others.[12]

Sather, Python, and C# include iterators, which first appeared in CLU.[8]

Perl and Lua took multiple assignment and multiple returns from function calls from CLU.[13]

Python and Ruby borrowed call by sharing, the yield statement,[14] and multiple assignment.[15]

References

[edit]
  1. ^ a b Curtis, Dorothy (2025-08-06). "CLU home page". Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory. Massachusetts Institute of Technology. Retrieved 2025-08-06.
  2. ^ a b Curtis, Dorothy (2025-08-06). "Index of /pub/pclu". Programming Methodology Group, Computer Science and Artificial Intelligence Laboratory. Massachusetts Institute of Technology. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  3. ^ "CLU files, 1976–1989". Tapes of Tech Square (ToTS) collection, MC-0741. Department of Distinctive Collections, Massachusetts Institute of Technology. swh:1:dir:5dc935d1c236b15a99b0750cf236b2d89ec951d0.
  4. ^ Ushijima, Tetsu. "clu2c". clu2c. woodsheep.jp. Retrieved 2025-08-06.
  5. ^ a b c Stroustrup, Bjarne (1996). A History of C++: 1979--1991. New York, NY, USA: Association for Computing Machinery. pp. 699–769. doi:10.1145/234286.1057836. Retrieved 25 March 2022.
  6. ^ Lundh, Fredrik. "Call By Object". effbot.org. Archived from the original on 23 November 2019. Retrieved 21 November 2017. replace "CLU" with "Python", "record" with "instance", and "procedure" with "function or method", and you get a pretty accurate description of Python's object model.
  7. ^ Lattner, Chris (2025-08-06). "Chris Lattner's Homepage". Chris Lattner. Retrieved 2025-08-06. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  8. ^ a b Liskov, Barbara (1992). "A history of CLU". The second ACM SIGPLAN conference on History of programming languages.
  9. ^ Liskov, Barbara; Zilles, Stephen (1974). "Programming with abstract data types". Proceedings of the ACM SIGPLAN symposium on Very high level languages. pp. 50–59. CiteSeerX 10.1.1.136.3043. doi:10.1145/800233.807045.
  10. ^ a b c Liskov, B.; Snyder, A.; Atkinson, R.; Schaffert, C. (August 1977). "Abstraction mechanisms in CLU". Communications of the ACM. 20 (8): 564–576. CiteSeerX 10.1.1.112.656. doi:10.1145/359763.359789. S2CID 17343380.
  11. ^ Barron, D. W.; Buxton, J. N.; Hartley, D. F.; Nixon, E.; Strachey, C. (1963). "The main features of CPL". Computer Journal. 6 (2): 134–143. doi:10.1093/comjnl/6.2.134.
  12. ^ "CLU emerged during a time when software developers faced growing challenges in managing complexity and ensuring reliability in large systems. Barbara Liskov, along with her team at MIT". Zactra Technologies Inc. 2025-08-06. Retrieved 2025-08-06.
  13. ^ Ierusalimschy, R.; De Figueiredo, L. H.; Celes, W. (2007). "The evolution of Lua" (PDF). Proceedings of the third ACM SIGPLAN conference on History of programming languages – HOPL III. pp. 2-1 – 2-26. doi:10.1145/1238844.1238846. ISBN 978-1-59593-766-7. Archived (PDF) from the original on 2025-08-06.
  14. ^ "Ruby's Roots and Matz's Leadership". Appfolio Engineering. 2025-08-06. Retrieved 2025-08-06. Matz feels that blocks are the greatest invention of Ruby (I agree.) He got the idea from a 1970s language called CLU from MIT, which called them 'iterators'...
  15. ^ "Functional Programming HOWTO — Python 3.8.3 documentation". docs.python.org. Retrieved 2025-08-06.
[edit]
心脏早搏是怎么回事有什么危害 查询电话号码拨打什么 莆田荔枝什么时候成熟 质控是什么意思 人工肝是什么意思
梦见自己拉粑粑是什么意思 月经量多是什么原因引起的 热浪是什么意思 蚊虫叮咬红肿用什么药快速消肿 指导员是什么级别
输血前常规检查是什么 宫腔粘连有什么危害 肺结节是什么病 石五行属什么 6个月宝宝可以吃什么辅食
可惜是什么意思 什么食物补钙效果最好最快 桃子和什么不能一起吃 什么是公共场所 低血压去药店买什么药
比细菌还小的东西是什么hcv8jop9ns1r.cn 潆是什么意思hcv9jop5ns9r.cn 双子座和什么座最不配hcv9jop0ns2r.cn 争议是什么意思hcv8jop4ns5r.cn 什么是想象力hcv8jop7ns4r.cn
熳是什么意思hcv8jop5ns4r.cn 乳腺结节不能吃什么食物hcv7jop9ns0r.cn 心脏早搏吃什么药效果好onlinewuye.com 如五行属什么hcv9jop0ns6r.cn 来姨妈下面疼是为什么hlguo.com
豆浆和什么不能一起吃hcv9jop2ns2r.cn 血压高吃什么药比较好hcv7jop4ns5r.cn 过敏性皮炎用什么药hebeidezhi.com 棚户区改造和拆迁有什么区别hcv8jop1ns6r.cn 电子烟有什么危害hcv9jop7ns1r.cn
2004年属猴的是什么命hcv9jop8ns2r.cn 肠胃炎发烧吃什么药hcv8jop1ns4r.cn m2是什么单位hcv9jop4ns9r.cn 九月七日是什么星座cj623037.com 干眼症是什么hcv8jop4ns2r.cn
百度