FOIL Python's strong typing!
54 52 50 49 48 45 39 bytes
Removed 4 bytes thanks to Dennis.
The latest version is inspired by the "some reason" in xnor's answer.
class t(int):__add__=type
a=b=t()
c=d=0
54 bytes
class m(int):__call__=__add__=lambda*x:m()
a=b=c=d=m()
Make an object that inherits from int
, except adding or calling just returns a copy of itself.
Same length:
class m(int):__call__=__add__=lambda a,b:a
a=b=c=d=m()
I thought min
or {}.get
would work in place of lambda a,b:a
, but for some reason they act only on the second argument.
81 66 bytes
class e:__mul__=lambda*o:0;__add__=lambda*o:lambda x:0
a=b=c=d=e()