Size: a a a

2020 October 15

SA

Sokolov Andrew in Lisp Forever
а че твоя функция должна с нилом делать
источник

SA

Sokolov Andrew in Lisp Forever
видимо нил
источник

SA

Sokolov Andrew in Lisp Forever
(defun actually-last (list)
 (when list
   (destructuring-bind (first . rest) list
     (if rest
         (actually-last rest)
         first))))
источник

n

nconc in Lisp Forever
A K
Привет! Получил рецензию на свою лабу, все сделано не так... Задание 1 (найти последний элемент списка) надо через рекурсию, переделал. Теперь функция выглядит так
(defun last-element (x)
  (if (null (cdr x))
      (car x)
      (if (null (cdr x))
        (car x)
        (last-element (cdr x)))))
(defun last-elm (w)
(if (cdr w) (last-elm (cdr w))
(car w)))
источник

SA

Sokolov Andrew in Lisp Forever
да
источник

SA

Sokolov Andrew in Lisp Forever
только что тож самое написал
источник

SA

Sokolov Andrew in Lisp Forever
(defun actually-last (list)
 (if (null (rest list))
     (first list)
     (actually-last (rest list))))
источник

n

nconc in Lisp Forever
(defun last-elm (w &aux (d (cdr w)))
(if d (last-elm d) (car w)))
источник

SA

Sokolov Andrew in Lisp Forever
(defun lst (ls &aux (r (cdr ls)))
 (or (and r (lst r)) (car ls)))
источник

SA

Sokolov Andrew in Lisp Forever
паттерн матчинга не хватает на аргументах да
источник

a

akater in Lisp Forever
Sokolov Andrew
а че твоя функция должна с нилом делать
По-хорошему надо values возвращать, как всегда в таких случаях.  Если у них там нет values, могу только повторить утверждение про ебобо-курс.
источник

SA

Sokolov Andrew in Lisp Forever
ну да лол
источник

SA

Sokolov Andrew in Lisp Forever
это
источник

SA

Sokolov Andrew in Lisp Forever
мы в 70ых мит схеме курс
источник

SA

Sokolov Andrew in Lisp Forever
такие вещи на хачкеле куда лучше смотрятся
источник

SA

Sokolov Andrew in Lisp Forever
foo :: [a] -> Maybe a
foo [] = Nothing
foo [x] = Just x
foo (x:xs) = foo xs
источник

SA

Sokolov Andrew in Lisp Forever
та же хуйня на лиспе выглядит страшно как смертный грех
(declaim (ftype (function (list) (values t boolean &optional)) haskfoo))
(defun haskfoo (list)
 (cond ((null list) (values nil nil))
       ((null (cdr list)) (values (car list) t))
       (t (haskfoo (cdr list)))))
источник

a

akater in Lisp Forever
Sokolov Andrew
та же хуйня на лиспе выглядит страшно как смертный грех
(declaim (ftype (function (list) (values t boolean &optional)) haskfoo))
(defun haskfoo (list)
 (cond ((null list) (values nil nil))
       ((null (cdr list)) (values (car list) t))
       (t (haskfoo (cdr list)))))
Можно написать DSL, в котором будет нормально выглядить.
источник

SA

Sokolov Andrew in Lisp Forever
можно но
источник

SA

Sokolov Andrew in Lisp Forever
сам дсл будет выглядеть стремно пиздец
источник