My teacher keeps drilling into our collective heads that using the break command is harmful, and that if we wish to terminate a loop early it would be far better to create a boolean variable, set it to 0, and add a condition to the head of the loop, and set the boolean variable to 1 when a break is needed. Note that this way you actually have to check this every single loop (where it is not needed almost every time) as well as waste a command to reset the boolean in case it was set to true.
>>39
You don't understand, that is(should be) PORTABLE (R6RS) Scheme code. It may be the first and last time you'll ever see such kind of Scheme code for the rest of your life. See >>28 for the unportable, fast, do-what-I-mean, properly (un)hygienic version.
Name:
Anonymous2011-05-30 19:17
>>41
It's incoherent gibberish. Again, you get the big fat F for trying to be clear and concise.
>>42 I can't read it and feel offended by someone that knows something that I don't know and don't like.
Well, it's not my fault if you didn't read your SICP.
Name:
Anonymous2011-05-30 19:34
>>43
Why? So I can end up like a shigt manager at taco bell like you?
>>44
We don't even have taco bell here, we're not inferior murricans, we don't need cheap fast ````food'''' (now with 80% of real meat less) to live. Enjoy living in a decading shitty country that thinks it's the center of the universe while the world moves on. Also, enjoy being an ignorant cretin basement dweller that will never even be employed at your precious taco bell and will die alone with no family and offspring.
>>44
Also go back to /g/, we don't like having fucking retarded idiots that just hate something with no fucking logical reason besides not understanding/not liking it.
Name:
Anonymous2011-05-30 19:45
>>45
I work as a Java Programmer for Kodak Gallery here in Emeryville, California.
>>47
Good for you, code monkey. Back to typing now. Make sure to catch all your exceptions.
>>49
You lack either reading comprehension or sense of humor.
>>48
I don't have time to play with you today. I'll just say that only syntax-e, datum->syntax, quote-syntax and define-syntax are required. In CL, quote, defmacro, define-symbol-macro and gensym are required. 4 definitions, 4 definitions. Go away.
>>57
Important: Although define-macro is non-hygienic, it is still restricted by Racket’s phase separation rules. This means that a macro cannot access run-time bindings, because it is executed in the syntax-expansion phase. Translating code that involves define-macro or defmacro from an implementation without this restriction usually implies separating macro related functionality into a begin-for-syntax or a module (that will be imported with require-for-syntax) and properly distinguishing syntactic information from run-time information.
The main problem with Racket's macro system (and with other syntax-case systems) is that instead of raw s-expressions you're dealing with syntax objects. This becomes very ugly when identifiers are handled: instead of dealing with plain symbols, you're dealing with these syntax values (called “identifiers” in this case) that are essentially a symbol and some opaque information that represents the lexical scope for its source. In several syntax-case systems this is the only difference from defmacro macros, but in the Racket case this applies to everything — identifiers, numbers, other immediate constants, and even function applications, etc — they are all wrapped.
>>66
I don't think I understood, you want the information both for compile-time inner macros inside the custom-defun and runtime? Provide it for both.
Name:
Anonymous2011-05-30 20:55
>>69
restricted by Racket’s phase separation rules. This means that a macro cannot access run-time bindings
Name:
Anonymous2011-05-30 20:55
The op never mentioned a fucking thing about a lisp dialect. The fact that you retards have managed to convert it to one makes you a morons. Now I see why you all work shit hourly jobs.
Name:
Anonymous2011-05-30 20:56
>>1
I occasionally come across code written in this style. It's harder to read since you don't get the "get out of the loop NOW" effect of a break statement, and what would otherwise be code that simply follows the break now turns into the body of another conditional. Trying to replace multiple breaks in a loop with booleans gets even more hairy. The efficiency implications are similarly obvious.
The only situation in which it could be considered more readable would be to a (very dumb) decompiler.