YoVDO

Introduction to Metaprogramming in Julia - JuliaCon 2021 Workshop

Offered By: The Julia Programming Language via YouTube

Tags

Julia Courses Code Generation Courses Macros Courses Metaprogramming Courses Syntax Trees Courses

Course Description

Overview

Dive into a comprehensive workshop on metaprogramming in Julia from JuliaCon 2021. Explore the fundamentals of metaprogramming, including its applications, best practices, and when to use it. Learn about Julia code structure, symbols, expressions, and operator precedence. Delve into expression trees, macros, and macro hygiene. Discover how to create domain-specific languages using macros, work with multiple macro arguments, and generate code using eval. Gain insights into world-age errors and their implications. Follow along with practical exercises and solutions, including the 'substitute!' and 'find_variables' challenges. Access accompanying notebooks on GitHub and engage in Q&A sessions by registering for JuliaCon. Perfect for intermediate to advanced Julia users looking to enhance their metaprogramming skills and understanding.

Syllabus

Outline.
Resources.
Intro to metaprogramming.
Domain-specific language example.
2 - Structure of Julia code.
Symbols.
Expressions.
Operator precedence.
3 - Expression trees.
Solution to the `substitute!` exercise.
Solution to `find_variables` exercise.
4 - Macros.
Macro hygiene.
Defining a show macro.
Macros for domain-specific languages: Variables.
Macros with more than one argument.
Code generation using eval.
World-age errors.


Taught by

The Julia Programming Language

Related Courses

Amazon Q Introduction (Thai)
Amazon Web Services via AWS Skill Builder
Angular tooling: Generating code with schematics
Coursera Project Network via Coursera
AWS Flash - Chalk Talks: Amazon Q Developer
Amazon Web Services via AWS Skill Builder
AWS Flash - Generative AI in Action: Real-World Use Cases
Amazon Web Services via AWS Skill Builder
AWS Flash - Generative AI in Action: Real-World Use Cases (Simplified Chinese)
Amazon Web Services via AWS Skill Builder