;;;; types.lisp ;;;; ;;;; Copyright (c) 2020 Samuel W. Flint (in-package #:lcsp) ;;; "lcsp" goes here. (defclass () ((name :reader name :type 'symbol :initarg :name) (variables :reader variables :type 'list :initarg :variables) (constraints :reader constraints :type 'list :initarg :constraints) (constraint-checks :accessor constraint-checks :type 'integer :initform 0))) (defclass () ((name :accessor name :type 'symbol :initarg :name) (type :accessor var-type :type 'type-specifier :initarg :type) (domain :accessor domain) (constraints-map :accessor constraints :type list :initarg :constraints-map))) (defclass () ((adicity :reader constraint-adicity :type 'integer) (variables :reader variables :initarg :variables :type list) (problem :reader problem :initarg :problem :type '))) (defmethod initialize-instance :after ((instance ) &key &allow-other-keys) (with-slots (variables adicity) instance (setf adicity (length variables)))) (defgeneric check-constraint (constraint vvps &key suppress-cc-update-p)) (defclass () ((conflictsp :reader conflictsp :initarg :conflictsp) (constraints-list :reader constraints-list :initarg :list))) (defclass () ((function :reader constraint-function :initarg :constraint-function))) (defclass () ((constraints :reader constraints :initarg constraints))) ;;; End lcsp