<div dir="ltr"><div>I think by &quot;systems programming language&quot; we&#39;re talking in relative terms, but I don&#39;t know about writing drivers in Swift. </div><div><br></div><div>Have you filed a feature request in radar? If you have want to reference mine, feel free: radar://21464610 &quot;Real-time Swift&quot; sister-language, or &quot;real time&quot; feature subset</div><div><br></div><div>I think it would be sweet if Swift someday is able to replace C++ for writing AudioUnits, etc. I know others hope the same thing. Eg: I heard Chris Liscio say the same on a podcast a couple months back.</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 7, 2016 at 3:52 AM, Romain Goyet via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi everyone,</div><div><br></div><div>In the <a href="https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/" target="_blank">introduction to Swift</a>, it is presented as an &quot;industrial-quality systems programming language&quot;.</div><div>According to <a href="https://en.wikipedia.org/wiki/System_programming_language" target="_blank">Wikipedia</a>, this means that I could expect to be able to write device drivers or operating systems in Swift.</div><div><br></div><div>However it seems like this claim is only partially true, since several important low-level features seem to be completely missing:</div><div><br></div><div>- Is it possible to generate <a href="http://llvm.org/docs/LangRef.html#volatile-memory-accesses" target="_blank">volatile memory accesses</a> in Swift? Writing device drivers is virtually impossible without a way to guarantee certain memory operations are actually made (and not optimized-out). </div><div><br></div><div>- Is it possible to embed raw binary data in Swift? For example, an equivalent of the following C code &quot;const int8_t foo[6] = {0x00,0x11,0x22,0x33,0x44,0x55};&quot;? The simple Swift equivalent, &quot;let foo: [Int8] = [0x0,0x1,0x2,0x3,0x4,0x6];&quot; is obviously wildly different. Being able to embed raw binary data is very important in a low-level environment: for example, you may need to feed specific data to a device for an initialization sequence at a point where you don&#39;t have a filesystem available yet.</div><div><br></div><div>There might be other aspects that I&#39;m overlooking right now, but I think that&#39;s enough to start a discussion: is Swift really meant to be a systems programming language?</div><div><br></div><div>Thanks,</div><div><br></div><div> - Romain</div></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=l3fs1g-2F466j3y5fD5Q61KddsTTCmXL0uxw3XoAMFFNidSbxmWCHPfvGEBX9nuKlmpxZQ8nrxNjvfk7dbgFixCt5Lm71T6pMITx0M84ZAtNQZBIgr-2Bcq37ZYCc10gnTYyvPMABcNip9zUFXxMLOy3rzq6WRoRBwNivk2yiZgR0xXsSXttINSt2ohdPy3YYYMDGlRKV0d6El-2BZKmKOGIR5mnydLAFGwpQwwXpCHptrMds-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
<br>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br></blockquote></div><br></div>