<div dir="ltr">I think we just misunderstood each other then. I was interpreting what you said in conjunction with what some others said in response, which painted it in a different light. And my responses in turn weren't meant to be overly serious sounding, but mostly just silly stories of my flailing around in various languages and things that make them difficult or annoying. They certainly weren't meant to insult your intelligence.<div>
<br></div><div>I'll have to look at Debug.Trace.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 5, 2014 at 2:14 PM, Artyom Kazak <span dir="ltr"><<a href="mailto:yom@artyom.me" target="_blank">yom@artyom.me</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> fellow i-wish-racket-was-as-awesome-<u></u>as-haskell-ian<br>
<br>
But, but I'm not!..<br>
<br>
> The issues you have with for/and, etc. is a fundamental issue with strict<br>
> evaluation vs. either lazy evaluation or no evaluation (macros). One<br>
> cannot correctly short circuit out of a loop that's already preprocessed<br>
> every possible result!<br>
<br>
I don't have issues with `for/and`; moreover, I do not wish for Racket to be<br>
lazy by default, or uber-functional, or dependently typed, or anything else<br>
which Haskell or another language is. I understand the tradeoffs. What I<br>
don't understand is why I seem to be expected to start a discussion about<br>
those tradeoffs when I simply want to say “here's when lack of laziness<br>
bites”. I don't intend to make any judgements, and it's a pity that people<br>
still see them whenever I say anything more emotional than “it is how it is”.<br>
<br>
> Lastly, without meaning to be rude, as it's coming from the point of view<br>
> of someone who's had similar issues, there's a degree of RTFM present...<br>
<br>
I'll include this whole paragraph verbatim as a disclaimer for the whole<br>
series, if you don't mind (even tho it's a bit upsetting to see you telling<br>
me all these obvious things as if there was a chance that I think<br>
documentation writers are at fault for my misunderstandings and mistakes, or<br>
that I think some of the perceived issues I have with Racket are due to it<br>
being stupid, or that I want it to be a Haskell clone, or that I'm trying to<br>
learn it a why-isn't-it-Haskell-Racket).<br>
<br>
> And thank god, because it would take 15 minutes to insert an impure debug<br>
> statement.<br>
<br>
As per customs and traditions of Internet White Knights, I feel obliged to<br>
reply that there's Debug.Trace module which makes it a considerably easier<br>
task (and it's the second result when googling “haskell debug”, too).<br>
<br>
> By the way, speed is improved when using the "racket" command-line command<br>
> as opposed to running in DrRacket for whatever reason, especially when<br>
> using big numbers, by an astounding amount sometimes. I myself recently<br>
> learned that...<br>
<br>
Thanks, noted. (I updated the post.)<br>
</blockquote></div><br></div>