Описание тега common-lisp

Common Lisp - это стандартизированная версия языка программирования Lisp, предназначенная для повышения производительности.
4 ответа

В Лиспе, как вы добавляете данный элемент к каждому списку внутри данного списка?

Вот что у меня так далеко: (defun append-all(x L) (if (null L) L (cons (append (car L) x) (append-all x (cdr L)))) ) ) Выход: (append-all '3 '((1) (2 1) (2))) ((1 . 3) (2 1 . 3) (2 . 3)) Хочу: ((1 3) (2 1 3) (2 3)) Это вспомогательная функция, поэто…
22 янв '13 в 22:06
2 ответа

Простое извлечение и отображение записей CouchDB в Common LISP

Я делаю свои первые шаги в Common Lisp и благодаря clouchdb http://common-lisp.net/project/clouchdb/ Мне удалось получить некоторые простые данные из couchdb (invoke-view "hulk" "hulk" ) ((:|total_rows| . 2) (:|offset| . 0) (:|rows| ((:|id| . "gjc")…
02 окт '12 в 02:17
3 ответа

Как использовать функцию в качестве переменной в LISP?

Я пытаюсь написать функцию, которая проверяет, есть ли у каждого элемента в списке x свойство a, поэтому я написал: (defun check (a x) (if (listp x) (eval (cons 'and (mapcar #'a x))))) но это не работает (В основном я хочу a быть названием функции, …
30 июл '11 в 10:16
3 ответа

Есть ли способ получить доступ к слотам в списке суперклассов в CLOS?

Есть ли способ получить доступ к слотам суперклассов в CLOS? Например, в Objective C I можно выполнить - (void) frob { [super frob] } Это отправляет сообщение (единственному) суперклассу frob. Изучение документации CLOS предполагает, что DEFCLASS об…
30 окт '13 в 00:25
2 ответа

Как скомпилировать Clisp 2.46?

Когда я пытаюсь скомпилировать новейшую версию Clisp в Ubuntu 8.04, я всегда получаю эту ошибку после запуска configure: Configure findings: FFI: no (user requested: default) readline: yes (user requested: yes) libsigsegv: no, consider installing GN…
24 сен '08 в 23:38
1 ответ

Как мне сохранить результат списка в новом списке?

Я хочу удалить с двумя указанными списками элементы, которых нет в обоих. Код, который я пытаюсь это: (defun remove_odd_ones(L1 L2) (cond ((or (null L1) (null L2)) nil) ((dolist (x L2) (if (not(member x L1)) (remove x L2)))))) (remove_odd_ones '(a b…
28 июн '17 в 21:09
2 ответа

LISP лучше понимает многоуровневые списки

Я пытаюсь лучше понять многоуровневые списки в lisp, создав функцию, в которой я удаляю все элементы, которые не являются числами, из многоуровневого списка. Сначала я пытаюсь сгладить его с помощью функции striv0, а затем проверяю, является ли перв…
28 окт '18 в 17:35
2 ответа

Неожиданный результат функции (рекурсия)

Мне нужно реализовать функцию, которая создает список из аргументов, которые передаются в функцию. Вот мой код: (defun lstbuilder (&rest args) (if (eq (car args) NIL) NIL (cons (car args) (lstbuilder (cdr args))))) Эта функция не работает правил…
04 сен '15 в 22:30
3 ответа

Зацикливаясь на массивах или списках безразлично

проблема Допустим, у вас есть несколько списков или массивов, скажем, два для примера: (defparameter *arr* #(1 2 3)) (defparameter *list* '(4 5 6)) Вы можете loop над ними, используя либо across или же in ключевые слова: (loop for elem across *arr* …
17 сен '18 в 20:41
2 ответа

Почему я получаю эту ошибку лямбда-выражения, и что я могу с этим поделать?

Я довольно новичок для шуток; Мне было интересно, может ли кто-нибудь здесь помочь мне. У меня есть следующий фрагмент кода: (defun write-lookup (binding-list pattern fact) (cond ; No bindings have been stored ; Return the binding list with a new on…
24 сен '10 в 21:17
1 ответ

Обновление постмодернистского ряда более функциональным способом

У меня есть пара классов (а именно book а также user). Мне нужно обновить book установив его lended слот для t И его lended-to заемщику id, Я использую Postmodern в качестве бэк-энда к базе данных PostgreSQL Это то, что я придумал (надеюсь, имена до…
17 июл '11 в 10:18
2 ответа

Общая функция вызова lisp без применения приводит к нечетному числу ключевых слов

В настоящее время я изучаю общий язык и наткнулся на вопрос, который я не мог ответить сам: (defun find-all (item seq &rest keyword-args &key (test #'eql) test-not &allow-other-keys) (if test-not (apply #'remove item seq :test-not (compl…
3 ответа

Определение списка аргументов функции в Common Lisp

Можно ли найти список аргументов функции, заданной объектом функции (или символом функции) в общем lisp?
02 дек '11 в 08:34
4 ответа

Нахождение правильных треугольников в Лиспе

Я пролистал "Learn You a Haskell" и нашел в самом низу этой страницы способ нахождения тройки (a, b, c), представляющей прямоугольный треугольник с заданным периметром, который я нашел очень элегантным - ghci> let rightTriangles' = [ (a,b,c) | c …
15 май '13 в 16:22
3 ответа

В LISP возможно ли получить доступ к форме функции?

Предположим, я определил функцию глобально: (defun x (y) (1+ y)) ;; Edit: my first example was too complicated Можно ли "привести" функцию x в список, например: (x (y) (1+ y)) Заранее спасибо! PS - пример @Danlei работает в Clozure CL со специальным…
5 ответов

Общий Лисп на CentOS 7

Я ищу способ получить работающий компилятор Common Lisp в CentOS 7. Кажется, что ни базовые репозитории, ни репозитории EPEL не содержат ни одного из широко доступных компиляторов Lisp с открытым исходным кодом. Есть немного информации относительно …
12 янв '15 в 11:25
1 ответ

Есть ли способ использовать формат, чтобы повторить слово

Я хочу что-то подобное в общих чертах. (format t "~{-~}" repeat-times) если значение повтора равно 5, то будет напечатано ----- если количество повторений равно 10, то будет напечатано ---------- Формат существует способ сделать это?
27 янв '14 в 06:30
4 ответа

Как моя функция LISP является несвязанной переменной?

Я определяю функцию в LISP, и она определяет правильно. Но всякий раз, когда я пытаюсь вызвать его, я получаю сообщение об ошибке "Переменная FACTORIAL не связана". Я пробовал это на OS X и Windows 7, на LispWorks и Allegro. Функция - (defun factori…
31 авг '10 в 01:28
1 ответ

Вопрос о связывании переменных в общем lisp

Речь идет о привязке переменной в функции define: Если я определю функцию "total" следующим образом,x в "total" будет привязан к локальному x в let. CL-USER> (let ((x 0)) (defun total (y) (incf x y))) TOTAL CL-USER> (defvar x 10000) X CL-USER&…
22 апр '11 в 06:40
4 ответа

Основной вопрос о списке ассоциаций в Лиспе

Я читаю "Землю Лиспа" (кстати, одну из лучших технических книг, которые я когда-либо читал), и мне попался список ассоциаций. (defparameter *edges* '((living-room (garden west door) (attic upstairs ladder)) (garden (living-room east door)) (attic (l…
11 ноя '10 в 13:02