Thanks Alberto, not how I had in mind, but that helps a lot getting where I need a lot faster.<br><br>cheers<br>----nubis<br><br><div class="gmail_quote">On Wed, Nov 3, 2010 at 12:06 PM, Alberto G. Corona <span dir="ltr">&lt;<a href="mailto:agocorona@gmail.com">agocorona@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Maybe you can break at &quot; u &lt;- get404 uid&quot;. Then you can execute<br>
:steplocal once to reach te line you desired.<br>
<br>
2010/11/3 Nubis &lt;<a href="mailto:nubis@woobiz.com.ar">nubis@woobiz.com.ar</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Hi guys,<br>
&gt; As I said in another thread, I&#39;ve been debugging a yesod application single<br>
&gt; stepping through one of the handlers. I&#39;m using ghci built in debugger and<br>
&gt; it&#39;s pretty good, but I always fail to set the breakpoint in the right scope<br>
&gt; where I can evaluate the stuff I&#39;m interested in learning more about.<br>
&gt; For instance, in the following code I would like to set the debugger on the<br>
&gt; line before &quot;mv &lt;- maybeAuth&quot;, in order to :force the values  of (uid, u).<br>
&gt; But even when I set it at the beginnig of the &#39;mv&#39; line, the scope ends up<br>
&gt; being the entire do block. Which makes sense, but doesn&#39;t helpe me solve my<br>
&gt; problem :)<br>
&gt;<br>
&gt; getUserR :: String -&gt; Handler RepHtmlJson<br>
&gt; getUserR input = do<br>
&gt;     (uid, u) &lt;-<br>
&gt;         case readIntegral input of<br>
&gt;             Just uid -&gt; debugRunDB $ do<br>
&gt;                 u &lt;- get404 uid<br>
&gt;                 mun &lt;- getBy $ UniqueUsernameUser uid<br>
&gt;                 case mun of<br>
&gt;                     Nothing -&gt; return (uid, u)<br>
&gt;                     Just (_, Username _ un) -&gt;<br>
&gt;                         lift $ redirect RedirectPermanent $ UserR un<br>
&gt;             Nothing -&gt; debugRunDB $ do<br>
&gt;                 mun &lt;- getBy $ UniqueUsername input<br>
&gt;                 case mun of<br>
&gt;                     Nothing -&gt; lift notFound<br>
&gt;                     Just (_, Username uid _) -&gt; do<br>
&gt;                         u &lt;- get404 uid<br>
&gt;                         return (uid, u)<br>
&gt;     mv &lt;- maybeAuth<br>
&gt;<br>
&gt;<br>
&gt; Maybe the problem is that I&#39;m thinking in a too procedural fashion about do<br>
&gt; blocks, or that evaluating those results is kind of paranoid. I&#39;m too<br>
&gt; spoiled by REPL&#39;s, I would even like to be able to use a REPL that runs<br>
&gt; inside runDB for querying models and doing stuff with them interactively.<br>
&gt;<br>
&gt; How do you debug your yesod apps? am I drifting too far away from the<br>
&gt; haskell way?<br>
&gt;<br>
&gt; thanks in advance for your comments :)<br>
&gt;<br>
&gt; cheers<br>
&gt; ----nubis<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; web-devel mailing list<br>
&gt; <a href="mailto:web-devel@haskell.org">web-devel@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/web-devel" target="_blank">http://www.haskell.org/mailman/listinfo/web-devel</a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br>