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

 

13 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.