OCaml.org 電子報:2024 年 2 月
歡迎來到 OCaml.org 電子報 2024 年 2 月份的版本!此更新由 OCaml.org 團隊彙編。您可以在 Discuss 上找到先前的更新。
我們的目標是使 OCaml.org 成為任何想開始使用 OCaml 並提高生產力的人的最佳資源。OCaml.org 電子報提供我們朝該目標邁進的進度更新,以及我們正在進行的變更概述。
如果沒有所有協助我們審查、修改和創建更好 OCaml 文件之傑出 OCaml 社群成員,我們無法做到這一點。您的回饋使我們能夠更好地安排工作優先順序。謝謝!
本電子報涵蓋
- OCaml 文件:已發布新的文件,並已改進現有文件。
- OCaml 食譜: OCaml 食譜的原型,提供簡短的程式碼範例,使用來自 OCaml 生態系統的套件來解決實際問題,目前位於 staging.ocaml.org/cookbook。
- 深色模式:我們現在幾乎準備好發布深色模式了。
- 社群區塊重製:我們正在準備社群區塊的線框圖,以便更好地呈現現有的內容。此外,我們開始初步工作,建立專用的「活動」頁面。
- 一般改進:一如既往,我們也根據使用者回饋進行了一般維護和改進,因此我們將重點介紹以下一些工作。
貢獻者開放問題和 Outreachy 申請期
有針對外部貢獻者的開放問題。但是,由於 github.com/ocaml/ocaml.org 參與 Outreachy 申請期,我們在 3 月可能會缺少開放問題,因為 Outreachy 申請人會迅速接手這些問題。
您可以在此處找到貢獻者的開放問題!
OCaml 文件
使用者測試
21 位勇敢的新手同意在透過線上文件探索 OCaml 並完成幾個程式設計任務時,被觀察一小時。非常感謝所有參加我們舉辦的使用者測試會議的參與者!
一半的使用者測試參與者使用了最近更新的教學,另一半使用了v2.ocaml.org/docs。我們從中得到的結論是
- 學習 OCaml 並不難。然而,學習函數式程式設計是難的。大多數有先前 FP 經驗的參與者都成功完成了任務。
- 對於沒有 FP 經驗的參與者,更新的文件在教導 OCaml 和 FP 方面比手冊略勝一籌。其中一些人使用新的教學成功完成了較複雜的任務,而所有沒有 FP 經驗的參與者使用舊文件都失敗了。
透過觀察參與者試圖理解任務並在文件中找到相關資料,我們已發現許多小的變更,這些變更可能會改善文件頁面上的使用者體驗。
相關的 PR 和活動
- 進行中
- 審查中(內部)
- 審查中(社群)
- 檔案操作(請參閱Discuss 討論串)
- 多型變體(請參閱Discuss 討論串)
- 已發布
- 映射
- 集合
- 選項
- 使用 Dune 的模組、函子、函式庫(請參閱Discuss)
- 具標籤引數
- OCaml Playground 由 @The-Amoghavarsha
- 在 opam 切換中執行指令
- 可變狀態 / 命令式程式設計(請參閱Discuss 討論串)
- 在 Discuss 上的公告:OCaml 基礎知識的新教學
- 基本資料型別(請參閱Discuss 討論串)
- 函式和值(請參閱Discuss 討論串)
- 安裝 OCaml(請參閱Discuss 討論串)
- OCaml 導覽(請參閱Discuss 討論串)
- 您的第一個 OCaml 程式(請參閱Discuss 討論串)
- opam 切換簡介
- 修正 Apple M1 上的 Homebrew 錯誤
- 運算子
- 錯誤處理(請參閱Discuss 討論串)
- 陣列(請參閱Discuss 討論串)
- 序列(請參閱Discuss 討論串)
- 其他活動:
- (docs) 基本資料型別:新增模組 Str 的連結
- 第一類模組(學習/語言/模組系統) 由 @F-Loyer
- 更新 bp_03_run_executables_and_tests.md 由 @F-Loyer
- DOC:在第一個程式中將 dream 替換為 yojson 由 @heathhenley
- 更新錯字 + 將 append 變更為 prepend 由 @danipoma
- 新增用於 dune-pkg 的工作區檔案 由 @gridbugs
- 修正指南中的錯字 由 @cionx
- 從設定說明中移除 dune 由 @The-Amoghavarsha
- 改進函子教學中的一些措辭 由 @neuroevolutus
- 新增從運算子到 monad 的連結 由 @cuihtlauac
- (doc) 改進「使用 Dune 的函式庫」教學中的措辭 由 @The-Amoghavarsha
- 將變數取代為參數 由 @cuihtlauac
- (docs) 在可變狀態與命令式教學中新增包含可變狀態的閉包範例 由 @The-Amoghavarsha
- (docs) 推薦 dune 監看模式 由 @yawaramin
- (docs) 將「Sets」設為 Set 的教學標題 由 @cuihtlauac
- (docs) 在錯誤處理指南中將 map 更正為 map_error 由 @cuihtlauac
- 省略提及 Merlin 由 @yawaramin
即將推出的 OCaml 食譜
我們在學習區新增一個新的、社群驅動的區塊:OCaml 食譜,這方面取得了一些進展。食譜旨在成為一個食譜彙編,提供程式碼範例,使用來自 OCaml 生態系統的套件來解決實際任務。
以下是我們正在考慮的設計
- 類別:高階任務群組,例如網路、資料壓縮或命令列引數。
- 任務:類別中要完成的單一事項,例如寫入檔案、發出 HTTP GET 要求或傳回結束狀態。
- 食譜:使用套件的任務版本,例如使用
curly
或cohttp
的 HTTP GET。
一個粗略的原型位於 staging.ocaml.org/cookbook。我們收到的貢獻和使用者回饋表明,食譜的結構需要再次改進,直到準備好發布。
提供食譜回饋的好地方是此 discuss 討論串。
相關的 PR 和活動
- 原型 OCaml 食譜
- 食譜的貢獻
- (WIP) 食譜:檔案系統 由 @F-Loyer
- (WIP) 食譜網路 由 @F-Loyer
- (WIP) 食譜 xml 由 @F-Loyer
- (WIP) 食譜:網路 / 簡單 HTTP 用戶端 由 @F-Loyer
- (WIP) 食譜網路 / uri 由 @F-Loyer
- (WIP) 食譜:Regexp (ppx_regexp) 由 @F-Loyer
- 食譜:編碼 由 @F-Loyer
- 食譜:以及排序清單和陣列 由 @F-Loyer
- 食譜文字處理 由 @F-Loyer
- 食譜:新增資料庫 / ezsqlite 條目 由 @F-Loyer
- 食譜並發:Lwt 由 @F-Loyer
- 食譜 caqti ppx rapper 由 @F-Loyer
- 食譜 Ezsqlite - 錯字和重寫 由 @F-Loyer
- 食譜排序 - 錯字 由 @F-Loyer
深色模式
在 12 月,oyenuga17 開始在 OCaml.org 上實作新的深色模式。
到目前為止,新的深色模式大部分已完成,但尚未經過充分的審查或測試。
我們已在 staging.ocaml.org 上啟用了深色模式,此模式基於您的瀏覽器/作業系統偏好設定。如果您想提供協助,可以瀏覽 staging.ocaml.org 上的深色模式,並回報您發現的任何問題,只需開啟一個 issue 即可。
已完成的頁面
- 學習/入門 + 語言 + 指南,由 @oyenuga17 完成
- 學習/練習,由 @oyenuga17 完成
- 學習/書籍,由 @oyenuga17 完成
- 學習/平台工具,由 @oyenuga17 完成
- 套件搜尋結果,由 @oyenuga17 完成
- 套件 + 社群,由 @oyenuga17 完成
- 部落格 + 工作 + 更新日誌,由 @oyenuga17 完成
- 學習/概覽,由 @oyenuga17 完成
- 安裝 + 論文 + 標誌和政策頁面,由 @oyenuga17 完成
- 治理 + Outreachy 實習頁面,由 @oyenuga17 完成
- 首頁 + 教學搜尋結果頁面,由 @oyenuga17 完成
- OCaml 工作坊 + 成功案例,由 @oyenuga17 完成
社群區塊的重新設計
本月,我們開始針對社群區塊進行使用者研究,並收集了關於目前頁面的回饋和想法。其中,我們發現了以下幾點:
- 社群區塊需要一個更好的活動目錄
- 工作頁面需要更容易從社群頁面進入
- 若能突顯 OCaml 生態系統中正在尋找貢獻者的開源專案,那就太棒了
如果您對社群區塊有任何意見,請隨時在此討論串中分享!
相關的 PR 和活動
一般改進
非常感謝許多在 2 月幫助改進 OCaml.org 的貢獻者。請在下方查看他們的列表!
相關的 PR 和活動
- 一般
- 將教學欄位的 short_title 設為選填,由 @amarachigoodness74 完成
- (建置) 不要壓縮 data/ 資料夾,由 @sabine 完成
- 微調「學習」首頁樣式以符合 Figma 設計,由 @sabine 完成
- 移除練習頁面上過時的難度符號文字,由 @cuihtlauac 完成
- 使 ocaml.org 上的 github 連結指向 ocaml org,由 @v-gb 完成
- 功能:建立 OCaml 遊樂場的行動版檢視,由 @FatumaA 完成
- 在「學習」概覽的英雄區塊中新增「OCaml 語言手冊」按鈕,由 @sabine 完成
- 錯誤修復:移除重複的「文件」連結,使其看起來像 Figma,由 @kiyov09 完成
- 使用連結在 head 中宣傳 atom 提要,由 @cuihtlauac 完成
- 調整列表項目符號顏色,由 @egmaleta 完成
- 使遊樂場的游標更明顯,由 @sabine 完成
- 新增兩個套件至「OCaml 已經可以應用於網頁了嗎?」,由 @F-Loyer 完成
- 資料剖析
- (ood-gen) 使 'tutorials' 類型中的可選列表類型設為非可選,由 @egmaleta 完成
- (ood-gen) 在更新日誌、新聞、Planet 和工作坊中,將具有
list option
類型欄位的類型調整為list
,由 @egmaleta 完成 - (ood-gen) 將 Data.Event / Data.Meetup 統一為 Data.Event / Data.Event/RecurringEvent,由 @sabine 完成
- (ood-gen) 在工作坊中調整具有
option
類型欄位的類型,由 @egmaleta 完成 - 不要產生空的 data/watch.yml,由 @cuihtlauac 完成
- 不要讓 get_ok 吞下錯誤原因,由 @cuihtlauac 完成
- (ood-gen) 在版本中,將具有 bool option 類型欄位的類型調整為 bool,由 @egmaleta 完成
- 資料