# \`caller\` suggestion

**URL:** <https://forum.crystal-lang.org/t/caller-suggestion/1767>\
**Category:** Crystal Contrib\
**Created:** [February 27, 2020, 6:50pm UTC](https://forum.crystal-lang.org/t/caller-suggestion/1767 "2020-02-27T18:50:03Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rogerdpack](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/rogerdpack/32/117_2.png) [@rogerdpack](https://forum.crystal-lang.org/u/rogerdpack)\
**Post date:** [February 27, 2020, 6:50pm UTC](https://forum.crystal-lang.org/t/caller-suggestion/1767/1 "2020-02-27T18:50:03Z")

</div>

Since crystal gets to “fix” warts from Ruby…would it be palatable to have the `caller` method return real objects instead of the “overloaded colon delimited strings” as ruby does? 🙂

Today:

```auto
$ crystal eval "pp caller"  
["/eval:1:1 in '__crystal_main'",
 "/usr/local/Cellar/crystal/0.33.0/src/crystal/main.cr:106:5 in 'main_user_code'",
 "/usr/local/Cellar/crystal/0.33.0/src/crystal/main.cr:92:7 in 'main'",
 "/usr/local/Cellar/crystal/0.33.0/src/crystal/main.cr:115:3 in 'main'"]

```

---

<div class="post-metadata">

**Author:** ![wontruefree](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/wontruefree/32/1467_2.png) [@wontruefree](https://forum.crystal-lang.org/u/wontruefree)\
**Post date:** [February 27, 2020, 7:26pm UTC](https://forum.crystal-lang.org/t/caller-suggestion/1767/2 "2020-02-27T19:26:57Z")

</div>

this might be able to be renamed to callstack.

> <https://github.com/crystal-lang/crystal/blob/ed0be70815c79c749678cddeae5a553fc70c6c30/src/callstack.cr#L22>
