PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
PLT
[闲聊] Meta-programming强的语言有哪些?
楼主:
NilPtr
(神奇的空指标)
2014-12-24 00:21:05
小弟最近玩C++的Template Meta-programming玩得有点上瘾了,
C++只靠Template做出来的元编程在所有语言中不是算是顶尖的吧?
所以我想研究一下别的语言的元编程,希望版上有相关经验的大大
能够给个研究方向,顺便分享一下那个语言是有多神奇XD
听说Lisp的Macro很厉害,但是我估狗来估狗去的还是看不太懂,
希望有大神能够举例一下(听说Ruby好像在这方面也很在行呢)
也欢迎有元编程成瘾症的患者一起讨论真实/幻想中的元编程,
功能会有多神奇~ XD
作者:
mars90226
(火星人)
2014-12-24 01:19:00
个人觉得Ruby挺强,有define_method, method_missing还有send可以用,还可以改Class这个class去影响其他claclassRuby在修改class方面的工具挺多,很轻易就可以做metaprogramming相关的事情,google一下就有很多文章介绍一个最明显的例子就是standard library中的OpenStructperson = OpenStruct.new; person.name = "Mars"person.name # => "Mars" 完全不用管有没有name这个attribute在里面,他内部就是用method_missing做的
楼主:
NilPtr
(神奇的空指标)
2014-12-24 17:58:00
Ruby真的很方便,难怪有些人喜欢用Ruby来做DSL而且Ruby的元编程非常的动态,之前好像看过能自己生出一串结构类似的method的方法,像是自己生一堆setter之类的是说我以前就摸过C++的TMP技术,直到最近学了FP类的语言才知道C++Programmer口中的TMP特例化根本就是FP的匹配模式
作者:
suhorng
( )
2014-12-24 21:08:00
话说我觉得虽然很像, 不过应该有点差别; FP 的模式匹配会(通常)由上到下 matching, C++ 则不是
作者:
dryman
(dryman)
2014-12-28 14:18:00
http://www.weitz.de/macros.lisp
作者: ccshan (善终结)
2014-12-29 13:11:00
http://terralang.org/
见 "Generative programming" 那段
作者:
enthos
(影斯作业系统)
2014-12-30 23:06:00
FORTH定义 : 1 type ; : 2 s" enthos" ; : 3 ." Hello," ;执行, 3 2 1 结果 Hello,enthos ok原本的加法 1 9 + . 10 ok把1定义成9,+定义成* : 1 9 ; : + * ; redefined + ok执行 1 9 + . 81 ok
作者:
beatitude
(...)
2013-01-04 19:04:00
http://www.zhihu.com/question/19869614
作者:
DBoyX
(大米魂)
2013-03-24 19:59:00
lua, javascript
继续阅读
[连结] Haskell Tutorial
JustinHere
Fw: [理工] 程式语言观念
suhorng
Fw: [情报] Functional Thursday #19 (介绍 DestructAssign 实作)
suhorng
[问题] category theory在PLT中有多重要?
carelai
Fw: [心得] 写一个自己的程式语言 -- ACLang
suhorng
Fw: [广告] 关于小孩学习程式语言的资讯
Breadhouse
[问题] TI Basic语言(TI Nspire计算机语言)
kingzero
Fw: [讨论] 未来式语法
sunneo
[闲聊] IRC 上的新频道 #yinwang.talk
zatic
[公告] bowiee警告一次
suhorng
Links
booklink
Contact Us: admin [ a t ] ucptt.com