[Haskell-cafe] Monad Comprehensions

Günther Schmidt gue.schmidt at web.de
Sat Nov 7 12:09:54 EST 2009

Hello Ryan,

thank you for your email, it's much appreciated.

In summary I'd like to say that in the 2 years that I have been using  
Haskell I have managed to get a good working knowledge of the language  
which allows me to construct programs that are concise, correct and  
without greater redundancy.

However I also realize more and more that in order to harness the full  
power of Haskell I need to gain a greater understanding of the underlying  
math and go beyond mechanical application. It is only lately that I am  
recognizing the significance of the often used term "abstraction".  
Certainly this is pointed out in the Haskell world often enough, but hey  
I'm a noob. For someone like me this is not immediately apparent. I mean  
there seems to be almost no end of what I still have to learn, barely  
scratching the surface, tip of the iceberg, that sort of thing.

DSLs are apparently *the* way to go in the abstraction department. Oleg &  
Co's "Finally Tagless" style is my favorite when it comes to  
implementation. It bears this simplicity and elegance that I have come to  
recognize and what to me *is* "mathematical".

Not all of my dealings in Haskell are goal-oriented. Well there is that of  
course, but mostly there are all these shiny beautiful things. I get  
distracted quite a lot too. Trying to dig deeper on the subject of Dan  
Piponis video for instance. BTW I found Phil Wadlers paper "Comprehending  
Monads" quite helpful here.

I also find my focus of interest on the topics of articles on haskell-cafe  
shift. Before I would basically skip "deep stuff", ie. theoretical /  
abstract topics, and focus on technical details. Now I focus much more on  
"mathematical" issues despite the fact that I can barely understand them,  
it'll come to me eventually. Because now I consider the mathematical  
discussions far more fundamental and more "lasting". Technical details I  
can look up as the need arises and they will likely change over time, so  
no need to bother with them beforehand, they may be out-dated when you  
need them. Mathematical ones won't, they'll be good forever.

Well that's my 2 cents for now.


Am 07.11.2009, 09:37 Uhr, schrieb Ryan Grant <rgrant at rgrant.org>:

> 2009/11/1 Günther Schmidt <gue.schmidt at web.de>:
>> In short, I'm truly lost. If anyone else, with roughly the same starting
>> point as me, has found their way through this jungle I'd certainly
>> appreciate some tips. In particular I wonder if someone has been able to
>> follow what Dan demonstrates in this video, or was it a jaw-dropping
>> experience for everyone else just as me?
> Günther, i have been lurking in H-cafe, and enjoying your pace of
> exploration.  AFAIK, you are trying to understand how to make
> excellent languages using Haskell.  you are asking some practical
> questions that i find relevant to my own journey into Haskell.
> "best practices" for specifying a DSL are not well agreed upon,
> partly due to recent advances.  i sense this problem in your
> question and in the newsworthiness of Dan's talk, (which i also
> enjoyed with a jaw-drop).
> i encourage you to say exactly what you want from your DSL (do it
> again, if you have already).
> i hope to follow your footsteps, maybe not in exact DSL needs,
> but in path of discovery.

More information about the Haskell-Cafe mailing list