Curry (programmeertaal)

Uit Wikipedia, de vrije encyclopedie
Curry
Curry
Paradigma functioneel programmeren, logisch programmeren
Huidige versie 3.6.0[1] Bewerken op Wikidata
Typesysteem type-inferentie, sterke typering, statisch typesysteem
Implementaties PAKCS
Münster Curry Compiler
Beïnvloed door Haskell, Prolog
Website https://www.curry-language.org/
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 | brontekst 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 | brontekst bewerken]