You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: process.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -95,7 +95,7 @@ Please state explicitly whether you believe that the proposal should be accepted
95
95
96
96
1. Expand the rough sketch into a formal proposal using the [proposal template](proposal-templates/0000-swift-template.md).
97
97
1. In the [swift-evolution repository][swift-evolution-repo], open a [draft pull request][draft-pr] that adds your proposal to the [proposals directory](/proposals).
98
-
1.Anounce the pull request on the forums and edit the root post to link out to the pull request.
98
+
1.Announce the pull request on the forums and edit the root post to link out to the pull request.
99
99
1. Refine the formal proposal in the open as you receive further feedback on the forums or the pull request.
100
100
A ripe proposal is expected to address commentary from present and past
Copy file name to clipboardExpand all lines: visions/embedded-swift.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ However, lots of embedded platforms and low-level environments have constraints
11
11
* Popular MCU board families and manufacturers (Arduino, STM32, ESP32, NXP, etc.) commonly offer boards that only have an order of 10’s or 100’s of kB of memory available.
12
12
* Firmware, and especially firmware projects that are run from SRAM, or ROM
13
13
* (2) Environments where runtime dependencies, implicit runtime calls, and heap allocations are restricted
14
-
* Low-level environments without an underlaying operating system, such as bootloaders, hypervisors, firmware
14
+
* Low-level environments without an underlying operating system, such as bootloaders, hypervisors, firmware
15
15
* Operating system kernels, kernel extensions, and other non-userspace software components
16
16
* Userspace components that are too low-level in terms of dependencies, namely anything that the Swift runtime depends on.
17
17
* A special case here is the Swift runtime itself, which is today written in C++. The concepts described further in this document allow Swift to become the implementation language instead.
@@ -96,7 +96,7 @@ The following describes the high-level points in the approach to implement Embed
96
96
97
97
* **Specialization is required on all uses of generics and protocols** at compile-time, and libraries are compiled in a way that allows cross-module specialization (into clients of the libraries).
98
98
* Required specialization (also known as monomorphization in other compilers/languages) needs type parameters of generic types and functions to always be compile-time known at the caller site, and then the compiler creates a specialized instantiation of the generic type/function that is no longer generic. The result is that the compiled code does not need access to any type metadata at runtime.
99
-
* This compilation mode will not support separate compilation of generics, as that makes specialization not possible. Instead, library code providing generic types and functions will be required to provide function bodies as serialized SIL (effectively, “source code”) to clients via the mechanism descibed below.
99
+
* This compilation mode will not support separate compilation of generics, as that makes specialization not possible. Instead, library code providing generic types and functions will be required to provide function bodies as serialized SIL (effectively, “source code”) to clients via the mechanism described below.
100
100
* **Library code is built as always inlinable and “emitIntoClient”** to support the specialization of generics/protocols in use sites that are outside of the library.
101
101
* **This applies to the standard library, too**, and we shall distribute the standard library built this way with the toolchain.
102
102
* This effectively provides the source code of libraries to application builds.
0 commit comments