Haskell Brooks Curry

Haskell Brooks Curry(12. září1900Millis,Massachusetts–1. září1982State College,Pensylvánie) bylamerickýmatematikalogik. Je znám především díky své práci v oborukombinatorické logiky. Je také autorem Curryho paradoxu aCurryho–Howardova isomorfismu. Jsou po něm pojmenovány třiprogramovací jazyky:Haskell, Brook a Curry, jakož i technika přeměnyfunkcev matematice amatematické informaticezvanácurrying.
Narodil se v městečku Millis ve státě Massachusetts v rodině profesorařečnictvíSamuela Silase Curryho a jeho ženy Anny Baright Curryové. Od roku1916studovalmedicínunaHarvardově univerzitě, ale později přešel na studiummatematiky. Po dokončení tohoto studia v roce1920studoval dva rokyelektrotechnikunaMassachusettském technologickém institutua poté se vrátil studovatfyzikuna Harvard, kde roku1924získalmagisterský titul. V té době se započal jeho zájem o matematickou logiku, poté co se seznámil s dílemPrincipia MathematicaautorůAlfreda Northe WhiteheadaaBertranda Russella, v němž se autoři snaží odvodit veškeré matematické pravdy z dobře definovaného souboruaxiomůaodvozovacích pravidelzapsaných aparátem symbolické logiky. Curry zůstal na Harvardu a začal pracovat na svémdoktorátuv oboru matematika. Zatímco jeho školitelGeorge David Birkhoffjej směřoval k práci nadiferenciálních rovnicích, on se dál zajímal stále víc o logiku. V roce1927, zatímco pracoval jako instruktor naPrincetonské univerzitě, objevil práci Mosese Schönfinkela o kombinatorické logice. Schönfinkel v ní předjímal mnohé z jeho vlastního výzkumu. Curry následně přešel naGöttingenskou univerzitu, kde mohl spolupracovat s Heinrichem Behmannem aPaulem Bernaysem, kteří byli obeznámeni s Schönfinkelovou prací. Curryho konzultantem se stalDavid Hilbert. V roce1930obdržel Haskell Brooks Curry titulPh.D.sdisertační pracío kombinatorické logice.
V roce1928se Curry oženil s Marii Virginií Wheatleyovou. Po dokončení disertační práce semanželév roce1929přestěhovali do univerzitního města State College v Pensylvánii, kde Curry přijal místo na Pensylvánské státní univerzitě. Setrval zde po následujících 37 let. V období1931/1932strávil rok naChicagské univerzitěv rámci národního výzkumnéhostipendiaa v období1938/1939rok v Institutu pro pokročilá studia vPrincetonu. Bezprostředně po válce pracoval v letech1945až1946na projektuENIAC. V rámci Fulbrightova stipendia spolupracoval s Robertem Feysem v belgickéLovanina zdejšíKatolické univerzitě. Po odchodu zPensylvánské univerzityv roce1966přijal Curry místo naAmsterdamské univerzitě. V roce1970, po dokončení druhého dílu pojednání o kombinatorické logice, odešel zAmsterdamua vrátil se do State College v Pensylvánii, kde 1. září 1982 zemřel.
Těžištěm jeho práce bylo dokázat vztahy a souvislosti kombinatorické logiky s matematikou. Ke konci roku1933se z korespondence s americkým logikem Johnem Rosserem dozvěděl o Kleene-Rosserově paradoxu. Paradox, rozpracovaný Rosserem aStephenem Kleenem, prokázal nesoudržnost řady souvisejících formálních systémů včetnělambda kalkulu.
Curry se v podstatě stal zakladatelem kombinatorické logiky, z níž vzešel jeden stylfunkcionálního programovacíhojazyka. Síla a rozsah kombinatorické logiky jsou dost podobné lambda kalkuluAlonza Churche.
V roce1947popsal jeden z prvníchprogramovacích jazykůvyšší úrovně a připravil první popis postupu při převádění obecnýcharitmetickýchvýrazů do kódu pro jednoadresový počítač.
Přednášel na Harvardu, na Princetonu a v letech 1929–1966 na Pensylvánské státní univerzitě.
V roce1942publikovalCurryho paradox.
V roce 1966 se stal profesorem logiky a její historie a filozofieexaktních vědna Amsterodamské univerzitě. Stal se tak následníkem nizozemského filozofa a logika Everta Willema Betha.
Curry také psal a učil omatematické logiceobecně, jeho učení v této oblasti vyvrcholilo v roce 1963 publikovánímZákladů matematické logiky. Jeho oblíbenoufilozofií matematikybylformalismus(vizObrysy formalistické filozofie matematiky, v čemž následoval svéhomentoraHilberta, avšak jeho dílo svědčí o značné filozofické zvídavosti a o nepředpojatosti vůčiintuicionistické logice.
Po tomto logikovi byl pojmenován významný funkcionální programovací jazykHaskell.
Haskell Curry popsal a poprvé použil princip, který byl po něm nazváncurryfikace(anglickycurrying). Jedná se o rozložení libovolné funkce o dvou argumentech na funkci jednoho argumentu vracející funkci druhého argumentu. Výhodnost této funkce je patrná v případě, že první argument je v řadě výpočtů pevný, zatímco druhý argument může nabývat různých hodnot.
Zápis této funkce v jazyku Scheme:
Vyhodnocení této funkce: jedná se o funkci, která bude vracet další funkci jako výsledek své aplikace. Funkcecurry+má pouze jediný argument. Při aplikaci funkcecurry+bude vyhodnoceno její tělo, jímž je tentolambda výraz. Jeho vyhodnocením vznikne funkce jednoho argumentu, která bude vrácena jako výsledná hodnota aplikacecurry+.
V případě aplikace(define f (curry+ 10))bude na symbolfnavázána hodnota vzniklá vyhodnocením(curry+ 10). Při vyhodnocování tohoto výrazu dojde k aplikaci uživatelsky definované funkcecurry+s argumentem10. Při její aplikaci vznikne prostředíP, jehož předkem bude globální prostředí (protože v něm vzniklacurry+) a ve kterém bude na symbolcnavázána hodnota10. V prostředíPbude vyhodnoceno tělo funkcecurry+, to jest výraz(lambda (x) (+ x c)). Jeho vyhodnocením vznikne funkce<(x),(+ x c),P>, která je vrácena jako výsledek aplikacecurry+. Tím pádem bude po vyhodnocení prvního výrazu na symbolfnavázána funkce<(x),(+ x c),P>.
V Haskellu, který používá curryfikaci, můžeme funkci dvou argumentů volat s jedním argumentem. Výsledek je, podobně jako v minulém odstavci, funkce zbylých argumentů. Je reprezentována pomocíuzávěru(anglickyclosure), ve kterém se zapamatují už zadané argumenty funkce. Výsledek získáme až po vyhodnocení uzávěru.
V tomto článku byl použitpřekladtextu z článkuHaskell Curryna anglické Wikipedii.