<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Clang modules have always supported submodules, and in fact when you import an Obj-C framework (that doesn't use a completely custom module.modulemap), each header from the framework is automatically a submodule (and importing the framework automatically imports all the submodules).<br></div>
<div>&nbsp;</div>
<div>All Swift is missing is a way to express a submodule hierarchy in Swift code. It already supports the idea of importing submodules, just not declaring them.<br></div>
<div>&nbsp;</div>
<div>-Kevin</div>
<div>&nbsp;</div>
<div>On Tue, Dec 29, 2015, at 12:29 PM, Developer via swift-evolution wrote:<br></div>
<blockquote type="cite"><div><div>How is this done for things like the Darwin module?<br></div>
<div>&nbsp;</div>
<div>~Robert Widmann<br></div>
</div>
<div><div>&nbsp;</div>
<div>2015/12/28 20:19、T.J. Usiyan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; のメッセージ:<br></div>
</div>
<blockquote type="cite"><div><div dir="ltr"><div>+1 in general.&nbsp;<br></div>
<div>&nbsp;</div>
<div>As an aside (In response to David), I have wanted the ability to import 'submodules' from a framework since Swift 1.0. Being able to group related functionality to import is a desirable feature, IMO<br></div>
<div>TJ<br></div>
</div>
<div><div>&nbsp;</div>
<div><div>On Mon, Dec 28, 2015 at 7:01 PM, David Waite via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;</span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left: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>&nbsp;</div>
<div><div>&nbsp;</div>
<blockquote type="cite"><div><span>On Dec 28, 2015, at 5:07 PM, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:</span><br></div>
<div><span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"><span class="font" style="font-family:Helvetica"><span class="size" style="font-size:12px">+1 for this general direction, if not this specific syntax.&nbsp; It would also be great to have import integrate with SPM so you can import a package from an SCM URL.&nbsp; This would be pretty handy in particular for #! scripts.</span></span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"></span></div>
</blockquote><div><span></span>This seems like it would strongly motivate toward a (possibly directory-scoped or system-scoped) package cache. Not saying thats a bad thing, just that it seems different than the executable packaging Swift has today with “Apps".<br></div>
</div>
<div>&nbsp;</div>
<div>-DW<br></div>
<div>&nbsp;</div>
<div><img style="min-height:1px !important;width:1px !important;border-top-width:0px !important;border-right-width:0px !important;border-bottom-width:0px !important;border-left-width:0px !important;margin-top:0px !important;margin-bottom:0px !important;margin-right:0px !important;margin-left:0px !important;padding-top:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-left:0px !important;" border="0" height="1" width="1" alt="" src="https://www.fastmailusercontent.com/proxy/2c141cce4cf1ebbc1520d1a2d2332a9025a94bc00889a92f66996c03b4214c57/8647470737a3f2f25723030323431303e23647e23756e64676279646e2e65647f27766f2f60756e6f35707e6d333647466f63605267687b6e4b6d6a6567346a636b676939477d223247495953385632587a41347b65585b4341767978615b4d64353d495a747072576d223249783b454d447e647c6d4473596f4932454862566931484b6c62664a4a5a79473f495e6e6779767c63364a6d6443624a7176667d636a5d22364b48594e6a52405036553d22324558627947697b496532343d6267456076355773757b4c4867466761407d22364052786d22364c443e6279747e473456423957724b455052457f417d657079465e41335143366d61673a63444c4c6a6943415b613d2236465d2236416457354e4859316876745736483c4431617d663d223649577262334f6d23344/open"><br></div>
</div>
<div>&nbsp;</div>
<div>_______________________________________________<br></div>
<div>
swift-evolution mailing list<br></div>
<div> <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div> <a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
<div>&nbsp;</div>
</blockquote></div>
</div>
<div><img style="height:1px !important;width:1px !important;border-top-width:0px !important;border-right-width:0px !important;border-bottom-width:0px !important;border-left-width:0px !important;margin-top:0px !important;margin-bottom:0px !important;margin-right:0px !important;margin-left:0px !important;padding-top:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-left:0px !important;" border="0" height="1" width="1" alt="" src="https://www.fastmailusercontent.com/proxy/19e7235140e25f906dd58a463aa36c9369ee7e1f4c533fa4f56e35c038e2fd36/8647470737a3f2f25723030323431303e23647e23756e64676279646e2e65647f27766f2f60756e6f35707e6d3e4855307c4659585b4d2236437f67467b6d2232437e433f42535a6d4636623d22324861605c41386252713c467147363737665a45796859307b6854653a5259515e48705c45516d6444507f405c4873733e675d223248696c433937736830784439666565746272443954633575314653347a4c486c4d223246353d467a776673544f4c64776747607d223640303a54794469616c66645230767d2236423141537875546b4f423d2232454c463772786869514966345970363c42574939396a6c45484e68377d2236433c476a5f6859756645465a4e657a4539713749415b4039384d2232454935616152667e6979685565727e465c62385d687c483f68636d23344/open"><br></div>
</div>
</blockquote><blockquote type="cite"><div><div><span>_______________________________________________</span><br></div>
<div><span>swift-evolution mailing list</span><br></div>
<div><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br></div>
<div><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div>
</div>
</blockquote><div><img style="height:1px !important;width:1px !important;border-top-width:0px !important;border-right-width:0px !important;border-bottom-width:0px !important;border-left-width:0px !important;margin-top:0px !important;margin-bottom:0px !important;margin-right:0px !important;margin-left:0px !important;padding-top:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-left:0px !important;" border="0" height="1" width="1" alt="" src="https://www.fastmailusercontent.com/proxy/ff3241e9fe916193bf7a82b2799c237494d2413946a8a39311ab9136af6ed0d8/8647470737a3f2f25723030323431303e23647e23756e64676279646e2e65647f27766f2f60756e6f35707e6d3148765176786c673171614a7d2236454230345272776e4650533d65537c61413679444751514534757b4433664e647d6678366a73766f63557169784851414874797234687f6832767c63523e6f4076534c68485138317665615154623b64527860367167396a6b415557315477655c4f633b6e484b6071337835684c654e6a6b64344d22324c42643831665139745d22364e6d2236426677366f68757a5f417d2232474857763934585644373434313a43636038363d43333467356e457638675d4d2236474f49787a4631763434696a564652664f61326774335e41544a6831414d23344d23344/open"><br></div>
<div><u>_______________________________________________</u><br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
</blockquote><div>&nbsp;</div>
</body>
</html>