Как называется это символическое преобразование кода?

Я часто пересекаю этот вид преобразования кода (или даже математического преобразования). (Пример 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 в качестве ответа.

Другие вопросы по тегам