
I want to do a macro helper that returns a positive integer. Suppose that function has to return the integer n. What is the best option, n or #’n?

A syntax transformer must return a syntax object. You can do something like: #lang racket
(require (for-syntax syntax/parse))
(define-syntax (add1 stx)
  (syntax-parse stx
    [(_add1 n:integer)
     ; compute output value
     (define n+1 (+ (syntax->datum #'n) 1))
     ; turn the value into syntax
     (with-syntax ([n+1 n+1])
       #'n+1)]))
(add1 41)

The problem is I want a procedure (in fase 1) that I will use to do a macro. Specifically, I want to calculate the length of a syntax object (where its datum is a list)

There is a syntax-length ready to use in …

really?

unstable/syntax

Maybe (length (syntax->list stx)) is better?

It is what I was looking for. Thank you!