Я пытаюсь вложить пару утверждений let, но я получаю синтаксические ошибки, которые не имеют для меня смысла. Я действительно новичок в программировании Haskell, поэтому я уверен, что это то, что я просто не понимаю (возможно, связано с интервалом). Я понимаю, что let и in должны находиться в одной колонке.Как вложить разрешения в Haskell?
Почему это, что:
aaa = let y = 1+2
z = 4+6
in y+z
отлично работает, в то время как
aaa = let y = 1+2
z = 4+6
in let f = 3
e = 3
in e+f
дает мне ошибку: "ошибка синтаксиса в выражении (неожиданную` = ')"
Вне темы, но let-выражения рекурсивно связаны по умолчанию, поэтому вложение let внутри let крайне редко необходимо. –
Что означает John L, так это то, что вы можете объединить внутренние и внешние утверждения let в один оператор. –
Правильно, я понимаю, это было в образовательных целях. Я пытался выяснить, был ли язык статически или динамически охвачен без ссылки на руководство. – Nico