# How does one enforce type safety and readability using Julia

**URL:** <https://discourse.julialang.org/t/how-does-one-enforce-type-safety-and-readability-using-julia/3066>\
**Category:** General Usage\
**Created:** [April 5, 2017, 2:20pm UTC](https://discourse.julialang.org/t/how-does-one-enforce-type-safety-and-readability-using-julia/3066 "2017-04-05T14:20:28Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![thofma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thofma/32/1691_2.png) [@thofma](https://discourse.julialang.org/u/thofma)\
**Post date:** [April 5, 2017, 3:23pm UTC](https://discourse.julialang.org/t/how-does-one-enforce-type-safety-and-readability-using-julia/3066/2 "2017-04-05T15:23:16Z")

</div>

I think you are looking for interfaces/traits. Unfortunately this is currently not provided by the julia language itself, but if you google for it, you can find various ways to work around it. See for example [How to find if a method is implemented for an interface?](https://discourse.julialang.org/t/how-to-find-if-a-method-is-implemented-for-an-interface/636) or [https://github.com/mauro3/SimpleTraits.jl](https://github.com/mauro3/SimpleTraits.jl).

See also [Interfaces for Abstract Types · Issue #6975 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/6975).

---

_[View the full topic](https://discourse.julialang.org/t/how-does-one-enforce-type-safety-and-readability-using-julia/3066)._
