Я начал сегодня утром, пытаясь понять, для чего используется выражение «когда» в эрланге.Я знаю, что приведенный ниже пример неверен:
do_larger() ->
io:format("Larger~n").
do_smaller() ->
io:format("Smaller~n").
when_version(Size) ->
when Size > 10 -> do_larger(),
when Size < 10 -> do_smaller().
Я решил взглянуть на его реализацию в Haskell, чтобы посмотреть, поможет ли это, и в итоге запутался еще больше.
Кто-нибудь можетуказать мне на учебник (или объяснить мне), для чего используется оператор when и как он используется в haskell и / или erlang?