Skip to content

Symbol init cleanup 2 #691

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Prev Previous commit
Next Next commit
Clarify Symbol as per mmatera
Update builtin/atomic/symbols.py according to current standards.
  • Loading branch information
rocky committed Jan 7, 2023
commit 4d49f6bb4830650c077d61bf04867e8ab4e0600b
12 changes: 8 additions & 4 deletions mathics/core/symbols.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,13 +329,17 @@ def replace_slots(self, slots, evaluation) -> "Atom":


class Symbol(Atom, NumericOperators, EvalMixin):
"""
A Symbol is a kind of Atom that acts as a symbolic variable.
"""A Symbol is a kind of Atom that acts as a symbolic variable.

All Symbols have a name that can be converted to string.

A Variable Symbol is a ``Symbol``` that is associated with a ``Definition``
that determines its evaluation value.
A Variable Symbol is a ``Symbol``` that is associated with a
``Definition`` that has an ``OwnValue`` that determines its
evaluation value.

A Function Symbol, like a Variable Symbol, is a ``Symbol`` that is
also associated with a ``Definition``. But it has a ``DownValue``
that is used in its evaluation.

A Function Symbol, like a Variable Symbol, is a ``Symbol`` that is
also associated with a ``Definition``. But it has a ``DownValue``
Expand Down