;;; Copyright (c) 2000-2004, 2007 Tony Garnock-Jones ;;; ;;; Permission is hereby granted, free of charge, to any person obtaining a copy ;;; of this software and associated documentation files (the "Software"), to deal ;;; in the Software without restriction, including without limitation the rights ;;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ;;; copies of the Software, and to permit persons to whom the Software is ;;; furnished to do so, subject to the following conditions: ;;; ;;; The above copyright notice and this permission notice shall be included in ;;; all copies or substantial portions of the Software. ;;; ;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ;;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ;;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ;;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ;;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ;;; THE SOFTWARE. ;; (module ubf mzscheme (require (lib "include.ss") (lib "9.ss" "srfi") (lib "4.ss" "srfi") (only (lib "list.ss") mergesort) (all-except (lib "13.ss" "srfi") string-upcase string-titlecase string-downcase) (all-except (lib "1.ss" "srfi") reverse! member map for-each assoc append!)) (provide make-tagged-ubf tagged-ubf? tagged-ubf-tag tagged-ubf-tag-set! tagged-ubf-value tagged-ubf-value-set! ubf-a-reserved-chars decode-ubf-a basic-encode-ubf-a encode-ubf-a) (define (sort less? xs) (mergesort xs less?)) ;; Can't parameterize current-inspector around define-record-type - ;; receive complaint about lack of body in implicit begin. Instead, ;; kludge it manually. (define old-inspector (current-inspector)) (current-inspector (make-inspector)) (include "../common/ubf.scm") (current-inspector old-inspector) )