คำถามในหัวข้อ 'common-lisp'
ความแตกต่างระหว่าง (วนซ้ำสำหรับ) และ (วนซ้ำ: สำหรับ) ใน Common Lisp [ซ้ำกัน]
ฉันเพิ่งเห็นคำตอบของ Sylwester สำหรับ คำถามนี้ และฉันคิดว่าแปลกที่ ลูปมีโคลอนอยู่ทุกหนทุกแห่ง
ปกติผมจะเขียน
(loop for n below 10 do (princ n) (terpri))
แทน
(loop :for n :below 10 :do (princ n) (terpri))
หลังจากการทดสอบบางอย่าง...
152 มุมมอง
schedule
21.12.2023
เหตุใดแมโครที่ใช้การอนุญาตจึงแตกต่างจากที่ไม่ได้ใช้
ฉันยังใหม่กับ Lisp และฉันกำลังอ่าน Let Over Lambda ของ Doug Hoyte และเขานำเสนอแมโคร nif ของ Paul Graham ในบทที่ 3 ฉันกำลังเล่นกับเรื่องนั้นและสร้างมาโครสองตัวนี้:
(defmacro niffy (expr pos zero neg)
`(cond ((plusp ,expr) ,pos)
((zerop...
108 มุมมอง
schedule
10.01.2024
กำลังโหลดแพ็คเกจ Quicklisp เพื่อใช้ในไฟล์เสียงกระเพื่อมอื่น
ฉันได้ดาวน์โหลดโครงการซอฟต์แวร์ขนาดใหญ่ FriCAS ซึ่งฉันได้รวบรวมจากแหล่งที่มาและใช้ SBCL นี่เป็นเพียงเรื่องของการใช้ GNU .configure - ฉันเป็นมือใหม่ Lisp ที่สมบูรณ์
อย่างไรก็ตาม เพื่อที่จะเพิ่มฟังก์ชันการทำงานเพิ่มเติม ฉันจึงได้ติดตั้ง Quicklisp...
639 มุมมอง
schedule
19.01.2024
Lisp สามารถใช้ได้อย่างง่ายดายในลักษณะที่ไม่เปลี่ยนรูปและใช้งานได้จริงหรือไม่?
ฉันมาจากพื้นหลังใน Haskell และฉันต้องการเรียน Common Lisp
มีการพูดคุยกันเป็นอย่างดีว่า CL นั้น "ไม่ใช่ภาษาที่ใช้งานได้" แต่ฉันต้องการทราบว่าสามารถใช้เป็นภาษาที่ใช้งานได้หรือไม่
ตัวอย่างเช่น...
643 มุมมอง
schedule
30.12.2023
LISP เขียนฟังก์ชันที่เรียกว่า cut-in-half ซึ่งรับรายการและสร้างรายการใหม่ที่มีองค์ประกอบเป็นครึ่งแรกและครึ่งหลัง
ฉันมีปัญหากับฟังก์ชันนี้ ในตอนแรกเราถูกถามว่า "เขียนฟังก์ชันเสียงกระเพื่อมที่รับรายการและจำนวนเต็ม n แล้วส่งกลับองค์ประกอบ n แรกของรายการเป็นรายการใหม่ ในกรณีที่ n น้อยกว่า 1 ก็จะส่งกลับ NIL ในกรณีที่ n คือ เกินความยาวแล้ว...
838 มุมมอง
schedule
13.11.2023
เอาชนะโอเปอเรเตอร์พิเศษโดยใช้ MACROLET หรือไม่
ฉันกำลังพยายามแทนที่ IF ในเครื่อง (จุดประสงค์คือการฝัง DSL)
พฤติกรรมทำให้ฉันสับสนจริงๆ ใน SBCL:
(macrolet ((if (x) x))
(if 'x)) ; => X
(macrolet ((if (x) x))
(let ((x 2))
(if 'x))) ; => Execution of a form compiled with...
59 มุมมอง
schedule
20.12.2023