On 26 Mar 2012, at 16:20, Johan Tibell wrote:

> On Mon, Mar 26, 2012 at 7:48 AM, Malcolm Wallace <malcolm.wall...@me.com> 
> wrote:
>>> In the region of this side of the Atlantic Ocean where I teach, the
>>> student population is very diverse
>> 
>> Prelude> putStrLn (take 5 "Fröhßen")
>> Fröhß
> 
> ghci> putStrLn "Fro\x0308hßen"
> Fröhßen
> ghci> putStrLn (take 5 "Fro\x0308hßen")
> Fröh
> 
> Your example works because your input happens to be in a normal form.

Yes indeed.  And I think it would be perfectly reasonable for the String (= 
[Char]) API to have a function "normalise :: String -> String" which would let 
the user deal with this issue as they see fit.  After all, if you are aware of 
the difference between combining characters and normalised characters, then you 
will want to make your own decision about what semantics you want from 
operations like "take".

Regards,
    Malcolm
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to