免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

一秒钟教你变 Lisper! [复制链接]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
21 [报告]
发表于 2011-12-04 23:01 |只看该作者
我还知道lisp有一个用处.

  就是opengl shader language在经过前端处理后,输出的东西和lisp很相 ...
塑料袋 发表于 2011-12-04 22:42



    之所以跟lisp很像,因为这样的语法很简单,处理不用写上复杂的编译算法,所以过程表示(IR)基本都用这样的简单语法

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
22 [报告]
发表于 2011-12-04 23:24 |只看该作者
在我看来,lisp就是个渣.
我一向给立场明显,不含糊其词,而且大多数时候给别人他们想听的回答
塑料袋 发表于 2011-12-04 22:34


所以虽然与你立场不同, 但还是很喜欢你说话不含糊这点。


autocad,gimp这些玩意, 最关键的核心图形学, lisp处在了可有可无的位置上.
塑料袋 发表于 2011-12-04 22:34

autocad, gimp我不玩。 但我玩emacs。

说emacs最关键的是编辑, 也许无法反驳。
但如果没有emacs lisp, 那emacs真的就是个渣了 —— emacs lisp,即使它在lisp中算渣的, 但绝对不是处在可有可无的位置。
下面是emacs作者的话:
http://www.gnu.org/gnu/rms-lisp.html
The original Emacs did not have Lisp in it.
...
The language that you build your extensions on shouldn't be thought of as a programming language in afterthought; it should be designed as a programming language. In fact, we discovered that the best programming language for that purpose was Lisp.




也许是受到俺的见识所限, 至少我不认为lisp有什么神秘的.
而且,lisp和数学物理等科目不同.  数学可能无法产生立即的效果,因为这是个纯理论性的科目;但是lisp本来就是为了应用而生,纯应用性的,却被应用所抛弃. 还好意思蹦达嘛呀.
lisp之所以NB,很大程度是因为炒做,就和山东的大蒜没什么区别.
塑料袋 发表于 2011-12-04 22:34


不对, lisp从一开始就是纯理论性研究, 一种思维体操而已。 原本就只打算作为一种图灵机定义。
甚至当McCarthy听说一个学生打算实现lisp时, 还告诉他不要将理论与实践混淆。
http://www.paulgraham.com/icad.html

Steve Russell said, look, why don't I program this eval..., and I said to him, ho, ho, you're confusing theory with practice, this eval is intended for reading, not for computing.

...

Suddenly, in a matter of weeks I think, McCarthy found his theoretical exercise transformed into an actual programming language-- and a more powerful one than he had intended.

So the short explanation of why this 1950s language is not obsolete is that it was not technology but math, and math doesn't get stale.




本坛子上几乎100%的人都是人云亦云. 某个白专教条的书上说lisp牛逼了,大家就都一窝蜂的认为它NB.
就算它不是炒做而是确实牛逼,那么坛子上也不见得就有人能够认识到它NB在那里.
塑料袋 发表于 2011-12-04 22:34


确实坛子上没见过有多少人能够认识到它NB在那里

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
23 [报告]
发表于 2011-12-05 01:01 |只看该作者
之所以跟lisp很像,因为这样的语法很简单,处理不用写上复杂的编译算法,所以过程表示(IR)基本都用这 ...
cjaizss 发表于 2011-12-04 23:01



    什么叫复杂语法?简单点说,就是有中缀运算符的语法

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
24 [报告]
发表于 2011-12-05 14:28 |只看该作者
不对, lisp从一开始就是纯理论性研究, 一种思维体操而已。 原本就只打算作为一种图灵机定义。
甚至当McCarthy听说一个学生打算实现lisp时, 还告诉他不要将理论与实践混淆。
OwnWaterloo 发表于 2011-12-04 23:24



lisp隶属于语言,语言隶属于描述方式,描述方式是为思考服务的。


思考么,还和纯理论沾边。

语言么,任何一种语言都是实践,而不是理论。


lisp首先是一种语言,所以它是实践,而且是一种又被实践所抛弃的语言。


语言是工具而且仅只能是工具,这是放诸四海而皆准,颠扑不破的真理。




我不明白C版那些坛头版霸怎么就那么大言不惭,颠倒黑白,指鹿为马:

一边又嘲笑讥讽着linus大神关于的C++观点。
一边又引用别的所谓“语言权威”的口水,来喷坛子上的众狼友。

这纯粹和借耶稣打到如来佛,借真主打败耶稣一样可笑。

而且,即使是那些别的“语言权威”,也从没敢说过“语言影响思想”,这个反动论调纯粹是那些坛头版霸鼓捣出来的,他们怎么就这么敢冒天下之大不讳?

论坛徽章:
0
25 [报告]
发表于 2011-12-05 14:33 |只看该作者
本帖最后由 KanonInD 于 2011-12-05 14:36 编辑

确实没多少人了解抽象语法树、S表达式、宏、lambda算子、闭包的NB, 包括楼上。

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
26 [报告]
发表于 2011-12-05 14:39 |只看该作者
确实没多少人了解抽象语法树、S表达式、宏、lambda算子的NB, 包括楼上。
KanonInD 发表于 2011-12-05 14:33



    那你懂么???

  你总整名词,要是拿不出来具体的例子的话,那就从根本上违反了科学。因为科学来源于实践,而且注定要去指导实践。

  
  整800个名词又有什么用?

  而且以违反科学的路子去学习计算机的话,不如趁早转行

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
27 [报告]
发表于 2011-12-05 14:47 |只看该作者
确实没多少人了解抽象语法树、S表达式、宏、lambda算子、闭包的NB, 包括楼上。
KanonInD 发表于 2011-12-05 14:33



    毛主席说,凡事就怕认真二字

   所以我今天就想知道,这些玩意到底NB在那里???

论坛徽章:
0
28 [报告]
发表于 2011-12-05 15:27 |只看该作者
毛主席说,凡事就怕认真二字

   所以我今天就想知道,这些玩意到底NB在那里???
塑料袋 发表于 2011-12-05 14:47



   
   我还知道lisp有一个用处.

  就是opengl shader language在经过前端处理后,输出的东西和lisp很相象.

  mesa driver需要处理这个语法树,然后把这个shader交给GPU.


其中,抽象语法树和S表达式就在你20楼的回复那里。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
29 [报告]
发表于 2011-12-05 16:52 |只看该作者
lisp隶属于语言,语言隶属于描述方式,描述方式是为思考服务的。


思考么,还和纯理论沾边。

语言么,任何一种语言都是实践,而不是理论。


lisp首先是一种语言,所以它是实践,而且是一种又被实践所抛弃的语言。


语言是工具而且仅只能是工具,这是放诸四海而皆准,颠扑不破的真理。
塑料袋 发表于 2011-12-05 14:28


你这段话至少有两个问题。

首先是刻意强调lisp在实践上的作用而看轻lisp在理论上的作用。
lisp在理论研究上的作用我肯定没法全部列举, http://www.paulgraham.com/icad.html 里有一些, 在"What Made Lisp Different" 里。
lisp发明的许多东西一度被其他语言抛弃, 最近又慢慢被新发明的语言捡起。

其次, 认为lisp只用于理论研究。
有实践派的lisp, 比如common lisp。http://en.wikipedia.org/wiki/Common_Lisp#Applications
但不会有公司愿意使用common lisp开发, 公司需要考虑成本问题。
雅虎某个网站就一度是被 Paul Graham(也是上面引文的作者) 用common lisp实现的。 但当他离开后, 就被用C++与perl改写了。
所以我才说lisp与C是阳春白雪与下里巴人。



我不明白C版那些坛头版霸怎么就那么大言不惭,颠倒黑白,指鹿为马:

一边又嘲笑讥讽着linus大神关于的C++观点。
一边又引用别的所谓“语言权威”的口水,来喷坛子上的众狼友。

这纯粹和借耶稣打到如来佛,借真主打败耶稣一样可笑。

而且,即使是那些别的“语言权威”,也从没敢说过“语言影响思想”,这个反动论调纯粹是那些坛头版霸鼓捣出来的,他们怎么就这么敢冒天下之大不讳?
塑料袋 发表于 2011-12-05 14:28

嘲笑linus的理由很简单:
1. 他嘴巴本来就臭, 他的诸多"名言" 都被记录在案
2. 他是实现linux kernel的, 不是研究语言学的
你是研究kernel的, 所以觉得他是大神。
但在语言学方面他的贡献为零。

说语言怎么怎么如何如何时, 引用John McCarthy、Paul Graham的话是最正常不过的事。
引用linus才是冒天下之大不讳。

语言影响思想什么的, Paul Graham 的 hacker and painter 里就有。其他还有很多研究语言的都有这样的结论。
只打算用C的人是不会关心也无法体会的。

论坛徽章:
0
30 [报告]
发表于 2011-12-05 17:05 |只看该作者
什么叫复杂语法?简单点说,就是有中缀运算符的语法
cjaizss 发表于 2011-12-05 01:01



甚以为然!

lisp是一种语法简单的语言,但书写并不简单---那些括号!既然采取了前缀表达式,应该成为
括号最少的语言,但讽刺的是它的括号最多.
c采取了前缀表达式和中缀表达式混合的语法.虽然它尽力做到简单,但与lisp仍有距离,编译
器不是人人都能写的.我正在研究的一个课题是将c完全前缀表达式化,变成语法最简单的语
言,括号极少的语言.
lisp语法简单,书写不简单,编译器也不简单(由于宏).c采取了简单宏,所以前缀表达式c将比
lisp还简单:语法简单,书写简单(简化括号,去除分号),编译器也简单.

fn [int add int x int y, \ 参数和返回都是值(单注释)
    return + x y
]

fn [int main,
    printf["%d\n" * add 2 3 4] \ 不定参数仍需括号
    return 0
]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP