Steven D'Aprano wrote:
I know that *technically* def is an assignment (a name binding) but it doesn't look like one. It looks like a definition or declaration.
Well, the use cases we've been considering are effectivly definitions, they just don't look like it because we don't have a syntax that generalises the definitioniness of 'def' and 'class'.
To me, I don't think def is a good match because def doesn't have a left and right hand side. Assignment does.
Maybe that means assignment isn't a good model for the new syntax?
Maybe it should be more like:
def Symbol x
If you want to give it args, you do
def Symbol x(args)
The idea is that this is modelled after
with the keyword 'class' replaced by another keyword together with the type of thing you're defining.