我正在构建一个看起来像这样的[CalendarDay]
newtype CalendarDay = MKCal (Either AvailableDay UnAvailableDay) deriving Show
现在,我通过几个带有intent的过滤器传递一个中间数据类型
一旦收集了所有信息,就构建[CalendarDay]
。问题是,元组现在变成了一个四值元组。这意味着是时候做一些与众不同的事了。
我的选项似乎是两个中的一个。
1)构造一个包含四个值的记录,将其传递给每个过滤器,然后构造[CalendarDay]
。
2)在我浏览每个过滤器时构建[CalendarDay],完全省去中间数据类型。
欢迎提出意见。我倾向于选择2。
我要在blog条目中写下来。没有博客,但Michael Snoyman的网站将提供服务,直到我解决了这个问题。
答案 0 :(得分:1)
我会尝试逐步构建该类型,将undefined
值替换为找到的值。
如果依赖懒惰是没有吸引力的,你可以通过每个阶段明确定义的中间类型来保证安全。