packages feed

cpsa-4.4.1: tst/chan-perrig-song.scm

(herald perrig-song)

(defprotocol perrig-song basic
  (defrole init
    (vars (na nb text) (a b name) (c chan))
    (trace
     (send na)
     (recv c (cat na nb a b))
     (send nb)))

  (defrole resp
    (vars (na nb text) (a b name) (c chan))
    (trace
     (recv na)
     (send c (cat na nb a b))
     (recv nb))))

;;; this query should bring in a matching
;;; run of resp of height 2.

(defskeleton perrig-song
  (vars (na nb text) (a b name) (c chan))
  (defstrand init 2 (na na) (c c))
  (uniq-orig na)
  (auth c))

;;; this query should bring in a matching
;;; run of init of height 3.

(defskeleton perrig-song
  (vars (na nb text) (a b name) (c chan))
  (defstrand resp 3 (nb nb) (c c))
  (uniq-orig nb)
  (conf c))

;;; these two should be realized as-is.

(defskeleton perrig-song
  (vars (na nb text) (a b name) (c chan))
  (defstrand init 2 (na na) (c c))
  (uniq-orig na)
  (conf c))

(defskeleton perrig-song
  (vars (na nb text) (a b name) (c chan))
  (defstrand resp 3 (nb nb) (c c))
  (uniq-orig nb)
  (auth c))