lambda calculus 解决了什么问题? 为什么会出现这个理论? 为什么说它很有价值? - V2EX
nthhdy
V2EX    Lisp

lambda calculus 解决了什么问题? 为什么会出现这个理论? 为什么说它很有价值?

  •  
  •   nthhdy Apr 11, 2017 6831 views
    This topic created in 3319 days ago, the information mentioned may be changed or developed.

    最近对 lambda calculus 比较感兴趣,读了一些博客和文章,了解了 expression, abstraction, application, a 变换, b 变换, church numbers, Y combinator 等等这些东西,脑子里有了一些简单的推倒. 各文章关于这些内容大同小异,却很少触及题目所述问题,既"这个东西到底有啥用".

    我不了解计算原理,可计算性问题,形式系统,逻辑学什么的这些概念.许多文章说起这些概念,然后一句带过,让我感觉这背后水很深的样子,下面无从下手了.

    大家是怎么学过来的?一定要了解这些数学理论,才能回答我的问题吗? 求教站内大牛.

    4 replies    2022-02-12 06:14:25 +08:00
    Mistwave
        1
    Mistwave  
       May 2, 2017   1
    楼主所说的 lambda calculus 是无类型 lambda 演算,就是 Church 提出的那个,是一套计算系统(计算模型,whatever ),目的就是拿来研究计算过程(函数定义、函数应用、递归函数 blabla )。

    有什么用呢,lambda calculus 和图灵机等价,那么可以拿来制造计算机(广义,可以用来计算的机器),设计编程语言啊(如 Lisp )。

    然而我们现在用的 CPU 都是基于图灵机的,所以就算是 Lisp 也仅仅是用图灵机模拟的 lambda 演算。

    那么事实上,学这个的作用,就是满足自己的好奇心了吧(笑

    当然由 lambda calculus 发展而来的很多概念,是可以提升编程能力的,比如 closure,continuation 等等。

    欢迎进一步的讨论
    Maxzzz
        2
    Maxzzz  
       Feb 3, 2022
    Lambda Calculus 是 Functional Programming 的妈,可以将它看作一门极度简化,直接触及本质的编程语言。所谓万变不离其宗,学扎实了 Lambda Calculus ,那以后无论遇到什么千奇百怪的 Functional Language [Lisp, Haskell, OCaml...] 都可以快速上手。
    nthhdy
        3
    nthhdy  
    OP
       Feb 7, 2022
    @Maxzzz 你觉得 Y combinator 有没有必要搞懂。

    原始论文里用 function 表达正整数,表达加减乘除。
    很简单的概念,全都用函数构造,看起来都差不多,只有烧脑。
    我相信 string (list of chars)、hash map 这种结构用函数也都能表示。
    但是写程序的时候用不到这种“技能”。
    Maxzzz
        4
    Maxzzz  
       Feb 12, 2022
    @nthhdy 如果你是做编程语言工作或者公司主力语言是函数式语言(例如 Jane Street 。Y combinator 肯定要搞懂的,不然如一楼所说,没有机会也没有兴趣接触 Functional Programming ,那 Lambda Calculus 可能确实没什么必要学习。
    About     Help     Advertise     Blog     API     FAQ     Solana     1301 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 23:52 PVG 07:52 LAX 16:52 JFK 19:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86