R: определение того, имеет ли функция стандартное вычисление

Есть ли способ программно определить, есть ли у данной функции в r имеет стандартную оценку, а если нет, то какой компонент оценки функции -

  • парсинг
  • соответствие,
  • определение объема
  • формирование обещания,
  • выполнение обещания,
  • возвращение,

и т.д. - нестандартно? Я понимаю, что замыкания, скорее всего, будут стандартными, а примитивы - нестандартными, но есть исключения в обоих направлениях. Я спрашиваю о том, является ли семантика функций стандартной по отношению к каждой из этих вещей, а не о том, стандартна ли механика функций.

Я предполагаю, что эти вещи должны быть получены из внимательного и внимательного чтения страницы справки, а в противном случае - кода, а если нет - любого исходного кода, на который есть ссылки. Но я бы избавился от большого горя, если бы у меня был механический способ быстрого выявления нестандартных функций при оценке данной функции.

Если нет способа программно определить все способы, которыми функция нестандартна, есть ли способы проверить любой аспект стандартности?


person andrewH    schedule 17.02.2018    source источник
comment
Не могли бы вы привести несколько примеров существующих функций и рассказать нам, как, по вашему мнению, их следует классифицировать? И почему это важно? Я сомневаюсь, что если не будет ИИ, который может читать страницы справки и понимать это, есть какой-либо способ сделать это наверняка с помощью интроспекции кода, особенно в системе объектно-ориентированного программирования, где foo (bar) может идти практически куда угодно.   -  person Spacedman    schedule 17.02.2018
comment
Поскольку функция $ использует нестандартный eval, будет сложно найти очень много функций, которые полностью свободны от NSE.   -  person IRTFM    schedule 31.03.2020
comment
Я полагаю, что эти вещи должны быть получены из внимательного и внимательного чтения справочной страницы. Удачи вам в этом. Я даже не могу найти, где задокументированы проклятые вещи.   -  person J. Mini    schedule 07.04.2021