Rom*_*kij 4 .net f# ocaml signal-processing prolog
只有我可以使用新库,新语言才有意义.所以我想知道我可以使用F#在.net中使用哪些新库.如果F#与ML/OCaml兼容,那么Ocaml库被移植到F#或者可以被移植.我对.NET中的信号处理/语音识别,逻辑编程/ SLD解析库感兴趣.
Tom*_*cek 12
我不认为有大量的ML/OCaml库被移植到F#.F#编程风格与人们在ML/OCaml中使用的风格大不相同,因此ML/OCaml库对F#程序员来说有点陌生.
但是有些项目在F#和OCaml中进行交叉编译.F#编译器本身曾经是这样的,我相信来自MSR的Slayer是(或者是?)另一个例子.但是,对于你提到的两个域,我不知道任何F#库.
如果您对使用F#编译OCaml代码感兴趣,那么以下是一些可能对您有所帮助的事情:
FSharp.PowerPack.Compatibility.dll程序集中实现(可以在F#PowerPack中找到)Jon*_*rop 11
F#包括来自OCaml的一些端口,例如Set和Map集合.其他具体的数据结构可以轻松移植,例如Chris Okasaki优秀专着的纯功能数据结构.我描述了基于他的左倾堆一个堆排序这里 OCaml中和F#.我发表在F#几个单纯的功能堆的更彻底的审查这里.但是,F#似乎不能很好地表达抽象数据结构(例如,通过队列抽象的可连接列表),因为它缺少Okasaki如此专业地使用的高阶模块系统.我还发布了一些其他翻译,比如Burrows-Wheeler transform在OCaml和F#中.OCaml有许多令人敬畏的库,如ocamlgraph,但它们通常很难或不可能直接翻译,因为F#缺乏核心语言功能,如高阶模块,多态变体,宏等.
微软是第一个F#采用者,当然,将他们的TrueSkill排名系统(在Halo 3和Bing AdCenter中使用)和他们的第三方驱动程序验证软件从OCaml转移到F#.
用于处理PDF文档的Coherent PDF命令行工具是在OCaml和F#中交叉编译的少数代码库之一.
我们将Smoke Vector Graphics引擎和我们(已停产)的Presenta应用程序从OCaml翻译为F#,现在它作为F#以可视化形式出售.语言之间的相似性肯定使翻译变得更容易,但仍需要数天才能完成,我们无法进行交叉编译.
从OCaml转换为F#的大多数代码都是商业代码,因为F#主要是商业语言,因此OCaml的商业用户正在迁移到F#.在最近发布的F#本身作为OSS之后,开源F#可能会开始起飞,但现在还处于早期阶段.
至于你的特定主题(例如信号处理),我不确定除了绑定到FFTW之外还要推荐什么,我在Visual F#2010 for Technical Computing中描述过.
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |