Christophe Weblog Wiki Code Publications Music
add files from Jan Moringen's pattern-specializer repository
[specializable.git] / src / package.lisp
1 ;;;; package.lisp --- Package definition for the language-extension.pattern-specializer system.
2 ;;;;
3 ;;;; Copyright (C) 2014 Jan Moringen
4 ;;;;
5 ;;;; Author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
6
7 (cl:defpackage #:pattern-specializer
8   (:use
9    #:cl
10    #:alexandria)
11
12   (:import-from #:sb-mop
13
14    #:funcallable-standard-class
15    #:set-funcallable-instance-function
16
17    #:specializer
18    #:specializer-direct-methods
19
20    #:method-specializers
21    #:method-function
22
23    #:compute-discriminating-function
24    #:compute-effective-method
25
26    #:generic-function-name
27    #:generic-function-methods
28    #:add-direct-method
29    #:remove-direct-method)
30
31   (:import-from #:sb-pcl
32    #:parse-specializer-using-class
33    #:unparse-specializer-using-class
34    #:make-specializer-form-using-class
35
36    #:make-method-lambda-using-specializers)
37
38   ;; Specifier symbol for the pattern specializer
39   (:export
40    #:pattern)
41
42   ;; Pattern specializer class
43   (:export
44    #:pattern-specializer
45    #:specializer-pattern)
46
47   ;; Generic function and method
48   (:export
49    #:pattern-generic-function
50
51    #:pattern-method))