<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Feb 7, 2014, at 11:09 AM, Manuel Klimek <<a href="mailto:klimek@google.com">klimek@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Feb 7, 2014 at 6:39 PM, Argyrios Kyrtzidis <span dir="ltr"><<a href="mailto:kyrtzidis@apple.com" target="_blank">kyrtzidis@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Manuel,</div><div><br></div><div><div class="im"><div>On Feb 7, 2014, at 1:01 AM, Manuel Klimek <<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>> wrote:</div>
<br></div><div class="im"><blockquote type="cite"><blockquote class="gmail_quote" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><br>Some non-goals (at least for a first iteration):</div><div>1) File system modification operations (create_directory, rename, etc.).  Clients will continue to use the real file system for these operations, and we don’t intend to detect any conflicts this might create.</div>
<div>2) Completely virtual file buffers that do not exist on disk.</div></div></blockquote><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
I'd vote for making that an explicit goal; two reasons:</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
1. I don't think it'll make a first iteration harder to implement</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
2. saying that we'll do things like that later will almost certainly make it super-hard to do later</div><br></blockquote></div></div><div><br></div><div>We don’t have the bandwidth to design / implement / test fully virtual files.</div>
</div></blockquote><div><br></div><div>I'm curious why you think it will be a lot more effort; my gut feeling would be that this is probably going to be less effort (depending on what exactly you want to use the VFS layer for)</div></div></div></div></div></blockquote><div><br></div><div><div>You can always prove me wrong, after we have the simpler case (mapping virtual paths to real paths) working ;-)</div><div><br></div><div>I just want to make clear that we are going to focus on what we need, which is to get modules for ObjC user frameworks working and fully supported. Virtual file buffers is not something we need at the moment (but to reiterate, we don’t want to prohibit either).</div><div><br></div></div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> if we don't want to break all of the Tooling layers in the process.</div></div></div></div></div></blockquote><div><br></div><div>Not sure why they would break, if these are based on the FileManager. Also as long as the related “vfs” option is not passed to a compiler invocation to introduce a virtual layout via a configuration file, there should be no behavior change anywhere.</div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;"><div style="word-wrap:break-word"><div>We also don’t have uses for them (apart from replacing the remapping of buffers in the SourceManager) so I think this should be driven by someone that actually needs this and is going to dogfood it.</div>
<div><br></div><div>Apart from that, we are definitely trying to make sure we will not do anything that will make adding virtual files prohibitively difficult, we think it can be added on top with maybe some refinements on the interface.</div>
<div>While we are implementing the VFS if you think we are doing something that will make virtual file buffers “super-hard to do later” please let us know.</div></div></blockquote></div><br></div><div class="gmail_extra">
Will do.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,</div><div class="gmail_extra">/Manuel</div></div>
</div></blockquote></div><br></body></html>