Table of Contents
- Introduction
- Getting started on Un*x-like machines
- Getting started on Windows machines
- PART I - The program development environment
- PART II - The Ciao basic language (engine)
- The module system
- Directives for using code in other files
- Control constructs/predicates
- Basic builtin directives
- Basic data types and properties
- Extra-logical properties for typing
- Basic term manipulation
- Comparing terms
- Basic predicates handling names of constants
- Arithmetic
- Basic file/stream handling
- Basic input/output
- Exception and Signal handling
- Changing system behaviour and various flags
- Fast/concurrent update of facts
- Extending the syntax
- Message printing primitives
- Attributed Variables Package
- Attributed variables (deprecated)
- Internal Runtime Information
- Conditional Compilation
- Other predicates and features defined by default
- PART III - ISO-Prolog library (iso)
- PART IV - Classic Prolog library (classic)
- PART V - Assertions, Properties, Types, Modes, Comments (assertions)
- PART VI - Ciao library miscellanea
- Library Paths for Ciao Bundles
- Analytic benchmarks
- Parse and return command-line options
- llists (library)
- Structured stream handling
- Dictionaries
- String processing
- Printing status and error messages
- Accessing and redirecting the stream aliases
- Reading terms from strings
- ctrlcclean (library)
- errhandle (library)
- Fast reading and writing of terms
- File name manipulation
- Symbolic filenames
- File/Stream Utilities
- File locks
- Lists and conjunctions and disjunctions
- Term manipulation utilities
- Term checking utilities
- Sets of variables in terms
- Cyclic terms handling
- A simple pretty-printer for Ciao programs
- Pretty-printing assertions
- The Ciao library browser
- Code translation utilities
- Low-level concurrency/multithreading primitives
- All solutions concurrent predicates
- The socket interface
- Sockets I/O
- The Ciao Make Package
- Predicates Available When Using The Make Package
- Additional operating system utilities
- PART VII - Ciao extensions
- Pure Prolog package
- Multiple Argument Indexing
- Higher-order
- Higher-order predicates
- Terms with named arguments -records/feature terms
- Functional notation
- global (library)
- Andorra execution
- Call on determinate
- Runtime predicates for call on determinate
- Miscellaneous predicates
- Mutable Terms
- Block Declarations
- Delaying predicates (freeze)
- Delaying predicates (when)
- Active modules (high-level distributed execution)
- Agents
- Breadth-first execution
- Iterative-deepening execution
- Constraint programming over rationals
- Constraint programming over reals
- Fuzzy Prolog
- Object Oriented Programming
- PART VIII - Interfaces to other languages and systems
- Foreign Language Interface
- Foreign Language Interface Properties
- Utilities for on-demand compilation of foreign files
- Foreign Language Interface Builder
- Interactive Menus
- menu_generator (library)
- Interface to daVinci
- The Tcl/Tk interface
- The PiLLoW Web programming library
- Persistent predicate database
- Filed predicates
- sqltypes (library)
- persdbtr_sql (library)
- pl2sqlinsert (library)
- Prolog/Java Bidirectional Interface
- Calling emacs from Prolog
- linda (library)
- PART IX - Abstract data types
- Extendable arrays with logarithmic access time
- Association between key and value
- counters (library)
- Identity lists
- Lists of numbers
- Pattern (regular expression) matching -deprecated version
- Graphs
- Unweighted graph-processing utilities
- wgraphs (library)
- Labeled graph-processing utilities
- queues (library)
- Random numbers
- Set Operations
- Variable name dictionaries
- PART X - Contributed libraries
- A Chart Library
- Low level Interface between Prolog and blt
- Error Handler for Chartlib
- Color and Pattern Library
- Barchart widgets - 1
- Barchart widgets - 2
- Depict barchart widgets - 3
- Depict barchart widgets - 4
- Depic line graph
- Line graph widgets
- Multi barchart widgets
- table_widget1 (library)
- table_widget2 (library)
- table_widget3 (library)
- table_widget4 (library)
- test_format (library)
- Doubly linked lists
- Ciao bindings for ZeroMQ messaging library
- Ciao DHT Implementation
- Constraint programming over finite domains
- Constraint programming over finite domains
- Dot generator
- Printing graphs using gnuplot as auxiliary tool
- Lazy evaluation
- Programming MYCIN rules
- The Ciao Profiler
- ProVRML - a Prolog interface for VRML
- boundary (library)
- dictionary (library)
- dictionary_tree (library)
- provrmlerror (library)
- field_type (library)
- field_value (library)
- field_value_check (library)
- generator (library)
- generator_util (library)
- internal_types (library)
- provrml_io (library)
- lookup (library)
- provrml_parser (library)
- parser_util (library)
- possible (library)
- tokeniser (library)
- Pattern (regular expression) matching
- Automatic tester
- Measuring features from predicates (time cost or memory used)
- XDR handle library
- XML query library
- A Chart Library
- PART XI - Contributed standalone utilities
- PART XII - Appendices