#acl MembersGroup:read,write,revert,admin,delete FrancescoCalimeri:read,write,revert SusannaCozza:read,write,revert All:read ---- <> <> ---- <> = DLV-Complex: The Project = DLV-Complex is an Answer Set Programming System extending [[http://www.dlvsystem.com|DLV]] by means of functions. It is a very powerful ASP system supporting (recursive) functions, sets, and lists, along with libraries for their manipulations. DLV-Complex is based on the [[http://www.dlvsystem.com|DLV]] system and on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] framework, from which it inherits the possibility of defining ''external predicates''. [[#TOC|Top of Page]] ---- <> = The Team = * [[http://www.mat.unical.it/calimeri|Francesco Calimeri]] * [[mailto:cozza@mat.unical.it|Susanna Cozza]] * [[http://www.gibbi.com|Giovambattista Ianni]] * [[http://www.mat.unical.it/~leone|Nicola Leone]] * [[mailto:perri@mat.unical.it|Simona Perri]] [[#TOC|Top of Page]] ---- <> = Downloads = DLV-Complex is actively developed. To receive notifications about new releases and other important events regarding DLV-Complex, just have a look at this page, or drop us a note [[mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it|here]]. Please always use the most current version of DLV-Complex (cf. [[#history|version history]]). <> == Latest Version == <> === Standard Version === We currently provide a command-line version in binary form for Linux, Windows 95/98/NT/2000/XP/Vista and Mac OS. * Download latest [[attachment:dl-complex.linux.20110713.beta|linux version]] (requires libstdc++6.0.10 or greater) * Download latest [[attachment:dl-complex.win.20110713.beta.exe|windows version]] * Download latest [[attachment:dl-complex.mac.20110713.beta|macOS version]] <> === Static Version === We offer also a statically linked executable (currently only linux and windows versions), that includes list and set manipulation libraries. This version do not need any pre-installed dynamic library on your system; in addition, it is self-contained, meaning that '''you do not need to download any library''' (such as those below) '''in order to enjoy full lists and set support'''. It is '''ready-to-use'''. :) Nevertheless, this version '''do not support external predicates/libraries''' (see [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page). * Download latest [[attachment:dl-complex.linux.20110713.static.beta|linux STATIC version]] * Download latest [[attachment:dl-complex.win.20110713.static.beta.exe|windows STATIC version]] * Download latest [[attachment:dl-complex.mac.20110713.static.beta|macOS STATIC version]] <> == Latest Libraries == * List-And-Set library is needed in order to exploit built-in manipulation functions/predicates for list and set terms, unless you use a [[#staticVersion|static version]] of DLV-Complex. * Download latest [[attachment:ListAndSet.20100303.so|linux version]] (.so) * Download latest [[attachment:ListAndSet.20100303.dll|windows version]] (.dll) * Download latest [[attachment:ListAndSet.20100303.macOS.so|macOS version]] (.so) * Other external predicate libraries can be found on the [[http://www.mat.unical.it/ianni/wiki/dlvex|DLV-EX]] page. <> == Developing New External Predicates and Libraries == You can find below everything is necessary in order to develop and build your own external dynamic libraries. === Built-in Development Kit === * [[attachment:for-linux-developers.tar.gz|Linux version]] (.tar.gz archive) * [[attachment:for-windows-developers.zip|Windows version]] (.zip archive) * [[attachment:for-mac-developers.tar.gz|Mac OS version]] (.tar.gz archive) '''Notes''' * Please note that the archives consist of two folders: * ''"LIB"'', containing headers and scripts needed in order to create new External Builtins libraries. * ''"doc"'', containing a manual and a tutorial for helping the user creating new external predicates. For further information, have a look at the [[#docs|documentation]]. * In order to '''compile''' your own libraries, you will need [[http://www.gnu.org/software/libtool/|libtool]]. Take care of use the correct version of libtool for your system, or you may experience problems in creating dynamic libraries. * '''HINT''' for windows developers: you might find very useful the [[http://www.mingw.org/|MinGW]]/[[http://www.mingw.org/wiki/msys|MSYS]] environment. [[#TOC|Top of Page]] ---- <> = Documentation & Examples = We provide here a quick reference guide, a short tutorial and some examples. Documentation and examples will be updated accordingly to the evolution of the system, so check them out periodically. Documentation about the creation of new built-in libraries is included in the development kit. For a full documentation on [[http://www.dlvsystem.com|DLV]] please visit the official [[http://www.dlvsystem.com|web page]]. == Reference Guide and Tutorial == * [[attachment:dlv-complex-guide-20100303.html|Reference Guide]] * [[attachment:dlv-complex-tutorial.html|Tutorial]] == Examples == * [[attachment:tutorial-examples.zip|Tutorial-examples.zip]] Examples from the tutorial (text files in a .zip archive) * [[attachment:ListPath.dl|ListPath.dl]] Compute all simple paths and cycles in a graph * [[attachment:Descendants.dl|Descendants.dl]] Compute the set of all descendants for some given ancestors * [[attachment:Hanoi1.dl|Hanoi.dl]] (txt version here: [[attachment:Hanoi1.txt|Hanoi.txt]]) - A DLV-Complex program solving the well-known [[http://en.wikipedia.org/wiki/Tower_of_Hanoi|Tower of Hanoi Puzzle]] - * [[attachment:TuringMachine.dl|TuringMachine.dl]] (txt version here: [[attachment:TuringMachine.txt|TuringMachine.txt]]) - A DLV-Complex program simulating a Turing Machine - You can dowload also a [[attachment:TuringMachine.pdf|more detailed description: TuringMachine.pdf]] (pdf document) [[#TOC|Top of Page]] ---- <> = History = * July 17, 2011 Fix a bug that prevented to declare lists with more than 60 elements. Improve stability. * June 17, 2011 Fix a bug in the Mac OS version. Update Built-In Development Kit for all platforms. * June 06, 2011 Add built-in development kit for windows, linux and mac os. * March 08, 2010 Release MacOS version of March 03, 2010. * March 03, 2010 Fix instantiation bug while dealing with rules featuring both assignment aggregates and external built-in. Improve stability. MacOS version to be released soon. * July 27th, 2009 Start moving towards new functional built-in approach, in order to meet official [[http://www.dlvsystem.com|DLV]] future standards. Fix some nasty bugs involving the interaction between built-ins and aggregates. Further improve stability. * May 19th, 2009 Improve stability. Remove some useless #MAXINT restrictions. Release a static version. * July 27th, 2008 Minor bugfixes (some in finite-domain checker). * June 13th, 2008 Improve finite-domain checker. Nicefy help messages. Several bugfixes. * Early 2008 First beta version. * Previous versions ...did not carry a real version identification. [[#TOC|Top of Page]] ---- <> = Reports = * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Finitely Recursive Programs: Decidability and Bottom-up Computation''", Technical Report, Department of Mathematics, University of Calabria, 2009 - Submitted for publication to Fundamenta Informaticae. ([[attachment:calimeri-etal-magic-FI.pdf|PDF version]]) * F. Calimeri, S. Cozza, G. Ianni, N. Leone, "''Computable Functions in ASP: Theory and Implementation''", Proceedings of the 24th International Conference on Logic Programming (ICLP 2008), Vol. 5366 of Lecture Notes in Computer Science (LNCS), pp. 407-424, Udine, Italy, December 2008, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 978-3-540-89981-5.[[http://dx.doi.org/10.1007/978-3-540-89982-2_37|DOI]] * F. Calimeri, S. Cozza, G. Ianni, "''External Sources of Knowledge and Value Invention in Logic Programming''", Annals of Mathematics and Artificial Intelligence (AMAI), Volume 50, N. 3-4, pp. 333-361, August 2007 -- [[http://www.springerlink.com/content/54hw76l157856964/|Link to Springer Page]] (find there a PDF version) [[#TOC|Top of Page]] ---- Drop us a note at __''[[mailto:calimeri{NOSPAM-at-NOSPAM}mat.unical.it|calimeri{at}mat.unical.it]]''__