Haskell演算子、中置記法の記号の読み方

--Haskell演算子中置記法の記号の読み方
! -> アレーのインデクス。(!) :: Ix i => Array i e -> i -> e
! -> 正格(strict)フラグ。foo !x -> foo strict x。とか
!! -> リストのインデクス。(!!) :: [a] -> Int -> a
$ -> カッコのかわり ($) :: (a -> b) -> a -> b
$! -> カッコのかわりの正格バージョン。$!以降が先に評価される
&& -> 論理積。(&&) :: Bool -> Bool -> Bool
() -> カッコ。ユニット型。() :: ()
* -> 掛け算。(*) :: Num a => a -> a -> a
*,#,?,??,~ -> カインド。型制約
*>,<*>,<* -> アプリカティブ。Applicative f => f a -> f b -> f b、f (a -> b) -> f a -> f b、f a -> f b -> f a
++ concat。(++) :: [a] -> [a] -> [a]
, -> カンマ。タプル型コンストラクタ。(,) :: a -> b -> (a, b)
-> -> 型コンストラクタ。カインド
. -> ピリオド。パイプ。関数の合成。(.) :: (b -> c) -> (a -> b) -> a -> c
/ -> 割り算。(/) :: Fractional a => a -> a -> a
/= -> 論理否定。(/=) :: Eq a => a -> a -> Bool
: -> コロン。コンス。リスト型コンストラクタ。(:) :: a -> [a] -> [a]
:: -> (の)タイプ(は)
:{,:} -> ghci上で複数行
< -> 小なり。Ord a => a -> a -> Bool
<$,<$> -> ファンクタ。(f)map。Functor f => a -> f b -> f a、 (a -> b) -> f a -> f b
<- -> 束縛、バインド(IOアクション)
<= -> 小なりイコール。Ord a => a -> a -> Bool
<> -> mappend。(<>) :: Monoid m => m -> m -> m
== -> イコール。(==) :: Eq a => a -> a -> Bool
=> -> 型制約。Ord a => a、とか。
> -> 大なり。Ord a => a -> a -> Bool
>-> -> ストリームとしてつなぐ。Pipe
>= -> 大なりイコール。Ord a => a -> a -> Bool
>>,>>=,=<<,>=>, -> モナド。バインド。Monad m => m a -> m b -> m b、m a -> (a -> m b) -> m b、(a -> m b) -> m a -> m b,(a -> m b) -> (b -> m c) -> a -> m c
@ -> as。アズパターン。ll@(l:ls)とか。
[ ] -> 空リスト。[ ] :: [t]
\ -> ラムダlambda。(\x -> x ^2) 3 -> 9
\& -> 空文字列"" -> 文字列パース用
_ -> ワイルドカードパターン。
| -> ガードの区切り。内包表記list comprehensionの区切り
|| -> 論理和。(||) :: Bool -> Bool -> Bool
~ -> 反駁不可能パターン。レイジーパターン。irrefutable pattners, lazy patterns
{ } -> レコード構文、記法(フィールドに名前をつける)ときの大カッコ。
^ -> 累乗。(^) :: (Integral b, Num a) => a -> b -> a
% -> 有理数有理数割り算。(%) :: Integral a => a -> a -> Ratio a

.. -> 範囲生成 [1..10] range generate notation