Skip to content

Commit

Permalink
Fix XCVB build.
Browse files Browse the repository at this point in the history
  • Loading branch information
fare committed Sep 18, 2012
1 parent a815f79 commit 13c1ee3
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
28 changes: 15 additions & 13 deletions interface/interface.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -197,19 +197,21 @@
(destructuring-bind (formals &body body)
(or (cdr parametric)
'(() (make-interface)))
`((define-memo-function
(,interface
:normalization
#'(lambda (make-interface &rest arguments)
(flet ((make-interface (&rest arguments)
(apply make-interface arguments)))
(apply #'(lambda ,formals
(block ,interface
,@body))
arguments))))
(&rest arguments)
(apply 'make-instance ',interface arguments)))))
,@(when singleton `((defvar ,interface (,interface))))
`((eval-when (:compile-toplevel :load-toplevel :execute)
(define-memo-function
(,interface
:normalization
#'(lambda (make-interface &rest arguments)
(flet ((make-interface (&rest arguments)
(apply make-interface arguments)))
(apply #'(lambda ,formals
(block ,interface
,@body))
arguments))))
(&rest arguments)
(apply 'make-instance ',interface arguments))))))
,@(when singleton `((eval-when (:compile-toplevel :load-toplevel :execute)
(defvar ,interface (,interface)))))
,@(loop :for (() . gf) :in gfs :collect
`(define-interface-generic ,interface ,@gf))
,@(when methods
Expand Down
2 changes: 1 addition & 1 deletion transform/classified.lisp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
;;; -*- Mode: Lisp ; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;;;; From Interfaces to Classes: Examples

#+xcvb (module (:depends-on ("transform/classify" "pure/map-interface")))
#+xcvb (module (:depends-on ("transform/classify" "pure/map-interface" "stateful/tree-interface")))

(defpackage :classified
(:use :xcvb-utils :cl)
Expand Down
4 changes: 1 addition & 3 deletions transform/classify.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
(defclass object-box (box!)
((interface :reader class-interface)))

(defmacro define-classified-method (&rest args)
(apply '%define-classified-method args))
(defun %define-classified-method
(defmacro define-classified-method
(class interface class-gf interface-gf &key
interface-argument
(extract-interface (first (ensure-list interface-argument)))
Expand Down

0 comments on commit 13c1ee3

Please sign in to comment.