# Function name

**URL:** <https://ziggit.dev/t/function-name/17765>\
**Category:** Explain\
**Created:** [October 1, 2026, 5:20am UTC](https://ziggit.dev/t/function-name/17765 "2026-10-01T05:20:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![zeeqeeng](https://ziggit.dev/letter_avatar_proxy/v4/letter/z/8baadc/32.png) [@zeeqeeng](https://ziggit.dev/u/zeeqeeng)\
**Post date:** [October 1, 2026, 5:20am UTC](https://ziggit.dev/t/function-name/17765/1 "2026-10-01T05:20:36Z")

</div>

> - If `x` is callable, and `x`’s return type is `type`, then `x` should be `TitleCase`.
> - If `x` is otherwise callable, then `x` should be `camelCase`.

[`Io.File.writer()`](https://codeberg.org/ziglang/zig/src/commit/c29a215217b50989d431ba4d0ee97a323cdedc7b/lib/std/Io/File.zig#L597)'s return type is `Writer`, shouldn’t it be named to ‘Writer()’ here? Or am I wrong with knowledge of “callable”?

---

<div class="post-metadata">

**Author:** ![vulpesx](https://ziggit.dev/user_avatar/ziggit.dev/vulpesx/32/3989_2.png) [@vulpesx](https://ziggit.dev/u/vulpesx)\
**Post date:** [October 1, 2026, 5:26am UTC](https://ziggit.dev/t/function-name/17765/2 "2026-10-01T05:26:50Z")

</div>

it returns an _instance_ of a type, so it uses camelCase (which starts lowercase).

If it were to return a type itself, then it would use PascalCase (which starts UpperCase)

---

<div class="post-metadata">

**Author:** ![biom4st3r](https://ziggit.dev/user_avatar/ziggit.dev/biom4st3r/32/4342_2.png) [@biom4st3r](https://ziggit.dev/u/biom4st3r)\
**Post date:** [October 1, 2026, 5:27am UTC](https://ziggit.dev/t/function-name/17765/3 "2026-10-01T05:27:15Z")

</div>

It is a callable, but it doesn’t return a type; it returns a value/instance of type Writer.
