2012-09-26 11 views
7

Ho bisogno di scrivere un'applicazione Haskell che carica in volo altri plugin Haskell. Il plugin è un codice sorgente arbitrario, una volta caricato funziona per un tempo piuttosto lungo, quindi sarebbe utile compilarlo in qualche modo prima che venga usato. Penso anche a usare LLVM per questo. Presumo che questo sia sicuramente un problema già risolto. Come farlo in modo robusto?Caricamento plug-in Haskell al volo

+2

Vedi il pacchetto 'suggerimento' sul hackage. –

+1

Questa domanda è pertinente ai miei interessi. Non sono mai sicuro di quale dei sei pacchetti dinamici di caricamento sia quello "attuale" ... (E, in ogni caso, non sono mai riuscito a farlo funzionare). – MathematicalOrchid

risposta

6

Verificare il pacchetto plugins: http://hackage.haskell.org/package/plugins. Questo è quello che ho usato per ottenere il caricamento dinamico del codice Haskell in passato. C'è anche http://hackage.haskell.org/package/plugins-auto che è un involucro intorno a plugins quindi potrebbe valere la pena dare un'occhiata anche a noi.

edit: Se si vuole andare più a fondo qui è un documento che descrive il pacchetto plugin www.cse.unsw.edu.au/~chak/papers/hs-plugins.ps.gz

1

Dai un'occhiata a XMonad. Lo fa. http://xmonad.org

+1

Sì, ma sarebbe sii utile a spiegarti un po 'di più, dal momento che per quanto mi ricordo, xmonad.org si concentra su _using_ il window manager piuttosto che su come fa i plugin dietro le quinte. Solo un link è davvero utile se alla fine del link c'è una risposta chiara a questa domanda specifica. – AndrewC

+0

@Tim Il gestore finestre non è a fuoco. – Cartesius00

+1

Sarei troppo interessato a sapere come fa XMonad. Mi sembra che compili fonti modificate e si sostituisca con un nuovo processo, ma è solo un'ipotesi. Se qualcuno conosce i dettagli, per favore aggiungilo. –