#lang scheme/base ;; Document linking. This bridges ;; * the model = any internal global document storage mechanism, and ;; * the view = any external representation of links, i.e. http://zwizwa.be/ ;; We use the following types: ;; document :: environment -> representation ;; environment :: identifier -> url ;; This means a document is modeled as a render function parameterized ;; by an environment. An environment is a map from abstract reference ;; to concrete reference. The default representation is xhtml. ;; To make debugging simpler, the environment could be written to ;; support graceful degradation: i.e. local rendering of xhtml is ;; possible without a global linker defined. (I.e. no crosslinking)