Apply_: 1 - не является корректным именем функции! [Homelisp]

Узнай цену своей работы

Формулировка задачи:

Добрый день, делаю лабораторную, и взял пример функции с другой темки(Используя отображающие функционалы построить декартово произведение двух множеств) Сначала ввёл - всё работает, прошло время и функция не работает выдавая данную ошибку. Пробовал другие версии Homelisp, перезапускал редактор и ПК - не помогло.
Apply_: 1 - не является корректным именем функции!
Пробовал разные вариации(for считает за символ, mapcan не знает и т.п.) В чем ошибка?

Решение задачи: «Apply_: 1 - не является корректным именем функции! [Homelisp]»

textual
Листинг программы
(defun f (l m)
           (mapcar #'(lambda (l)
                       (mapcar #'(lambda (m)
                                   (list l m))
                               m)) l))
 
==> F
 
(f '(a b c) '(1 2 3 4))
 
==> (((A 1) (A 2) (A 3) (A 4)) ((B 1) (B 2) (B 3) (B 4)) ((C 1) (C 2) (C 3) (C 4)))
 
 
(defun cart-set (x y)
  (apply 'append (mapcar #'(lambda (a) (mapcar #'(lambda (b) (list a b)) y)) x)))
 
==> CART-SET
 
(cart-set '(a b c) '(1 2 3 4))
 
==> ((A 1) (A 2) (A 3) (A 4) (B 1) (B 2) (B 3) (B 4) (C 1) (C 2) (C 3) (C 4))

Объяснение кода листинга программы

Код представляет собой две функции.

  1. (defun f (l m) (mapcar #'(lambda (l) (mapcar #'(lambda (m) (list l m)) m)) l)) Функция f принимает два аргумента l и m. Она использует функцию mapcar для применения анонимной функции к каждому элементу списка l. Анонимная функция принимает аргумент m и возвращает список, содержащий элементы m, каждый из которых является списком, содержащим элементы l. Таким образом, функция f создает список списков, где каждый внутренний список содержит элементы l и m.
  2. (defun cart-set (x y) (apply 'append (mapcar #'(lambda (a) (mapcar #'(lambda (b) (list a b)) y)) x))) Функция cart-set принимает два аргумента x и y. Она использует функцию apply для применения функции append к каждому элементу списка, полученного с помощью функции mapcar. Анонимная функция, используемая функцией mapcar, принимает аргумент a и возвращает список, содержащий элементы, полученные с помощью функции mapcar. Эта анонимная функция принимает аргумент b и возвращает список, содержащий элементы, состоящие из элемента a и элемента b. Таким образом, функция cart-set создает список, содержащий все возможные комбинации элементов x и y. Обе функции применяются к аргументам '(a b c) и '(1 2 3 4). Функция f возвращает список списков, где каждый внутренний список содержит элементы '(a b c) и '(1 2 3 4). Функция cart-set возвращает список, содержащий все возможные комбинации элементов '(a b c) и '(1 2 3 4).

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы