There are two problems: first, you need to specify the interval that you want to use between the list items. It will be a TimeSpan , however it does not have a static member of Zero .
This restriction is required by the operator of the run operator , which requires the type "step" to have static elements (+) and Zero
You can define your own structure that supports the required operations:
type TimeSpanW = { span : TimeSpan } with static member (+) (d:DateTime, wrapper) = d + wrapper.span static member Zero = { span = new TimeSpan(0L) }
Then you can:
let ts = new TimeSpan(...) let dateList = [a .. {span = ts} .. b]
Edit: Here is an alternative syntax using discriminated associations that you may prefer:
type Span = Span of TimeSpan with static member (+) (d:DateTime, Span wrapper) = d + wrapper static member Zero = Span(new TimeSpan(0L)) let ts = TimeSpan.FromDays(1.0) let dateList = [a .. Span(ts) .. b]
Lee
source share