ฉันมาจากพื้นหลังใน Haskell และฉันต้องการเรียน Common Lisp
มีการพูดคุยกันเป็นอย่างดีว่า CL นั้น "ไม่ใช่ภาษาที่ใช้งานได้" แต่ฉันต้องการทราบว่าสามารถใช้เป็นภาษาที่ใช้งานได้หรือไม่
ตัวอย่างเช่น เป็นไปได้ไหมที่จะใช้ข้อมูลทุกประเภทในลักษณะที่ไม่เปลี่ยนรูป? ดูเหมือนว่าตารางแฮช Lisp ทั่วไปจะถูกตั้งค่าโดยใช้ setf
ซึ่งถือเป็นการวางแนวที่ไม่แน่นอน มีวิธีการใช้งานในลักษณะที่ไม่เปลี่ยนรูปหรือไม่?
นอกเหนือจากแง่มุม "IO" ของ Common Lisp (แง่มุม "ล้วนๆ" ของ Haskell) ที่ฉันโต้ตอบกับไฟล์ เครือข่าย ฯลฯ ฉันสามารถเขียนโค้ดใน Lisp ได้อย่างสะดวกสบายและมั่นใจได้ว่าโค้ดจะมีความโปร่งใสในการอ้างอิงหรือไม่
ฉันสามารถคาดหวังคุณสมบัติประเภทนี้จากไลบรารียอดนิยมที่มีอยู่ใน Common Lisp ได้หรือไม่
มีสำนวนหรือแง่มุมทั่วไปของภาษาที่ทำให้สิ่งเหล่านี้ยากหรือไม่?