Am Samstag, 15. Januar 2005 10:05 schrieben Sie: > Hi Daniel, > > On Fri, 14 Jan 2005 21:57:25 +0100, Daniel Fischer > <[EMAIL PROTECTED]> wrote: > > <snip> > > > Finally, in several contexts I needed to cons an element to one of a pair > > of lists, so I defined > > > > infixr 5 &,§ > ^^^ > Please be aware that you won't find this paragraph symbol on a uk or us > keyboard. AFAIK it is just on the german one. > > > (&) :: a -> ([a],[b]) -> ([a],[b]) > > x & (xs,ys) = (x:xs,ys) > > > > (§) :: b -> ([a],[b]) -> ([a],[b]) > > y § (xs,ys) = (xs,y:ys). > > > > I find them useful (though I don't like the symbols, if you have any > > better ideas, thx) and for splitAt, (&) saves another reduction per step. > > I think these operators should be more related to ":" like ":&" "&:" or Yes, but as Stefan Holdermans already wrote, (:&) is illegal (operatornames beginning with ':' are infix Constructors). Since I use these operators mostly infix (up to now exclusively), I don't really want to type `consfst` all the time, hence I would need some stronger argument to convice me of using function names (after all, readability is to a large extent a matter of familiarity, you couldn't immediately understand ':', '+' ... either if you weren't thoroughly familiar with them).
A stronger relation to ':' is absolutely desirable, maybe something like \: and /: would be better. Cheers, Daniel _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe