[swift-evolution] Low-level Swift

Charles Constant charles at charlesism.com
Thu Jan 7 07:35:33 CST 2016

I think by "systems programming language" we're talking in relative terms,
but I don't know about writing drivers in Swift.

Have you filed a feature request in radar? If you have want to reference
mine, feel free: radar://21464610 "Real-time Swift" sister-language, or
"real time" feature subset

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.

On Thu, Jan 7, 2016 at 3:52 AM, Romain Goyet via swift-evolution <
swift-evolution at swift.org> wrote:

> Hi everyone,
> In the introduction to Swift
> <https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/>,
> it is presented as an "industrial-quality systems programming language".
> According to Wikipedia
> <https://en.wikipedia.org/wiki/System_programming_language>, this means
> that I could expect to be able to write device drivers or operating systems
> in Swift.
> However it seems like this claim is only partially true, since several
> important low-level features seem to be completely missing:
> - Is it possible to generate volatile memory accesses
> <http://llvm.org/docs/LangRef.html#volatile-memory-accesses> in Swift?
> Writing device drivers is virtually impossible without a way to guarantee
> certain memory operations are actually made (and not optimized-out).
> - Is it possible to embed raw binary data in Swift? For example, an
> equivalent of the following C code "const int8_t foo[6] =
> {0x00,0x11,0x22,0x33,0x44,0x55};"? The simple Swift equivalent, "let foo:
> [Int8] = [0x0,0x1,0x2,0x3,0x4,0x6];" 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't have a filesystem
> available yet.
> There might be other aspects that I'm overlooking right now, but I think
> that's enough to start a discussion: is Swift really meant to be a systems
> programming language?
> Thanks,
>  - Romain
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160107/c3cd528f/attachment.html>

More information about the swift-evolution mailing list