Changeset 7918


Ignore:
Timestamp:
Dec 17, 2007, 10:37:27 PM (13 years ago)
Author:
gb
Message:

Add TYPE-PREDICATEs for ARGS-CTYPE and its subclasses.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-1/l1-typesys.lisp

    r7917 r7918  
    33863386(setf (type-predicate 'class-ctype) 'class-ctype-p)
    33873387
     3388(defun args-ctype-p (x) (and (eql (typecode x) target::subtag-istruct)
     3389                             (member (%svref x 0)
     3390                                     '(args-ctype values-ctype function-ctype))))
     3391
     3392(defun function-ctype-p (x) (istruct-typep x 'function-ctype))
     3393(defun valuec-ctype-p (x) (istruct-typep x 'values-ctype))
     3394
     3395(setf (type-predicate 'args-ctype) 'args-ctype-p
     3396      (type-predicate 'function-ctype) 'function-ctype-p
     3397      (type-predicate 'values-ctype) 'values-ctype-p)
     3398
     3399
    33883400;;; Simple methods for TYPE= and SUBTYPEP should never be called when the two
    33893401;;; classes are equal, since there are EQ checks in those operations.
Note: See TracChangeset for help on using the changeset viewer.