On Sat, 18 Dec 2010 12:23:45 +0100
Eike Welk
Class Creation --------------
Foo = class {| a, b |}
This should be equivalent to:
class Foo(object): def __init__(self, a, b): self.a = a self.b = b
Inheritance is not so important in the context of classes that have no methods. It could be expressed with a new method ("inherits") of the metaclass. Like this:
Foo = class {| a, b |}.inherits(Bar, Baz)
How one would create methods, and if it should be possible to create method at all, needs to be discussed.
What advantage?
Instance Creation -----------------
foo = {| a=1, b=2 |}:Foo
This should be equivalent to:
foo = Foo(a=1, b=2)
In the usual case, it should not be necessary to specify the class name:
foo = {| a=1, b=2 |}
I want composite object literal notation as well. But certainly not {| a=1, b=2 |}. Rather (a=1, b=2) or (a:1, b:2). Untyped case would created an instance of Object (but since as of now they can't have attrs, there should be another modif), or of a new FreeObject subtype of Object.
The run-time should search for a class with a matching "__init__" method.
? conflicts? Denis -- -- -- -- -- -- -- vit esse estrany ☣ spir.wikidot.com