Skip to content

Commit

Permalink
Explain the output of :i (>>)
Browse files Browse the repository at this point in the history
  • Loading branch information
igrep committed Aug 11, 2024
1 parent 8134ba4 commit 5ad9003
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions assets/19.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,18 @@ action1 >> action2 >> action3

#### 型で知る`>>`

Haskellにおける`>>`は演算子なので、`:t`を使えばどんな型かがわかる!見てみよう。
Haskellにおける`>>`は演算子なので、`:t`を使えばどんな型かが分かるようになっています。早速見てみましょう:

```
```haskell
ghci> :t (>>)
(>>) :: Monad m => m a -> m b -> m b
```

`Monad`が出てきた...
`Monad`が出てきましたそうあのモナド(`Monad`)です我々はこれまで`IO`型の命令の話をしていたはずなのに一体なぜここで`Monad`が出てきたのでしょうか

`=>`の左辺に出てくると言うことは型クラスらしいので`:i`で見てみる。
どういう理由であれ`=>`の左辺に出てくると言うことは`Monad`は型クラスのようですGHCiの`:i`コマンドを使って調べてみましょう:

```
```haskell
ghci> :i Monad
class Applicative m => Monad (m :: * -> *) where
(>>=) :: m a -> (a -> m b) -> m b
Expand Down

0 comments on commit 5ad9003

Please sign in to comment.