www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

doc-util.rkt (921B)


      1 #lang at-exp racket/base
      2 
      3 (provide (for-label (all-from-out generic-syntax-expanders
      4                                   racket/base
      5                                   racket/contract))
      6          defpredicate
      7          generic-syntax-examples
      8          source-code)
      9 
     10 (require (for-label generic-syntax-expanders
     11                     racket/base
     12                     racket/contract)
     13          scribble/example
     14          scribble/manual
     15          scribble/text)
     16 
     17 
     18 (define requirements
     19   '(generic-syntax-expanders))
     20 
     21 (define (make-eval)
     22   (make-base-eval #:lang 'racket/base
     23                   (cons 'require requirements)))
     24 
     25 (define-syntax-rule (generic-syntax-examples example ...)
     26    (examples #:eval (make-eval) example ...))
     27 
     28 (define-syntax-rule (defpredicate id pre-flow ...)
     29   (defthing #:kind "procedure" id predicate/c pre-flow ...))
     30 
     31 (define (source-code dest-url)
     32   @begin/text{Source code is available at @url[dest-url]})