UppLYSning
Lysators föredragsserie

24/9: Haskell och lat funktionell programmering

Med Henrik Nilsson

Är det självklart att argumenten till en funktion ska evalueras innan funktionen anropas? Varför beter sig då inte alla funktioner i t.ex. Lisp, där ju allt i grund och botten sägs vara funktioner, på detta sätt? Varför kan man då inte i C implementera sin egen villkorsoperator som en vanlig funktion? Kan det vara så att det finns en bättre evalueringsordning? Vad händer om man t.ex. låter bli att evaluera uttryck tills dess att deras värde verkligen används?

Anmärkningsvärt mycket, visar det sig! Eller vad sägs om:

Om man till detta lägger högre ordningens funktioner, algebraiska datatyper, mönstermatchning, ett sofistikerat, statiskt typsystem med parametrisk polymorfism, systematisk hantering av överlagring via typklasser, och (självfallet) automatisk minneshantering, så får man något mycket intressant. Då får man det lata funktionella språket Haskell!

Allmän datateknisk/datavetenskaplig bakgrund. Lite kunskap om Lisp, ML eller liknande språk underlättar.

Henrik Nilsson är gammal D:are och sedan ett antal år tillbaka doktorand på laboratoriet för programmeringsmiljöer (PELAB) på IDA. Där ägnar han sig främst åt att försöka fundera ut hur en praktiskt användbar debugger för lata funktionella språk ska se ut och fungera. En gång i tiden var han också medlem i Lysator, där han bl.a. var kassör och medansvarig för att det blev högt i golv i Lysators gamla PUL under ingång 29.


Alla är välkomna till UppLYSning! Om inget annat meddelas så hålls föredragen på onsdagar klockan 18-20 i IDA:s seminarierum Estraden på andra våningen i E-huset.

Titta efter våra affischer och på våra WWW-sidor. Vi ordnar föredrag både för nybörjare och dem som redan kan en hel del. Aktuellt program hittar du på http://www.lysator.liu.se/upplysning/


Upplysning arrangeras av Lysator i samarbete med Institutionen för Datavetenskap.
[575]