使用Haskell和Hubris加强Ruby
在Ruby或者Rails應(yīng)用中嵌入C代碼是解決性能瓶頸的辦法之一,RubyInline大大簡化了這個(gè)過程。Ruby社區(qū)也緊緊地和其他的函數(shù)語言社區(qū)聯(lián)系在一起,包括Erlang、Caml和Haskell:Erlectricity已經(jīng)成為和Erlang連接的紐帶,而rocaml則可以與Objective Caml進(jìn)行交互。Apache的Thrift則是以另外一種方式(通過PRC和序列化格式)與其他語言交互。
\u0026#xD;Mark Wotton編寫了Hubris,使得在Ruby中調(diào)用Haskell代碼成為可能。你只需要安裝Haskell平臺(tái)所帶的ghc來兼容jhc(John的Haskell編譯器),不過你必須注意的是,jhc只能運(yùn)行在Linux或者M(jìn)ac平臺(tái)下。
\u0026#xD;一旦你有這些需求,你需要首先編寫一個(gè)Haskell文件,在自定義的函數(shù)處添加額外的調(diào)用導(dǎo)出命令,例如Test.hs:
\u0026#xD;\u0026#xD;fibonacci :: Int -\u0026gt; Int\u0026#xD;fibonacci n = fibs !! n\u0026#xD; where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)\u0026#xD;\u0026#xD;然后你需要調(diào)用jhc_builder.sh Test.hs來創(chuàng)建動(dòng)態(tài)庫(libdynhs.so)。
\u0026#xD;接下來你可以放心大膽地編寫Ruby代碼,并且使用Ruby/DL加載動(dòng)態(tài)庫調(diào)用導(dǎo)出的函數(shù)了。
Mark將會(huì)在九月份舉辦的rorosyd做一個(gè)關(guān)于Hubris的講座。盡管只是初步意向,但是這個(gè)講座肯定會(huì)吸引一些Haskell的用戶。
\u0026#xD;查看英文原文:Empower Your Ruby With Haskell And Hubris
總結(jié)
以上是生活随笔為你收集整理的使用Haskell和Hubris加强Ruby的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TortoiseSVN安装最新版,设置中
- 下一篇: 9、osg3.2.1中漫游