Share to: share facebook share twitter share wa share telegram print page

Function-level programming

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:[1]

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.

Introduction

In the function-level style of programming, a program is built directly from programs that are given at the outset, by combining them with program-forming operations or functionals. Thus, in contrast with the value-level approach that applies the given programs to values to form a succession of values culminating in the desired result value, the function-level approach applies program-forming operations to the given programs to form a succession of programs culminating in the desired result program.

As a result, the function-level approach to programming invites study of the space of programs under program-forming operations, looking to derive useful algebraic properties of these program-forming operations. The function-level approach offers the possibility of making the set of programs a mathematical space by emphasizing the algebraic properties of the program-forming operations over the space of programs.

Another potential advantage of the function-level view is the ability to use only strict functions and thereby have bottom-up semantics, which are the simplest kind of all. Yet another is the existence of function-level definitions that are not the lifted (that is, lifted from a lower value-level to a higher function-level) image of any existing value-level one: these (often terse) function-level definitions represent a more powerful style of programming not available at the value-level.

Contrast to functional programming

When Backus studied and publicized his function-level style of programming, his message was mostly misunderstood[2] as supporting the traditional functional programming style languages instead of his own FP and its successor FL.

Backus calls functional programming applicative programming;[clarification needed] his function-level programming is a particular, constrained type.

A key distinction from functional languages is that Backus' language has the following hierarchy of types:

  • atoms
  • functions, which take atoms to atoms
  • Higher-order functions (which he calls "functional forms"), which take one or two functions to functions

...and the only way to generate new functions is to use one of the functional forms, which are fixed: you cannot build your own functional form (at least not within FP; you can within FFP (Formal FP)).

This restriction means that functions in FP are a module (generated by the built-in functions) over the algebra of functional forms, and are thus algebraically tractable. For instance, the general question of equality of two functions is equivalent to the halting problem, and is undecidable, but equality of two functions in FP is just equality in the algebra, and thus (Backus imagines) easier.

Even today, many users of lambda style languages often misinterpret Backus' function-level approach as a restrictive variant of the lambda style, which is a de facto value-level style. In fact, Backus would not have disagreed with the 'restrictive' accusation: he argued that it was precisely due to such restrictions that a well-formed mathematical space could arise, in a manner analogous to the way structured programming limits programming to a restricted version of all the control-flow possibilities available in plain, unrestricted unstructured programs.

The value-free style of FP is closely related to the equational logic of a cartesian-closed category.

Example languages

The canonical function-level programming language is FP. Others include FL, and J.

See also

References

  1. ^ Backus, John (1978). "Can programming be liberated from the von Neumann style?: A functional style and its algebra of programs" (PDF). Communications of the ACM. 21 (8): 613–641. doi:10.1145/359576.359579.
  2. ^ Hudak, Paul (1989). "Conception, evolution, and application of functional programming languages". ACM Computing Surveys. 21 (3): 359–411. doi:10.1145/72551.72554. S2CID 207637854.

Read other articles:

Private university in Durham, North Carolina, U.S Duke UniversityLatin: Universitas Dukiana[1]Former namesBrown School (1838–1841)Union Institute (1841–1851)Normal College (1851–1859)Trinity College (1859–1924)MottoEruditio et Religio (Latin)[1]Motto in EnglishKnowledge and Faith[2]TypePrivate research universityEstablished1838; 186 years ago (1838)AccreditationSACSReligious affiliationUnited Methodist Church[3][4][5]…

Jalur kereta api kecepatan tinggi Ankara–IstanbulSebuah kereta sedang menunggu keberangkatan di Stasiun Pusat AnkaraIkhtisarJenisKereta api kecepatan tinggiSistemJalur Kereta Api Negara TurkiStatusSedang beroperasiLokasiTengah AnatoliaTerminusAnkaraPendik, IstanbulTerminal Haydarpaşa Istanbul Yang akan datangStasiun1012 FutureOperasiDibuka13 Maret 2009 (Ankara-Eskişehir)25 Juli 2014 (Eskişehir-Istanbul)PemilikJalur Kereta Api Negara TurkiOperatorJalur Kereta Api Negara TurkiDepoGüvercinlik…

Ugyen WangchuckRaja Bhutan PertamaBerkuasa17 Desember 1907–21 Agustus 1926PendahuluTidak adaPenerusJigme WangchuckWangsaWangchuck DynastyAyahJigme NamgyalIbuAshi Pema ChokiAnakJigme Wangchuck Lemo Wangchuck Lhadron Wangchuck Gongsa Ugyen Wangchuck (Dzongkha: , Wylie: o rgyan dbang phyug; 1862-1926) adalah Raja Bhutan pertama yang berkuasa dari tahun 1907 hingga 1926. Ia lahir pada tahun 1862 sebagai putra dari pasangan Jigme Namgyal, seorang penlop (gubernur) Trongsa, dan Ashi Pema Choki. Ia m…

Wabuchi Station和渕駅Wabuchi Station in July 2009LokasiWabuchi-aze Shimizu 123, Ishinomaki-shi, Miyagi-ken 987-1102JapanKoordinat38°31′33″N 141°13′14″E / 38.525849°N 141.220458°E / 38.525849; 141.220458Operator JR EastJalur■ Kesennuma LineLetak3.2 km from MaeyachiJumlah peron1 side platformJumlah jalur1KonstruksiJenis strukturAt gradeInformasi lainStatusUnstaffedSitus webSitus web resmiSejarahDibuka24 October 1968Operasi layanan Stasiun sebelumnya JR East…

Angkatan Darat BritaniaBritish ArmyLambang Angkatan Darat Britania RayaNegara Britania Raya[a]AliansiCharles IIITipe unitAngkatan DaratPeranPertempuran daratJumlah personel82.040 aktif (2021)29.740 cadangan (2021)Bagian dariAngkatan Bersenjata Britania RayaPelindungCharles IIIMotoDeath or GloryMati atau MenangSitus webwww.army.mod.ukTokohPanglima Tertinggi Raja Charles IIIKepala Staf Umum Jenderal Sir Mark Carleton-SmithInsigniaBendera perang[b]Bendera non-seremonial Angkata…

Eka GustiwanaEka Gustiwana pada tahun 2019LahirEka Gustiwana Putra1 Agustus 1989 (umur 34)Jakarta, IndonesiaPekerjaanproduser filmDisjokipenulis laguproduser rekamanaktorkomposer ucapanTahun aktif2008-sekarangSuami/istriYessiel Trivena ​(m. 2018)​Orang tuaPompi Suradi Mansyah (ayah)Sukarni Sofia (ibu) Eka Gustiwana Putra (lahir 1 Agustus 1989) adalah Disjoki, penulis lagu, produser rekaman, produser film dan komposer ucapan Indonesia.[1][2] …

Island in Nova Scotia, Canada This article is about the island in Shelburne County. For the island about 300 km southeast of Halifax, see Sable Island. For the cape in Florida, see Cape Sable. Cape Sable Island, locally referred to as Cape Island, is a small Canadian island at the southernmost point of the Nova Scotia peninsula. It is sometimes confused with Sable Island. Historically, the Argyle, Nova Scotia region was known as Cape Sable and encompassed a much larger area than simply the islan…

Historic church in Boston, Massachusetts This article is about the museum and historic site in Downtown Crossing. For the United Church of Christ church at Copley Square, see Old South Church. United States historic placeOld South Meeting HouseU.S. National Register of Historic PlacesU.S. National Historic Landmark The Old South Meeting House, 1968Show map of BostonShow map of MassachusettsLocationCorner of Washington and Milk StreetsBoston, MassachusettsCoordinates42°21′25″N 71°3′31″W…

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (نوفمبر 2022) جيانفرانكو بيلوتو معلومات شخصية الميلاد 2 يوليو 1949 (العمر 74 سنة) الطول 1.73 م (5 قدم 8 بوصة) مركز اللعب و…

Pour les articles homonymes, voir Johann Sebastian Bach (homonymie), Johann Bach (homonymie) et Bach (homonymie). Ne doit pas être confondu avec Sebastian Bach. Jean-Sébastien Bach Jean-Sébastien Bach à 61 ans, huile sur toile d'Elias Gottlob Haussmann (1702-1766)[1]. Données clés Surnom Le Cantor de Leipzig Naissance 31 mars 1685 Eisenach Duché de Saxe-Eisenach Décès 28 juillet 1750 (à 65 ans) Leipzig Électorat de Saxe Activité principale Compositeur, Thomaskantor Style Musique…

شريحة صفيف تقاطع جوزيفسون التي طورها المعهد الوطني للمعايير والتقنية كجهد قياسي. تأثير جوزيفسن هو ظاهرة تيار فائق، تيار يتدفق إلى أجل غير مسمى طويلا دون أي جهد مطبق، عبر جهاز يعرف باسم تقاطع جوزيفسن، والذي يتألف من اثنين أو أكثر من الموصلات الفائقة مقرونة بوصلة ضعيفة. يمكن أ…

Lokasi Provinsi Amasya Amasya adalah sebuah provinsi Turki, yang terletak di sekitar Laut Hitam, di utara negara ini. Ibu kotanya adalah Amasya. Daerah ini zaman dahulu disebut sebagai Amaesia dalam bahasa Yunani, dan disebut dalam dokumen-dokumen dari masa Aleksander Agung. Wilayah ini juga merupakan tempat lahir sang ahli geografi dan sejarah Strabo juga pernah di pimpin oleh putra pertama Suleiman I, yaitu Sehzade Mustafa. Pranala luar (Turki) Kantor Gubernur Diarsipkan 2006-02-06 di Wayback …

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКл…

Pour les articles homonymes, voir Profil. Article détaillé : Aérodynamique#Les termes de l'aérodynamique de l'aile. Le profil d'un élément aérodynamique est sa section longitudinale (parallèle au vecteur vitesse). Sa géométrie se caractérise par une cambrure (inexistante s'il est symétrique), une épaisseur et la distribution de l'épaisseur (rayon du bord d'attaque, emplacement de l'épaisseur maximale). À fluide, vitesse et angle d'attaque donnés, cette géométrie détermin…

Monument dedicated to Martin Luther Luther Monument on the Wittenberg market square A Luther Monument (German: Lutherdenkmal) is a monument dedicated to the reformer Martin Luther. The oldest one from 1821 is in Wittenberg. The largest one, the Luther Monument in Worms, was unveiled in 1868 as a composition of several statues, designed by Ernst Rietschel. Several monuments in the United States use a copy of Rietschel's main statue, including the Luther Monument in Washington, D.C., from 1884. Hi…

МифологияРитуально-мифологическийкомплекс Система ценностей Сакральное Миф Мономиф Теория основного мифа Ритуал Обряд Праздник Жречество Мифологическое сознание Магическое мышление Низшая мифология Модель мира Цикличность Сотворение мира Мировое яйцо Мифическое вр…

Acharya MahaprajnaL'Acharya Mahaprajna.BiographieNaissance 14 juin 1920RajasthanDécès 9 mai 2010 (à 89 ans)Sardarshahar (en)Nationalité indienneActivité ÉcrivainAutres informationsDistinction Prix Ahimsa (en) (2008)modifier - modifier le code - modifier Wikidata L'Acharya Mahapragya (14 juin 1920 - 9 mai 2010) est un érudit, chef d'un courant du jaïnisme dans la branche shvetambara. Il est né à Tamkor au Rajasthan en Inde. Acquérant le titre de Muni Nathmal dès l'enfance et …

Biggin Hill International Air FairFolland Gnat at 2009 showStatusActive (in new format)GenreAir showDatesMay 1963 - June 2010, June 2014 - presentVenueLondon Biggin Hill AirportLocation(s)London Borough of BromleyCountryUnited Kingdom The Biggin Hill International Air Show, or Biggin Hill Air Fair, was one of the largest civilian airshows in the world and the largest privately organised air show in Europe. It ran once a year, usually near the end of June, at London Biggin Hill Airport, a former …

American politician This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Laura Hall politician – news · newspapers · books · scholar · JSTOR (March 2017) (Learn how and when to remove this message)…

内華達州 美國联邦州State of Nevada 州旗州徽綽號:產銀之州、起戰之州地图中高亮部分为内華達州坐标:35°N-42°N, 114°W-120°W国家 美國建州前內華達领地加入聯邦1864年10月31日(第36个加入联邦)首府卡森城最大城市拉斯维加斯政府 • 州长(英语:List of Governors of {{{Name}}}]]) • 副州长(英语:List of lieutenant governors of {{{Name}}}]])喬·隆巴爾多(R斯塔夫…

Kembali kehalaman sebelumnya