เรียนรู้แนวคิดของ Monad ด้วย Rust
(techblog.samsung.com)สวัสดีครับ/ค่ะ ขอแชร์บทความที่อธิบาย "Monad" ซึ่งเป็นแนวคิดสำคัญของการเขียนโปรแกรมเชิงฟังก์ชันได้ค่อนข้างเข้าใจง่าย
บทความนี้ค่อย ๆ พาให้ทำความเข้าใจผ่านตัวอย่างเล็ก ๆ ที่อ้างอิงจากภาษา Rust
สวัสดีครับ/ค่ะ ขอแชร์บทความที่อธิบาย "Monad" ซึ่งเป็นแนวคิดสำคัญของการเขียนโปรแกรมเชิงฟังก์ชันได้ค่อนข้างเข้าใจง่าย
บทความนี้ค่อย ๆ พาให้ทำความเข้าใจผ่านตัวอย่างเล็ก ๆ ที่อ้างอิงจากภาษา Rust
7 ความคิดเห็น
ขอบคุณสำหรับบทความดีๆ
ที่บริษัทได้ใช้ Rust ด้วย น่าอิจฉาจัง
อยากให้แสดงโค้ดเป็นข้อความแทนรูปภาพครับ
เห็นด้วย
เป็นบทความที่ดีครับ! แต่คำอธิบายเกี่ยวกับ endofunctor มีข้อผิดพลาดอยู่ จึงน่าจะดีหากมีการแก้ไข https://x.com/simnalamburt/status/1950074970647761168?s=46
ชี้ประเด็นได้อย่างแม่นยำครับ!
ดูเหมือนว่าจะมีความเข้าใจคลาดเคลื่อนเกิดขึ้นในกระบวนการนำเนื้อหาที่เขียนด้วยภาษาอื่นมาปรับใช้โดยอิงตาม Rust
เนื่องจากระบบชนิดข้อมูลของ Rust ก่อเป็นหมวดหมู่เดียว การแยกความแตกต่างระหว่าง endofunctor กับ functor ทั่วไปจึงน่าจะไม่มีความหมาย
เสียดายที่ในบล็อกไม่มีฟังก์ชันคอมเมนต์ คงต้องลองสอบถามดูว่าสามารถขอให้แก้ไขได้หรือไม่ครับ
ไม่ใช่ว่าทุกอย่างจะเป็น endofunctor ทั้งหมด ของที่มี type parameter หลายตัวอย่างเช่น Result<T, E> นั้นไม่ใช่ 𝒞 → 𝒞 แต่เป็น Result : 𝒞 × 𝒞 → 𝒞 ดังนั้นแบบนี้จึงเป็น bifunctor