[Haskell-cafe] Re: How to do this in FP way?

Thomas Davie tom.davie at gmail.com
Mon Jun 16 21:36:44 EDT 2008


On 16 Jun 2008, at 19:24, Achim Schneider wrote:

> Thomas Davie <tom.davie at gmail.com> wrote:
>
>>
>> On 16 Jun 2008, at 18:28, Achim Schneider wrote:
>>
>>> Thomas Davie <tom.davie at gmail.com> wrote:
>>>
>>>>>
>>>>> One half of all Haskell coders will tell you that mutable state
>>>>> isn't a
>>>>> good starting point to learn Haskell, the other half will tell you
>>>>> the same because they want to be cool kids, too.
>>>>
>>>> And the one left over will point out that he asked how to do this
>>>> the FP way, not the imperative way?
>>>>
>>> There's no difference, as you can't do time-accounting non-strict
>>> and still expect it to give meaningful results: I'm merely trying
>>> to be helpful. None of the other solutions allow for the IO Monad.
>>
>> Firstly, I'd phrase that differently -- the IO Monad doesn't allow
>> for the other solutions -- the other solutions are the truly
>> functional ones.  Secondly, I'm curious as to why you think that the
>> two are incompatible, are you saying that for any meaningful kind of
>> computation we need to resort to IORefs?  I'd strongly contest that
>> idea.
>>
> We have to resort to IO actions to get the time, and to IORefs because
> we need to chain up different calls to getCurrentTime using the IO
> Monad. The rest of the program can work with whatever you like best.

And in what way is this incompatible with either FRP as pierre  
suggested, or with generating an infinite list of times at which we  
call the function, and scanning it to find the differences?

Bob



More information about the Haskell-Cafe mailing list