Приложение функции Haskell

Поскольку внутренние скобки - это просто синтаксис python (буквальный) для списка.

Внешние скобки - это операция индексатора объекта dataframe pandas.

В этом примере использования inner ['A', 'B'] определяет список столбцов, передаваемых как один аргумент в операцию индексатора, который обозначается внешними скобками.

20
задан Steve B. 5 December 2008 в 05:28
поделиться

2 ответа

Определение const

const x = \_ -> x

Следовательно, (const id) функция, которая берет один аргумент и всегда возвращается id и

const id 1 2 = (\_ -> id) 1 2
             = id 2
             = 2

, определение foldr1

foldr1 f [x] = x
foldr1 f (x:xs) = f x (foldr1 f xs)

, Если мы имеем

myLast' = foldr1 (const id)

затем

myLast' [x] = foldr1 (const id) [x]
              {- definition of foldr1 -}
            = x

и

myLast' (x:xs) = foldr1 (const id) (x:xs)
                 {- definition of foldr1 -}
               = (const id) x (foldr1 (const id) xs)
                 {- definition of const -}  
               = (\_ -> id) x (foldr1 (const id) xs)
                 {- function application -}  
               = id (foldr1 (const id) xs)
                 {- definition of id -}  
               = foldr1 (const id) xs
                 {- definition of myLast' -}  
               = myLast' xs

, который соглашается с определением last'.

30
ответ дан 29 November 2019 в 23:57
поделиться

Я полагаюсь в большой степени на :t при попытке понять Haskell. В этом случае:

Prelude> :t const id
const id :: b -> a -> a

, возможно, помог Вам видеть то, что продолжалось.

9
ответ дан 29 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: