...
首页> 外文期刊>Theory and Practice of Logic Programming >An overview of Ciao and its design philosophy
【24h】

An overview of Ciao and its design philosophy

机译:Ciao及其设计理念概述

获取原文
获取原文并翻译 | 示例
           

摘要

We provide an overall description of the Ciao multiparadigm programming system empha sizing some of the novel aspects and motivations behind its design and implementation. An important aspect of Ciao is that, in addition to supporting logic programming (and, in particular, Prolog), it provides the programmer with a large number of useful features from different programming paradigms and styles and that the use of each of these features (including those of Prolog) can be turned on and off at will for each program module. Thus, a given module may be using, e.g., higher order functions and constraints, while another module may be using assignment, predicates, Prolog meta-programming, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of optimizations (including automatic parallelization). Such optimizations produce code that is highly competitive with other dynamic languages or, with the (experimental) optimizing compiler, even that of static languages, all while retaining the flexibility and interactive development of a dynamic language. This compilation architecture supports modularity and separate compilation throughout. The environment also includes a powerful autodocumenter and a unit testing framework, both closely integrated with the assertion system. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in a single journal paper, pointing instead to previous Ciao literature.
机译:我们提供了Ciao多范式编程系统的总体描述,强调了其设计和实现背后的一些新颖方面和动机。 Ciao的一个重要方面是,除了支持逻辑编程(尤其是Prolog)之外,它还为程序员提供了来自不同编程范例和样式的大量有用功能,并且每种功能的使用(包括Prolog的代码)可以针对每个程序模块随意打开和关闭。因此,给定的模块可以使用例如更高阶的函数和约束,而另一个模块可以使用分配,谓词,Prolog元编程和并发。此外,该语言被设计为以简单和模块化的方式可扩展。 Ciao的另一个重要方面是其编程环境,该环境提供了功能强大的预处理器(具有关联的声明语言),能够静态地查找不重要的错误,验证程序是否符合规范并执行多种类型的优化(包括自动并行化)。这样的优化所产生的代码与其他动态语言或(实验性)优化编译器(甚至是静态语言)具有极强的竞争力,同时保留了动态语言的灵活性和交互式开发能力。该编译体系结构支持模块化和贯穿始终的单独编译。该环境还包括功能强大的自动文档记录器和单元测试框架,两者均与断言系统紧密集成。本文提供了有关语言和程序开发环境的非正式概述。它旨在说明设计理念,而不是详尽无遗,而这在单篇期刊论文中是不可能的,而是指向以前的Ciao文献。

著录项

  • 来源
    《Theory and Practice of Logic Programming》 |2012年第2期|p.219-252|共34页
  • 作者单位

    Universidad Politecnica de Madrid (UPM), Fac. Informatica, Campus de Montegancedo - UPM,28660 Boadilla del Monte, Madrid, Spain and Madrid Institute of Advanced Studies in Software Development Technology (IMDEA Software), Campus de Montegancedo - UPM,28660 Boadilla del Monte, Madrid, Spain;

    Universidad Politecnica de Madrid (UPM), Fac. Informatica, Campus de Montegancedo - UPM,28660 Boadilla del Monte, Madrid, Spain;

    Universidad Politecnica de Madrid (UPM), Fac. Informatica, Campus de Montegancedo - UPM,28660 Boadilla del Monte, Madrid, Spain;

    Madrid Institute of Advanced Studies in Software Development Technology (IMDEA Software),Campus de Montegancedo - UPM, 28660 Boadilla del Monte, Madrid, Spain and Spanish Research Council, Serrano, 117, 28006 Madrid, Spain;

    Universidad Complutense de Madrid (UCM), Fac. Informatica, Universidad Complutense de Madrid,C/ Prof. Jose Garcia Santesmases, s., 28040 Madrid, Spain;

    Madrid Institute of Advanced Studies in Software Development Technology (IMDEA Software),Campus de Montegancedo - UPM, 28660 Boadilla del Monte, Madrid, Spain;

    Universidad Politecnica de Madrid (UPM), Fac. Informatica, Campus de Montegancedo - UPM,28660 Boadilla del Monte, Madrid, Spain;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    prolog; logic programming system; assertions; verification; extensible languages;

    机译:前言逻辑编程系统;断言;验证;可扩展语言;

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号