НА: [haskell-russian] Немного вопросов

44 views
Skip to first unread message

dark...@gmail.com

unread,
Jun 12, 2014, 10:50:11 AM6/12/14
to haskell...@googlegroups.com
Думаю, что буду банален, но не могу не выразить эту простую мысль. Программируя в функциональном программировании, используйте идиомы функционального программирования.

От: Евгений Золотарёв
Отправлено: ‎12.‎06.‎2014 18:09
Кому: haskell...@googlegroups.com
Тема: [haskell-russian] Немного вопросов

1)Есть типы:

data GeoPoint a = GeoPoint {px, py :: a}
data PlskPoint a = PlskPoint {px, py :: a}

Есть ли смысл описать один тип data Point a = Point {px, py :: a}, а затем создавать экземпляры и уже работать с ними?
Чтобы можно было использовать функцию вида f :: GeoPoint -> PlskPoint, соответственно свой Show для каждого типа.На мой взгляд так правильнее чтоли.

2) Я понимаю, что это противоречит идее функтора, но возможно ли в
instance Functor Point where
fmap f (Point a b) = Point (f a) (f b)

f применять только к а?


--
Вы получили это сообщение, поскольку подписаны на группу "Русский Haskell".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес haskell-russi...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес haskell...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/0ca7094d-4f6a-4dab-94e2-9fe2988ecb24%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Евгений Золотарёв

unread,
Jun 12, 2014, 10:55:30 AM6/12/14
to haskell...@googlegroups.com
Поподробнее про идиомы можно?


12 июня 2014 г., 18:48 пользователь <dark...@gmail.com> написал:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/5399be1f.67ad700a.646e.ffffdc0e%40mx.google.com.

dark...@gmail.com

unread,
Jun 12, 2014, 11:42:18 AM6/12/14
to haskell...@googlegroups.com
Опишите, какую задачу Вы хотите решить?

От: Евгений Золотарёв
Отправлено: ‎12.‎06.‎2014 18:55
Кому: haskell...@googlegroups.com
Тема: Re: [haskell-russian] Немного вопросов

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/CAOJLPV6_CBt8HEEThULoYnT%2BOiLqZvdVRqjXAuDfpfS1H3nCbA%40mail.gmail.com.

Евгений Золотарёв

unread,
Jun 12, 2014, 12:07:58 PM6/12/14
to haskell...@googlegroups.com
Преобразование точек из одной координатной системы в другую. 

четверг, 12 июня 2014 г., 19:42:18 UTC+4 пользователь Dark Magus написал:

dark...@gmail.com

unread,
Jun 12, 2014, 12:17:13 PM6/12/14
to haskell...@googlegroups.com
data Point a = Point a a

transform :: Point a -> Point b

И это не fmap функтора, поскольку значение каждой координаты преобразованной точки может зависеть от обеих координат исходной точки.

От: Евгений Золотарёв
Отправлено: ‎12.‎06.‎2014 20:07
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/5e55b54f-0c2f-4a22-ba70-a0e6afbf84af%40googlegroups.com.

Alexander V Vershilov

unread,
Jun 12, 2014, 12:19:37 PM6/12/14
to haskell...@googlegroups.com

Скорее уж data Point CoordSys a, поскольку a это тип координат, а тип должен параметризоваться типом сетки, или как предлагал Евгений вводить свой тип точки для каждой сетки

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/5399d286.eb2c700a.63f7.ffffe0c2%40mx.google.com.
Reply all
Reply to author
Forward
0 new messages