Folks, One thing I'd really like to see in Python 3000 is support for first- class symbols, with literal syntax. Stealing syntax from Ruby would work for me:
def web_dispatch("/bank-account", :GET, retrieve_account): pass The lack thereof in Python is a wart I tend to run into in Python. I end up having to use strings, but not really using them for their stringiness (never using any of their methods, for example). Which works, but is sorta ugly. So I end up making classes and instances, but these are really just wrappers around strings, when all I really want is a symbol. (For example, in my SemWeb lab @ UMD, we built a Rete rule engine in Python that's being used in some SemWeb projects. We gave a talk about it at the last PyCon in DC. Symbols in that project would have made life a lot easier, instead of making up a bunch of classes that were just wrappers around strings. Which is: (1) really boring, (2) error-prone (because of (1)), and (3) generally not fun.) I also think, though I'm not really gonna argue the point, that having symbols would clean up lots of different sorts of APIs that use strings or class instances where symbols would work perfectly nicely. Some people claim the point of symbols is to save memory over repeated string usage, but I don't care about that, and I make claims about any kind of performance enhancement. I think symbols in Python would just make the language more fun. I don't know if the Ruby syntax for symbols, :foo, will work in Python (though I think visually it's a good thing), but it would be really nice to have symbols with *some* syntax in Python 3000. Again, this design request is based on aesthetics and fun: having symbols would make Python more fun. Cheers, Kendall Clark PS--I'd also like "?", "!", and "-" to be legal characters in function, method, and variable names, but I won't push my luck -- and I seem to remember Guido saying that would never happen, at some point back in the day. Fair enough. ;> _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com