I just accidentally discovered a function declaration syntax that I have never seen before
\> add :: Int -> Int -> Int = (+)
\> add 1 2
3
\> -- or with points
\> add' :: Int -> Int -> Int = \x y -> x + y
\> add' 3 4
7
\> -- multi line
\> :{
> add''
> :: Int -> Int -> Int
> = \x y
> -> x + y
> :}
\> add'' 5 6
11
How come i have never seen this anywhere?
It is using the grammar for pattern type signatures.