Я начинаю работу с Netwire версии 5.
У меня нет проблем с записью всех проводов, которые я хочу преобразовать входы в мои выходы.
Теперь пришло время написать обертку IO для привязки к моим реальным входам, и я немного смущен.
Предполагаю ли я создать пользовательский тип сеанса для параметра s
Wire s e m a b
и встроить в него значения моего датчика?
Если да, у меня есть следующие вопросы:
- Что связано с
Monoid s
контекстомclass (Monoid s, Real t) => HasTime t s | s -> t
? Для чего он используется? - Я думал о том, чтобы привязать
Map String Double
к моим показаниям датчика, но как должен мой моноид хрустнуть словари? Должна ли она быть предвзятой? Право предвзятым? Ничего из перечисленного?
Если нет, что я должен делать? Я хочу получить провода формы Wire s InhibitionReason Identity () Double
для некоторого s
, представляющего мой ввод.
Я понимаю, что для этой цели я не хочу или не хочу использовать монадический параметр m
Wire
, позволяя самим проводам быть чистыми и ограничивать IO кодом, который проходит через верхний уровень, (ы). Это неверно?