M.V.Hermenegildo。;布埃诺,F。;M.卡罗。;López-García,P。;E.梅拉。;J.F.莫拉莱斯。;G.普埃布拉。 Ciao及其设计理念概述。 (英语) Zbl 1244.68019号 理论与实践。日志。程序。 12,编号1-2,219-252(2012). 摘要:我们对Ciao多半径编程系统进行了总体描述,强调了其设计和实现背后的一些新颖方面和动机。Ciao的一个重要方面是,除了支持逻辑编程(尤其是Prolog)之外,它还为程序员提供了来自不同编程范式和风格的大量有用功能,并且这些功能(包括Prolog的功能)的使用每个程序模块都可以随意打开和关闭。因此,一个给定的模块可能正在使用,例如,高阶函数和约束,而另一个模块可能在使用赋值、谓词、Prolog元编程和并发。此外,该语言设计为以简单和模块化的方式进行扩展。Ciao的另一个重要方面是它的编程环境,它提供了一个功能强大的预处理器(带有相关的断言语言),能够静态地查找非平凡的错误,验证程序是否符合规范,并执行多种类型的优化(包括自动并行化)。这种优化产生的代码与其他动态语言或(实验性的)优化编译器,甚至与静态语言的编译器,都具有很强的竞争力,同时保留了动态语言的灵活性和交互式开发。这种编译体系结构始终支持模块化和单独编译。该环境还包括一个功能强大的自动文档器和一个单元测试框架,两者都与断言系统紧密集成。本文对语言和程序开发环境进行了非正式概述。它旨在阐明设计理念,而不是穷尽所有,这在一篇期刊论文中是不可能的,而是指向之前的Ciao文献。 引用于45文件 MSC公司: 68N17号 逻辑编程 68甲15 编程语言理论 68N20型 编译与解释理论 关键词:序言;逻辑程序设计系统;断言;验证;可扩展语言 软件:彗星 PDF格式BibTeX公司 XML格式引用 \textit{M.V.Hermenegildo}等人,《理论与实践》。日志。程序。12、编号1--2、219--252(2012;Zbl 1244.68019) 全文: 内政部 参考文献: [1] Hermenegildo,约束编程原理与实践,第123页–(1994)·doi:10.1007/3-540-58601-695 [2] 内政部:10.1016/0743-1066(92)90053-6·doi:10.1016/0743-1066(92)90053-6 [3] 内政部:10.1016/0743-1066(93)00007-F·Zbl 0829.68023号 ·doi:10.1016/0743-1066(93)00007-F [4] 内政部:10.1016/j.scico.2005.02.006·Zbl 1076.68540号 ·doi:10.1016/j.scico.2005.02.006 [5] 内政部:10.1007/978-3-642-60085-2_7·doi:10.1007/978-3642-60085-27 [6] 内政部:10.1007/BF03037164·doi:10.1007/BF03037164 [7] Hermenegildo,程序。欧洲并行处理会议(EURO-PAR’04)第21页–(2004) [8] Hermenegildo,国际计算逻辑会议(CL’00)第1345页–(2000) [9] 内政部:10.1007/BFb0002715·doi:10.1007/BFb0002715 [10] Mera,程序。国际逻辑编程会议(ICLP’09)第281页–(2009) [11] Mera,程序。声明性编程原则与实践研讨会(PPDP’08)第174页–(2008) [12] López-García,符号计算杂志,并行符号计算专刊21,第715页–(1996) [13] López-García,程序。《国际逻辑编程会议技术通讯》第104页(2010年) [14] López-García,新一代计算28,第117页–(2010)·兹比尔1192.68130 ·doi:10.1007/s00354-008-0085-1 [15] 内政部:10.1007/s00165-007-0026-7·Zbl 1121.68074号 ·doi:10.1007/s00165-007-0026-7 [16] 内政部:10.1145/319301.319317·doi:10.1145/319301.319317 [17] 内政部:10.1109/52.7943·兹伯利05102299 ·数字对象标识代码:10.1109/52.7943 [18] 吉姆,Proc。USENIX年度技术会议,通用轨道第275页–(2002) [19] Hudak,Haskell特刊,ACM Sigplan通告27 pp 1–(1992) [20] Holzbaur,程序。编程语言:实现、逻辑和程序研讨会(PLILP’92)第260–(1992)页·doi:10.1007/3-540-55844-6_141 [21] 卡罗,Proc。1999年逻辑编程国际会议第320页–(1999) [22] Hermenegildo,逻辑和约束逻辑编程的并行性和实现第65页–(1999) [23] Hermenegildo,程序。国际逻辑程序设计会议(ICLP’86)第25页–(1986)·doi:10.1007/3-540-16492-8_62 [24] 内政部:10.1145/504083.504085·Zbl 05459272号 ·数字标识代码:10.1145/504083.504085 [25] García de la Banda,《美国计算机学会编程语言与系统汇刊》22,第269页–(2000)·Zbl 01935142号 ·数字对象标识代码:10.1145/349214.3492224 [26] 加西亚·德拉,Proc。编程语言:实现、逻辑和程序研讨会(PLILP’96)第77–(1996)页·doi:10.1007/3-540-61756-678 [27] Wolfram,{\(\lambda\)}Prolog的语义(1992) [28] 沃伦,Proc。国际逻辑程序设计会议(ICLP’88)第684页–(1988) [29] 内政部:10.1017/CBO9780511609886·Zbl 1182.68039号 ·doi:10.1017/CBO9780511609886 [30] 德布雷,Proc。逻辑程序设计国际研讨会(ILPS’97)(1997) [31] 内政部:10.1145/93542.933564·doi:10.1145/93542.933564 [32] 内政部:10.1145/161468.161472·数字对象标识代码:10.1145/161468.161472 [33] Cousot,程序。编程语言原理研讨会(POPL’77)第238页–(1977) [34] Vaucheret,程序。国际静态分析研讨会(SAS'02)第102页–(2002) [35] 莫拉莱斯,Proc。声明式编程原理与实践研讨会(PPDP’08)第32页–(2008) [36] 内政部:10.1007/978-3-540-24836-1_7·doi:10.1007/978-3-540-24836-17 [37] Cabeza,程序。国际静态分析研讨会(SAS’94)第297页–(1994) [38] 内政部:10.1007/978-3-540-24754-8_9·doi:10.1007/978-3-540-24754-89 [39] 内政部:10.1145/316686.316688·数字对象标识代码:10.1145/316686.316688 [40] Bueno,程序。第三届国际自动调试WS(AADEBUG)第155页–(1997) [41] 内政部:10.1016/0743-1066(91)80001-T·Zbl 0717.68010号 ·doi:10.1016/0743-1066(91)80001-T [42] 内政部:10.1145/1297081.1297091·doi:10.1145/1297081.1297091 [43] 内政部:10.1007/s00354-008-0039-7·Zbl 1169.68356号 ·doi:10.1007/s00354-008-0039-7 [44] 艾特·卡奇,程序。1993年逻辑程序设计国际研讨会第52页–(1993) [45] 内政部:10.1007/978-3-540-24836-1_8·doi:10.1007/978-3-540-24836-18 [46] Van Hentenryck,基于约束的本地搜索(2005) [47] 内政部:10.1145/227595.2275957·Zbl 0882.68050号 ·数字对象标识代码:10.1145/227595.227597 [48] Tobin Hochstadt,会议记录。程序设计语言原则(POPL)第395页–(2008) [49] Casas,程序。第24届逻辑程序设计国际会议(ICLP’08)第651页–(2008) [50] DOI:10.1016/S0743-1066(96)00068-4·Zbl 0877.68015号 ·doi:10.1016/S0743-1066(96)00068-4 [51] 数字对象标识码:10.1145/1452044.1452046·Zbl 05517454号 ·doi:10.1145/1452044.1452046 [52] Schrijvers,程序。国际逻辑编程会议(ICLP’08)第693-(2008)页 [53] Casas,程序。基于逻辑的程序合成与转换国际研讨会(LOPSTR'07)第138页–(2007) [54] 内政部:10.1145/113445.113469·数字对象标识代码:10.1145/113445.113469 [55] Carro,《嵌入式系统的编译器、体系结构和综合》,第271页–(2006年) [56] 卡罗,Proc。国际逻辑程序设计会议(ICLP’93)第184–(1993)页 [57] 内政部:10.1145/215465.215561·doi:10.1145/215465.215561 [58] 数字对象标识码:10.1017/S14710684010117X·Zbl 02048607号 ·文件编号:10.1017/S14710684010117X [59] 普埃布拉,Proc。国际逻辑程序设计会议(ICLP’97)第93页–(1997) [60] Cabeza,(C)LP系统的并行性和实现专题(2000年) [61] 数字对象标识码:10.1007/10722311_2·数字对象标识代码:10.1007/10722311_2 [62] Cabeza,程序。国际计算逻辑会议(CL'00)第131页–(2000) [63] DOI:10.1007/10722311_3·doi:10.1007/10722311_3 [64] Cabeza,程序。COMPULOG-NET并行性和实现技术研讨会(COMPULOG NET’95)(1995年) [65] 普埃布拉,Proc。国际静态分析研讨会(SAS’06)第107页–(2006) [66] 内政部:10.1145/1328408.1328418·数字对象标识代码:10.1145/1328408.1328418 [67] 内政部:10.1007/11916277_27·兹比尔1165.68411 ·doi:10.1007/11916277_27 [68] Olmedilla,程序。逻辑程序合成与转换研讨会(LOPSTR'93)第177页–(1993) [69] 内政部:10.1145/1065887.1065892·Zbl 05459312号 ·doi:10.1145/1065887.1065892 [70] Naish,程序。国际逻辑程序设计会议(ICLP’89)第521页–(1989) [71] DOI:10.1016/0743-1066(92)90035-2·Zbl 0776.68032号 ·doi:10.1016/0743-1066(92)90035-2 [72] Muthukumar,程序。国际逻辑程序设计会议(ICLP’91)第49页–(1991) [73] Muthukumar,程序。国际逻辑程序设计会议(ICLP’90)第221页–(1990) [74] DOI:10.1016/S0743-1066(98)10022-5·Zbl 0927.68018号 ·doi:10.1016/S0743-1066(98)10022-5 此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。