写点什么

使用 Haskell 和 Hubris 加强 Ruby

  • 2009-09-01
  • 本文字数:595 字

    阅读完需:约 2 分钟

在 Ruby 或者 Rails 应用中嵌入 C 代码是解决性能瓶颈的办法之一, RubyInline 大大简化了这个过程。Ruby 社区也紧紧地和其他的函数语言社区联系在一起,包括 Erlang、Caml 和 Haskell: Erlectricity 已经成为和 Erlang 连接的纽带,而 rocaml 则可以与 Objective Caml 进行交互。Apache 的 Thrift 则是以另外一种方式(通过 PRC 和序列化格式)与其他语言交互。

Mark Wotton 编写了 Hubris ,使得在 Ruby 中调用 Haskell 代码成为可能。你只需要安装 Haskell 平台所带的 ghc 来兼容 jhc (John 的 Haskell 编译器),不过你必须注意的是,jhc 只能运行在 Linux 或者 Mac 平台下。

一旦你有这些需求,你需要首先编写一个 Haskell 文件,在自定义的函数处添加额外的调用导出命令,例如 Test.hs

复制代码
fibonacci :: Int -> Int
fibonacci n = fibs !! n
where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

然后你需要调用jhc_builder.sh Test.hs来创建动态库(libdynhs.so)。
接下来你可以放心大胆地编写 Ruby 代码,并且使用 Ruby/DL 加载动态库调用导出的函数了。

复制代码
require 'dl/import'
module HaskyPants
extend DL::Importable
dlload "./libdynhs.so"
extern "int fibonacci_hs(int)"
end
puts HaskyPants.fibonacci_hs(12)

Mark 将会在九月份举办的 rorosyd 做一个关于 Hubris 的讲座。尽管只是初步意向,但是这个讲座肯定会吸引一些 Haskell 的用户。

查看英文原文: Empower Your Ruby With Haskell And Hubris

2009-09-01 01:023560
用户头像

发布了 90 篇内容, 共 37.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

常用的数据分析方法和工具有哪些?

悦数图数据库

图数据库

一文读懂 Databend 的开放表格式引擎

Databend

缓存有大key?你得知道的一些手段

京东零售技术

Java 缓存 后端

创新技术应用:视觉CV处理在UI自动化测试中的实际应用探索

测吧(北京)科技有限公司

测试

从智慧PC到千行百业:在华为擎云 G540中找到新质生产力

脑极体

AI PC

从视觉识别到动作推荐:UI自动化测试的完整技术链条剖析

测吧(北京)科技有限公司

测试

服务化UI页面结构树解析:优化UI自动化测试的实践探索

测吧(北京)科技有限公司

测试

可观测性十大场景 | 关于保险行业开门红期间应用性能的端到端全栈可观测

博睿数据

加速大模型落地:火山引擎向量数据库的实践应用

字节跳动云原生计算

大模型 向量数据库 混合搜索

架构实战营-模块一作业

满心

架构实战营

利用技术提升UI自动化测试的准确性

测吧(北京)科技有限公司

测试

软件测试学习笔记丨性能测试工具JMeter — 安装和录制回放

测试人

软件测试 性能测试 自动化测试 测试开发

合伙/雇佣/灵活用工,供需双方该如何选择呢?

凌晞

灵活用工 人力资源规划

提高测试覆盖率:基于深度学习的新视角分析方法

测吧(北京)科技有限公司

测试

汽车制造业PMC组态应用最佳实践

图扑物联

龙蜥社区成立系统安全 SIG,助力系统安全生态

OpenAnolis小助手

开源 操作系统 系统安全 龙蜥社区 sig

科技向善,真的吗?

算法的秘密

数据解读乡村发展!专家详解 2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛赛题

ModelWhale

大数据 数据分析 交叉学科 中国大学生计算机设计大赛 新文科

软件测试学习笔记丨性能测试体系

测试人

软件测试

UI自动化测试技术的突破与挑战

测吧(北京)科技有限公司

测试

CC攻击对网站的影响

德迅云安全杨德俊

ETL与抖音数据同步,让数据流动无阻

谷云科技RestCloud

数据同步 ETL 数据集成

国内鞋服品牌如何打造出优衣库的“零库存”运营体系

第七在线

一键打通红圈泛微,让协同办公更轻松!

聚道云软件连接器

案例分享

百度智能云专有云 ABC Stack 平台通过一云多芯认证,为用户构建全栈国产化云平台

Baidu AICLOUD

专有云 一云多芯

AI制作PPT工具有哪些?10款AI生成PPT软件盘点推荐!

彭宏豪95

职场 PPT PPT模板 办公软件 AIGC

淘系API接口推荐:淘宝商品描述信息数据接口

tbapi

淘宝API接口 淘宝商品描述接口

机器学习视觉处理技术:UI自动化测试的未来发展方向

测吧(北京)科技有限公司

测试

使用Haskell和Hubris加强Ruby_Ruby_Sebastien Auvray_InfoQ精选文章