e*n 发帖数: 1511 | 1 有人特fan一本叫“structure and interpretation of computer programs”的书。借
来看了一眼,里面的内容使用Lisp。感觉这个语言完全是因为语法设计问题导致程序都
和天书一样。 |
k******y 发帖数: 17 | 2 那个书的目标不是教lisp,而是教一种思考方法
functional PL相比现在的流行语言来说,确实很少用
【在 e*n 的大作中提到】 : 有人特fan一本叫“structure and interpretation of computer programs”的书。借 : 来看了一眼,里面的内容使用Lisp。感觉这个语言完全是因为语法设计问题导致程序都 : 和天书一样。
|
e*n 发帖数: 1511 | 3 看不懂他的程序的例子,怎么看书?
【在 k******y 的大作中提到】 : 那个书的目标不是教lisp,而是教一种思考方法 : functional PL相比现在的流行语言来说,确实很少用
|
r*********r 发帖数: 3195 | 4 是 scheme, 不是 lisp. 小有不同. |
r*********r 发帖数: 3195 | 5 scheme/lisp 的语法其实是最简单的, 只有 function calling.
(foo x y) 就相当于 c 里的 foo(x,y)
难看懂是因为没有 c 里的 infix 的 operator, 所以 x+y/z 要写成 (+ x (/ y z)). |
c*****t 发帖数: 1879 | 6 这没啥。不过 () 多了的话,光 parse 这个 () 就得半天。
).
【在 r*********r 的大作中提到】 : scheme/lisp 的语法其实是最简单的, 只有 function calling. : (foo x y) 就相当于 c 里的 foo(x,y) : 难看懂是因为没有 c 里的 infix 的 operator, 所以 x+y/z 要写成 (+ x (/ y z)).
|
r*********r 发帖数: 3195 | 7 正在写的程序, 括号多吧. 哈哈
(let ((cy (int (+ 0.5 (* 0.5 (+ (bbox 3) (bbox 1))))))
(cx (int (+ 0.5 (* 0.5 (+ (bbox 2) (bbox 0))))))) |
e*n 发帖数: 1511 | 8 vim里那个match ( 和 )的功能估计就为这个来的。
【在 r*********r 的大作中提到】 : 正在写的程序, 括号多吧. 哈哈 : (let ((cy (int (+ 0.5 (* 0.5 (+ (bbox 3) (bbox 1)))))) : (cx (int (+ 0.5 (* 0.5 (+ (bbox 2) (bbox 0)))))))
|
k******y 发帖数: 17 | 9 不太清楚您发原帖的目的
是为了阐述一下有人看那本书的事实
还是仅仅为了问一下有没有人用lisp
还是迷惑自己应该用什么教材学lisp
还是。。。
【在 e*n 的大作中提到】 : 看不懂他的程序的例子,怎么看书?
|
n******n 发帖数: 12088 | 10 其实infix没有任何优点,就是个习惯。如果从小教育post or pre fix,大家也不会觉
得有什么。
).
【在 r*********r 的大作中提到】 : scheme/lisp 的语法其实是最简单的, 只有 function calling. : (foo x y) 就相当于 c 里的 foo(x,y) : 难看懂是因为没有 c 里的 infix 的 operator, 所以 x+y/z 要写成 (+ x (/ y z)).
|
|
|
n******n 发帖数: 12088 | 11 IDE可以帮忙。
【在 r*********r 的大作中提到】 : 正在写的程序, 括号多吧. 哈哈 : (let ((cy (int (+ 0.5 (* 0.5 (+ (bbox 3) (bbox 1)))))) : (cx (int (+ 0.5 (* 0.5 (+ (bbox 2) (bbox 0)))))))
|
r*********r 发帖数: 3195 | 12 据说是大家学数学的时候养成的习惯. 很难改的.
【在 n******n 的大作中提到】 : 其实infix没有任何优点,就是个习惯。如果从小教育post or pre fix,大家也不会觉 : 得有什么。 : : ).
|
g*****g 发帖数: 34805 | 13 当然有优点,从左往右看显然比做钟摆有效率。
【在 n******n 的大作中提到】 : 其实infix没有任何优点,就是个习惯。如果从小教育post or pre fix,大家也不会觉 : 得有什么。 : : ).
|
s******n 发帖数: 876 | 14 中/英文是 subject + verb + object
有的语言是 subject + object + verb
有的语言是 verb + subject + object
有的语言是可以用任何次序; 靠每个词的词尾变化来确定它的角色.
z)
【在 n******n 的大作中提到】 : 其实infix没有任何优点,就是个习惯。如果从小教育post or pre fix,大家也不会觉 : 得有什么。 : : ).
|
n******t 发帖数: 4406 | 15 对。我也觉得lisp把()搞得满天飞是非常脑残的行为。
【在 c*****t 的大作中提到】 : 这没啥。不过 () 多了的话,光 parse 这个 () 就得半天。 : : ).
|
s******n 发帖数: 876 | 16 如果不是搞理论的, 完全没必要学Lisp, Huskell什么的.
这个东西就是 lambda calculus 路线, 只有搞理论的人喜欢.
实际中用的是 turning machine, 简单, 直观, 容易model real world problem.
从von Neumann, 到fortran, 到java, 都是这个路线.
【在 e*n 的大作中提到】 : 有人特fan一本叫“structure and interpretation of computer programs”的书。借 : 来看了一眼,里面的内容使用Lisp。感觉这个语言完全是因为语法设计问题导致程序都 : 和天书一样。
|
n******t 发帖数: 4406 | 17 这是不可能的,你看看没有那种人类语言是这样搞得就知道了。
【在 n******n 的大作中提到】 : 其实infix没有任何优点,就是个习惯。如果从小教育post or pre fix,大家也不会觉 : 得有什么。 : : ).
|
g*****g 发帖数: 34805 | 18 实践出真知,嘛快写个应用出来溜溜就知道了。
【在 s******n 的大作中提到】 : 如果不是搞理论的, 完全没必要学Lisp, Huskell什么的. : 这个东西就是 lambda calculus 路线, 只有搞理论的人喜欢. : 实际中用的是 turning machine, 简单, 直观, 容易model real world problem. : 从von Neumann, 到fortran, 到java, 都是这个路线.
|
e*n 发帖数: 1511 | 19 你再努力想想?
【在 k******y 的大作中提到】 : 不太清楚您发原帖的目的 : 是为了阐述一下有人看那本书的事实 : 还是仅仅为了问一下有没有人用lisp : 还是迷惑自己应该用什么教材学lisp : 还是。。。
|
y*******g 发帖数: 6599 | 20 用的是scheme 和lisp有点不一样吧
【在 e*n 的大作中提到】 : 有人特fan一本叫“structure and interpretation of computer programs”的书。借 : 来看了一眼,里面的内容使用Lisp。感觉这个语言完全是因为语法设计问题导致程序都 : 和天书一样。
|
r*********r 发帖数: 3195 | 21 不需要 IDE, bash 下运行lisp解释器就会提示( ) 配对, 当然还要装 readline 库.
【在 n******n 的大作中提到】 : IDE可以帮忙。
|
h***z 发帖数: 233 | 22 Not necessarily model real world problems better, but it certainly models
real word computer architectures better.
【在 s******n 的大作中提到】 : 如果不是搞理论的, 完全没必要学Lisp, Huskell什么的. : 这个东西就是 lambda calculus 路线, 只有搞理论的人喜欢. : 实际中用的是 turning machine, 简单, 直观, 容易model real world problem. : 从von Neumann, 到fortran, 到java, 都是这个路线.
|