คำถามติดแท็ก scheme

Scheme เป็นภาษาโปรแกรมที่ใช้งานได้ซึ่งเป็นภาษาถิ่นของ Lisp มีการออกแบบที่เรียบง่ายพร้อมข้อกำหนดมาตรฐานและการใช้งานมากมาย

4
ฉันควรเรียนรู้อะไรจากโครงการ
ฉันสงสัยว่าคุณสมบัติพิเศษใดบ้างที่ฉันสามารถเรียนรู้จาก Scheme ซึ่งจะช่วยให้ฉันเป็นโปรแกรมเมอร์ที่ดีขึ้น ฉันมีประสบการณ์มากมายในภาษากระแสหลักและฉันกำลังมองหาเพื่อขยายขอบเขตและเรียนรู้เกี่ยวกับแง่มุมการใช้งานที่ขาดหายไปจากภาษาอื่น ฉันคุ้นเคยกับการปิดจาก javascript, การแสดงออกแลมบ์ดาจาก C # และฉันสงสัยว่าสิ่งที่ฉันสามารถมุ่งเน้นไปที่การขาดในภาษาอื่น ๆ ? นอกเหนือจากไวยากรณ์เสียงกระเพื่อมฉันรู้สึกเหมือนสิ่งที่ฉันได้เห็นจนถึงตอนนี้ฉันได้พบในภาษาอื่น ๆ มีอะไรพิเศษสำหรับ Scheme / Lisp ที่จะสอนอะไรใหม่ ๆ ให้ฉัน

2
ใครเป็นคนแรกที่ประกาศเกียรติคุณฟังก์ชันคำสั่งซื้อที่สูงขึ้นและ / หรือพลเมืองชั้นหนึ่ง?
ฉันเข้าใจมานานแล้วว่าก่อนที่ Haskell, O'Caml หรือ LISP หน้าที่การสั่งงานที่สูงขึ้นจะเป็นวิชาวิจัยทางวิชาการและในวิชาคณิตศาสตร์Schönfinkel (ในปี 1967) และ Haskell Curry (ในปี 1968) ได้ใช้เทคนิคเช่น currying แต่ ก่อนหน้านี้มีให้ในภาษาการเขียนโปรแกรมใด ๆ Scheme ตาม Wikipediaเป็นภาษาแรกที่แนะนำฟังก์ชั่นการสั่งซื้อที่สูงขึ้นอย่างเหมาะสมในฐานะพลเมืองชั้นหนึ่ง แต่มีใครบ้างที่เราสามารถให้ความคิดดั้งเดิมได้ บางทีโบสถ์อลองโซผู้คิดค้นแลมบ์ดาแคลคูลัสในทศวรรษ 1930? โดยเฉพาะอย่างยิ่งใครเป็นผู้นิยามคำนิยามต่อไปนี้ซึ่งฉันเห็นในการถอดความหลายเรื่องในหนังสือหลายเล่มและแหล่งข้อมูลออนไลน์ ฟังก์ชั่นจะถือว่าเป็นลำดับที่สูงขึ้นเมื่อใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์หรือเมื่อส่งคืนฟังก์ชัน ฟังก์ชันใด ๆ ที่ไม่รับฟังก์ชั่นเป็นอาร์กิวเมนต์หรือเป็นชนิดส่งคืนจะเรียกว่าฟังก์ชันลำดับแรก

9
ทางเลือกระบบปฏิบัติการสำหรับการพัฒนาฟังก์ชั่น [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นนักพัฒนา. NET เป็นหลักดังนั้นฉันจึงใช้ Windows / VisualStudio (นั่นหมายถึง: ฉันนิสัยเสีย) แต่ฉันสนุกกับ Haskell และภาษาอื่น ๆ (ส่วนใหญ่ใช้งานได้) ในเวลาว่าง ตอนนี้สำหรับ Haskell การสนับสนุน windows ก็โอเค (คุณสามารถรับ Haskell-Platform) แต่ latley ฉันพยายามที่จะได้รับสภาพแวดล้อม Clojure / Scheme พื้นฐานติดตั้งและมันก็แค่ความเจ็บปวดบน windows ดังนั้นฉันจึงคิดว่าจะลองใช้ระบบปฏิบัติการอื่นเพื่อการใช้เครื่องมือและการสนับสนุนที่ดีขึ้น แน่นอนว่าทำให้ฉันใช้ MacOS หรือ Linux ได้บ้าง ฉันไม่เคยใช้ MacOS มาก่อนและแน่นอนว่า Linux จะมีราคาถูกกว่า (ฟรี) และฉันไม่คิดว่าฉันจะสามารถบูต MacOS …

3
เหตุใดโมดูล. NET จึงแยกชื่อไฟล์โมดูลออกจากเนมสเปซ
ในการปรับใช้ภาษาการเขียนโปรแกรม Scheme (มาตรฐาน R6RS) ฉันสามารถนำเข้าโมดูลดังต่อไปนี้: (import (abc def xyz)) ระบบจะพยายามค้นหาไฟล์$DIR/abc/def/xyz.slsที่$DIRมีไดเรกทอรีซึ่งคุณเก็บโมดูล Scheme ของคุณไว้ xyz.slsเป็นซอร์สโค้ดสำหรับโมดูลและถูกคอมไพล์อย่างรวดเร็วหากจำเป็น ระบบโมดูล Ruby, Python และ Perl นั้นคล้ายกันในส่วนนี้ ในทางกลับกัน C # นั้นเกี่ยวข้องกับอีกเล็กน้อย ก่อนอื่นคุณมีไฟล์ dll ที่คุณต้องอ้างอิงตามโปรเจ็กต์ คุณต้องอ้างอิงแต่ละอย่างชัดเจน สิ่งนี้เกี่ยวข้องมากกว่าการพูดวางไฟล์ dll ในไดเรกทอรีและให้ C # เลือกพวกเขาตามชื่อ ประการที่สองไม่มีการตั้งชื่อการติดต่อแบบหนึ่งต่อหนึ่งระหว่างชื่อไฟล์ dll และเนมสเปซที่นำเสนอโดย dll ฉันสามารถชื่นชมความยืดหยุ่นนี้ แต่ก็สามารถออกไปจากมือ (และมี) เพื่อให้เป็นรูปธรรมมันจะดีถ้าเมื่อฉันพูดแบบนี้using abc.def.xyz;C # จะพยายามค้นหาไฟล์abc/def/xyz.dllในบางไดเรกทอรีที่ C # รู้ที่จะดู (กำหนดค่าได้ตามโครงการ) ฉันพบว่า Ruby, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.