写点什么

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

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

关注

评论

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

国外视频剪辑软件有哪些 国外视频软件好用推荐

阿拉灯神丁

抖音 会声会影2023 视频剪辑软件 素材库

腾讯面试:什么锁比读写锁性能更高?

王磊

GPT5 如何使用?GPT5 如何订阅?GPT5 功能全面详解

蓉蓉

人工智能 openai GPT ChatGPT

揭秘接口测试:为何它是你软件质量的守门人?

测试人

软件测试

阿里巴巴中国站1688商品详情API返回值探索:数据驱动的电商新生态

技术冰糖葫芦

API Explorer API 接口 API 文档 pinduoduo API

京东秒送售后系统退款业务重构心得

京东零售技术

Java 架构 后端 企业号 5 月 PK 榜

openGemini v1.2.0版本正式发布,IoT 场景性能大幅提升!

华为云开发者联盟

时序数据库 华为云 华为云开发者联盟 openGemini 企业号2024年5月PK榜

上海交大携手阿里巴巴成立人工智能与系统联合实验室

阿里技术

人工智能 阿里巴巴 上海交大 人工智能与系统联合实验室

淘宝API实时接口:淘宝店铺所有商品数据接口丨天猫店铺所有商品数据

tbapi

淘宝API接口 淘宝店铺所有商品数据接口 天猫店铺所有商品数据接口

OpenAI发布新旗舰模型GPT-4o!UI设计师的又一AI设计神器来了!

彭宏豪95

人工智能 设计 UI 插件 AIGC

地理数据可视化的神奇组合:Python和Geopandas

华为云开发者联盟

Python 数据可视化 华为云 华为云开发者联盟 企业号2024年5月PK榜

遗留系统

mazhen

Java EJB corba orb

GPT-4o重磅发布,第一时间测评!

可信AI进展

openai GPT

碳实践|碳管理:企业业务创新的绿色引擎

AMT企源

双碳 碳管理 AMT企源 碳核算

越来越真的Deepfake再次引起网安界的关注

芯盾时代

人工智能 网络安全

一文读懂:低代码!

天津汇柏科技有限公司

低代码

Advanced RAG 07:在RAG系统中进行表格数据处理的新思路

Baihai IDP

AI LLM 白海科技 企业号 5 月 PK 榜 rag

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