Как называется это символическое преобразование кода?
Я часто пересекаю этот вид преобразования кода (или даже математического преобразования). (Пример Python, но относится к любому языку.)
Я пошел на функцию
def f(x):
return x
Я использую это в другой.
def g(x):
return f(x)*f(x)
print g(2)
приводит к 4
Но я хочу удалить функциональную зависимость и изменить функцию g на
def g(f):
return f*f
print g( f(2) )
приводит к 4 тоже
Как вы называете этот вид преобразования, локально превращая функцию в скаляр?
1 ответ
Я не уверен, что есть определенный термин для этого.
В общих чертах для функционального программирования обычно не делается различий между передачей скалярных аргументов и передачей функций в качестве аргументов.
В первом примере я все еще мог позвонить g(f(2))
и это должно рассчитать f(f(2))*f(f(2))
который (с f(x)
трансформация идентичности) также приведет к 4 в качестве ответа.