OOlib
OOlib copied to clipboard
Generate multiple `toProtocol()` for runtime polymorphism instead of `pick`
protocol Animal:
proc eat
protocol CanFly:
proc fly
class Cat impl Animal:
proc eat =
discard
# automatically defined
proc toProtocol(): Animal
class Bird impl (Animal, CanFly):
proc eat =
discard
proc fly =
discard
# automatically defined
proc toProtocol(): Animal
proc toProtocol(): CanFly
proc toProtocol(): Animal & CanFly
converter may be good for it
& operator in https://github.com/glassesneo/OOlib/issues/140