Четверг, 22 Апреля 2021 г. 16:01
+ в цитатник
korvin:
applegame, так, пажди, ёмана, это просто создание нового скоупа, тут нет ничего императивного, то что оно записывается линейно, а не вложено — это просто синтаксический сахар, чтобы не было больших лестниц, а по сути это:
let a = 1 in
let b = 2 in
let (b, a) = (a, b) in
....
что в свою очередь тривиально преобразуется в лямбда-выражение.
Никакой императивщины тут нет.
Вот, например, в Go похожее выражение:
var a, b int
a = 1
b = 2
a, b = b, a
выглядит практически так же, а смысл имеет другой. Вот это императивный код, потому что меняет состояние, а не создаёт новое. Это и есть ключевой момент.
https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846663
Метки:
Holy Wars
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-