9
Haskellで機能的依存関係を持つ動機は何ですか?機能依存の機能的依存関係を持つ動機
一つの例:それはRWH帳に記載されている
class (Monad m) => MonadSupply s m | m -> s where
next :: m (Maybe s)
は、その機能依存性は、型チェッカーを支援します。それは実際にどう助けますか?
また、コードのこの作品は、実際にコンパイルされます。
class (Monad m) => MonadSupply s m where
next :: m (Maybe s)
しかし、私は推測する、それが実行時エラーを生成します。
「mの場合、正確に1 sがあります」ということを理解できません。 'm'にちょうど' s'があると言うと、 'MonadSupply m m'と書いてみませんか? (私は狂っていると知っています:)) – Sibi
@Sibi 's'は通常' MonadState'と異なり、 'StateT''と' s'を持っています。ただ 's'を使いたいだけです。 – jozefg
与えられた "供給モナド"は、通常、1つのタイプのみを供給します!たとえば 's ='型の値を提供する 'm = MySpecialSupplyMonad s'を持っているなら、タイプ引数" 's'"を読むだけで型 "MySpecialSupplyMonad s'"型から供給型を知ることができます。したがって、 's'は機能的に' m'に依存していると言えます。 –