Typeclasses with several methods
还没有人认领这个 Issue。
评估
调研方向
未指定任何文件、测试或入口点。首先跟踪当前 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 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 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 个 reaction ·
-
bug
难度 2/5 1-3 小时 新手友好度 35/100
dry-python/classes#386 ·
查看 dry-python/classes 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 90/100
learningequality/ricecooker#747 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 76/100
run-llama/llama_index#23199 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
KhronosGroup/glTF-Blender-IO#2769 ·