One of the arguments I recall is that a String object would have lots
of string related methods. But string manipulation isn't really
something that SymPy as a symbolic system needs to support.

The codegen use-case was not imagined back then. I don't think the
codegen classes should be used outside of codegen. They are designed
to represent abstract programming language concepts for generating
code.

Aaron Meurer

On Thu, May 28, 2020 at 1:15 AM S.Y. Lee <[email protected]> wrote:
>
> I haven't been part of the discussion back then. But I am also weighted 
> toward having a separate string classes because
>
> 1. Symbol is actually more heavier strings because assumptions are stored and 
> checked against.
>
> 2. I also see that atomic String class is implemented in codegen.ast 
> separately, so there were some other use cases.
>
> On Tuesday, May 26, 2020 at 5:34:43 PM UTC+9, mcpl snu wrote:
>>
>> Currently, many classes in SymPy include Symbol in args to provide the names 
>> to their instances. An example for this is sympy.vector.CoordSys3D class.
>>
>> Although this can be a clever way to do it, I think this is wierd - perhaps 
>> it's an abuse of using Symbol. As far as I know, SymPy's Symbol is a scalar 
>> whose operations, e.g. addition, integration, etc... are defined. When we 
>> say "This 3D system's name is 'C'", we don't expect that this 'C' can be 
>> substituted, divided, or subject to any other operation. Then why use Symbol 
>> to denote it in the first place?
>>
>> Not only this design is unnecessary, it actually raises error. Please refer 
>> to this issue page for example
>>
>> Although there can be many ways to circumvent this issue, I think the most 
>> simple way is to introduce String class, which wraps str and is a subclass 
>> of Atom.
>>
>> If there is any reason to use Symbol for this purpose that I overlooked, 
>> please leave a comment here. Thank you.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/0ebe7487-2be3-4286-a824-4001bbbc0b40%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6KDLx1_BTwPPKCpYi7Y_4KqvtWYziW3DOP5cyCUOz5o_g%40mail.gmail.com.

Reply via email to