;;; SPDX-License-Identifier: LGPL-3.0-or-later
;;; SPDX-FileCopyrightText: Copyright © 2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>

#lang racket/base

(provide (all-from-out "actor.rkt")
         (all-from-out "syntax.rkt")
         (all-from-out preserves)

         assertion-struct
         message-struct

         :pattern
         :template)

(require (except-in "actor.rkt" actor-system))
(require "syntax.rkt")
(require preserves)

;; Thin veneers over `struct` for declaring intent.
(define-syntax-rule (assertion-struct item ...) (struct item ... #:prefab))
(define-syntax-rule (message-struct item ...) (struct item ... #:prefab))

(require (only-in "pattern.rkt" :pattern :template))

(module reader syntax/module-reader syndicate/lang)
