O'Reilly logo

Julia High Performance by Avik Sengupta

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Generated functions

Macros run very early in the compilers process when there is no information about how the program might execute. The inputs to a macro are, therefore, simply symbols and expressions—the textual tokens that make up a program. Given that a lot of Julia's powers come from its type system, it may be useful to have something such as macros—code that generates code—at a point where the compiler has inferred the types of the variables and function arguments in the program. Generated functions (also sometimes called staged functions) fulfill this need.

Using generated functions

Declaring a generated function is simple. Instead of the usual function keyword, generated functions are declared with the appropriately named @generated function ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required