DataFrame ligero en MicroHs: Una aventura Haskell 2010

2025-09-11

Comenzando con un proyecto Android en Frege (Haskell en JVM) en 2015, el viaje de programación funcional del autor lo llevó a una búsqueda para desacoplar su biblioteca DataFrame de GHC para compatibilidad con MicroHs. Esta publicación detalla la implementación de la funcionalidad principal de DataFrame: construcción, expresiones básicas, `filterWhere`, `derive` y renderizado Markdown, en Haskell 2010, sin GADTs, familias de tipos o reflexión. El experimento demuestra que, si bien es verboso, la funcionalidad principal sigue siendo viable, ofreciendo portabilidad entre MicroHs (para CLIs pequeños o contextos integrados) y GHC (para velocidad y acceso al ecosistema). Los binarios de MicroHs son aproximadamente 100 veces más pequeños, pero de 5 a 10 veces más lentos; una compensación que vale la pena para muchas tareas de manipulación de datos, permitiendo un backend GHC para tareas intensivas.

Desarrollo