# Question about compilation strategy over private and public inputs

**URL:** <https://forum.aztec.network/t/question-about-compilation-strategy-over-private-and-public-inputs/2389>\
**Category:** Noir\
**Tags:** noir\
**Created:** [October 9, 2023, 1:33pm UTC](https://forum.aztec.network/t/question-about-compilation-strategy-over-private-and-public-inputs/2389 "2023-10-09T13:33:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gutentag](https://avatars.discourse-cdn.com/v4/letter/g/3e96dc/32.png) [@gutentag](https://forum.aztec.network/u/gutentag)\
**Post date:** [October 9, 2023, 1:33pm UTC](https://forum.aztec.network/t/question-about-compilation-strategy-over-private-and-public-inputs/2389/1 "2023-10-09T13:33:37Z")

</div>

I am new to Noir’s compiler. I would like to ask about the compilation strategies for the input variables that are marked with the keyword public and private. For instance, in the hello-world example of Noir:

```auto
fn main(x : Field, y : pub Field) {
    assert(x != y);
}

```

The input variable x is implicitly marked as private, whereas the input y is marked as public. Does Noir perform different compilation strategies for x and y? Thanks!

---

<div class="post-metadata">

**Author:** ![Savio](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/savio/32/21_2.png) [@Savio](https://forum.aztec.network/u/Savio)\
**Post date:** [October 20, 2023, 5:55pm UTC](https://forum.aztec.network/t/question-about-compilation-strategy-over-private-and-public-inputs/2389/2 "2023-10-20T17:55:57Z")

</div>

Hi there and welcome to the community 👋

Public values are private values with extra constraints laid that guarantee their values are exposed as a part of the proof generated.

You can read more about private and public types [here](https://noir-lang.org/language_concepts/data_types/#private--public-types), and feel free to follow up if you have additional questions!
