Я бы предпочел использовать let ... and ... and ... in
, чем вложенные let
, когда это возможно, но обычный синтаксис let не позволяет этого для выражений, которые зависят друг от друга.
Не положено:
let encrypt password =
let seed = int 16
and keys = xlat seed (length password)
and plaintext = map code (explode password) in
map2 logxor plaintext keys
Есть ли в OCaml эквивалент let*
в Lisp, который позволяет это делать?