Apple Swift 團隊的一名工程師兼語言工作組成員 John McCall 在最新發布的一篇博客中介紹了 Swift 的 2023 年度計劃。 “Swift 項目中有很多激動人心的工作正在進行,而且很難跟蹤所有這些工作,因為它發生在許多不同的存儲庫、拉取請求和論壇線程中。為了讓社區更好地了解全局,核心團隊調查了整個項目的工作組和開發人員,并收集了有關他們明年關注的內容的信息。”
社區組織方面,Swift核心團隊最近開始重組,以便由專門的工作組承擔更多責任:
語言工作組—— 發展語言和標準庫
網站工作組—— 管理swift.org網頁內容
文檔工作組—— 組織文檔工具和庫的開發
C++ 互操作性工作組—— 孵化語言提案以提高與 C++ 的互操作性
根據介紹,這些新的工作組加入了長期存在的 Swift on Server 和 Diversity 工作組,使感興趣的用戶可以更有針對性的加入專門的工作組來做出貢獻。核心團隊正在研究創建更多的工作組,包括一個致力于提高 Swift 跨平臺可用性的工作組。 核心團隊的成員也有所更新,Mishal Shah將加入核心團隊。“作為支持 Swift 項目的許多底層基礎架構的領導者和倡導者,一段時間以來,Mishal 在支持 Swift 項目的發展方面發揮了重要作用。” 語言發展方面,語言工作組專注于在五個主要語言領域取得進展:
并發。完成對Sendable和actors提供的嚴格數據隔離的語言支持。計劃包括關閉許多已知的線程安全漏洞,例如圍繞全局變量和某些 cross-actor 調用的漏洞。它還包括配備一些功能來解決因strict isolation而產生的可用性問題,例如允許 non-Sendable 在受限情況下在隔離域之間移動。
泛型。語言工作組打算致力于可變參數泛型語言特性工作。這是一項預計需要多年才能完成的主要功能,最初側重于設計核心語言模型并實現編譯器和運行時基礎架構以支持它。一個早期的里程碑將是允許元組類型在其元素符合 Equatable 等協議時有條件地符合協議。
所有權。
開發功能讓程序員明確控制內存中值的所有權。
添加對 non-copyable 類型的基本支持。這將提供通過限制關鍵值的生命周期來實現高性能的新方法。這些控件將啟用處理內存中數據的新方法,將當前 “不安全” 構造的性能與 Swift 標準庫功能的安全性相結合。
宏。著眼于進一步支持創建豐富的庫和 DSL。這項工作將從創建vision document開始,為宏能夠在 Swift 中實現什么以及它們如何融入語言進行設計。
C++ 互操作性。
編寫文檔,闡述如何使 C++ API 在 Swift 中可用,反之亦然。
穩定當前在 Swift 中使用 C++ 的原型互操作性功能,包括 owned value types、trivial value types、API 模式(例如外部引用類型和迭代器),以及一些關于方法、指針、l-value 和 r-value 引用的一些基本問題。
穩定當前用于從 C++ 使用 Swift 的原型互操作性功能,包括 Swift 值類型、引用類型和函數 exposed 給 C++ 的方式。
此外,語言工作組還正計劃為即將到來的 Swift 6 語言模式完成預期的語言修訂。Swift 定期引入新的語言模式,以便語言可以在不破壞現有代碼的源兼容性的情況下取得進步。以及編譯器開發團隊正在努力改進編譯器與構建系統和自身其他調用的交互方式。 對于 Package Registry,Swift 包管理器的開發重點是與社區一起開始開源 package registry server 實現的工作。目標是創建將 Swift 包生態系統從基于源代碼控制的生態系統過渡到基于注冊表的系統所需的技術組件,從而增強生態系統的安全性和可靠性。其計劃將與 Swift Package Index 等社區運行的項目合作。 2023 年針對 Swift 的其他努力還包括:
開發一個 Swift 解析器,它是用純 Swift 編寫的,并且具有當前 C++ 實現的功能。這開辟了工具開發的新方向,最終將取代 C++ 解析器。
通過將類型推理實現遷移到支持 multi-statement closure 推理的更具可擴展性的基礎架構,提高結果 result builders 的類型檢查性能。
通過與類型檢查器更緊密地集成,提高 code completion 和 lookup-dependent 工具(例如快速幫助和跳轉到定義)的可靠性,尤其是在不完整或不明確的代碼中。
在某些情況下,通過消除對轉換 thunk 的需要,在轉換函數時生成更少的代碼,尤其是在將 closures 傳遞給通用函數和導入函數時。
通過解釋 type layout 的 compact encoding 而不是發出 specialized functions,在 copying 和 destroying 復雜的結構和枚舉時生成更少的代碼。
添加 SIL 優化器支持新語言功能和與 object lifetimes 和 copies 相關的可預測優化。團隊正在設計一套新的 low-level SIL 實用程序,以在整個現有優化管道中保持所有權不變性。這將導致可靠的診斷和可預測的性能。
在 Swift 中重寫當前的過程間 side-effect 和 escape analyses,替換當前的 C++ 實現。新的實現提供了更準確的結果并且明顯更簡單。
審核編輯 :李倩
-
函數
+關注
關注
3文章
4306瀏覽量
62431 -
C++
+關注
關注
22文章
2104瀏覽量
73496 -
生態系統
+關注
關注
0文章
701瀏覽量
20709
原文標題:Swift 2023:強調并發、泛型和C++互操作性,開發Swift解析器
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論