Este artículo explora alternativas a la biblioteca de threading Lwt en el contexto de MirageOS, un sistema operativo totalmente impulsado por eventos. En sistemas tradicionales, los hilos preemption interrumpen el flujo de ejecución, mientras que MirageOS, al igual que Node.js, utiliza un modelo de eventos donde el código se ejecuta hasta que necesita bloquearse (por I/O o temporizadores). Para gestionar esta ejecución asíncrona, Lwt proporciona una forma monádica de construir y componer hilos, utilizando return para crear hilos, bind para encadenar operaciones y run para iniciar la ejecución. Aunque Lwt es ampliamente utilizado y ofrece extensiones de sintaxis para facilitar su uso, presenta desventajas: requiere adaptar el código existente para usar return y bind, lo que dificulta la integración de código de terceros, y la asignación de closures para cada punto de bloqueo introduce una sobrecarga, aunque pequeña.
Una alternativa prometedora son las continuaciones de
