Я понимаю, что если бы у меня был оператор c = a AND b, если бы a было false, то компилятор не стал бы оценивать b, он бы знал результат, потому что a уже false.
Но что, если бы у меня была функция, которая была бы рекурсивной и объединяла рекурсивные вызовы с помощью И.
So myfunc input1 input2 = and[myfunc(input1),myfunc(input2)]
если функция, возвращаемая из любой точки в приведенном выше дереве рекурсивных вызовов функций, вернула ложь, будут ли рекурсивные вызовы функций завершаться и значение false будет просто оценено в исходной точке вызова?
Другими словами, будет ли использоваться ленивая оценка выше?