Ciao及其设计哲学概述
编程语言
2011-03-01 v1
摘要
我们提供了Ciao多范式编程系统的总体描述,重点介绍了其设计和实现背后的一些新颖方面和动机。Ciao的一个重要方面是,除了支持逻辑编程(特别是Prolog)之外,它还向程序员提供了来自不同编程范式和风格的大量有用特性,并且每个特性(包括Prolog的特性)的使用都可以在每个程序模块中随意开启或关闭。因此,一个给定的模块可能使用,例如,高阶函数和约束,而另一个模块可能使用赋值、谓词、Prolog元编程和并发。此外,该语言被设计为以简单和模块化的方式进行扩展。Ciao的另一个重要方面是其编程环境,它提供了一个强大的预处理器(带有关联的断言语言),能够静态地发现非平凡的错误,验证程序是否符合规范,并执行多种类型的优化(包括自动并行化)。这些优化产生的代码与其他动态语言相比极具竞争力,或者使用(实验性的)优化编译器,甚至与静态语言的代码相比也毫不逊色,同时保留了动态语言的灵活性和交互式开发。这种编译架构自始至终支持模块化和独立编译。该环境还包括一个强大的自动文档生成器和一个单元测试框架,两者都与断言系统紧密集成。本文提供了该语言和程序开发环境的非正式概述。它旨在说明设计哲学,而非力求详尽(这在单篇期刊论文中是不可能的),而是指向先前的Ciao文献。
引用
@article{arxiv.1102.5497,
title = {An overview of Ciao and its design philosophy},
author = {M. V. Hermenegildo and F. Bueno and M. Carro and P. López-García and E. Mera and J. F. Morales and G. Puebla},
journal= {arXiv preprint arXiv:1102.5497},
year = {2011}
}
备注
Number of pages: 30, Number of figures: 14, Number of tables: 0. Accepted for publication in TPLP (CUP)