Часть решения, я пытаюсь найти способ преобразовать значение логической анонимной функции в ее противоположность.например, у меня есть функция f
, которая выглядит следующим образом: fn x => x > 8
.Я хотел бы, чтобы какой-то оператор, например not
, преобразовал бы вывод в противоположный, поэтому анонимный оператор фактически вычислит fn x => x <= 8
.Примерно так:
fun foo f x = not f x;
Но это не сработает, потому что not
работает только с логическими значениями.Я знаю, что могу сделать это следующим образом:
fun foo f x = if f x then false else true;
Но я хочу как-то сделать это в одной строке без ifs
.Возможно ли это?