Curry (programmeertaal)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Curry
Paradigma Functioneel, Logisch
Implementaties PAKCS
Münster Curry Compiler
Beïnvloed door Prolog
Portaal  Portaalicoon   Informatica

Curry is een functionele en logische programmeertaal die gebaseerd is op de syntaxis van de functionele programmeertaal Haskell. Curry bevat door deze combinatie kenmerken van functionele talen, zoals luie evaluatie en hogere-ordefuncties, en van logische talen, zoals logische variabelen. De taal is vernoemd naar de Amerikaanse wiskundige en logicus Haskell Brooks Curry.

Er zijn verscheidene implementaties van Curry, zoals PAKCS (Portland Aachen Kiel Curry System) en de Münster Curry Compiler.

Overzicht[bewerken]

Het is in Curry mogelijk om, net zoals in Prolog, gebruik te maken van logische variabelen, met aanvankelijk een onbekende waarde, waarvan de waarde berekend kan worden. Tijdens het uitvoeren van het programma wordt gezocht naar mogelijke waarden van de variabelen om vervolgens de expressie te evalueren. In het volgende voorbeeld worden twee vrije variabelen, x en y, gebruikt:

x && (y || (not x)) where x,y free

De taal instantieert concrete waarden voor x en y en berekent vervolgens de waarde van de expressie:

  • x = True en y = True (resultaat: True)
  • x = True en y = False (resultaat: False)
  • x = False en y = y (resultaat: False)

De laatste regel geeft aan dat de variabele y geen waarde heeft gekregen: indien x = False dan maakt de waarde van y niet uit voor de waarde van de expressie.

Externe links[bewerken]