[Haskell-cafe] Re: [Haskell] ANN: random-access-list-0.1

Henning Thielemann lemming at henning-thielemann.de
Thu Jun 12 10:07:27 EDT 2008


On Thu, 12 Jun 2008, Isaac Dupree wrote:

> Henning Thielemann wrote:
>> 
>> On Wed, 11 Jun 2008, Isaac Dupree wrote:
>> 
>>> "extractHead" is an ugly name for a nevertheless standardish-meaning 
>>> function... what is it usually called? uncons? headTail? (Data.Sequence, 
>>> which is meant to be left-right symmetric, calls it "viewr"... except your 
>>> version doesn't have the Maybe, it's partial instead, fails on empty 
>>> lists)
>> 
>> I like the 'viewL' and 'viewR' kind of functions, they are safer than 
>> 'head' and 'tail', 'init' and 'last'. But since in most cases I used 
>> 'viewL' in connection with 'maybe', the continuation style functions
>> 
>> switchL :: b -> (a -> Seq a -> b) -> Seq a -> b
>> switchR :: b -> (Seq a -> a -> b) -> Seq a -> b
>
> I think you got L and R backwards?

Why do you think so?

http://cvs.haskell.org/Hugs/pages/libraries/base/Data-Sequence.html#v%3Aviewl

> it's a little confusing to me, but following Data.Sequence I think 
> they're meant to match whether repeated L or R makes a foldl or a foldr.

viewl is like a 'case' for distinction of [] and (:) and thus can be used 
to implement both foldl and foldr.


More information about the Haskell-Cafe mailing list