;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2006 Jan Nieuwenhuizen <janneke@gnu.org>
-;;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;; Note: this file can't be used without LilyPond executable
(define-public (boolean-or-symbol? x)
(or (boolean? x) (symbol? x)))
+(define-public (string-or-symbol? x)
+ (or (string? x) (symbol? x)))
+
(define-public (number-or-string? x)
(or (number? x) (string? x)))
+(define-public (string-or-pair? x)
+ (or (string? x) (pair? x)))
+
(define-public (scheme? x) #t)
(define-public (object-type obj)
(match-predicate obj type-p-name-alist))
+(define-public (object-type-name obj)
+ (type-name (match-predicate obj type-p-name-alist)))
+
(define-public (type-name predicate)
(let ((entry (assoc predicate type-p-name-alist)))
(if (pair? entry) (cdr entry)