# Design decisions regarding introsepection and reflection

**URL:** <https://forum.crystal-lang.org/t/design-decisions-regarding-introsepection-and-reflection/1777>\
**Category:** Help & Support\
**Created:** [March 1, 2020, 11:50am UTC](https://forum.crystal-lang.org/t/design-decisions-regarding-introsepection-and-reflection/1777 "2020-03-01T11:50:19Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alain](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/alain/32/745_2.png) [@Alain](https://forum.crystal-lang.org/u/Alain)\
**Post date:** [March 1, 2020, 11:50am UTC](https://forum.crystal-lang.org/t/design-decisions-regarding-introsepection-and-reflection/1777/1 "2020-03-01T11:50:19Z")

</div>

What’s the take of the crystal language towards introspection ?  
E.g. the ruby method myclass.methods ?

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/blacksmoke16/32/1241_2.png) [@Blacksmoke16](https://forum.crystal-lang.org/u/Blacksmoke16)\
**Post date:** [March 1, 2020, 2:11pm UTC](https://forum.crystal-lang.org/t/design-decisions-regarding-introsepection-and-reflection/1777/2 "2020-03-01T14:11:10Z")

</div>

They exist but are compile time constructs. There currently is no runtime reflection.

See [https://crystal-lang.org/reference/syntax\_and\_semantics/macros.html](https://crystal-lang.org/reference/syntax_and_semantics/macros.html), also the API docs [https://crystal-lang.org/api/Crystal/Macros/TypeNode.html](https://crystal-lang.org/api/Crystal/Macros/TypeNode.html).
