![]() |
|
|
![]()
|
|
| nauska |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 3.6.2011 Репутация: нет Всего: нет |
Функциональные языки получили свое название из концепции, предполагающей, что программы должны вести себя как математические функции; другими словами, при заданном наборе входных параметров функция должна всегда возвращать один и тот же результат.
Интересно как функциональных ЯП решается проблема со случайными числами. |
|||
|
||||
| afiskon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
Также как и с вводом-выводом. В Haskell к примеру функции поделены на "чистые" и не "чистые". Первые соответствуют озвученной вами концепции, вторые - нет. Из чистых функций можно вызывать только чистые. Из "грязных" - как чистые, так и не чистые. Угадайте, к какому типу относится main.
Это сообщение отредактировал(а) afiskon - 11.7.2011, 10:36 |
|||
|
||||
| DRUID3 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: нет Всего: 9 |
...функция свертки всегда возвращает один и тот же результат - операцию свертки... Хотя выходной массив для разных функций всегда будет разным... Мммм... улавливаете? И ГСЧ на компьютерах по природе своей детерминированные автоматы(ну без экзотики вроде тепловых шумов звуковухи и т. д.) . Вот на уровне интуиции - возможно ли написать mp3 плеер на функциональном языке? Возможно... Ну а теперь вместо mp3 трека можно поместить таблицу с определенными свойствами? ...Формируем таблицу и пишем функцию которая возвращает значение таблицы и текущий указатель(индекс) считывания... Вот и весь простейший ГСЧ...
Еще из области логических спекуляций интуитивного восприятия - функциональное программирование не нарушает низкоуровневую организацию работы ЭВМ - сегмент данных, сегмент программ - а это теже в профиль концепции - оператор и множество на основании которых строится вся современная математика в том числе и ГСЧ... Это сообщение отредактировал(а) DRUID3 - 11.7.2011, 22:34 -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
|||
|
||||
| calabiyau |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.11.2010 Репутация: нет Всего: нет |
тягают состояние гсч из функции в функцию явно, образуя класс функций вида x1 -> ... -> xN -> G -> (a, G), где G - собственно состояние. присмотритесь, заметите монаду State хаскеля, а в Clean, например, тип гсч имеет уникальный атрибут. |
|||
|
||||
| IXwan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.6.2011 Репутация: нет Всего: нет |
Про функцию Хаскеля я что- то слышал..
|
|||
|
||||
![]()
|
| Правила форума «Функциональные языки: общие вопросы» | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |