# CAS Best Practices

**URL:** <https://discourse.julialang.org/t/cas-best-practices/58092>\
**Category:** Machine Learning\
**Tags:** symbolic\
**Created:** [March 27, 2021, 8:51pm UTC](https://discourse.julialang.org/t/cas-best-practices/58092 "2021-03-27T20:51:11Z")\
**Posts on this page:** 1\
**Showing post:** 83

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [April 6, 2021, 4:51am UTC](https://discourse.julialang.org/t/cas-best-practices/58092/83 "2021-04-06T04:51:36Z")

</div>

We are not going to abandon any of these `print(names(Base.Math))`. I understand how that impression may have been conveyed, inadvertently. What is being considered is how to respect the numerical math functions without abandoning the symbolic/theoretical math functions that may carry the same names in ordinary discourse (hence the tangling of notions). It is my guess that we will find a way to distinguish the desired context (symbolic, numeric, some of each) for any occurrence of the named function – there are multiple avenues for this. The simplest way to distinguish the Julia numerical square\_root from the more constructively mathematical symbolic square\_root would be use the name from Base.Math as the numerical function and to use its titlecase spelling as the symbolic function `sqrt(2) !== Sqrt(2)`. That leaves out a mixed version (maybe `Sqrt` is mixed, and purely symbolic is a context, as with `let`, and `do` blocks).

see next post by @DNF for one of the more familiar approaches within Julia

---

_[View the full topic](https://discourse.julialang.org/t/cas-best-practices/58092)._
