【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

使用 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:022510
用户头像

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

关注

评论

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

太爆了!阿里最新出品2023版JDK源码学习指南,Github三天已万赞

程序员小毕

程序员 后端 jdk源码 架构师 java面试

获权威机构Gartner认可,瓴羊Quick BI连续四年入选魔力象限ABI报告

夜雨微澜

手语识别技术的应用和前景

来自四九城儿

得物社区亿级ES数据搜索性能调优实践

得物技术

大数据如何助力营销(4)策略制定

MobTech袤博科技

开心档之C++ 变量类型

雪奈椰子

ipa如何安装到iphone

雪奈椰子

使用MFT进行加密文件传输的7个好处

镭速

登录appuploader

雪奈椰子

WorkPlus Knowledge:基于ChatGPT创建专属你的智能化知识库

WorkPlus

私有化部署的即时通讯软件:消息、文件安全加密,全面可控

WorkPlus

活动回顾|Kyligence x 亚马逊云科技,携手加速零售电商数智化转型

Kyligence

数据分析 零售行业 指标平台

IDO 前瞻,Vimverse 生态如何推动 DeFi 的深度革新?

股市老人

免费堡垒机选择云堡垒机可以吗?哪家好?

行云管家

堡垒机 云堡垒机 免费堡垒机

使用数据可视化分析还有多少人在玩梦幻西游

搞大屏的小北

数据可视化 用户画像 梦幻西游 游戏分析

全是技巧!ZBrush雕刻手部教程赶紧收藏!

Finovy Cloud

RocketMQ 5.0 如何配置TLS加密传输?

Apache RocketMQ

消息列队

瓴羊Quick BI、帆软finebi等助力中国企业加速BI国产化替代进程

对不起该用户已成仙‖

亚马逊云是哪个国家的?收费标准贵吗?

行云管家

云计算 云服务 云管理 亚马逊云

聊聊原生拖拽API

巨梦科技

django Vue

豆浆、油条、肉夹馍......西安银行的挑战开始了

OceanBase 数据库

数据库 oceanbase

学术加油站|基于LSM-tree存储系统的内存管理,最大限度降低I/O成本

OceanBase 数据库

数据库 oceanbase

机器学习平台 PAI 支持抢占型实例,模型服务最高降本 90%

云布道师

520用项目管理思维来过,相当炸裂!

禅道项目管理

开源之夏 2023|欢迎报名 Apache RocketMQ 社区项目!

Apache RocketMQ

RocketMQ 开源之夏

如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总

雪奈椰子

数据可视化图表之雷达图介绍

2D3D前端可视化开发

数据分析 数据可视化 数据可视化工具 可视化图表 雷达图

IOS证书制作教程

雪奈椰子

iOS描述文件(.mobileprovision)一键申请

雪奈椰子

GGV 对话 Zilliz 星爵:向量数据库,开创 AI 原生数据基础软件时代

Zilliz

Milvus Zilliz AIGC 向量数据库 zillizcloud

数字化转型应该如何去做?(历史篇)

数字随行

数字化转型

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