Eric Holk, promovendus aan de University of Indiana, heeft na twee jaar sleutelen een functionele taal voor het programmeren van GPU‘s vrijgegeven, genaamd Harlan. De implementatie is onder een opensourcelicentie verkrijgbaar voor Linux- en Mac OS X-systemen die over een OpenCL-driver beschikken.
De gangbare raamwerken om GPU‘s te programmeren zoals NVidia‘s Cuda en de OpenCL-standaard, gaan uit van een imperatieve aanpak. Programmeurs specificeren de flow van het programma voor de CPU in een taal als C, C++ of Python, en delegeren specifieke kleine rekentaken naar de GPU. De data-uitwisseling moet grotendeels handmatig geregeld worden.
Met Harlan wil Holk de functionele aanpak van ’concentreer je op wát, niet hóe‘ naar de GPU brengen. De taal ondersteunt van nature bewerkingen met complexe datastructuren die impliciet worden omgezet in een parallelle implementatie voor de GPU. De Harlan-compiler vertaalt daarvoor de hoogniveau beschrijving naar C- en OpenCL-code.
Holk waarschuwt wel dat de taal nog niet van productiekwaliteit is, maar desondanks al wel bruikbaar. Hij werkt nog aan verbeteringen, met name de ondersteuning voor procedures van hogere orde.