Necesito escribir una aplicación Haskell que cargue otros complementos Haskell en marcha. El complemento es un código fuente arbitrario, una vez que se carga, se ejecuta durante un tiempo bastante largo, por lo que sería beneficioso compilarlo de alguna manera antes de usarlo. También pienso en usar LLVM para eso. Supongo que seguramente este es un problema ya resuelto. ¿Cómo hacer eso de una manera robusta?Cargando complementos Haskell sobre la marcha
Respuesta
Consulte el paquete plugins
: http://hackage.haskell.org/package/plugins. Eso es lo que he usado para cargar dinámicamente el código Haskell en el pasado. También hay http://hackage.haskell.org/package/plugins-auto que es un contenedor alrededor de plugins
por lo que también valdría la pena echarle un vistazo.
edición: Si desea profundizar aquí hay un artículo que describe el paquete de plugins www.cse.unsw.edu.au/~chak/papers/hs-plugins.ps.gz
Eche un vistazo a XMonad. Hace esto http://xmonad.org
Sí, pero lo haría Sé útil para explicar un poco más, ya que, por lo que recuerdo, xmonad.org se centra en _utilizar_ el administrador de ventanas en lugar de cómo funciona el complemento detrás de escena. Solo un enlace es realmente útil si al final del enlace hay una respuesta clara a esta pregunta específica. – AndrewC
@Tim El administrador de ventanas está fuera de foco. – Cartesius00
Estaría demasiado interesado en saber cómo lo hace XMonad. Me parece que compila las fuentes modificadas y se reemplaza con un nuevo proceso, pero eso es solo una suposición. Si alguien conoce los detalles, por favor agrégalo. –
- 1. Cargando complementos (DLL) sobre la marcha
- 2. Cargando jQuery sobre la marcha
- 3. Requirejs cargando complementos
- 4. métodos Creación sobre la marcha
- 5. Convertir EPS a PDF sobre la marcha con pdflatex sobre la marcha
- 6. Archivos ZIP de PHP sobre la marcha
- 7. Perl: ¿cómo crear objetos sobre la marcha?
- 8. Java ArrayList y HashMap sobre la marcha
- 9. "Editar" texto del usuario sobre la marcha?
- 10. Creación de subdominios sobre la marcha
- 11. Cálculo de percentiles sobre la marcha
- 12. WebView css carga sobre la marcha
- 13. ¿Cómo nombrar variables sobre la marcha?
- 14. Escribir en/res/dibujable/sobre la marcha?
- 15. ¿Validar EmberJS TextField sobre la marcha?
- 16. Generando un archivo RDP sobre la marcha
- 17. ¿Puedo crear colas resque sobre la marcha?
- 18. primavera: agregue contexto xml sobre la marcha?
- 19. C# 4.0, ¿Métodos sobre la marcha?
- 20. Creación de claves JSON sobre la marcha
- 21. VB.Net Inicializando una matriz sobre la marcha
- 22. claves de diccionario Generación sobre la marcha
- 23. uploadify | cambiar uploadifysettings sobre la marcha
- 24. Haskell Text.Parsec.Combinator elección no dar marcha atrás
- 25. Cambiando CSS sobre la marcha en un UIWebView en iPhone
- 26. Cambiar la ordenación en un NSFetchedResultsController sobre la marcha
- 27. Añadir colspan y rowspan en la mesa sobre la marcha
- 28. Cambiar el idioma de la aplicación iOS sobre la marcha
- 29. ¿Cómo agregar la configuración del campo sobre la marcha?
- 30. Cargando complementos Qt al enlazar a Qt estáticamente?
Ver el paquete 'toque' en hackage. –
Esta pregunta es relevante para mis intereses. Nunca estoy seguro de cuál de las media docenas de paquetes de carga dinámicos es el "actual" ... (Y, en cualquier caso, nunca he logrado que esto funcione). – MathematicalOrchid