PLT 板


LINE

看板 PLT  RSS
不晓得这有什麽好吵的 ... 1. 一对多函数是不是函数?Yes or No. 我能不能定义一个函数,每个整数都对应到一个或一个以上的整数?可以, 只是这个函数的值域是 P(Z) 也就是整数的子集合构成的集合。 所以技术上,要把一对多的对应定义成函数没有问题。 2. if A then B 在数理逻辑上,用语意来看是函数。 这没有争议吧?但这跟我们谈的 if 是不一样的东西 ... 3. if 在 imperative language 上,大部分它「不是」该语言上的 函数。但,语意上仍可以看作函数,而且就广义来说, 所有的 statement 都可以看作是 (变数)状态 到 (变数)状态 的函数。 说这个是虚无飘渺的玄学的话,很多人包括 Dijkstra 都会哭哭的 ... 4. 在纯 functional programming 上,几乎都可以写成语言上的函数,包括 if。 而就语意上,untyped 的也都同构於函数。有 type 的话,if 也是函数。 当然因为函数(funtion)一词有许多定义,在数学上也可以指 class function 定义在 class 上而不是集合,也可以更狭义上集合的函数, 到程式语言的定义就更多种了,在组合语言的层面不就是 program counter 跳来跳去外加把状态存起来,在计算模型上 TM 也没有 if statement, 跟组合语言雷同,但 lambda calculus 这种的话,所有的东西都只是 lambda term 没有叫做 function 的,语意上每个都可以对应到一个 function。 「语意」也有精确的意义,Wikipedia 上的 Formal semantics of programming language 上有些解释,也请不要自己望文生义。(认真讨论下,没有顾名思义的) ※ 引述《godfat (godfat 真常)》之铭言: : (fixed typo) : 或许是本板的第一串战火 =_=.. : 首先我想先说,「推文请勿超过三行」,请见板规 : 接下来如果又严重超过三行,水桶一天 (24h) : 其次我想说,尽量不要有嘲讽的语气,但我能理解有时候还是会很想说。 : 再有嘲讽语气的话我会点名,希望能收敛点。 : ==================== 分隔线 ==================== : 个人想法 : if 是不是 function, 当然要看是哪个语言了,不谈语言只谈概念, : 那 if 就应该是所有语言的定义的集合,没必要坚持一定是什麽... : 在现今 imperative 语言充斥的环境下,if 大多是 statement, : 而在有些有点 functional programming 意味的语言下,会是 expression. : 另外在很少数的地方,if 确实是个 function. : 在 if 是 function 的世界里,例如 Agda 中,他的定义是 : if_then_else_ : ∀ {a} {A : Set a} → Bool → A → A → A : if true then t else f = t : if false then t else f = f : 可以在这边看到程式,这是 Agda standard library : http://www.cs.nott.ac.uk/~nad/repos/lib/src/Data/Bool.agda : 这一个 function 用到了 mixfix: : http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.Mixfix : 也就是说,当我们写 if b then t else f 时,用一般语言的语法可以看成: : if(b, t, f) : 也当然了,整个程式本身是没有任何 side-effect 的,否则这也无法成立。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 94.173.192.16 ※ 编辑: xcycl 来自: 94.173.192.16 (09/29 18:06) ※ 编辑: xcycl 来自: 94.173.192.16 (09/29 18:43)
1F:推 yauhh:精辟 09/30 10:21
2F:→ yauhh:我觉得像这样吵仅剩的价值的是看到一些关键字,有资料可读,谢 09/30 10:56
3F:→ yzugsr:推推 10/02 08:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP