Я исхожу из объектно-ориентированного фона (C, С++, java), поэтому я привык к тому, чтобы читать строку кода на английском языке, чтобы понять, что он делает.
В настоящее время я делаю adendum к тесту, чтобы получить дополнительный кредит. У меня есть пара строк haskell, я не могу понять, как читать, поэтому я не могу понять, что они делают. Я надеюсь, что кто-то может сделать их английскими предложениями.
примером того, что я имею в виду в качестве английского предложения, будет:
i = i + 1
i равно содержимому я + 1.
или
sul ys = all (`elem` ys)
функция sul проверяет все элементы ys для условия, проверяя, что определенный элемент найден в ys, а затем возвращает true или false (по крайней мере, я думаю, что то, что он делает, учитель сказал игнорировать тот факт, что все и elem
оба требуют два аргумента.
несколько фрагментов кода, которые я не могу понять, следующие:
twasf p = foldr clip [] where
clip x xs | p x = x : xs
| otherwise = []
(Я не знаю, как перевести "|" )
infixl 5 <*>
xs <*> ys = zipWith ($) xs ys
(я не знаю, как это сказать)
rd [] = []
rd (a:as) = if a `elem` rd as then as else a : rd as
(Я думаю, что это "Создает пустой список rd", а затем проверяет значение "in as", если его найдено, затем возвращает как, в противном случае нажмите a на фронт и верните как)
Любая помощь вообще будет оценена по достоинству. Очень хочется читать другие сайты, если кто-то может указать мне на веб-сайт, который поможет вам перевести язык.