«1 1 1» - это строка из пяти символов: 1, пробел, 1, пробел и 1. Двойные кавычки не являются частью строки.
("1 1 1" "точка" "2 2 2") - список из трех строк.
Там нет "символов выше." Используются для разделения строк в s-выражениях.
Если у вас есть функция точек, вам нужно сообщить нам, какие входные данные она ожидает.
Ожидается ли два списка чисел? Затем вам нужно преобразовать строку «1 1 1» в список чисел.
(with-input-from-string (in "1 1 1")
(loop for data = (read in nil in)
until (eq data in)
collect data)))
Чтобы получить функцию DOT из строки «точка», сначала найдите символ DOT, а затем получите функцию символа.
(symbol-function (find-symbol (string-upcase "dot")))
Для символа поиска может потребоваться указать также пакет, если есть специальный пакет, в котором находится символ.
Преобразование списка в вектор является следующим строительным блоком.
Так что вам нужно преобразовать аргументы вашей функции в векторы (возможно, сначала преобразовать их в списки, как я показал выше). Затем вам нужно найти функцию (см. Выше). Если у вас есть функция и аргументы, вы можете вызвать функцию с помощью FUNCALL или APPLY (что удобнее).