Попытался скомпоновать так, что бы было понятно тем, кто знаком с императивными языками.
Некоторые темы не затрагивал специально, что бы не выпадать из темы.
Список базовых типов был взят из лекции «как есть» и столь глубокий анализ я, увы, не проводил.
При все этом, признаю замечания справедливыми. В дальнейшем постараюсь исправить.
tail :: [a] -> [a]
Функция tail принимает на вход список элементов множества а и возвращает список элементов множества а.
xxx :: [Integer] -> Bool -> [Bool]
Функция xxx принимает на вход список элементов Integer и значение Boolean, а возвращает список Boolean.
(_:_) — непустой список.
Синтаксис приведенных функций аналагичен обычной математической записи. Но, Вы, правы. Буду тренироваться. Если написал никому не нужный текст — простите, готов удалить.
Да, никто не обижается. Сам вижу, что получилось не то, что хотел. Понимаете, эмоции переполняют, а, вот, излагать материал плохо получается. Надеюсь, только, что кого-нибудь этот текст подтолкнет к изучению Haskell.
Вы правы. Синтаксис — одно из основных преимуществ ФЯ.
С.М.Абрамов, о котором я писал в статье (еще раз большое ему спасибо!), рассказывал о своем первом знакомстве с Haskell. Он увидел, как, в какой-то статье про алгоритмы, функции записывались в очень интересном виде. Вроде бы без специальных типографских символов для формул, но все понятно. И он переписал некоторые свои статьи согласно этому синтаксису. И в каком же он был шоке, когда, некоторое время спустя, ему сказали, что он запрограммировал свои статьи на Haskell. А потом, он запустил это все в интерпретаторе и оно заработало.
Некоторые темы не затрагивал специально, что бы не выпадать из темы.
Список базовых типов был взят из лекции «как есть» и столь глубокий анализ я, увы, не проводил.
При все этом, признаю замечания справедливыми. В дальнейшем постараюсь исправить.
Аппликативную функцию можно немножко подсластить:
Функция tail принимает на вход список элементов множества а и возвращает список элементов множества а.
xxx :: [Integer] -> Bool -> [Bool]
Функция xxx принимает на вход список элементов Integer и значение Boolean, а возвращает список Boolean.
(_:_) — непустой список.
С.М.Абрамов, о котором я писал в статье (еще раз большое ему спасибо!), рассказывал о своем первом знакомстве с Haskell. Он увидел, как, в какой-то статье про алгоритмы, функции записывались в очень интересном виде. Вроде бы без специальных типографских символов для формул, но все понятно. И он переписал некоторые свои статьи согласно этому синтаксису. И в каком же он был шоке, когда, некоторое время спустя, ему сказали, что он запрограммировал свои статьи на Haskell. А потом, он запустил это все в интерпретаторе и оно заработало.