some haskell source codes