История изменений
Исправление proud_anon, (текущая версия) :
Предположим, ты хочешь создать игру.
(...)
Отлично, хотел бы ты теперь перемещать персонажа?
moveX (Mario (Point xpos ypos)) val = Mario (Point (xpos + val) ypos)
Взамен, lenses (линзы) позволяют написать что-то такое:
location.x `over` (+10) $ player1
Или вот так:
over (location . x) (+10) player1
В моих любимых языках программирования тоже есть возможность перемещать персонажа игры. Для этого не нужны никакие линзы...
Исправление proud_anon, :
Предположим, ты хочешь создать игру.
(...)
Отлично, хотел бы ты теперь перемещать персонажа?
moveX (Mario (Point xpos ypos)) val = Mario (Point (xpos + val) ypos)
Взамен, lenses (линзы) позволяют написать что-то такое:
location.x `over` (+10) $ player1
Или вот так:
over (location . x) (+10) player1
В моих любимых языках программирования тоже есть возможность перемещать персонажа игры. Для этого не нужны никакие линзы...
Исходная версия proud_anon, :
Предположим, ты хочешь создать игру.
(...)
Отлично, хотел бы ты теперь перемещать персонажа?
moveX (Mario (Point xpos ypos)) val = Mario (Point (xpos + val) ypos)
В моих любимых языках программирования тоже есть возможность перемещать персонажа игры. Для этого не нужны никакие линзы...