gpt4 book ai didi

haskell - main=return()是一个程序吗?

转载 作者:行者123 更新时间:2023-12-02 14:56:51 25 4
gpt4 key购买 nike

我无法符合 Wikipedia 的定义使用 Haskell 代码:

main = return ()

main = undefined

最重要的是,“计算机程序是指令的集合 1 ”,其中 instructions是这样定义的。

采用这两个定义,是 main = return ()一个计算机程序?定义引用了机器代码吗?

如果是...为什么?如果不是,那么 Haskell 中什么被视为程序?

最佳答案

程序的定义并不要求它具有显式 I/O。例如,考虑 /bin/sleep。除了在固定的时间内不执行任何操作之外,它实际上什么也不执行。最终,它确实具有输入/输出,因为它“导致”(在该术语的弱意义上)时间的变化。

另一个例子可能是一个 Python 程序,例如:

while True:
pass

从字面上看,它所做的只是产生热量,但没有理由认为它不是一个程序。

未优化的程序构建实际上可能包含将立即值 5 加载到某个寄存器中的机器指令,然后终止程序。然而,像 Haskell 这样的优化编译器会推断出该值从未被使用过,并且很乐意将其完全剔除(而且这样做是非常自由的,因为它不会产生任何可观察到的效果。用于程序终止的机器指令仍然会但确实存在。

关于haskell - main=return()是一个程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57365580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com