15 คะแนน โดย alstjr7375 2024-11-03 | 5 ความคิดเห็น | แชร์ทาง WhatsApp

ได้รับแรงบันดาลใจจากโพสต์ถูกใจของทีม Racket
ขอแนะนำส่วนที่ถูกนำไปใช้อย่างก้าวหน้าในตระกูลภาษา Lisp เหล่านี้

  1. แมโครที่ทรงพลังและปลอดภัยที่สุดของ Racket
    1.1 แมโครที่ปลอดภัย
    - C vs Racket: ทำไมแมโครจึงต้องเป็นไวยากรณ์
    - Common Lisp vs Racket: ทำไมจึงต้องเป็นแมโครแบบ hygienic
    1.2 แมโครที่ทรงพลัง
    - ภาพรวมของ Transform โดยใช้วัตถุ Syntax
    - การจัดการวัตถุ Syntax และลิสต์
    - ลองทำ Transform ด้วยตัวเองโดยใช้ define-syntax
    - เขียนแบบประกาศด้วยแมโคร pattern matching
    - compile time และ runtime ตอนนิยามแมโคร
    - แมโครที่นิยามฟังก์ชันหรือตัวแปร
  2. dynamic binding ที่ทำงานร่วมกับ Thread ของ Racket
    2.1 dynamic binding คืออะไร?
    2.2 ทำไมต้อง dynamic binding?
    - ป้องกันการปนเปื้อนระดับ global ที่ไม่จำเป็นจากตัวแปร global
    - ลบพารามิเตอร์ที่ไม่จำเป็นออกจาก context
    - ลด boilerplate ที่ไม่จำเป็นในการฉีด dependency
    2.3 dynamic binding ที่ปลอดภัยต่อ Thread
  3. ระบบเชิงวัตถุที่มีความ dynamic และยืดหยุ่นของ Common Lisp
    3.1 การทำ object-oriented ได้หลากหลายแบบ
    3.2 ระบบเมธอดที่ยืดหยุ่น
    - เมธอดที่ขยายต่อได้โดยไม่ต้องแก้ไขการนิยามคลาส
    - multiple dispatch ตามชนิดของอ็อบเจ็กต์
    - method combination เพื่อควบคุม cross-cutting concerns
    3.3 อ็อบเจ็กต์แบบ dynamic
    3.4 MOP (Meta-Object Protocol) ที่ขยายระบบเชิงวัตถุ
    - ตัวนับที่ลองควบคุมสถานะตอนสร้าง
    - ตัวตรวจสอบชนิดที่ลองขยายความสามารถเดิม
    - ลองตรวจสอบค่าด้วยการเพิ่มคีย์เวิร์ดในนิยามคลาส
    3.5 การสืบทอดหลายทาง
    - ปัญหาการสืบทอดหลายทางของ C++
    - กฎ CPL (Class Precedence List)

5 ความคิดเห็น

 
kayws426 2024-11-06

ไว้ตอนหลังเวลาเรียนค่อยต้องมาอ่านให้ได้เลย!!

 
alstjr7375 2024-11-06

ขอบคุณครับ!! 555

 
roxie 2024-11-06

อยากรู้ว่าทำไมคุณถึงหลงเสน่ห์ของ racket ท่ามกลาง dialect มากมายได้ครับ!

 
alstjr7375 2024-11-06

ฉันได้รู้จักมันตอนที่กำลังศึกษา HtDP(How to Design Programs) ซึ่งเป็นเวอร์ชันที่ง่ายกว่าของ SICP
ไวยากรณ์ดูสะอาดตาและออกแบบมาได้ดีมาก

พอเริ่มสนใจแล้วลองดูนั่นดูนี่ ก็พบว่าส่วนที่ออกแบบมาอย่างดีมีมากกว่าที่คิด..

 
roxie 2024-11-09

ขอบคุณครับ! มีหนังสือแบบนั้นด้วยสินะ