Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status Build Status

The Ciao Programming Language

Ciao is a programming language that builds up from a logic-based simple kernel, and is designed to be extensible and modular. It supports:

  • constraint logic programming (and, in particular, Prolog)
  • different levels of modularity (from small to large scale)
    • modules as (analysis-friendly) compilation units
    • bundles as collections of modules
  • packages as modules implementing language extensions (syntactic definitions, compilation options, compiler plugins)
  • assertions (as a homogeneous framework that allows static and dynamic verification to work cooperatively in a unified way)
  • multiparadigm constructs (meta-programming, higher-order, mutables, concurrency, functions, etc.) and interfacing with foreign code

This repository contains the compiler and Ciao standard libraries. Together with the builder bundle it can be used as a minimal Ciao installation.

Other advanced features (such as global program analysis and transformations, static debugging, documentation generation, Emacs-based development environment, etc.) are provided in separate bundles.

Installation

Please consult the quick installation instructions or refer to the INSTALLATION file.


NOTE: This repository is automatically synchronized from the Ciao monorepo.