struct.ss
#lang scheme/base

(require "base.ss")

(require (unlib-in pipeline)
         "arg.ss"
         "pattern.ss"
         "site.ss"
         "struct-private.ss")

; Provide statements -----------------------------

; From arg:
(provide boolean-arg
         integer-arg
         real-arg
         string-arg
         symbol-arg
         rest-arg)

; From pattern:
(provide (rename-out [create-pattern make-pattern])
         pattern-match
         pattern->string)

; From site:
(provide (rename-out [create-site make-site])
         site-controller/url
         controller-url
         controller-defined?)

; From struct-private:
(provide (struct-out arg)
         (except-out (struct-out pattern) make-pattern)
         (struct-out rule)
         (except-out (struct-out controller) make-controller)
         (except-out (struct-out site) make-site))