<div class="gmail_quote">On Mon, Dec 6, 2010 at 21:59, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1hb">This is nice but doesn't demonstrate that the compiler keeps all the information; for example does it keep in the AST all the information in the unvisited #else of an #if?<br></div></blockquote><div><br>
</div><div>That's infinite in some real cases where header guards are actually required from having circular includes.  But keeping that "unused" information is, I'm pretty sure, much less deep than having the type checker look put a carrot at the place in a macro definition that caused a type mismatch.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":1hb"><div class="im">
<br>
</div>   I disagree. That still relies on us editing source code which is a very inefficient way of developing code (though it is the only way I know). The only reason for plain text files is because that is what the compilers and RCS want to see; it doesn't have anything to do with working with Fortran/python etc easily. We should generate plain text files only when we need to for other tools like compilers.</div>
</blockquote></div><br><div>I guess I don't understand.  Do you want to program without editing text (i.e. in a non-textual language)?  Or do you just want to edit a representation that is oblivious of which files the text is actually stored in (and how it is indented, etc)?  Smalltalks usually store everything in an "image" which usually has its own versioning system and its own tools to manipulate.  What that offers sounds a lot like what you describe, it's something that a lot of smalltalkers love, but it's also arguably the reason why languages like Python and Ruby are a lot more popular, despite not being very innovative as languages (both, especially Ruby, borrow a lot from Smalltalk).</div>
<div><br></div><div>As "inefficient" as it may feel, I think it's premature to label our current methods as such without a proof-of-concept of something better.  Languages can be a lot more expressive than C, but I'm not convinced that editing text is inherently inefficient.</div>
<div><br></div><div>Jed</div>