|
|
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
Привет всем. Читаю литературу по ФП, наткнулся на такую строку: авторIt’s important to understand what is meant by function here. A function relates every value of the domain (the input) to exactly one value of the codomain (the out- put). Figure 1.1 depicts a function that maps values of type X to exactly one value of Y. Рисунок там примерно такой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вроде как перевёл: "Функция связывает каждое значение области (the input) с непосредственно одним значением из области значений (the output) Рисунок 1.1 изображает функцию, которая маппит (отображает) знаяения из типа X к непосредственно каждому значению Y". Я пока что то не понял до конца этот смысл. Мне представляется функция: function foo(X) { return Y; } Либо здесь идет речь об объектах в качестве параметра? Вобщем прошу помочь пояснить этот вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2013, 17:08 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
unicornmirage, суть "функции" в том, что каждому значению из множества Х соответствует только одно значение из Y (либо ни одного). возьми, к примеру, sin(x) - там любому числу из множества R (действительные числа) соответствует разультат функции (тоже из R) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2013, 17:19 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, о, так теперь понятнее. Спасибо! Забыл, что в математике есть такое понятие, как "область определения функции", и есть "область значений". Значит - если вдруг окажется, что для какого-то входного значения будет в другой момент времени - другой результат, то такая ситуация говорит уже о наличие side-эффекта. Поэтому это уже не функциональное программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2013, 17:24 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
unicornmirageЗначит - если вдруг окажется, что для какого-то входного значения будет в другой момент времени - другой результат, то такая ситуация говорит уже о наличие side-эффекта. Поэтому это уже не функциональное программирование.Такая ситуация просто невозможна. А если тебе нужно чтобы в один момент времени было один результат, а в другой момент другой результат. То значит этот самый "момент времени" будет являться одним из параметров функции. И ты будешь явно его вызывать. Например так: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2013, 19:44 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
White OwlТо значит этот самый "момент времени" будет являться одним из параметров функции.или можно для этого построить что-то вроде монады ЙО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2013, 11:49 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
White OwlunicornmirageЗначит - если вдруг окажется, что для какого-то входного значения будет в другой момент времени - другой результат, то такая ситуация говорит уже о наличие side-эффекта. Поэтому это уже не функциональное программирование.Такая ситуация просто невозможна. А если тебе нужно чтобы в один момент времени было один результат, а в другой момент другой результат. То значит этот самый "момент времени" будет являться одним из параметров функции. И ты будешь явно его вызывать. Например так: Код: sql 1. Еще вспомнил - про недетерменированные автоматы - на всякий случай запишу в этой теме, чтобы не забыть, т.к. это как то связанно. Получается - если при одних и тех же значениях, переданных в ф-цию, получаются разные результаты - то мы имеем дело с недетерменированным автоматом. Пока еще не разобрался, как с этим обстоит дело в ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 11:51 |
|
||
|
Помогите разобраться с определением из функционального программирования
|
|||
|---|---|---|---|
|
#18+
unicornmirageЕще вспомнил - про недетерменированные автоматы - на всякий случай запишу в этой теме, чтобы не забыть, т.к. это как то связанно. Получается - если при одних и тех же значениях, переданных в ф-цию, получаются разные результаты - то мы имеем дело с недетерменированным автоматом. Пока еще не разобрался, как с этим обстоит дело в ФП.Никак. В том-то и фишка ФП парадигмы что там не может быть недетерминированной функции. А если у тебя есть NFA и ты его хочешь изобразить в ФП, то просто конвертируешь свой NFA в DFA и получаешь готовый шаблон для ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 20:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38454897&tid=1341557]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 435ms |

| 0 / 0 |
