Haskell tager det første skridt ud af 1990'erne

Haskell 98 hedder nu officielt Haskell 2010. Det funktionelle programmeringssprog skal fremover revideres en gang om året.

Det funktionelle programmeringssprog Haskell har hidtil adlydt det officielle navn Haskel 98, men det er nu blevet spolet frem til nutiden med seneste revision, Haskell 2010, annonceret tirsdag.

Det er ikke de store nyskabelser, der pryder programmet for Haskell 2010, skriver komitéen bag. Men det er første skridt i retning af en række nye, årlige revideringer af sproget, og arbejdet med Haskell 2011 går nu så småt i gang.

Blandt ændringerne i Haskell 2010 er en revidering af et ikke udpræget gennemtænkt syntaktisk indryk ved if-then-else-kontruktioner under do-statements.

Det skulle have forvoldt selv garvede programmører problemer, når koden af tilsyneladende uforståelige årsager ikke ville parse, skriver Haskell-folkene.

Haskell et funktionelt sprog, hvor udtryk formuleres og evalueres som matematiske funktioner. Det adskiller sig fra imperative sprog som C og Java, hvor koden skrives som en række kommandoer, der udføres efter hinanden.

Blandt de mere fremtrædende tricks i Haskell finder man medfødt samtidighed og parallelisme, hvilket ikke mindst er aktuelt i forhold til tidens omtalte udfordring med parallelprogrammering til processorer med flere kerner.

Netop multicore-princippet understøttes også af sprogets 'renhedsprincip' ? den såkaldte referentielle transparens - som går ud på ikke at ændre variables oprindelige værdier.

Det skulle gøre det nemmere at undgå kedelige bivirkninger ved parallelprogrammering som race conditions, hvor flere programtråde laver ged i det samlede program ved at tilgå de samme variable uden at snakke ordentligt sammen om det.

Flere oplysninger om Haskell 2010 kan findes under fanebladet Eksterne links.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (3)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Mikkel Kragh Mathiesen

"NoNPlusKPatterns"
Godt at se at de ikke er bange for problemer med bagudkompatibilitet når det handler om at fjerne uhensigtsmæssige features, og den her har irriteret mig længe på et principielt niveau.

Hvorfor erfarne haskell-programmører kan have problemer med if-then-else i do-blokke undrer mig lidt, men jeg er helt med på at det kan give en uhensigtmæssig lang indrykning i visse tilfælde, så lad os endelig gøre et smukt sprog endnu smukkere. :)

Alt i alt et mindre skridt, men uden tvivl i den rigtige retning.

Log ind eller Opret konto for at kommentere