I wanted to better understand the concept of metaprogramming in the Julia programming language. In Julia programming, metaprogramming refers to the ability to write code that manipulates other Julia code, treating it as data. This capability allows programs to dynamically generate, transform, and analyze their own code. This transformation is done through features like macros, which are code transformations performed during compilation, and reflection, which allows runtime introspection of code and types.
This project delves into how to perform metaprogramming in Julia.
This repository contains code examples, image files, IJulia notebooks and other general materials related to introducing Julia programming language's Metaprogramming, Macros, and Generated Functions. It is meant for self-learning and sharing what I have learned.
You will need to install Julia and IJulia to utilize the Jupyter notebooks in this repository. Then, clone the repository and you are ready to go.
You will need at least Julia version 0.6.2 or higher.
- juliaup
A recommended way to install Julia is to install juliaup which is a small, self-contained binary that will automatically install the latest stable Julia binary and help keep it up to date. It also supports installing and using different versions of Julia simultaneously.
Install juliaup by running this in your terminal:
curl -fsSL https://install.julialang.org | sh
This will install the latest stable version of Julia, which can be launched from a command-line by typing julia as well as the juliaup tool. To install different Julia versions see juliaup --help.
- Downloads If you want to manually download and install specific Julia versions, see the Downloads page.
Install IJulia using instructions here
No external data sources were used
Thanks for visiting.
Give the project a star (⭐) if you liked it or if it was instructional for you!
You've beenlanced! 😉
I would like to extend my gratitude to all the individuals and organizations who helped in the development and success of this project. Your support, whether through contributions, inspiration, or encouragement, have been invaluable. Thank you.
Specifically, I would like to acknowledge:
-
The folks at Julialang.org for their installation instructions and up-to-date information on the happenings with Julia.
-
Hema Kalyan Murapaka and Benito Martin for sharing their README.md templates upon which I have derived my README.md.
This project is licensed under the MIT License - see the LICENSE file for details
