In my opinion, the argument that string manipulation is out of scope, also 
applies for all the container classes like Dict and Tuple.
And for now, I don't think that sympy is excessively using arithmetics of 
those objects internally because of slowdowns.

On Friday, May 29, 2020 at 3:48:30 AM UTC+9, Aaron Meurer wrote:
>
> 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 <syle...@gmail.com <javascript:>> 
> 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 sy...@googlegroups.com <javascript:>. 
> > 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 sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/31c98bf9-4e99-40e2-8ea9-fb0e4fa1fed4%40googlegroups.com.

Reply via email to