News for hackers. Stuff that matters.
Re:ClojureC, a compiler for Clojure that targets C as a backend by coldtea on Sunday May 05, 2013 @02:49PM (#5659311)
>>Not everything can (or should) be proved of the drop of a hat in a discussion list >If you say something that doesn't make sense, you're saying that one shouldn't have to back that up?

Read what you quoted from me, and what you ask. Where do I say that people should not back up things they say that "don't make sense"?

Where do I even say they do not have to "back up" the things they say? I merely say that they do not have to PROVE everything. You can back stuff up with some arguments and counterargurments, you don't need to provide some "proof".

>I think the reason pat_punnu is balking at what you have said is because of this: You can think of C as a serialized form of an AST. In order for parsing to produce a non-equivalent AST to the one used to serialize it, the C grammar must be non-deterministic. The C grammar is not non-deterministic, therefore what you said does not make sense and pat_punnu (somewhat rudely) asked you to back up what you were saying.

And the reason I'm balking at this is that you examine the case AFTER C has been generated. I'm not talking about that stage (when reading back C to generate an AST). I (and pat_punnu) and talking at the previous stage of spitting out the C code to disk in the first place. I'm saying that a structured way to do that (LLVM API) is safer than merely creating strings yourself.

So your: "It is in fact the equivalent of asking you to prove that an XML parser after serializing a DOM tree and then parsing that same document produces a non-equivalent DOM tree to the original"

takes this from several steps ahead. I (and pat_punny) were concerned with the generation of the document in the first place.

Re:ClojureC, a compiler for Clojure that targets C as a backend by vidarh on Tuesday May 07, 2013 @07:26AM (#5667501)
> I'm saying that a structured way to do that (LLVM API) is safer than merely creating strings yourself.

That is resting on the assumption that using the LLVM API is less error prone to a typical compiler developer than creating strings.

You are also assuming that spitting the C code to disk needs to be done in an unstructured way.

Neither of these assumptions are self evident.