1 Exception utilities
2 Number utilities
3 String utilities
4 Symbol utilities
5 SRFI19 time utilities
6 List
7 PLT 4x hash utilities
8 PLT 3x hash utilities
9 Contract utilities
10 File and path utilities
11 Parameter utilities
12 Syntax utilities
13 Generators
14 Generators (short names)
15 Pipelines
16 Write-through cache
17 Yieldable procedures
18 Debugging tools
19 Profiling tools
20 Logging tools
On this page:
symbolic-identifier=?
make-id
begin-for-syntax/ any-order
Version: 3.99.0.23

 

12 Syntax utilities

 (require (planet untyped/unlib/syntax))

Utilities for creating macros and working with syntax.

(symbolic-identifier=? stx1 stx2)  boolean?

  stx1 : syntax?

  stx2 : syntax?

Compares two identifiers based on their symbolic representation.

(make-id stx arg ...)  syntax?

  stx : (U syntax? #f)

  arg : (U syntax? string? symbol? number?)

Creates an identifier by appending args. Equivalent to:

  (datum->syntax stx (string->symbol (apply string-append (map arg->string args))))

where arg->string converts an argument to a string.

(begin-for-syntax/any-order definition ...)

 

definition

 

=

 

(define (id arg ...) expr ...)

 

 

|

 

(define id expr)

Like begin-for-syntax except that definitions can refer to previous definitions in the manner of a letrec statement. Only definitions are allowed within the body of the form.