Serokell

Serokell,使用 Haskell、OCaml、Rust 等函数式编程语言为金融科技、区块链与 AI 等行业构建高性能软件的定制开发公司。

Haskell、强类型与下一代生物信息学:专访 Michal Gajda

生物信息学家 Michal Gajda 在访谈中指出,Haskell 的强类型和纯函数式特性能显著提升生物数据处理的可扩展性和错误防护,hPDB 项目证明其解析速度领先且支持多核线性扩展。他同时强调当前 Haskell 在生物信息领域的主要障碍是教育普及、初学者友好工具流以及生态成熟度,而非语言性能本身。
评论点赞收藏19 天前

Rust、C++与安全底层代码背后的权衡

深度访谈系统程序员Nikita Lisitsa,探讨C++与Rust在系统编程和游戏开发中的共存与取舍。内容涵盖内存安全、多线程同步、游戏引擎架构设计、WebGPU渲染抽象以及从商业项目Costa Verde中总结的技术经验。作者认为C++与Rust应并行学习,Rust不会完全取代C++,且在非安全关键领域,内存错误并非主要痛点。
评论点赞收藏65 天前

MonadBaseControl:隐藏的危险与正确的心智模型

深入解析 Haskell 中 MonadBaseControl 的陷阱与最佳实践。文章通过 StateT 状态丢失、多输入动作状态线程、并发与异常处理等具体案例,展示了盲目使用 lift 导致的语义错误,并对比了 MonadBaseControl 与 MonadMask/MonadUnliftIO 的适用场景,强调类型正确不等于语义正确。
评论点赞收藏144 天前

Tagless Final风格入门:一种更优的eDSL实现方案

Serokell工程师介绍在项目中采用Tagless Final风格实现领域特定语言(eDSL)的经验。文章解释了Tagless Final作为一种代数效应建模方法,相比Free Monad等方案在类型推断、性能(无中间数据结构开销)和代码简洁性上的优势,并提供了Haskell代码示例。
评论点赞收藏467 天前

Rust 并非函数式语言

文章深入探讨了Rust是否属于函数式语言。作者认为虽然Rust借鉴了函数式编程的一些特性(如模式匹配、代数数据类型、表达式语法),但其核心设计(如可变性默认、缺乏纯函数保证、无尾调用优化保证、闭包非一等公民等)使其本质上仍是命令式语言。文章详细分析了函数式语言的各种定义标准,并逐一对照Rust的特性,得出结论:称Rust为函数式语言是对Rust和函数式编程的双重低估。
评论点赞收藏563 天前

Haskell依赖类型指南:第四部分——GHC最新进展与类型系统革新

Serokell团队汇报GHC对Haskell依赖类型的最新进展。重点包括:在类型声明中引入通配符绑定器以消除未使用变量的警告;完善RequiredTypeArguments扩展,支持在表达式中使用类型语法(如函数类型);修复模式匹配中类型构造器的名称解析问题;区分函数元数与可见元数以改进错误信息;重构Kind Checker以统一类型检查器结构。这些改进旨在使高级类型系统特性更实用,为依赖类型奠定基础。
评论点赞收藏664 天前

Haskell依赖类型进展(三):GHC 9.10新特性与底层重构

Serokell团队发布了GHC依赖类型进展报告,重点介绍了GHC 9.10中的新特性:Lambda和函数方程中的@绑定符、固定声明中的命名空间说明符、精确打印注释的重构,以及列表和元组类型的无歧义语法。文章详细解释了@绑定符如何解决类型变量作用域不连续的问题,并为未来保留不可见量词奠定基础,同时讨论了命名空间说明符对解决类型/数据构造函数冲突的作用。
评论点赞收藏842 天前

生产环境中的 Rust:FOSSA 的工程实践与选型思考

Serokell 采访 FOSSA 高级工程师 Jessica Black,探讨 FOSSA 如何将 Rust 引入其开源治理平台。文章详细介绍了使用 Rust 重写 vendored code matching 和开发 FOSSA Broker 的背景、动机及遇到的挑战(如学习曲线、借用检查器、宏)。作者认为 Rust 结合了 Haskell 的类型系统和 Go 的实用性,且在跨平台稳定性和调试方面表现优异,未来 Rust 和 Haskell 将作为 FOSSA 的主要开发语言并行使用。
评论点赞收藏895 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。