This HTML5 document contains 113 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
n24https://dl.acm.org/doi/pdf/10.1145/
dcthttp://purl.org/dc/terms/
n22http://dirkgerrits.com/publications/
yago-reshttp://yago-knowledge.org/resource/
dbohttp://dbpedia.org/ontology/
dbpedia-glhttp://gl.dbpedia.org/resource/
foafhttp://xmlns.com/foaf/0.1/
dbpedia-eshttp://es.dbpedia.org/resource/
n23https://global.dbpedia.org/id/
n18https://esolangs.org/wiki/
yagohttp://dbpedia.org/class/yago/
dbpedia-ruhttp://ru.dbpedia.org/resource/
dbthttp://dbpedia.org/resource/Template:
dbpedia-ukhttp://uk.dbpedia.org/resource/
rdfshttp://www.w3.org/2000/01/rdf-schema#
freebasehttp://rdf.freebase.com/ns/
dbpedia-srhttp://sr.dbpedia.org/resource/
dbpedia-cshttp://cs.dbpedia.org/resource/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
owlhttp://www.w3.org/2002/07/owl#
dbpedia-zhhttp://zh.dbpedia.org/resource/
wikipedia-enhttp://en.wikipedia.org/wiki/
provhttp://www.w3.org/ns/prov#
dbphttp://dbpedia.org/property/
dbchttp://dbpedia.org/resource/Category:
xsdhhttp://www.w3.org/2001/XMLSchema#
wikidatahttp://www.wikidata.org/entity/
dbrhttp://dbpedia.org/resource/

Statements

Subject Item
dbr:List_of_functional_programming_topics
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Applicative_programming_language
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Index_of_computing_articles
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Function-level_(programming)
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbo:wikiPageRedirects
dbr:Function-level_programming
Subject Item
dbr:Concatenative_programming_language
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Comparison_of_programming_languages
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Function-level_programming
rdf:type
owl:Thing yago:Inflection113803782 yago:Abstraction100002137 yago:WikicatProgrammingParadigms yago:Paradigm113804375 yago:LinguisticRelation113797142 yago:Relation100031921 yago:GrammaticalRelation113796779
rdfs:label
Комбінаторне програмування Function-level programování Комбинаторное программирование 函数级编程 Programación a nivel funcional Function-level programming
rdfs:comment
在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程。 Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # sum = foldr (+) 0 In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing Award lecture, Backus set forth what he considered to be the need to switch to a different philosophy in programming language design: He designed FP to be the first programming language to specifically support the function-level programming style. Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию. Пример для языка J: определение функции (в терминах J — «глагола») для вычисления среднего арифметического: avg =. +/ % # sum = foldr (+) 0 Function-level programování odkazuje na jeden ze dvou kontrastních paradigmat zjištěnými Johnem Backusem v jeho práci o programech na které se dívá jako na matematické objekty. Roku 1977 Backus představil důvody proč je podle něj potřeba změnit filozofii vytváření programovacích jazyků: Navrhl FP což je první programovací jazyk, který speciálně podporuje function-level programování. Function-level program je bez proměnných, jelikož programové proměnné, které jsou potřebné ve value-level definicích nejsou potřebné ve function-level La programación a nivel funcional es uno de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los programas como objetos matemáticos, siendo el otro la programación a nivel de valores. En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: El lenguaje de programación FP fue el primer lenguaje diseñado específicamente para dar soporte al estilo de programación a nivel funcional.
owl:differentFrom
dbr:Functional_programming
dct:subject
dbc:Programming_language_theory dbc:Programming_paradigms
dbo:wikiPageID
899026
dbo:wikiPageRevisionID
1123470186
dbo:wikiPageWikiLink
dbr:Variable_(programming) dbr:FP_(programming_language) dbr:Unstructured_programming dbr:Bottom-up_semantics dbr:Imperative_programming dbr:Tacit_programming dbc:Programming_language_theory dbr:Turing_Award dbr:Functional_programming dbr:FL_(programming_language) dbr:Cartesian-closed_category dbr:FL_programming_language dbr:Structured_programming dbr:Programming_language dbr:Point-free_programming dbr:Strict_function dbr:Declarative_programming dbr:Programming_paradigm dbr:Lambda_calculus dbc:Programming_paradigms dbr:Module_(mathematics) dbr:Applicative_programming dbr:Value-level_programming dbr:Programs_as_mathematical_objects dbr:John_Backus dbr:Concatenative_programming_language dbr:Formal_FP dbr:J_(programming_language) dbr:Higher-order_functions dbr:Halting_problem
dbo:wikiPageExternalLink
n18:FP_trivia n22:john-backus.pdf%23section.8 n24:800223.806757
owl:sameAs
dbpedia-cs:Function-level_programování dbpedia-es:Programación_a_nivel_funcional yago-res:Function-level_programming dbpedia-sr:Програмирање_на_нивоу_функција wikidata:Q2496566 dbpedia-zh:函数级编程 freebase:m.03m_l4 n23:2Mcr9 dbpedia-gl:Programación_a_nivel_funcional dbpedia-ru:Комбинаторное_программирование dbpedia-uk:Комбінаторне_програмування
dbp:wikiPageUsesTemplate
dbt:Reflist dbt:Clarify dbt:Programming_paradigms dbt:Redirect dbt:Original_research dbt:Maincat dbt:Confused
dbo:abstract
Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Концептуалізував та популяризував парадигму Джон Бекус в тюрінговскій лекції 1977 року «Чи можливо звільнити від стилю програмування фон Неймана», в якій представив мову . Наприкінці 1980-х Бекус із колегами з в розвиток ідей FP і конкатенативної парадигми розробили мову . При цьому елементи конкатенативне програмування проявляються вже в APL, а в більш пізніх його різновидах — мовами J и K — запозичені багато ідей FP, і оформлені в концепцію безточкового стилю, який може бути застосований не тільки для функціонального програмування в строгому сенсі (Зокрема, елементи такого стилю мають місце в оболонках UNIX при застосуванні конвеєрів для перенаправлення вводу-виводу. Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # де +/ — «монада» (унарна операція) підсумовування списку, % — «діада» (бінарна операція) ділення, а # — «діада» взяття довжини списку. Дана конструкція (в термінах J — «пропозиція») читається «середнє є сума, поділена на довжину». Подібні конструкції з трьох функцій-дієслів в J прийнято називати «виделками». Виразні можливості сучасних універсальних функціональних мов, таких як ML та Haskell, дозволяють досить комфортно залишатися в парадигмі комбінаторного програмування, тобто, не вдаватися до λ-абстракції та змінним взагалі. Наприклад, функція підсумовування списків на Haskell з використанням комбінатора foldr: sum = foldr (+) 0 Фактично, конкатенативне програмування забезпечує безточковий стиль, притому в ранніх конкатенативного мовах, таких як Форт, свобода від іменованих змінних досягається не математично, шляхом визначення функцій у вигляді комбінації якихось інших функцій, а імперативно, шляхом послідовних маніпуляцій зі стеком. В сучасних конкатенативних мовах, таких як, є тенденція до використання функціональних комбінаторів, а не явних маніпуляцій зі стеком. Можливо також використання безточкового стилю і в мовах, які не підтримують функції вищого порядку і часткове застосування, наприклад, за допомогою імітації функцій вищого порядку за допомогою шаблону . In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing Award lecture, Backus set forth what he considered to be the need to switch to a different philosophy in programming language design: Programming languages appear to be in trouble. Each successive language incorporates, with a little cleaning up, all the features of its predecessors plus a few more. [...] Each new language claims new and fashionable features... but the plain fact is that few languages make programming sufficiently cheaper or more reliable to justify the cost of producing and learning to use them. He designed FP to be the first programming language to specifically support the function-level programming style. A function-level program is variable-free (cf. point-free programming), since program variables, which are essential in value-level definitions, are not needed in function-level programs. La programación a nivel funcional es uno de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los programas como objetos matemáticos, siendo el otro la programación a nivel de valores. En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: "Pareciera existir un problema en el diseño de los lenguajes de programación. Cada nuevo lenguaje incorpora, luego de algo de limpieza, todas las características de los lenguajes anteriores más algunas otras. [...] Cada nuevo lenguaje presenta nuevas características de moda... pero el hecho es que pocos lenguajes hacen que la tarea de programar sea más económica, o más segura como para justificar el costo de producirlo y aprender a utilizarlo." El lenguaje de programación FP fue el primer lenguaje diseñado específicamente para dar soporte al estilo de programación a nivel funcional. Un programa de nivel funcional no necesita la noción de variable, dado que las variables, que son elemento esencial en las definiciones a nivel de valores, no hacen falta en el nivel funcional. En el estilo de programación de nivel funcional los programas se escriben como combinación de otros programas con la ayuda de los operaciones de construcción de programas o funcionales. Bajo este enfoque los programas, con los funcionales como operadores, forman un espacio matemático. Otra ventaja potencial de este enfoque es la posibilidad de restringirse únicamente a las y asociarles un mecanismo de . que es el más sencillo de implementar. Otra ventaja es la existencia de definiciones de nivel funcional que no son simplemente el correspondiente de una definición de nivel de valores. Estas definiciones, a veces un poco crípticas por lo concisas representan un estilo de programación muy poderoso. Si bien la propuesta de Backus data de los años 70, su adopción por la comunidad de programación funcional ha sido limitada, al gozar de mayor popularidad el cálculo Lambda. La programación a nivel funcional en el estilo de FP tiene una fuerte relación con la lógica combinatoria de Haskell Curry, con los lenguajes de combinadores, antecesores de Miranda y Haskell, así como con las categorías cartesianas cerradas, teoría que dio origen al lenguaje (Categorical Abstract Machine Languaje), antecesor del lenguaje . Function-level programování odkazuje na jeden ze dvou kontrastních paradigmat zjištěnými Johnem Backusem v jeho práci o programech na které se dívá jako na matematické objekty. Roku 1977 Backus představil důvody proč je podle něj potřeba změnit filozofii vytváření programovacích jazyků: Zdá se, že programovací jazyky na tom nejsou zrovna nejlépe. Každý další jazyk přidává, s malými úpravami, všechny možnosti jeho předchůdců plus několik dalších. Každý nový jazyk se chlubí novými a moderními funkcemi, ale faktem je, že jen několik málo jazyků dělají programování dostatečně levné a nebo jsou schopny omluvit cenu vývoje a jejich učení. Navrhl FP což je první programovací jazyk, který speciálně podporuje function-level programování. Function-level program je bez proměnných, jelikož programové proměnné, které jsou potřebné ve value-level definicích nejsou potřebné ve function-level V function-level programovacím stylu, je program postaven přímo z programů, které dostaneme na začátku. Jejich kombinováním za použití operací vytvářejících program nebo funkce. Na rozdíl od value-level přístupu, který volá dané programy k hodnotám tak aby vytvořil sled hodnot, který vyvrcholí v požadovaný výsledek. Functional-level přístup aplikuje operace vytvářející program, na dané programy aby vytvořil sled programu, který vede k požadovanému výsledku. 在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程。 Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию. Концептуализировал и популяризовал парадигму Джон Бэкус в тьюринговской лекции 1977 года «Можно ли освободить программирование от стиля фон Неймана», в которой представил язык . В конце 1980-х Бэкус с коллегами из Алмаденского исследовательского центра IBM в развитие идей FP и конкатенативной парадигмы разработали язык . При этом элементы конткатенативного программирования проявляются уже в APL, а в более поздних его разновидностях — языках J и K — заимствованы многие идеи FP, и оформлены в концепцию бесточечного стиля, которая применима не только для функционального программирования в строгом смысле (в частности, элементы такого стиля имеют место в оболочках UNIX при применении конвейеров для перенаправления ввода-вывода). Пример для языка J: определение функции (в терминах J — «глагола») для вычисления среднего арифметического: avg =. +/ % # где +/ — «монада» (унарная операция) суммирования списка, % — «диада» (бинарная операция) деления, а # — «диада» взятия длины списка. Данная конструкция (в терминах J — «предложение») читается «среднее есть сумма, поделённая на длину». Подобные конструкции из трёх функций-глаголов в J принято называть «вилками». Выразительные возможности современных универсальных функциональных языков, таких как ML и Haskell, позволяют достаточно комфортно оставаться в парадигме комбинаторного программирования, то есть, не прибегать к λ-абстракции и переменным вообще. Например, функция суммирования списков на Haskell с использованием комбинатора foldr: sum = foldr (+) 0 Фактически, конкатенативное программирование обеспечивает бесточечный стиль, притом в ранних конкатенативных языках, таких как Форт, свобода от именованных переменных достигается не математически, путём определения функций в виде комбинации каких-то других функций, а императивно, путём последовательных манипуляций со стеком. В современных конкатенативных языках, таких как Factor, имеется тенденция к использованию функциональных комбинаторов, а не явных манипуляций со стеком. Возможно также использование бесточечного стиля и в языках, не поддерживающих функции высшего порядка и частичное применение, например, посредством имитации функций высшего порядка посредством шаблона .
prov:wasDerivedFrom
wikipedia-en:Function-level_programming?oldid=1123470186&ns=0
dbo:wikiPageLength
6635
foaf:isPrimaryTopicOf
wikipedia-en:Function-level_programming
Subject Item
dbr:Functional_programming
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Programming_language_theory
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Non-English-based_programming_languages
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Joy_(programming_language)
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Higher-order_function
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:J_(programming_language)
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbp:parAdigm
dbr:Function-level_programming
Subject Item
dbr:John_Backus
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbp:knownFor
dbr:Function-level_programming
dbo:knownFor
dbr:Function-level_programming
Subject Item
dbr:Cartesian_closed_category
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:FL_(programming_language)
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbp:paradigm
dbr:Function-level_programming
Subject Item
dbr:FP_(programming_language)
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbp:paradigm
dbr:Function-level_programming
Subject Item
dbr:Value-level_programming
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Tacit_programming
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Outline_of_computer_programming
dbo:wikiPageWikiLink
dbr:Function-level_programming
Subject Item
dbr:Function-level
dbo:wikiPageWikiLink
dbr:Function-level_programming
dbo:wikiPageRedirects
dbr:Function-level_programming
Subject Item
wikipedia-en:Function-level_programming
foaf:primaryTopic
dbr:Function-level_programming