当前位置:  开发笔记 > 编程语言 > 正文

F#中的宏支持

如何解决《F#中的宏支持》经验,为你挑选了4个好方法。

在阅读Practical Common Lisp之后,我终于明白了宏的重要性,我一直在寻找支持这个的.NET平台的语言.有一些用于.NET的lisp方言,但从我能够收集到的所有方言都是非常beta或被遗弃.最近我的兴趣是由Clojure引起的,但是它适用于java平台,虽然可能会使用ikvm,但它并不觉得有些集成.特别是当你想做像WPF这样的东西时.

最近我一直听到关于F#的耳语,我试着查看文档,如果我能找到任何关于宏支持的东西,但还没找到它.有人知道吗?

谢谢 :)



1> ben..:

Nemerle,http: //nemerle.org/,是一种.NET语言(也支持单声道),它支持很多函数式编程范例,同时保持视觉上接近C#.它有广泛的宏观支持.



2> Jason Dagit..:

好吧,F#基于OCaml,OCaml有一个相当广泛的宏系统.鉴于F#和OCaml的语法和语义相似性,您可以将Ocaml宏系统移植到F#.

除了窃取Ocaml的宏系统之外,我还没有意识到F#的固定宏系统.


移植camlp4并非易事.但只要您保持与F#的ocaml兼容子集,就不需要它.虽然整个过程需要一些手动设置并导致某些限制.

3> Jim Deville..:

不.没有F#的宏.



4> Jörg W Mitta..:

你看过Boo吗?虽然Boo没有宏,但它有一个开放的编译器管道,它是语法元编程宏的一个很好的替代品.

[编辑]如评论中所述,Boo 现在确实有宏.


Boo目前确实有宏(当你发布时可能不是这种情况).
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有