#| Copyright 2024 Peter McGoron | | Licensed under the Apache License, Version 2.0 (the "License"); | you may not use this file except in compliance with the License. | You may obtain a copy of the License at | | http://www.apache.org/licenses/LICENSE-2.0 | | Unless required by applicable law or agreed to in writing, software | distributed under the License is distributed on an "AS IS" BASIS, | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | See the License for the specific language governing permissions and | limitations under the License. |# (define-library (mcgoron iterator exceptions) (import (scheme base)) (export field-not-found-exception field-not-found-exception? field-not-found-exception:field field-not-found-exception:iterator non-integer-movement-exception non-integer-movement-exception? non-integer-movement-exception:spaces negative-movement-exception negative-movement-exception? negative-movement-exception:spaces improper-list-exception improper-list-exception? improper-list-exception:idx improper-list-exception:cdr not-implemented-exception not-implemented-exception? not-implemented-exception:type not-implemented-exception:args) (begin (define-record-type (field-not-found-exception field iterator) field-not-found-exception? (field field-not-found-exception:field) (iterator field-not-found-exception:iterator)) (define-record-type (non-integer-movement-exception spaces) non-integer-movement-exception? (spaces non-integer-movement-exception:spaces)) (define-record-type (negative-movement-exception spaces) negative-movement-exception? (spaces negative-movement-exception:spaces)) (define-record-type (improper-list-exception idx cdr) improper-list-exception? (idx improper-list-exception:idx) (cdr improper-list-exception:cdr)) (define-record-type (not-implemented-exception type args) not-implemented-exception? (type not-implemented-exception:type) (args not-implemented-exception:args))))