associatedtype
名になってるのって、この前話した衝突回避のためなのかな? protocol DynamicCallable { associatedtype DynamicCallableArgument associatedtype DynamicCallableResult func dynamicCall(arguments: [DynamicCallableArgument]) throws -> DynamicCallableResult }
https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693dDynamicCollable
、 Python の import に限らず純粋に Swift の範囲でも使えそう。これまで何度か値を callable にしたくなったことがあった気がする。 Codable
のときもそうだったけど、 JSON のデコード楽にしたい→汎用的な仕組みを導入の流れ、いい。[DynamicCallableArgument]
は動的型付け言語にひっぱられすぎな気も?