Nos, igen. Adva van egy makacs programozó, aki csak a Haskell meleg és biztonságos fészkében érzi jól magát, és adva van a C# kegyetlen, durva világa. Mit lehet ilyenkor tenni? A válasz triviális: csomagoljuk a Haskell kódot DLL-be, és ezt etessük meg a C# kóddal. Ahogy azt Móricka elképzeli.
Nem ilyen egyszerű a helyzet.
A fő probléma ott van, hogy a C# úgynevezett managed kóddal dolgozik (managed code - a .Net keretrendszert használja), viszont a sima gépi kódú DLL meg pont, hogy unmanaged. De van remény! Ha ráguglizol, létezik néhány megoldás. A mi választásunk a Hs2lib nevű könyvtárra esett. Ez azt csinálja, hogy megadod neki a Haskell kódot, ebből ő kiköp egy DLL-t, ami még mindig unmanaged, viszont már pl C-ből könnyen ki lehet olvasni (az adattípusokat jól megoldja, meg mindent megcsinál magától). Még egy komplett wrappert / runtime környezetet is belepakol. (Nem túl nagyot, szerencsére.) Na de ez még mindig nem mamaned kód. Szerencsére van lehetőség C#-ban, hogy unmanaged dolgokat is használjunk, erre való az 'unsafe' kulcsszó. Ekkor C-szintű műveletekre is lehetőséged nyílik, adogathatsz pointereket, struktokat, stb. Szóval meg lehet csinálni. Ne adjátok fel a reményt! A főnök sem adta fel, és megmentett egy életet... legalábbis amikor sikerült, jóllakott napközis módjára tapsikoltam, miközben fülig ért a vigyor a pofámon :D