Haskell 在哈斯克尔如何约会?

Haskell 在哈斯克尔如何约会?,haskell,Haskell,我和Haskell一起工作,我想得到Haskell当前日期的年份。我希望输出为Int或String。 谢谢。发件人: 如果你只想要这一年 year :: IO Integer year = (\(y, _, _) -> y) <$> date year::IO整数 年份=(\(y,\,\)->y)日期 严格来说,这个问题可能会有所帮助,您不能有一个函数getDate::()->Int来实际获取日期。我想你的意思是你想要类似于currentDate::IO date?如果我不是

我和Haskell一起工作,我想得到Haskell当前日期的年份。我希望输出为Int或String。 谢谢。

发件人:

如果你只想要这一年

year :: IO Integer
year = (\(y, _, _) -> y) <$> date
year::IO整数
年份=(\(y,\,\)->y)日期

严格来说,这个问题可能会有所帮助,您不能有一个函数
getDate::()->Int
来实际获取日期。我想你的意思是你想要类似于
currentDate::IO date
?如果我不是IO整数,怎么能得到它?@Cthulhu–你不能。这就是重点。读取时间不是一个纯粹的函数,它是一个“步骤”,必须在程序执行期间的特定时间点发生。Haskell不是这样工作的——您不知道Haskell中的任何给定函数是否会运行、何时运行或运行多少次。如果您的Haskell程序需要表达处理不纯值的计算,那么您可以在表示命令式程序的
IO
操作中这样做。从技术上讲,这里有一个逃生舱,但它是用于高级用例的,我甚至不想说它在这里是什么。
year :: IO Integer
year = (\(y, _, _) -> y) <$> date