# Is the \`value\` field of \`QuoteNode\` public?

**URL:** <https://discourse.julialang.org/t/is-the-value-field-of-quotenode-public/130495>\
**Category:** General Usage\
**Tags:** metaprogramming\
**Created:** [July 5, 2025, 4:10pm UTC](https://discourse.julialang.org/t/is-the-value-field-of-quotenode-public/130495 "2025-07-05T16:10:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [July 5, 2025, 4:10pm UTC](https://discourse.julialang.org/t/is-the-value-field-of-quotenode-public/130495/1 "2025-07-05T16:10:10Z")

</div>

Is the `value` field of a `QuoteNode` public? The docstring does not mention the `value` field. I just wrote the following function, but I’m not sure if using the `value` field means that I’m accessing internals.

```julia
function is_symbol(ex)
    ex isa Symbol || (
        ex isa QuoteNode &&
        ex.value isa Symbol
    )
end

```

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [July 8, 2025, 9:12am UTC](https://discourse.julialang.org/t/is-the-value-field-of-quotenode-public/130495/2 "2025-07-08T09:12:20Z")

</div>

The [devdocs manual](https://docs.julialang.org/en/v1/devdocs/ast/) mentions it:

> For example, the function `f() = :a` contains a `QuoteNode` whose `value` field is the symbol `a`, in order to return the symbol itself instead of evaluating it.

so I would treat it as public. That said, a PR that mentions it in the docstring would be great to clarify things.
