<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;"><div>Hi Manuel,</div><div><br></div><div><div>On Feb 7, 2014, at 1:01 AM, Manuel Klimek <<a href="mailto:klimek@google.com">klimek@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><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; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 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; position: static; z-index: auto;"><div style="word-wrap: break-word;"><div><br class="Apple-interchange-newline">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; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 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; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 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; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 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; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">2. saying that we'll do things like that later will almost certainly make it super-hard to do later</div><br class="Apple-interchange-newline"></blockquote></div><div><br></div><div>We don’t have the bandwidth to design / implement / test fully virtual files.</div><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></body></html>