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