gpt4 book ai didi

haskell - Haskell中类型的计算是怎样的

转载 作者:行者123 更新时间:2023-12-04 13:03:35 24 4
gpt4 key购买 nike

让我们说

  flip :: (a->b->c) ->b->a->c
const ::d->e->d

(flip const) 的类型是
  a=d,b=e,c=d


  b->a->c

所以类型是
  e->d->d

但是对于( map 拍摄)它
  [Int]->[[a]]->[[a]]

所以我不明白这个 ghci 是如何计算的。
我理解 [[a]]->[[a]] 但为什么以及如何 [Int] ?

编辑:例如,如果我们用 ghci 编写
  :t flip const 


it would return b->c->c

ghci 会像我一样计算它。


 map :: (a->b)->[a]->[b]
take :: Int->[c]->[c]

那为什么要取 map
  [Int]->[[a]->[a]]

为什么 [Int] ghci 是如何计算的

最佳答案

让我们做同样的分析:

map :: (a -> b) -> [a] -> [b]


take :: Int -> [x] -> [x]

但这实际上意味着
take :: Int -> ([x] -> [x])

所以对于 a=Intb=([x] -> [x])你得到
map take :: [Int] -> [ [x] -> [x] ]

列表函数列表!

关于haskell - Haskell中类型的计算是怎样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637705/

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