# Metaprogramming utilities

**URL:** <https://discourse.julialang.org/t/metaprogramming-utilities/8201>\
**Category:** Tooling\
**Tags:** metaprogramming\
**Created:** [January 6, 2018, 4:35pm UTC](https://discourse.julialang.org/t/metaprogramming-utilities/8201 "2018-01-06T16:35:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![cscherrer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cscherrer/32/7631_2.png) [@cscherrer](https://discourse.julialang.org/u/cscherrer)\
**Post date:** [January 6, 2018, 4:35pm UTC](https://discourse.julialang.org/t/metaprogramming-utilities/8201/1 "2018-01-06T16:35:09Z")

</div>

It would be really helpful to have a reference of available packages that help with metaprogramming. Maybe this could be similar to JuliaDiff or JuliaOpt, or at least a page on a wiki somewhere. Here’s some I’ve come across so far:

- [ChainRecursive](https://github.com/bramtayl/ChainRecursive.jl) by @bramtayl
- [Espresso](https://github.com/dfdx/Espresso.jl) by @dfdx
- [MacroTools](https://github.com/MikeInnes/MacroTools.jl) by @MikeInnes

Others to consider?

---

<div class="post-metadata">

**Author:** ![dfdx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dfdx/32/120_2.png) [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Post date:** [January 6, 2018, 6:28pm UTC](https://discourse.julialang.org/t/metaprogramming-utilities/8201/2 "2018-01-06T18:28:57Z")

</div>

There are also [Sugar.jl](https://github.com/SimonDanisch/Sugar.jl) and somewhat related [Transpiler.jl](https://github.com/SimonDanisch/Transpiler.jl) by @sdanisch.

I remember several people on this forum looking for symbolic transformation tools, not aware of existing packages, so making an org makes sense to me.

---

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [January 7, 2018, 2:32pm UTC](https://discourse.julialang.org/t/metaprogramming-utilities/8201/3 "2018-01-07T14:32:47Z")

</div>

[https://github.com/gdziadkiewicz/ExpressionUtils.jl](https://github.com/gdziadkiewicz/ExpressionUtils.jl)
