Я просто изучаю Haskell, и я все еще не совсем понимаю, когда и как принудительная оценка вынуждена
Когда я хочу, чтобы функция оценивала свои аргументы строго, я обнаружил, что пишу
((f $! x) $! y ) $! z
что кажется странным. Не стоит $! быть лево-ассоциативным, чтобы я мог написать
f $! x $! y $! z
и сделать то, что я хочу?
Я полностью недопонимаю $! оператор?