For faster navigation, this Iframe is preloading the Wikiwand page for Lambdakalkyle.

Lambdakalkyle

Der er ingen kildehenvisninger i denne artikel, hvilket er et problem. Begrundelsen kan findes på diskussionssiden eller i artikelhistorikken. Du kan hjælpe ved at angive kilder til de påstande, der fremføres. Hvis ikke der tilføjes kilder, vil artiklen muligvis blive slettet (marts 2018) (Lær hvordan og hvornår man kan fjerne denne skabelonbesked)

Lambdakalkyle (også Lambda-kalkyle eller Lambda kalkyle) er et formelt system indenfor den matematiske logik. Systemet giver en formel notation for definition af funktioner udtrykt ved et antal ubundne variable. Systemet og den tilhørende notation blev oprindelig opfundet af den amerikanske matematiker Alonzo Church i 1930'erne som et værktøj i studiet af matematikkens fundament. Systemet kan imidlertid også opfattes som en fundamental notation for computer programmering og mødes derfor også indenfor datalogien. En række programmeringssprog kaldet funktionssprog implementerer forskellige maskinelle fortolkninger af lambdakalkylen, f.eks. LISP, men disse har indtil midt i 00'erne primært været af teoretisk interesse. I dag er anonyme funktioner dog almindeligt brugt i mainstream sprog som C# og JavaScript.

Systemet betegnes "lambda" kalkyle fordi man benytter det græske bogstav Lambda til at denotere den ubundne variabel i et udtryk. F.eks. betegner λx.x+1 den funktion der lægger et til et tal. Dette skal sammenlignes med den "normale" matematiske notation f(x)=x+1 der betegner den samme funktion, men hvor man samtidig tildeler funktionen navnet "f". Herved adskiller tænkemåden i "normal" matematik sig fra den matematiske logik, hvor man i den "normale" matematik netop vælger bogstavet f, det første bogstav i ordet funktion, for at antyde at navnet er uden betydning.

I et (fiktivt) programmeringssprog, det der kaldes pseudokode, kunne man f.eks. skrive

function f(x integer)
begin
 return x+1
end

Men her har navnet betydning. I næsten samtlige nuværende "mainstream" programmeringssprog er det muligt at give angive en funktion som parameter til en anden funktion, men i de sprog hvor man ikke kan angive anonyme funktioner er det ikke muligt at angive en funktionsparameter direkte, men man må erklære den først og så angive navnet som parameteren. I sprog der tillader anonyme funktioner kan man derimod angive funktionen direkte som parameter, hvilket i nogen tilfælde giver programkode der er nemmere at læse (udover læselighed er det også andre årsager til at anonyme funktioner kan være ønskelige).

I den matematiske logik beskæftiger man sig bl.a. med hvor få antagelser man kan nøjes med for at kunne påbegynde matematisk argumentation. En problemstilling her er forståelsen af matematiske udtryk, f.eks. hvis man skriver en tekststreng x+1, hvordan kan man så med sikkerhed udpege at x er den ubundne variabel der kan erstattes med "noget andet" mens + og 1 har givne betydninger. Her er det i udtrykket f(x)=x+1 klart at det er teksten mellem ( og ) der angiver den ubundne variabel, mens det i λx.x+1 er teksten mellem λ og .

I den almindelige matematiske notation må man for at påtrykke funktionen imidlertid bruge 2 skridt og skrive

f(x)=x+1
f(7)

for at få svaret 8.

I lambdakalkylen kan man imidlertid nøjes med et skridt og skrive

(λx.x+1)(7)
{{bottomLinkPreText}} {{bottomLinkText}}
Lambdakalkyle
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?