Curry (programmeertaal)

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.

Curry
ParadigmaFunctioneel, Logisch
ImplementatiesPAKCS
Münster Curry Compiler
Beïnvloed doorProlog
Portaal    Informatica

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

Overzicht

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.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.