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

6
Racket แตกต่างจาก Scheme อย่างไร
Racket เป็นลูกหลานของ Scheme แร็กเก็ตแตกต่างจาก R6RS อย่างไร มันเพิ่มอะไรหรือเอาไปหรือแตกต่างกันเพียง? ฉันเข้าใจว่าไม้เป็นมากกว่าภาษามันเป็นแพลตฟอร์มสำหรับภาษา แต่ฉันหมายถึงภาษาหลักของแร็กเกต
184 scheme  lisp  racket 

23
วิธีที่ดีที่สุดในการเรียนรู้ LISP คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันได้เขียนโปรแกรมใน Python, PHP, Java และ C มาสองสามปีแล้วและฉันเพิ่งอ่านแฮกเกอร์และจิตรกรเสร็จดังนั้นฉันอยากลอง LISP! ฉันเข้าใจว่ามันแตกต่างจากสิ่งที่ฉันรู้และมันจะไม่ง่ายเลย นอกจากนี้ฉันคิดว่า (โปรดแก้ไขให้ฉันถ้าฉันผิด) มีชุมชนน้อยลงและการพัฒนารอบ LISP ดังนั้นคำถามของฉันคืออะไรวิธีที่ดีที่สุดในการเรียนรู้ LISP คืออะไร ฉันจะไม่สนใจซื้อหนังสือหรือลงทุนสักระยะ ฉันแค่ไม่อยากให้มันเสียเปล่า แนวคิด "สุดท้าย" จะใช้ LISP สำหรับการพัฒนาเว็บและฉันรู้ว่ามันไม่ธรรมดาดังนั้น ... ฉันรู้ว่ามันเป็นเรื่องดีที่จะวางแผนการเรียนรู้ของฉันก่อนที่จะเลือกหนังสือเล่มแรกหรือบทช่วยสอนและใช้เวลากับบางสิ่งบางอย่างที่อาจไม่ เป็นวิธีที่ดีที่สุด! ขอบคุณสำหรับคำตอบของคุณ! แก้ไข:ฉันอ่าน Common LISP ที่ใช้งานได้จริงและ: ... นาน, ยาก, น่าสนใจและแน่นอนว่าฉันได้กลิ้งใน Lisp หลังจากนั้นฉันอ่าน schemer เล็กน้อยและมันสั้นสนุกและดีมากสำหรับการเขียนโปรแกรมโดยรวมของฉัน ดังนั้นคำแนะนำของฉันคือการอ่าน schemer ตัวน้อยก่อนจากนั้น …
167 lisp  scheme  common-lisp 

30
เสียงกระเพื่อมในโลกแห่งความจริง
ฉันได้ทดลองกับ Lisp (จริง ๆ แล้ว Scheme) และพบว่ามันเป็นภาษาที่สวยงามมากที่ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ อย่างไรก็ตามปรากฏว่า Lisp ไม่เคยถูกใช้ในโครงการที่จริงจังและฉันไม่ได้เห็นมันเป็นทักษะที่ต้องการในการโพสต์งานใด ๆ ฉันสนใจที่จะได้ยินจากใครก็ตามที่ใช้เสียงกระเพื่อมหรือเห็นมันใช้ใน "โลกแห่งความจริง" หรือใครจะรู้ว่ามันเป็นภาษาวิชาการอย่างแท้จริงหรือไม่

4
โปรดอธิบายบางประเด็นของ Paul Graham เกี่ยวกับ Lisp
ฉันต้องการความช่วยเหลือบางทำความเข้าใจบางจุดจากพอลเกรแฮมสิ่งที่ทำให้เสียงกระเพื่อมที่แตกต่างกัน แนวคิดใหม่ของตัวแปร ใน Lisp ตัวแปรทั้งหมดเป็นตัวชี้อย่างมีประสิทธิภาพ ค่าคือสิ่งที่มีประเภทไม่ใช่ตัวแปรและการกำหนดหรือตัวแปรที่มีผลผูกพันหมายถึงการคัดลอกพอยน์เตอร์ไม่ใช่สิ่งที่พวกเขาชี้ไปที่ ประเภทสัญลักษณ์ สัญลักษณ์แตกต่างจากสตริงที่คุณสามารถทดสอบความเท่าเทียมกันโดยการเปรียบเทียบตัวชี้ สัญกรณ์สำหรับรหัสโดยใช้สัญลักษณ์ของต้นไม้ ภาษาทั้งหมดใช้ได้เสมอ ไม่มีความแตกต่างที่แท้จริงระหว่างเวลาอ่านเวลาคอมไพล์และรันไทม์ คุณสามารถรวบรวมหรือเรียกใช้รหัสในขณะที่อ่านอ่านหรือเรียกใช้รหัสในขณะที่รวบรวมและอ่านหรือรวบรวมรหัสที่รันไทม์ ประเด็นเหล่านี้หมายความว่าอย่างไร พวกเขาแตกต่างกันในภาษาเช่น C หรือ Java อย่างไร ภาษาอื่นที่ไม่ใช่ภาษาตระกูล Lisp มีโครงสร้างเหล่านี้หรือไม่?

12
ทำไมความชั่วร้ายจึงเป็นจริง?
ฉันรู้ว่าโปรแกรมเมอร์ Lisp และ Scheme มักจะบอกว่าevalควรหลีกเลี่ยงเว้นแต่จำเป็นอย่างเคร่งครัด ผมเคยเห็นคำแนะนำเหมือนกันสำหรับการเขียนโปรแกรมภาษาหลาย evalแต่ฉันยังไม่เห็นรายชื่อของการขัดแย้งที่ชัดเจนกับการใช้งานของ ฉันจะหาบัญชีของปัญหาที่อาจเกิดขึ้นจากการใช้งานได้evalที่ไหน ตัวอย่างเช่นผมรู้ว่าปัญหาของGOTOในการเขียนโปรแกรมขั้นตอน (โปรแกรมทำให้อ่านได้ยากและยากที่จะรักษาทำให้ปัญหาความปลอดภัยยากที่จะหา ฯลฯ ) evalแต่ผมไม่เคยเห็นมีปากเสียงกับ ที่น่าสนใจข้อโต้แย้งที่เหมือนกันGOTOนั้นน่าจะใช้ได้กับการต่อเนื่อง แต่ฉันเห็นว่า Schemers นั้นจะไม่พูดว่าการต่อเนื่องนั้นเป็น "ความชั่วร้าย" - คุณควรระวังเมื่อใช้มัน พวกเขามีแนวโน้มที่จะขมวดคิ้วเมื่อใช้โค้ดevalมากกว่าใช้โค้ดต่อเนื่อง (เท่าที่ฉันเห็น - ฉันอาจผิด)

6
เหตุใด Clojure จึงมี "คำหลัก" นอกเหนือจาก "สัญลักษณ์"
ฉันมีความรู้เกี่ยวกับ Lisps อื่น ๆ (โดยเฉพาะโครงการ) จากทางกลับ เร็ว ๆ นี้ผมได้อ่านเกี่ยวกับClojure ฉันเห็นว่ามันมีทั้ง "สัญลักษณ์" และ "คีย์เวิร์ด" สัญลักษณ์ที่ฉันคุ้นเคย แต่ไม่ใช่กับคำหลัก Lisps คนอื่นมีคีย์เวิร์ดไหม คีย์เวิร์ดแตกต่างจากสัญลักษณ์อื่นที่ไม่ใช่สัญกรณ์ต่างกันอย่างไร (เช่นโคลอน)
130 lisp  clojure  scheme  keyword 

4
อะไรคือความแตกต่างระหว่าง Clojure, Scheme / Racket และ Common Lisp?
ฉันรู้ว่าพวกเขาเป็นภาษาถิ่นในตระกูลเดียวกันที่เรียกว่า lisp แต่อะไรคือความแตกต่างกันแน่? คุณช่วยให้ภาพรวมครอบคลุมหัวข้อต่างๆเช่นไวยากรณ์ลักษณะคุณลักษณะและแหล่งข้อมูลหากเป็นไปได้

6
สไตล์“ point free” (ใน Functional Programming) คืออะไร?
วลีที่ฉันสังเกตเห็นเมื่อเร็ว ๆ นี้คือแนวคิดของสไตล์ "point free" ... อย่างแรกมีคำถามนี้และคำถามนี้ด้วย จากนั้นฉันก็ค้นพบที่นี่พวกเขากล่าวถึง "อีกหัวข้อหนึ่งที่อาจมีค่าควรพูดคุยกันคือผู้เขียนไม่ชอบสไตล์ไร้จุดมุ่งหมาย" สไตล์ "point free" คืออะไร? ใครช่วยให้คำอธิบายสั้น ๆ มันเกี่ยวข้องกับการแกงแบบ "อัตโนมัติ" หรือไม่? เพื่อให้ทราบถึงระดับของฉัน - ฉันได้สอน Scheme ด้วยตัวเองและได้เขียนล่าม Scheme แบบง่ายๆ ... ฉันเข้าใจว่าการแกง "โดยนัย" คืออะไร แต่ฉันไม่รู้จัก Haskell หรือ ML เลย

4
Clojure vs Lisps คนอื่น ๆ [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา จุดประสงค์ของคำถามของฉันไม่ใช่เพื่อเริ่มสงครามเปลวไฟ แต่เป็นการตัดสินว่าในสถานการณ์ใดแต่ละภาษาคือ "เครื่องมือที่ดีที่สุดสำหรับงาน" ฉันได้อ่านหนังสือหลายเล่มเกี่ยวกับ Clojure ( Programming Clojure , Practical Clojure , The Joy of Clojureและ Manning Early Access edition of Clojure in Action ) และฉันคิดว่ามันเป็นภาษาที่ยอดเยี่ยม ฉันกำลังอ่านLet Over Lambdaซึ่งส่วนใหญ่เกี่ยวข้องกับมาโคร Lisp ทั่วไปและมันก็เป็นภาษาที่น่าสนใจมากเช่นกัน ฉันไม่ใช่ผู้เชี่ยวชาญด้าน Lisp (เป็นมือใหม่มากกว่า) แต่ภาษาตระกูลนี้ทำให้ฉันหลงใหลเช่นเดียวกับการเขียนโปรแกรมเชิงฟังก์ชันโดยทั่วไป ข้อดีของ Clojure (และข้อเสียของ "อื่น ๆ "): ทำงานบน …

15
Scheme หรือ LISP ที่ดีที่สุดสำหรับ OS X คืออะไร?
ฉันกำลังมองหาเวอร์ชันของ Scheme หรือแม้แต่ LISP ที่ฉันสามารถใช้เพื่อกู้คืนทักษะการพัฒนา Lisp ที่หายไป ความสามารถของเว็บบางอย่างจะดี แต่ไม่จำเป็น ฉันได้ดูโครงการ Plt และ MIT แล้วในขณะที่ทั้งคู่ดูดี แต่ Plt ดูเหมือนจะมีคุณสมบัติที่หลากหลายกว่า ฉันได้ดูการใช้งาน Lisp ด้วย แต่ดูเหมือนว่าทั้งหมดจะค่อนข้างแพง ฉันชอบการใช้งานฟรี / ราคาไม่แพงเพราะนี่เป็นเพียงการเขียนโปรแกรมงานอดิเรกเป็นครั้งคราว คุณมีคำแนะนำอะไรบ้าง?
87 macos  lisp  scheme  racket 

7
อะไรคือความแตกต่างระหว่าง eq?, eqv ?, เท่ากับ? และ = ใน Scheme?
ฉันสงสัยว่าความแตกต่างระหว่างการดำเนินการเหล่านั้นใน Scheme คืออะไร ฉันเคยเห็นคำถามที่คล้ายกันใน Stack Overflow แต่เป็นคำถามเกี่ยวกับ Lisp และไม่มีการเปรียบเทียบระหว่างตัวดำเนินการสามตัว ฉันกำลังเขียนคำสั่งประเภทต่างๆใน Scheme และฉันได้รับผลลัพธ์ต่อไปนี้: (eq? 5 5) -->#t (eq? 2.5 2.5) -->#f (equal? 2.5 2.5) --> #t (= 2.5 2.5) --> #t เหตุใดจึงเป็นเช่นนี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.