И совершенно о другом
2022-04-13 11:13Все эти ваши монады-шмонады, функторы-шмункторы, безопасная работа с памятью и прочая ересь - ето, конечно хорошо. Но покажите мне язык программирования, в котором вот это, можно написать по человечески, через транзакцию.


(no subject)
Date: 2022-04-13 09:03 (UTC)(no subject)
Date: 2022-04-13 10:05 (UTC)(no subject)
Date: 2022-04-13 10:47 (UTC)а что именно ненравится? Напишите хотябы псевдокод как вы хотите, чтобы оно выглядело. Ну вроде у интелов была транзакционная память intel tsx, но в каком состоянии ее поддержка - я без понятия.
> когда функции get_ это не совсем get и имеют еще некоторое количество сайд эффектов
Тогда желательно не называть ее get, потому что гет предполагается без сайд эффектов.
И в современном программировании предпочтительней использовать для такого неизменяемые переменные. Єто более идеоматично, и тогда код мог бы выглядеть как-то так: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e0576b2ee1c4160a06e2af08dbd11e40
Соответственно, когда вы перегружаете a,b,c - это не вполне нормальный подход, отсюда и костыльность решения.