K: Mitä curryn teko on?

V: Currying on matematiikassa ja tietojenkäsittelytieteessä käytetty tekniikka, jossa useita argumentteja ottava funktio muutetaan useammaksi funktioksi, joista kukin ottaa yhden argumentin.

K: Kuka loi pohjan curryingille?

V: Matemaatikot Moses Schönfinkel ja Gottlob Frege loivat pohjan currying-tekniikalle.

K: Kuka on Haskell Brooks Curry ja miten hän liittyy curryyn?

V: Haskell Brooks Curry on matemaatikko, jonka mukaan currying-tekniikka on nimetty.

K: Mitä on lambdalaskenta?

V: Lambdalaskenta on matemaattisen logiikan ja tietojenkäsittelytieteen muodollinen järjestelmä, jota käytetään laskennan ilmaisemiseen.

K: Mikä on currying-tekniikan rooli lambdalaskennassa?

V: Curryingia käytetään Lambda-laskennassa pelkistämään funktioita, joilla on useita argumentteja, sarjaksi funktioita, joilla on vain yksi argumentti.

K: Onko olemassa ohjelmointikieliä, jotka rajoittavat funktiot niin, että niillä on vain yksi argumentti?

V: Kyllä, joissakin ohjelmointikielissä, kuten ML:ssä ja Haskellissa, on rajoitus, jonka mukaan funktioilla voi olla vain yksi argumentti.

K: Miksi ML:n ja Haskellin kaltaiset ohjelmointikielet rajoittavat funktioiden argumenttien määrää?

V: Tämän rajoituksen taustalla on curryn yksinkertaisuus ja joustavuus. Kun funktioilla on vain yksi argumentti, niitä voidaan helposti koostaa ja yhdistellä, mikä johtaa tiiviimpään ja uudelleenkäytettävämpään koodiin.