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
risposta
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
Dai un'occhiata a XMonad. Lo fa. http://xmonad.org
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
@Tim Il gestore finestre non è a fuoco. – Cartesius00
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. –
- 1. Caricamento plug-in (DLL) al volo
- 2. PHPExcel scrivere al volo?
- 3. Caricamento di più immagini con il tiro al volo?
- 4. Converti EPS in PDF al volo con pdflatex al volo
- 5. creazione di metodi al volo
- 6. Calcolo dei percentili al volo
- 7. aggiunta @ font-face al volo
- 8. Creazione di sottodomini al volo
- 9. Convalidare EmberJS TextField al volo?
- 10. Posso cambiare SparkContext.appName al volo?
- 11. Puoi cambiare templateUrl al volo?
- 12. Modifica campi serializzatore al volo
- 13. Haskell, definisce una lista infinita, aggiunge dati al volo e ordina allo stesso tempo. Come?
- 14. JIT Haskell llvm-general: chiama al volo una funzione C. Il tutorial di Stephen Diehl
- 15. Ottenere intestazioni da una risposta al volo
- 16. Rimuovere gli attributi al volo con Diazo
- 17. Avvio del profiler Java HPROF al volo
- 18. CSS Dissolvenza in apertura al volo stazionario
- 19. Python Gzip - Aggiungere file al volo
- 20. Creazione di chiavi JSON al volo
- 21. Angolare 2 - Aggiunta/rimozione componenti al volo
- 22. Modifica il valore delle impostazioni al volo?
- 23. Cifra video al volo dalla telecamera Android
- 24. Creazione di pulsanti paypal al volo
- 25. Cambiare il modello di Auth al volo
- 26. Scarica il codice ed esegui al volo
- 27. Come creare oggetti al volo in python?
- 28. Al volo compilatore java in javascript
- 29. Determinazione della visibilità del metodo al volo
- 30. Come creare istanze al volo in CDI
Vedi il pacchetto 'suggerimento' sul hackage. –
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