Commit Graph

263 Commits

Author SHA1 Message Date
a406cb43bd
Update graph coloring example with placeholders
This replaces the former graph coloring example with a new formulation
that makes use of the newly supported placeholders.
2018-04-08 20:28:57 +02:00
c294a29cb2
Support placeholders with #external declarations
This adds support for declaring predicates as placeholders through the
“#external” directive in the input language of clingo.

Placeholders are not subject to completion. This prevents predicates
that represent instance-specific facts from being assumed as universally
false by default negation when translating an encoding.

This stretches clingo’s usual syntax a bit to make the implementation
lightweight. In order to declare a predicate with a specific arity as a
placeholder, the following statement needs to be added to the program:

    #external <predicate name>(<arity>).

Multiple unit tests cover cases where placeholders are used or not as
well as a more complex graph coloring example.
2018-04-08 20:28:57 +02:00
c91cbaf58b
Update Catch to 2.2.2 2018-04-07 00:22:01 +02:00
2a2fec0eac
Update change log with dependency change
This adds the dependency change from Boost (for program options) to
cxxopts to the change log.
2018-04-06 23:08:57 +02:00
09e56c3bce
Format change log sections with proper headings
This makes the change log sections have proper headings, which were just
normal text before.
2018-04-06 22:53:59 +02:00
e2c0d6b705
Update cxxopts to 2.0.0+3+gabe9ebd
With cxxopts 2.0.0, positional arguments weren’t recognized when other
command-line options were passed before. This has been fixed in the
meantime, but there is no release with the bug fix yet.

This updates cxxopts to a newer commit to ship anthem with this fix.
2018-04-06 22:44:14 +02:00
e01506f9ff
Drop Boost dependency
Boost was only used for program option parsing. To avoid this huge
dependency, this commit replaces boost::program_options with cxxopts,
a header-only library with the same functionality.

cxxopts is added as a submodule, and Boost is removed from the
dependencies in the code and Travis configuration.
2018-03-25 17:24:06 +02:00
50ebf3c6de
Install g++ package explicitly on Ubuntu
Apparently, g++ is only installed because of the Boost dependency.
Make the g++ dependency explicit to avoid future package errors.
2018-03-25 17:23:33 +02:00
fde2af5841
Add clang to Travis configurations
This adds the clang compiler to the tested Travis configurations.
2018-03-24 18:53:51 +01:00
22238bb398
Switch to C++17
With C++17, optionals, an experimental language feature, were moved to
the “std” namespace. This makes C++17 mandatory and drops the now
obsolete “experimental” namespace.
2018-03-24 16:09:52 +01:00
c7d1026a31
Switch Travis to Docker
As Travis only provides outdated packages (compilers in particular),
this changes the Travis configuration to use Docker images to build and
test the code. This also has the benefit that multiple distributions can
be tested and not just Ubuntu.

For the time being, Arch Linux and Ubuntu 18.04 are added as supported
platforms.
2018-03-24 15:51:20 +01:00
6b1cf6735e
Update clingo to 5.2.2 2018-03-21 16:41:08 +01:00
addc65e3c5
Update Catch to 2.2.1 2018-03-21 16:35:54 +01:00
427e5705c7
Fixed order of CMake options. 2017-06-20 02:05:12 +02:00
bda57b2fe7
Fixed incorrect handling of CMake options. 2017-06-18 15:04:45 +02:00
b7cd875f0e
Updated Catch. 2017-06-15 15:27:51 +02:00
be19a5f66b
Version bump after release 0.1.6. 2017-06-13 00:14:16 +02:00
675a3e2eb7
Version bump for release 0.1.6. 2017-06-12 18:38:36 +02:00
4f399a594a
Updated change log with new examples for experimenting. 2017-06-12 18:35:06 +02:00
5f8c144628
Fixed regression in simplifying predicates with more than one argument. 2017-06-12 18:27:39 +02:00
64c9a741c4
Added example with simple propositions. 2017-06-12 15:42:23 +02:00
1f1006ea96
Corrected hiding predicates that are simple propositions. 2017-06-12 15:40:02 +02:00
7665cb7bf1
Added unit test for the completion of predicates with nested arguments. 2017-06-12 15:32:05 +02:00
d7641aa410
Added example with nested predicate arguments. 2017-06-12 03:05:21 +02:00
eb730b9f8b
Added example for attempting to hide a circular predicate dependency. 2017-06-12 03:01:30 +02:00
ecdefa9221
Added graph coloring example. 2017-06-12 02:53:02 +02:00
c1899a6347
Added Schur numbers example. 2017-06-12 02:27:57 +02:00
a4cd133ba7
Correctly implemented hiding predicates with nested arguments. 2017-06-12 02:25:04 +02:00
1d172589f5
Rephrased change log entry for clarity. 2017-06-09 22:13:05 +02:00
649489a1eb
Renamed unit test for clarity. 2017-06-09 22:10:43 +02:00
fd40bd1a5b
Added bug fix to change log. 2017-06-09 22:02:02 +02:00
cbe87d8cb7
Fixed issue with simplifying binary operations in arguments. 2017-06-09 22:00:00 +02:00
9d1a1249d3
Removed obsolete to-do. 2017-06-09 20:19:46 +02:00
0d5fb00286
Updated clingo. 2017-06-06 19:26:33 +02:00
1e887594c7
Updated change log with new option --parentheses. 2017-06-06 02:07:21 +02:00
bbbd0b65a4
Added new option --parentheses=full to make parsing the output easier. 2017-06-06 02:02:26 +02:00
0285c1cbbb
Renamed internal variables for clarity. 2017-06-06 01:44:44 +02:00
95984f0447
Added warning when attempting to use #show statements without completion. 2017-06-05 04:24:00 +02:00
19ede968ed
Added unit test that predicate arity is respected by #show statements. 2017-06-05 04:00:09 +02:00
7ae0a1f289
Removed unnecessary parentheses after simplification. 2017-06-05 03:58:39 +02:00
3b26580815
Minor formatting. 2017-06-05 03:54:17 +02:00
b272a91888
Extended unit test for circular dependencies and #show. 2017-06-05 03:40:41 +02:00
b91e55dfc4
Added unit test for recognizing Booleans when hiding statements. 2017-06-05 03:39:10 +02:00
7904b41e60
Added unit test covering circular dependencies with #show statements. 2017-06-05 03:34:13 +02:00
adabe1bf1a
Added simple unit tests for #show statements. 2017-06-05 03:26:09 +02:00
2cbc3116b8
Updated change log with new #show and simplification features. 2017-06-05 03:07:50 +02:00
14abc37116
Implemented #show statements for completed output. 2017-06-05 03:02:22 +02:00
4fd143ef64
Added simplification rule “exists X (X = Y)” → “#true.” 2017-06-05 02:41:17 +02:00
7bf5d3867d
Minor clarification on side effects of a function. 2017-06-05 00:19:43 +02:00
b4c8ce3dc4
Extended AST visitors with optional return type. 2017-06-04 21:59:19 +02:00