Re: [Haskell-cafe] Re: Books for advanced Haskell

2010-03-08 Thread Yusaku Hashimoto
On Sun, Mar 7, 2010 at 10:53 PM, Stephen Tetley stephen.tet...@gmail.com wrote: Hi All What is the state-of-the-practice in type-level programming? I know Günther started this thread about monads, but I seem to remember him having a long running problem with typeful database programming,

[Haskell-cafe] Re: Books for advanced Haskell

2010-03-07 Thread Heinrich Apfelmus
Dan Piponi wrote: Günther, A shining example are Dan Piponis blog posts. When you get stuck, post a comment saying where so that I can learn what people find difficult. On the other hand, I understand how intangible not-understanding can be, so it can be hard to point to where the

Re: [Haskell-cafe] Re: Books for advanced Haskell

2010-03-07 Thread Stephen Tetley
Hi All What is the state-of-the-practice in type-level programming? I know Günther started this thread about monads, but I seem to remember him having a long running problem with typeful database programming, and I wonder if some of his problems are really in the later area. Compared to monads,

[Haskell-cafe] Re: Books for advanced Haskell

2010-03-05 Thread Günther Schmidt
Hi, oh boy it took me a while to find this post again. Perhaps not exactly. I build monads left and right, but that's because I don't understand much else. :-) Before you get all hung up on them, though, I recommend reading The Typeclassopedia,[1], which will introduce you to all of the

Re: [Haskell-cafe] Re: Books for advanced Haskell

2010-03-05 Thread Stephen Tetley
2010/3/5 Günther Schmidt gue.schm...@web.de: When you say that you use monads to the left and right, do you mean using pre-defined monad instances, or do you construct your own, ie. define something to be an instance of a monad and then write codes using that instance? Hi Günther One view

[Haskell-cafe] Re: Books for advanced Haskell

2010-03-05 Thread Heinrich Apfelmus
Stephen Tetley wrote: To work with monads in Haskell its not ignoble simple to decide what effect or combination of effects you want and use the relevant monad (for a single effect) or build a transformer (for multiple effects). ... or use the free term algebra approach outlined in