0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Swift 2023:強(qiáng)調(diào)并發(fā)、泛型和C++互操作性,開發(fā)Swift解析器

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-11-25 15:53 ? 次閱讀

Apple Swift 團(tuán)隊的一名工程師兼語言工作組成員 John McCall 在最新發(fā)布的一篇博客中介紹了 Swift 的 2023 年度計劃。 “Swift 項目中有很多激動人心的工作正在進(jìn)行,而且很難跟蹤所有這些工作,因為它發(fā)生在許多不同的存儲庫、拉取請求和論壇線程中。為了讓社區(qū)更好地了解全局,核心團(tuán)隊調(diào)查了整個項目的工作組和開發(fā)人員,并收集了有關(guān)他們明年關(guān)注的內(nèi)容的信息?!?/p>

3806d89a-6bf8-11ed-8abf-dac502259ad0.png

社區(qū)組織方面,Swift核心團(tuán)隊最近開始重組,以便由專門的工作組承擔(dān)更多責(zé)任:

語言工作組—— 發(fā)展語言和標(biāo)準(zhǔn)庫

網(wǎng)站工作組—— 管理swift.org網(wǎng)頁內(nèi)容

文檔工作組—— 組織文檔工具和庫的開發(fā)

C++ 互操作性工作組—— 孵化語言提案以提高與 C++ 的互操作性

根據(jù)介紹,這些新的工作組加入了長期存在的 Swift on Server 和 Diversity 工作組,使感興趣的用戶可以更有針對性的加入專門的工作組來做出貢獻(xiàn)。核心團(tuán)隊正在研究創(chuàng)建更多的工作組,包括一個致力于提高 Swift 跨平臺可用性的工作組。 核心團(tuán)隊的成員也有所更新,Mishal Shah將加入核心團(tuán)隊?!白鳛橹С?Swift 項目的許多底層基礎(chǔ)架構(gòu)的領(lǐng)導(dǎo)者和倡導(dǎo)者,一段時間以來,Mishal 在支持 Swift 項目的發(fā)展方面發(fā)揮了重要作用。” 語言發(fā)展方面,語言工作組專注于在五個主要語言領(lǐng)域取得進(jìn)展:

并發(fā)。完成對Sendable和actors提供的嚴(yán)格數(shù)據(jù)隔離的語言支持。計劃包括關(guān)閉許多已知的線程安全漏洞,例如圍繞全局變量和某些 cross-actor 調(diào)用的漏洞。它還包括配備一些功能來解決因strict isolation而產(chǎn)生的可用性問題,例如允許 non-Sendable 在受限情況下在隔離域之間移動。

泛型。語言工作組打算致力于可變參數(shù)泛型語言特性工作。這是一項預(yù)計需要多年才能完成的主要功能,最初側(cè)重于設(shè)計核心語言模型并實現(xiàn)編譯器和運行時基礎(chǔ)架構(gòu)以支持它。一個早期的里程碑將是允許元組類型在其元素符合 Equatable 等協(xié)議時有條件地符合協(xié)議。

所有權(quán)。

開發(fā)功能讓程序員明確控制內(nèi)存中值的所有權(quán)。

添加對 non-copyable 類型的基本支持。這將提供通過限制關(guān)鍵值的生命周期來實現(xiàn)高性能的新方法。這些控件將啟用處理內(nèi)存中數(shù)據(jù)的新方法,將當(dāng)前 “不安全” 構(gòu)造的性能與 Swift 標(biāo)準(zhǔn)庫功能的安全性相結(jié)合。

宏。著眼于進(jìn)一步支持創(chuàng)建豐富的庫和 DSL。這項工作將從創(chuàng)建vision document開始,為宏能夠在 Swift 中實現(xiàn)什么以及它們?nèi)绾稳谌胝Z言進(jìn)行設(shè)計。

C++ 互操作性。

編寫文檔,闡述如何使 C++ API 在 Swift 中可用,反之亦然。

穩(wěn)定當(dāng)前在 Swift 中使用 C++ 的原型互操作性功能,包括 owned value types、trivial value types、API 模式(例如外部引用類型和迭代器),以及一些關(guān)于方法、指針、l-value 和 r-value 引用的一些基本問題。

穩(wěn)定當(dāng)前用于從 C++ 使用 Swift 的原型互操作性功能,包括 Swift 值類型、引用類型和函數(shù) exposed 給 C++ 的方式。

此外,語言工作組還正計劃為即將到來的 Swift 6 語言模式完成預(yù)期的語言修訂。Swift 定期引入新的語言模式,以便語言可以在不破壞現(xiàn)有代碼的源兼容性的情況下取得進(jìn)步。以及編譯器開發(fā)團(tuán)隊正在努力改進(jìn)編譯器與構(gòu)建系統(tǒng)和自身其他調(diào)用的交互方式。 對于 Package Registry,Swift 包管理器的開發(fā)重點是與社區(qū)一起開始開源 package registry server 實現(xiàn)的工作。目標(biāo)是創(chuàng)建將 Swift 包生態(tài)系統(tǒng)從基于源代碼控制的生態(tài)系統(tǒng)過渡到基于注冊表的系統(tǒng)所需的技術(shù)組件,從而增強(qiáng)生態(tài)系統(tǒng)的安全性和可靠性。其計劃將與 Swift Package Index 等社區(qū)運行的項目合作。 2023 年針對 Swift 的其他努力還包括:

開發(fā)一個 Swift 解析器,它是用純 Swift 編寫的,并且具有當(dāng)前 C++ 實現(xiàn)的功能。這開辟了工具開發(fā)的新方向,最終將取代 C++ 解析器。

通過將類型推理實現(xiàn)遷移到支持 multi-statement closure 推理的更具可擴(kuò)展性的基礎(chǔ)架構(gòu),提高結(jié)果 result builders 的類型檢查性能。

通過與類型檢查器更緊密地集成,提高 code completion 和 lookup-dependent 工具(例如快速幫助和跳轉(zhuǎn)到定義)的可靠性,尤其是在不完整或不明確的代碼中。

在某些情況下,通過消除對轉(zhuǎn)換 thunk 的需要,在轉(zhuǎn)換函數(shù)時生成更少的代碼,尤其是在將 closures 傳遞給通用函數(shù)和導(dǎo)入函數(shù)時。

通過解釋 type layout 的 compact encoding 而不是發(fā)出 specialized functions,在 copying 和 destroying 復(fù)雜的結(jié)構(gòu)和枚舉時生成更少的代碼。

添加 SIL 優(yōu)化器支持新語言功能和與 object lifetimes 和 copies 相關(guān)的可預(yù)測優(yōu)化。團(tuán)隊正在設(shè)計一套新的 low-level SIL 實用程序,以在整個現(xiàn)有優(yōu)化管道中保持所有權(quán)不變性。這將導(dǎo)致可靠的診斷和可預(yù)測的性能。

在 Swift 中重寫當(dāng)前的過程間 side-effect 和 escape analyses,替換當(dāng)前的 C++ 實現(xiàn)。新的實現(xiàn)提供了更準(zhǔn)確的結(jié)果并且明顯更簡單。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4284

    瀏覽量

    62325
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2102

    瀏覽量

    73453
  • 生態(tài)系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    697

    瀏覽量

    20695

原文標(biāo)題:Swift 2023:強(qiáng)調(diào)并發(fā)、泛型和C++互操作性,開發(fā)Swift解析器

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TPS543C20 SWIFT?降壓轉(zhuǎn)換評估模塊用戶指南

    電子發(fā)燒友網(wǎng)站提供《TPS543C20 SWIFT?降壓轉(zhuǎn)換評估模塊用戶指南.pdf》資料免費下載
    發(fā)表于 11-11 09:11 ?0次下載
    TPS543<b class='flag-5'>C</b>20 <b class='flag-5'>SWIFT</b>?降壓轉(zhuǎn)換<b class='flag-5'>器</b>評估模塊用戶指南

    TPS543C20兩相SWIFT?降壓轉(zhuǎn)換評估模塊用戶指南

    電子發(fā)燒友網(wǎng)站提供《TPS543C20兩相SWIFT?降壓轉(zhuǎn)換評估模塊用戶指南.pdf》資料免費下載
    發(fā)表于 11-11 09:10 ?0次下載
    TPS543<b class='flag-5'>C</b>20兩相<b class='flag-5'>SWIFT</b>?降壓轉(zhuǎn)換<b class='flag-5'>器</b>評估模塊用戶指南

    TPS543B25T SWIFT?降壓轉(zhuǎn)換評估模塊

    電子發(fā)燒友網(wǎng)站提供《TPS543B25T SWIFT?降壓轉(zhuǎn)換評估模塊.pdf》資料免費下載
    發(fā)表于 11-07 09:06 ?0次下載
    TPS543B25T <b class='flag-5'>SWIFT</b>?降壓轉(zhuǎn)換<b class='flag-5'>器</b>評估模塊

    使用帶陶瓷電容器的低電壓SWIFT DC/DC轉(zhuǎn)換

    電子發(fā)燒友網(wǎng)站提供《使用帶陶瓷電容器的低電壓SWIFT DC/DC轉(zhuǎn)換.pdf》資料免費下載
    發(fā)表于 10-12 09:44 ?0次下載
    使用帶陶瓷電容器的低電壓<b class='flag-5'>SWIFT</b> DC/DC轉(zhuǎn)換<b class='flag-5'>器</b>

    采用28引腳HTSSOP的SWIFT DC/DC轉(zhuǎn)換的熱性能

    電子發(fā)燒友網(wǎng)站提供《采用28引腳HTSSOP的SWIFT DC/DC轉(zhuǎn)換的熱性能.pdf》資料免費下載
    發(fā)表于 10-11 09:16 ?0次下載
    采用28引腳HTSSOP的<b class='flag-5'>SWIFT</b> DC/DC轉(zhuǎn)換<b class='flag-5'>器</b>的熱性能

    M-LVDS和總線LVDS的操作性

    電子發(fā)燒友網(wǎng)站提供《M-LVDS和總線LVDS的操作性.pdf》資料免費下載
    發(fā)表于 09-29 09:46 ?0次下載
    M-LVDS和總線LVDS的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>

    Swift 6.0引領(lǐng)編程語言新趨勢

    近日,蘋果公司公布了一系列重磅消息:推出iOS/iPadOS 18和macOS 15 Sequoia等操作系統(tǒng)更新,以及Swift編程語言的全新版本——Swift 6.0。此番升級重點關(guān)注編程安全
    的頭像 發(fā)表于 09-20 15:57 ?277次閱讀

    操作性對智能家居的重要

    在智能家居領(lǐng)域,操作性對不同群體有不同的意義。消費者希望有多種選擇、較高的靈活性、簡單的設(shè)置以及安全感,確保設(shè)備不會被黑客攻擊。最重要的是,他們希望設(shè)備能夠“正常工作”。
    的頭像 發(fā)表于 08-26 17:29 ?3.7w次閱讀
    <b class='flag-5'>互</b><b class='flag-5'>操作性</b>對智能家居的重要<b class='flag-5'>性</b>

    蘋果推出全新開源Swift軟件包

    七月三十一日,蘋果企業(yè)總部對外正式發(fā)表公告,宣布昨日(即七月二十九日)成功推出全新的開源 Swift 軟件包—— (喚名為 swift-homomorphic-encryption)。此舉旨在為 Swift 編程語言帶來應(yīng)用便利
    的頭像 發(fā)表于 07-31 15:17 ?323次閱讀

    1-寬輸入范圍降壓SWIFT?轉(zhuǎn)換TPS5410數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《1-寬輸入范圍降壓SWIFT?轉(zhuǎn)換TPS5410數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-22 09:38 ?0次下載
    1-寬輸入范圍降壓<b class='flag-5'>SWIFT</b>?轉(zhuǎn)換<b class='flag-5'>器</b>TPS5410數(shù)據(jù)表

    3-A寬量程降壓SWIFT?轉(zhuǎn)換TPS5430數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《3-A寬量程降壓SWIFT?轉(zhuǎn)換TPS5430數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-22 09:32 ?0次下載
    3-A寬量程降壓<b class='flag-5'>SWIFT</b>?轉(zhuǎn)換<b class='flag-5'>器</b>TPS5430數(shù)據(jù)表

    具有Eco-Mode? 的4.5-V至18-V輸入、4-A 同步降壓SWIFT? 轉(zhuǎn)換TPS54428數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有Eco-Mode? 的4.5-V至18-V輸入、4-A 同步降壓SWIFT? 轉(zhuǎn)換TPS54428數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-19 09:27 ?0次下載
    具有Eco-Mode? 的4.5-V至18-V輸入、4-A 同步降壓<b class='flag-5'>型</b><b class='flag-5'>SWIFT</b>? 轉(zhuǎn)換<b class='flag-5'>器</b>TPS54428數(shù)據(jù)表

    具有Eco-mode? 的4.5-V至18-V輸入、5-A 同步降壓 SWIFT? 轉(zhuǎn)換TPS54228數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有Eco-mode? 的4.5-V至18-V輸入、5-A 同步降壓 SWIFT? 轉(zhuǎn)換TPS54228數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-18 11:03 ?0次下載
    具有Eco-mode? 的4.5-V至18-V輸入、5-A 同步降壓<b class='flag-5'>型</b> <b class='flag-5'>SWIFT</b>? 轉(zhuǎn)換<b class='flag-5'>器</b>TPS54228數(shù)據(jù)表

    3.8V 至 17V輸入、12A 同步降壓SWIFT?轉(zhuǎn)換TPS56C215數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《3.8V 至 17V輸入、12A 同步降壓SWIFT?轉(zhuǎn)換TPS56C215數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-25 09:56 ?0次下載
    3.8V 至 17V輸入、12A 同步降壓<b class='flag-5'>SWIFT</b>?轉(zhuǎn)換<b class='flag-5'>器</b>TPS56<b class='flag-5'>C</b>215數(shù)據(jù)表

    “踩坑”經(jīng)驗分享:Swift語言落地實踐

    Swift認(rèn)為字符串是由一個個字形群集 (grapheme clusters)組成的,字形群集的大小不固定所以不能用整數(shù)去索引 (字形群集其實就是Swift中的Character(字符)類)。
    的頭像 發(fā)表于 12-28 17:37 ?788次閱讀