DS

Size: a a a
DS
MZ
f :: [Char]Синтаксис function binding.
f = x where x = "a eto kto togda?"
A
MZ
MZ
JS
f :: [Char]Синтаксис function binding.
f = x where x = "a eto kto togda?"
MZ
JS
f :: [Char]Синтаксис function binding.
f = x where x = "a eto kto togda?"
> runQ [d| f = a |]
[ ValD ( VarP f_2 )
( NormalB ( UnboundVarE a ) ) []
]
> runQ [d| f _ = a |]
[ FunD f_3
[ Clause [ WildP ]
( NormalB ( UnboundVarE a ) ) []
]
]
JS
We distinguish two cases within this syntax: a pattern binding occurs when the left hand side is a pat otherwise, the binding is called a function binding. Either binding may appear at the top-level of a module or within a where or let construct.
f = \x -> y
f x = y
MZ
D
JS
MZ
fn = \x -> x
получается pattern binding, правильно? Только никакой паттерн кроме имени для функции применить нельзя.JS
fn = \x -> x
получается pattern binding, правильно? Только никакой паттерн кроме имени для функции применить нельзя.JS
fn = \x -> x
получается pattern binding, правильно? Только никакой паттерн кроме имени для функции применить нельзя.JS
к
к
fn = \x -> x
получается pattern binding, правильно? Только никакой паттерн кроме имени для функции применить нельзя.к
MZ
_
как к паттерну, в других языках это как правило заглушка для линтера, чтобы не ругался на неиспользуемую переменную.