Proper garbage collection of foreign objects using trivial-garbage.
[cl-satwrap.git] / package.lisp
blobcbf68e26097b0a2e60d4dca8aaacf9daa1d964eb
1 ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; -*-
2 ;;;
3 ;;; package.lisp --- SATWRAP package definitons
5 ;; Copyright (C) 2010 Utz-Uwe Haus <lisp@uuhaus.de>
6 ;;
7 ;; $Id:$
8 ;;
9 ;; This code is free software; you can redistribute it and/or modify
10 ;; it under the terms of the version 3 of the GNU General
11 ;; Public License as published by the Free Software Foundation, as
12 ;; clarified by the prequel found in LICENSE.Lisp-GPL-Preface.
14 ;; This code is distributed in the hope that it will be useful, but
15 ;; without any warranty; without even the implied warranty of
16 ;; merchantability or fitness for a particular purpose. See the GNU
17 ;; Lesser General Public License for more details.
19 ;; Version 3 of the GNU General Public License is in the file
20 ;; LICENSE.GPL that was distributed with this file. If it is not
21 ;; present, you can access it from
22 ;; http://www.gnu.org/copyleft/gpl.txt (until superseded by a
23 ;; newer version) or write to the Free Software Foundation, Inc., 59
24 ;; Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 ;; Commentary:
28 ;;
30 ;;; Code:
33 (defpackage #:satwrap.backend
34 (:use #:cl)
35 (:export #:satwrap-backend
36 #:numvars
37 #:add-clause
38 #:satisfiablep
39 #:solution)
43 (defpackage #:satwrap
44 (:use #:CL)
45 ;; class:
46 (:export #:sat-solver)
47 ;; ctor:
48 (:export #:make-sat-solver)
49 ;; accessors:
50 (:export #:sat-solver-backend
51 #:sat-solver-numvars
52 #:sat-solver-numclauses)
53 ;; conditions:
54 (:export #:satwrap-condition #:invalid-clause)
55 ;; interface:
56 (:export #:add-variable #:add-clause #:satisfiablep #:solution))