#lang typed/racket ;;; dds/bn ;;; This module provides some quick definitions for running Boolean ;;; networks. A Boolean network is a set of Boolean variables which ;;; are updated according to their corresponding update functions. ;;; The variables to be updated at each step are given by the mode. (provide Variable State UpdateFunc Network) (define-type Variable Symbol) ;;; A state of a Boolean network is a mapping from the variables of the ;;; network to their Boolean values. (define-type State (HashTable Variable Boolean)) ;;; An update function is a Boolean function computing a Boolean value ;;; from the given state. (define-type UpdateFunc (-> State Boolean)) ;;; A Boolean network is a mapping from its variables to its update ;;; functions. (define-type Network (HashTable Variable UpdateFunc))