Typeclasses with several methods
まだ誰も着手していません。
評価
調査の方向性
ファイル、テスト、エントリーポイントは指定されていません。まず、現在の typeclass メカニズムが実装をどのように表現し、バインドしているかを追跡し、そのうえで、複数のメソッド(classmethod を含む)を持つ Python Protocol をどのようにサポートすべきかを判断してください。提案された Functor の形が機能し、その実装のバインディングが定義され、テストでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
There's a common use-case when we need to create a type-class with several methods. Like:
class Functor(Protocol[T]):
def map(self, function: Callable[[T], Functor[V]]) -> Functor[V]:
...
@classmethod
def from_value(cls, inner_value: V) -> Functor[V]:
...
Currently, there's no way we can do that.
I propose something like this:
@typeclass
class Functor(Protocol[T]):
def map(self, function: Callable[[T], Functor[V]]) -> Functor[V]:
...
@classmethod
def from_value(cls, inner_value: V) -> Functor[V]:
...
I am not sure how to bound it to the actual implementation.
- 主要言語
- Python
- スター
- 730
- フォーク
- 30
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dry-python/classes のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
dry-python/classes#496 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
dry-python/classes#494 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 52/100
dry-python/classes#492 · コメント 2 件 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
dry-python/classes#481 · コメント 5 件 · リアクション 4 件 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
dry-python/classes#386 ·
dry-python/classes の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
canonical/paas-charm#368 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
StevenBlack/hosts#3256 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
qualcomm/qai-appbuilder#275 ·