When is macro distribution performed?

I study macros in Racket (the language successor to Schema). No mention of when the macro distribution is performed. On page 17 of this this document, I found a paragraph that says this happens before validation, evaluation, and compilation.

So, if I understand correctly, macro expansion occurs immediately after the construction of an abstract syntax tree (AST)?

+4
source share
1 answer

Although a racket expert can fix me, I understand that the main steps are:

  • A read pass that processes input characters into a syntax object.

  • , , .

  • . (JIT- , .)

, REPL ( eval) REEPL ( eval print).

. , , , .

" ".

  • Racket (, #lang racket) , .
  • Racket (, #lang typed/racket) : Typed Racket . . 10 "" - dissertation.

(, , JIT - , .)

+8

Source: https://habr.com/ru/post/1524021/


All Articles