#lang racket ;;; dds/generic ;;; Provides the definition of several generic interfaces for discrete ;;; dynamical systems. (require racket/generic) (provide ;; Generics gen:dds ;; Functions (contract-out [dds-step-one (-> dds? any/c (set/c any/c))]) ;; Predicates (contract-out [dds? (-> any/c boolean?)])) ;;; A discrete dynamical system. (define-generics dds ;; Given a dds and a state, produce the next states of the dds. (dds-step-one dds state))