swift-foundation
swift
swift-foundation | swift | |
---|---|---|
8 | 217 | |
2,194 | 66,052 | |
2.8% | 0.5% | |
9.5 | 10.0 | |
7 days ago | 6 days ago | |
Swift | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift-foundation
-
Swift for C++ Practitioners, Part 1: Intro and Value Types
How recent were your experiences?
The server-side Swift ecosystem has matured over the past few years, with specific attention from teams at Apple.
For example, regarding JSON, there has been a rewrite of the JSON encoder/decoder that results in a 200% - 500% speed up in deserialization! You can read about the (still ongoing) improvements to Foundation at https://github.com/apple/swift-foundation
Regarding logging, Apple has been pushing the development of community around the swift-log package at https://github.com/apple/swift-log. Maybe you’ve seen this, but just wanted to share!
One last thing: the Swift VSCode extension is actually really good! Not sure when you used it last, but I’ve been using it on a regular basis and it’s been great — and is only getting better. Here’s the link to the extension if you’re curious: https://marketplace.visualstudio.com/items?itemName=sswg.swi...
It’s true that Swift has had its various issues, but there’s a very real push by the core team and community to bring the language to new heights and places. Cross-platform support is getting better and better (check out what The Browser Company is doing with Swift on Windows) and a big source of performance bottlenecks are being addressed with the development of non-copyable and non-escaping (Rust-like move-only types)!
Sorry that’s a lot, but I just wanted to point out that there’s a lot of hope in Swift and really interesting things are happening for the project!
-
An aborted experiment with server Swift
> The linux version of swift replicates a large number of native mac frameworks using whatever mix of C and C++ gets the job done.
Note that this is changing, on Darwin and Linux alike. Foundation.framework is transitioning from being a Swift interface over a C / Objective-C implementation to an Objective-C interface over a Swift implementation.
https://github.com/apple/swift-foundation
-
Apple's use of Swift and SwiftUI in iOS 17
Something not noted in the article is that any binary which links Foundation, even if otherwise written entirely in Obj-C, now uses Swift. This is due to the Foundation Swift rewrite effort (https://github.com/apple/swift-foundation) that is rewriting Foundation is Swift while maintaining Obj-C ABI compatibility.
-
I would like to know the progress of full Swift rewrite of the Foundation Framework
The github page is here. https://github.com/apple/swift-foundation
- Apple is rewriting Foundation in Swift
swift
-
Swift's native Clocks are inefficient
https://github.com/apple/swift/pull/73429
-
Evolving the Go Standard Library with math/rand/v2
This algorithm produces biased result with probability 1/2^(32-bitwidth(N)). Using 64 or 128 random bits can make the bias practically undetectable. Comprehensive overview of the approach can be found here: https://github.com/apple/swift/pull/39143
- Swift: Differentiable Programming Manifesto
-
Embedded Swift on the Raspberry Pi Pico
Because of C/C++ interop, and integration with CMake, you can just add Swift to a Zephyr project and it pretty much Just Works. [The docs](https://github.com/apple/swift/blob/main/docs/EmbeddedSwift/...) should mostly apply to the Zephyr SDK as well.
-
A Deep Dive Into Observation: A New Way to Boost SwiftUI Performance
Fortunately, the Observation framework is part of the Swift 5.9 standard library. We can learn more information by examining its source code.
-
Swift was always going to be part of the OS
They do! See https://github.com/apple/swift/blob/main/docs/LibraryEvoluti...
You can also see an example of what a different high level language integration with Swift ABI looks like here: https://github.com/dotnet/designs/blob/main/proposed/swift-i...
-
Differentiable Swift
So is differentiable Swift a package for Swift or is it part of the Swift standard library? The video says go to swift.org but I can't find any info about differentiable Swift on that site.
-
Beyond Backpropagation - Higher Order, Forward and Reverse-mode Automatic Differentiation for Tensorken
Swift's Differentiable Programming Manifesto. Swift has a powerful differentiable programming component, integrated with the compiler.
-
Kotlin Multiplatform for Android and iOS Apps
You can do the same thing the other way around - https://github.com/apple/swift/blob/main/docs/Android.md.
-
This isn’t the way to speed up Rust compile times
Codable (along with other derived conformances like Equatable, Hashable, and RawRepresentable) is indeed built in to the compiler[0], but unlike Serde, it operates during type-checking on a fully-constructed AST (with access to type information), manipulating the AST to insert code. Because it operates at a later stage of compilation and at a much higher level (with access to type information), the work necessary is significantly less.
With ongoing work for Swift macros, it may eventually be possible to rip this code out of the compiler and rewrite it as a macro, though it would need to be a semantic macro[1] rather a syntactic one, which isn't currently possible in Swift[2].
[0] https://github.com/apple/swift/blob/main/lib/Sema/DerivedCon...
What are some alternatives?
NoMansCanvas - Jyväskylä University project - A clone of /r/place
solidity - Solidity, the Smart Contract Programming Language
jwt-kit - 🔑 JSON Web Token (JWT) signing and verification (HMAC, ECDSA, EdDSA, RSA, PSS) with support for JWS and JWK
cpp-lazy - C++11/14/17/20 library for lazy evaluation
hummingbird - Lightweight, flexible HTTP server framework written in Swift
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
nmc2 - Lightweight, high-performance WebSocket server for No Man's Canvas, the pixel drawing game.
tree-sitter - An incremental parsing system for programming tools
hummingbird - Hummingbird compiles trained ML models into tensor computation for faster inference.
lobster - The Lobster Programming Language
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
mimalloc - mimalloc is a compact general purpose allocator with excellent performance.