diff options
author | Andy Wingo <wingo@pobox.com> | 2011-09-02 11:36:14 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-09-02 11:36:14 +0200 |
commit | 0c65f52c6d45f60e197fad7162d05c0fce89e817 (patch) | |
tree | 36b801d56064c1686befe9c3de561ade6cd6e2fa /module/srfi/srfi-35.scm | |
parent | 1bbe0a631c4e72fffc033cb4f83eba7252ce3c9c (diff) | |
download | guile-0c65f52c6d45f60e197fad7162d05c0fce89e817.tar.gz |
more define-syntax-rule usage
* module/ice-9/boot-9.scm:
* module/ice-9/control.scm:
* module/ice-9/futures.scm:
* module/ice-9/optargs.scm:
* module/ice-9/poll.scm:
* module/ice-9/receive.scm:
* module/ice-9/threads.scm:
* module/ice-9/vlist.scm:
* module/language/assembly/compile-bytecode.scm:
* module/language/ecmascript/compile-tree-il.scm:
* module/language/tree-il.scm:
* module/oop/goops.scm:
* module/oop/goops/simple.scm:
* module/oop/goops/stklos.scm:
* module/srfi/srfi-1.scm:
* module/srfi/srfi-35.scm:
* module/srfi/srfi-39.scm:
* module/srfi/srfi-45.scm:
* module/srfi/srfi-67/compare.scm:
* module/sxml/match.scm:
* module/system/repl/error-handling.scm:
* module/system/repl/repl.scm:
* module/system/vm/inspect.scm:
* module/texinfo.scm:
* module/web/server.scm: Use define-syntax-rule, where it makes sense.
Diffstat (limited to 'module/srfi/srfi-35.scm')
-rw-r--r-- | module/srfi/srfi-35.scm | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/module/srfi/srfi-35.scm b/module/srfi/srfi-35.scm index 7f1ff7fc9..d2b9c9420 100644 --- a/module/srfi/srfi-35.scm +++ b/module/srfi/srfi-35.scm @@ -1,6 +1,6 @@ ;;; srfi-35.scm --- Conditions -*- coding: utf-8 -*- -;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -295,24 +295,20 @@ by C." ;;; Syntax. ;;; -(define-syntax define-condition-type - (syntax-rules () - ((_ name parent pred (field-name field-accessor) ...) - (begin - (define name - (make-condition-type 'name parent '(field-name ...))) - (define (pred c) - (condition-has-type? c name)) - (define (field-accessor c) - (condition-ref c 'field-name)) - ...)))) - -(define-syntax compound-condition +(define-syntax-rule (define-condition-type name parent pred (field-name field-accessor) ...) + (begin + (define name + (make-condition-type 'name parent '(field-name ...))) + (define (pred c) + (condition-has-type? c name)) + (define (field-accessor c) + (condition-ref c 'field-name)) + ...)) + +(define-syntax-rule (compound-condition (type ...) (field ...)) ;; Create a compound condition using `make-compound-condition-type'. - (syntax-rules () - ((_ (type ...) (field ...)) - (condition ((make-compound-condition-type '%compound `(,type ...)) - field ...))))) + (condition ((make-compound-condition-type '%compound `(,type ...)) + field ...))) (define-syntax condition-instantiation ;; Build the `(make-condition type ...)' call. |