gpt4 book ai didi

haskell - MonadState 类型类声明的语法

转载 作者:行者123 更新时间:2023-12-02 16:43:18 25 4
gpt4 key购买 nike

Possible Duplicate:
What's the “|” for in a Haskell class definition?

我对 Haskell 还很陌生。在 documentation of MonadState我看到以下内容:

class Monad m => MonadState s m | m -> s where
get :: m s
put :: s -> m ()

什么是 | m -> s这里的语法?

最佳答案

这称为函数依赖或简称为fundep。语法

class Monad m => MonadState s m | m -> s where

意味着每个m只有一个实例,换句话说,如果m已知,编译器就可以推断出的类型s 形成。使用fundeps使编码变得更加容易,因为编译器可以推断更多。

关于haskell - MonadState 类型类声明的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6725163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com