在MicroHs上实现一个轻量级DataFrame库

2025-09-11

作者在2015年尝试使用Frege(一种运行在JVM上的Haskell方言)进行Android开发,由此开始了他的函数式编程之旅。如今,他致力于将自己的DataFrame库与GHC解耦,使其可在MicroHs上运行。文章详细介绍了如何在没有GADTs、类型族或反射的情况下,用Haskell 2010标准实现DataFrame的核心功能,包括构造、简单的表达式、filterWhere、derive和Markdown渲染。实验表明,虽然代码冗长,但功能完全可用,并且这种可移植性允许在MicroHs(用于小型CLI或嵌入式环境)和GHC(用于速度和生态系统访问)之间进行选择。MicroHs的二进制文件大小约为GHC的100倍,但速度约慢5-10倍,对于许多数据整理任务来说,这是一个不错的权衡。