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