Hacker News new | ask | show | jobs
by ches 4367 days ago
> I do think that some strongly typed languages make it too difficult to step outside the type system; in Scala I have to do something like (x.asInstanceOf[{def foo(): String}]).foo() whereas in Python I can just write x.foo()

Have to make an explicit cast with a structural type? Surely you can do better, like, say, a trait.

> I'm talking about casting, calling a method that the type system doesn't know is present.

I think a larger example is necessary to see how you ended up in such a situation, but I suppose it's off-topic...

1 comments

> Have to make an explicit cast with a structural type? Surely you can do better, like, say, a trait.

Usually, yes. But the only way that's as general as the Python line is to use the structural type.