# ModelingToolkit.jl: ERROR: LoadError: UndefVarError: Sym not defined

**URL:** <https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569>\
**Category:** Modelling & Simulations\
**Tags:** question, error\
**Created:** [January 19, 2021, 12:07am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569 "2021-01-19T00:07:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![grheadrick](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/grheadrick/32/21111_2.png) [@grheadrick](https://discourse.julialang.org/u/grheadrick)\
**Post date:** [January 19, 2021, 12:07am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569/1 "2021-01-19T00:07:45Z")

</div>

I’m just getting started with SciML and am looking at ModelingToolkit.jl. The macros work:

```julia
@variables x y

```

But in docs there is a [macro free usage](https://mtk.sciml.ai/dev/tutorials/symbolic_functions/#Non-Interactive-Development-(No-Macro-Version)-1) . The above code should also be equivalent to:

```julia
x = Num(Sym{Float64}(:x))
y = Num(Sym{Float64}(:y))

```

but then I get an error:

> ERROR: LoadError: UndefVarError: Sym not defined

What am I missing? Thanks for the help.

EDIT:  
Instead use:

```julia
x = (Variable{Number}(:x))()
y = (Variable{Number}(:y))()

```

Found this using @macroexpand

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 19, 2021, 3:42am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569/2 "2021-01-19T03:42:13Z")

</div>

What version? Seems like a really old version (though things are moving fast right now)

---

<div class="post-metadata">

**Author:** ![grheadrick](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/grheadrick/32/21111_2.png) [@grheadrick](https://discourse.julialang.org/u/grheadrick)\
**Post date:** [January 22, 2021, 2:25am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569/3 "2021-01-22T02:25:34Z")

</div>

Sorry for slow reply,  
Julia Version 1.4.2  
ModelingToolkit v3.20.1

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 22, 2021, 2:26am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569/4 "2021-01-22T02:26:51Z")

</div>

Yes it was `@variables` back then. I would highly recommend using the latest Julia if you’re using ModelingToolkit.jl since it’s still under very active development. It’s on v5 now so you were just reading different version documentation than what you were using.

---

<div class="post-metadata">

**Author:** ![grheadrick](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/grheadrick/32/21111_2.png) [@grheadrick](https://discourse.julialang.org/u/grheadrick)\
**Post date:** [January 22, 2021, 2:33am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-error-loaderror-undefvarerror-sym-not-defined/53569/5 "2021-01-22T02:33:24Z")

</div>

Thank you. Will do
