You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have read the roadmap and priorities and I believe this request falls within the priorities.
What is your request?
Hello,
that feature improved __getitem__ by letting take indexes as parameters (Variant[Int,Bool](1)[Int]),
__is__ might get an improvement by it too, here are some examples:
Example for variant:
struct Variant[*Ts:CollectionElement]():
fn__is__[
other: CollectionElement
](self)->Bool:
returnself.isa[other]()
fnmain():
varx= Variant[Int,Bool](1)
if x is Int: print(x[Int])
if x is Bool: print(x[Bool])
And for PythonObject:
x = PythonObject(1)
if x is Int: print(int(x))
#if x is List#if x is Tuple
What is your motivation for this change?
Variant is a nice type that can seem weird for python users, this could make it more user-friendly.
it could also ameliorate any user-created structs in a super user-friendly manner.
Any other details?
No response
The text was updated successfully, but these errors were encountered:
In Python, the operator is allows the programmer to check the identity of an object, in other words, it allows someone to check that two objects have the same address in memory. While this proposal will make the Variant struct have a nicer api, it may conflict in the future when is will be used to check the memory addresses of references.
Maybe let's hold on to this syntax sugar until we know how is will be used exactly with references?
Review Mojo's priorities
What is your request?
Hello,
that feature improved
__getitem__
by letting take indexes as parameters (Variant[Int,Bool](1)[Int]
),__is__
might get an improvement by it too, here are some examples:Example for variant:
And for PythonObject:
What is your motivation for this change?
Variant is a nice type that can seem weird for python users, this could make it more user-friendly.
it could also ameliorate any user-created structs in a super user-friendly manner.
Any other details?
No response
The text was updated successfully, but these errors were encountered: