由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 最近在用clj干活。顺便看了看macro 倒吸一口冷气。
相关主题
metaprogramming板上的高人们能给科普比较functional programming language么
《Clojure编程乐趣》英文文字版[PDF]有朋友了解shen和Mark Tarver吗?
王垠真在写自己的语言了原来Haskell里面的quasiquoting是来自lisp的
Clojure上手123clojure 是lisp, 是好语言,但一辈子是小众,火不起来
macro is evil非常喜欢Clojure
这么多人讨论 FP, 大牛推荐门语言吧谈谈我认识的一些lisp程序员
有哪些公司用Lisp开发程序node太牛逼了,这次把Scala也给干了
各种语言程序猿被鄙视级别排序 (转载)RE: functional programming? English grammar error
相关话题的讨论汇总
话题: clj话题: macro话题: clojure话题: 用宏话题: 倒吸
进入Programming版参与讨论
1 (共1页)
t**r
发帖数: 3428
1
最近在用clj干活。顺便看了看macro 倒吸一口冷气。这玩意真心掌握不了。
h*i
发帖数: 3446
2
宏其实很简单的,就是一种编译前的预处理语法而已。
但Clojure社区现在不鼓励用宏了。在Clojure早期的时候,很多库还是用了不少宏的,
比如Storm,compojure,等等。但现代的clj库几乎都不用宏了。
这有两个原因:
1. Clojure程序员追求好的composibility。在组合能力上,宏不如函数,而函数又不如
纯数据,所以现在用Clojure实现一个功能的优先级是:
data > function > macro
能用数据作的事不用函数做,能用函数的不用宏。比如datomic,onyx等等项目,都是
以数据结构为中心的,比较declarative。
2. 从历史上看,宏的日常使用容易造成社区分裂,参见Common LISP。
总而言之,用Clojure不用宏没关系。

【在 t**r 的大作中提到】
: 最近在用clj干活。顺便看了看macro 倒吸一口冷气。这玩意真心掌握不了。
n*w
发帖数: 3393
3
有没有什么情况用宏特别合适?

不如

【在 h*i 的大作中提到】
: 宏其实很简单的,就是一种编译前的预处理语法而已。
: 但Clojure社区现在不鼓励用宏了。在Clojure早期的时候,很多库还是用了不少宏的,
: 比如Storm,compojure,等等。但现代的clj库几乎都不用宏了。
: 这有两个原因:
: 1. Clojure程序员追求好的composibility。在组合能力上,宏不如函数,而函数又不如
: 纯数据,所以现在用Clojure实现一个功能的优先级是:
: data > function > macro
: 能用数据作的事不用函数做,能用函数的不用宏。比如datomic,onyx等等项目,都是
: 以数据结构为中心的,比较declarative。
: 2. 从历史上看,宏的日常使用容易造成社区分裂,参见Common LISP。

h*i
发帖数: 3446
4
http://www.lispcast.com/when-to-use-a-macro

★ 发自iPhone App: ChineseWeb 8.7

【在 n*w 的大作中提到】
: 有没有什么情况用宏特别合适?
:
: 不如

e*******o
发帖数: 4654
5
Re
我觉得lisp 不是死在括号上 是死在macro上
lisp 类的语言声称syntax简单 但是加上macro 就意味着你永远学不完它的syntax

不如

【在 h*i 的大作中提到】
: 宏其实很简单的,就是一种编译前的预处理语法而已。
: 但Clojure社区现在不鼓励用宏了。在Clojure早期的时候,很多库还是用了不少宏的,
: 比如Storm,compojure,等等。但现代的clj库几乎都不用宏了。
: 这有两个原因:
: 1. Clojure程序员追求好的composibility。在组合能力上,宏不如函数,而函数又不如
: 纯数据,所以现在用Clojure实现一个功能的优先级是:
: data > function > macro
: 能用数据作的事不用函数做,能用函数的不用宏。比如datomic,onyx等等项目,都是
: 以数据结构为中心的,比较declarative。
: 2. 从历史上看,宏的日常使用容易造成社区分裂,参见Common LISP。

t**r
发帖数: 3428
6
meta programming c++ 也可以搞 比较难写就是了。

【在 e*******o 的大作中提到】
: Re
: 我觉得lisp 不是死在括号上 是死在macro上
: lisp 类的语言声称syntax简单 但是加上macro 就意味着你永远学不完它的syntax
:
: 不如

e*******o
发帖数: 4654
7
难写的好处是提高了bar
不是随便一个smart ass 都随时想搞一下

【在 t**r 的大作中提到】
: meta programming c++ 也可以搞 比较难写就是了。
1 (共1页)
进入Programming版参与讨论
相关主题
RE: functional programming? English grammar errormacro is evil
Scala or clojure这么多人讨论 FP, 大牛推荐门语言吧
clojure 做数据分析有哪些公司用Lisp开发程序
jvm上的脚本,这个老外说得靠谱各种语言程序猿被鄙视级别排序 (转载)
metaprogramming板上的高人们能给科普比较functional programming language么
《Clojure编程乐趣》英文文字版[PDF]有朋友了解shen和Mark Tarver吗?
王垠真在写自己的语言了原来Haskell里面的quasiquoting是来自lisp的
Clojure上手123clojure 是lisp, 是好语言,但一辈子是小众,火不起来
相关话题的讨论汇总
话题: clj话题: macro话题: clojure话题: 用宏话题: 倒吸