Pertanyaan tentang topik tersebut 'common-lisp'

Perbedaan antara (loop for) dan (loop :for) di Common Lisp [duplikat]
Saya baru saja melihat jawaban Sylwester untuk pertanyaan ini , dan menurut saya aneh loop memiliki titik dua di mana-mana. Biasanya, saya akan menulis (loop for n below 10 do (princ n) (terpri)) alih-alih (loop :for n :below 10 :do...
152 dilihat
schedule 21.12.2023

Mengapa makro yang menggunakan let expand berbeda dengan makro yang tidak menggunakan let expand?
Saya baru mengenal Lisp dan saya membaca Let Over Lambda karya Doug Hoyte dan dia menyajikan makro nif Paul Graham di Bab 3. Saya bermain-main dengan itu dan membuat dua makro ini: (defmacro niffy (expr pos zero neg) `(cond ((plusp ,expr)...
108 dilihat
schedule 10.01.2024

Memuat paket quicklisp untuk digunakan dalam file lisp lain
Saya telah mengunduh proyek perangkat lunak besar FriCAS yang telah saya kompilasi dari sumber dan menggunakan SBCL. Ini hanya masalah penggunaan GNU .configure - Saya seorang pemula Lisp. Namun, untuk menambahkan beberapa fungsionalitas lebih...
639 dilihat

Bisakah Lisp dengan mudah digunakan dengan cara yang fungsional dan tidak dapat diubah?
Saya berasal dari latar belakang Haskell, dan saya ingin belajar Common Lisp. Sudah dibahas dengan baik bahwa CL adalah "bukan bahasa fungsional", tapi saya ingin tahu apakah CL dapat digunakan sebagai bahasa fungsional. Misalnya, apakah mungkin...
643 dilihat
schedule 30.12.2023

LISP Tulis fungsi yang disebut cut-in-half yang menerima daftar dan membuat daftar baru yang elemennya adalah paruh pertama dan kedua
Saya mengalami masalah dengan fungsi ini. pertama-tama kita ditanya "Tulis fungsi cadel yang mengambil daftar dan bilangan bulat n, dan mengembalikan n elemen pertama dari daftar, sebagai daftar baru. Jika n kurang dari 1, ia mengembalikan NIL. Dalam...
838 dilihat
schedule 13.11.2023

Mengganti operator khusus menggunakan MACROLET?
Saya mencoba mengganti IF secara lokal (tujuannya adalah untuk menyematkan DSL). Perilakunya benar-benar membuatku bingung. Di SBCL: (macrolet ((if (x) x)) (if 'x)) ; => X (macrolet ((if (x) x)) (let ((x 2)) (if 'x))) ; =>...
59 dilihat
schedule 20.12.2023