случайные числа

 
0
 
Functional languages
ava
nauska | 11.07.2011, 11:30
Функциональные языки получили свое название из концепции, предполагающей, что программы должны вести себя как математические функции; другими словами, при заданном наборе входных параметров функция должна всегда возвращать один и тот же результат.

Интересно как функциональных ЯП решается проблема со случайными числами.
Comments (4)
ava
afiskon | 11.07.2011, 10:35 #
Также как и с вводом-выводом. В Haskell к примеру функции поделены на "чистые" и не "чистые". Первые соответствуют озвученной вами концепции, вторые - нет. Из чистых функций можно вызывать только чистые. Из "грязных" - как чистые, так и не чистые. Угадайте, к какому типу относится main.
ava
DRUID3 | 11.07.2011, 22:28 #
...функция свертки всегда возвращает один и тот же результат - операцию свертки... Хотя выходной массив для разных функций всегда будет разным... Мммм... улавливаете? И ГСЧ на компьютерах по природе своей детерминированные автоматы(ну без экзотики вроде тепловых шумов звуковухи и т. д.) . Вот на уровне интуиции - возможно ли написать mp3 плеер на функциональном языке? Возможно... Ну а теперь вместо mp3 трека можно поместить таблицу с определенными свойствами? ...Формируем таблицу и пишем функцию которая возвращает значение таблицы и текущий указатель(индекс) считывания... Вот и весь простейший ГСЧ...
Еще из области логических спекуляций интуитивного восприятия - функциональное программирование не нарушает низкоуровневую организацию работы ЭВМ - сегмент данных, сегмент программ - а это теже в профиль концепции - оператор и множество на основании которых строится вся современная математика в том числе и ГСЧ...
smile  Где-то так...
ava
calabiyau | 12.07.2011, 00:00 #
Цитата (nauska @  11.7.2011,  10:30 findReferencedText)
Интересно как функциональных ЯП решается проблема со случайными числами. 

тягают состояние гсч из функции в функцию явно, образуя класс функций вида x1 -> ... -> xN -> G -> (a, G), где G - собственно состояние. присмотритесь, заметите монаду State хаскеля, а в Clean, например, тип гсч имеет уникальный атрибут.
ava
IXwan | 19.07.2011, 18:23 #
Про функцию Хаскеля я что- то слышал..
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit