Size: a a a

2020 September 05

a

akater in Lisp Forever
λ λ
просто для красоты), типа лямбда тоже своего рода функция и ей как и всем остальным лучше ставить #'
Всем остальным не всегда лучше ставить #'.

От постановки, вообще говоря, зависит момент, когда разрешится функция по имени.  Иногда полезно отложить этот момент.
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Всем остальным не всегда лучше ставить #'.

От постановки, вообще говоря, зависит момент, когда разрешится функция по имени.  Иногда полезно отложить этот момент.
я согласен
источник

VL

Valeriy L in Lisp Forever
λ λ
что такое cl-project ? Я просто систему обычно в ручную описываю
это система темплейтов для создания проектов
источник

λ

λ <Bogdanella/>... in Lisp Forever
аа, понял
источник

a

akater in Lisp Forever
Вот у меня есть эстетическое предложение, которому никто не следует: в коммутативных выражениях писать константы первыми.

Во-первых

(defun =1 (x) (= 1 x))

выглядит лучше чем

(defun =1 (x) (= x 1))

и в целом такая расстановка позволяет наглядно «увидеть» отдельную операцию как частичную функцию.

Во-вторых, последующие аргументы вообще говоря зависят от предыдущих, а константы это, концептуально, такие значения, которые ни от чего не зависят.
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Вот у меня есть эстетическое предложение, которому никто не следует: в коммутативных выражениях писать константы первыми.

Во-первых

(defun =1 (x) (= 1 x))

выглядит лучше чем

(defun =1 (x) (= x 1))

и в целом такая расстановка позволяет наглядно «увидеть» отдельную операцию как частичную функцию.

Во-вторых, последующие аргументы вообще говоря зависят от предыдущих, а константы это, концептуально, такие значения, которые ни от чего не зависят.
я такому тоже придерживаюсь
источник

VL

Valeriy L in Lisp Forever
akater
Вот у меня есть эстетическое предложение, которому никто не следует: в коммутативных выражениях писать константы первыми.

Во-первых

(defun =1 (x) (= 1 x))

выглядит лучше чем

(defun =1 (x) (= x 1))

и в целом такая расстановка позволяет наглядно «увидеть» отдельную операцию как частичную функцию.

Во-вторых, последующие аргументы вообще говоря зависят от предыдущих, а константы это, концептуально, такие значения, которые ни от чего не зависят.
а что лучше =1 или onep (по аналогии с zerop)?
источник

λ

λ <Bogdanella/>... in Lisp Forever
Valeriy L
а что лучше =1 или onep (по аналогии с zerop)?
это скорее дело вкуса
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Вот у меня есть эстетическое предложение, которому никто не следует: в коммутативных выражениях писать константы первыми.

Во-первых

(defun =1 (x) (= 1 x))

выглядит лучше чем

(defun =1 (x) (= x 1))

и в целом такая расстановка позволяет наглядно «увидеть» отдельную операцию как частичную функцию.

Во-вторых, последующие аргументы вообще говоря зависят от предыдущих, а константы это, концептуально, такие значения, которые ни от чего не зависят.
тут правильнее бы eql использовать
источник

a

akater in Lisp Forever
Valeriy L
а что лучше =1 или onep (по аналогии с zerop)?
Ну тут у меня он просто для примера… мне непринципиально, больше нравится =1, это скейлится лучше. :-)

Из-за 1+, 1- можно еще предложить 1=, но это по-моему неудачные названия, и, самоге главное, от того, что им не следуешь, читать и искать юзерам сложнее не становится.
источник

VL

Valeriy L in Lisp Forever
понял
источник

a

akater in Lisp Forever
λ λ
тут правильнее бы eql использовать
= для чисел же как раз.
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
= для чисел же как раз.
ну = не проверяет тип, то есть (= 1 1.0) будет T, а вот eql проверят ещё и тип, то (eql 1 1.0) будет NIL
источник

a

akater in Lisp Forever
Мне вот еще не нравится, что в Александрии map-permutations это просто цикл, и он не возвращает список.  Это надо было назвать do-permutations.
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Мне вот еще не нравится, что в Александрии map-permutations это просто цикл, и он не возвращает список.  Это надо было назвать do-permutations.
+
источник

a

akater in Lisp Forever
λ λ
ну = не проверяет тип, то есть (= 1 1.0) будет T, а вот eql проверят ещё и тип, то (eql 1 1.0) будет NIL
Смысл = в том и есть.  А когда надо различать 1 и 1.0?
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Смысл = в том и есть.  А когда надо различать 1 и 1.0?
ну если ты в функции 1= имел ввиду только 1, а не 1 и 1.0, то тогда есть смысл для eql
источник

λ

λ <Bogdanella/>... in Lisp Forever
akater
Смысл = в том и есть.  А когда надо различать 1 и 1.0?
ну допустим length не может быть вещественной, если речь идёт допустим про список. Есть там функция которая принимает длину для примера и вот как раз таки  будет смысл для eql.
источник

VL

Valeriy L in Lisp Forever
Sokolov Andrew
Мне кажется у меня банка собранная с одной версией либц не хотела даже норм работать на компе с другой версией
да уж
./color-bot: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./color-bot)
на машине 2.24
источник

VL

Valeriy L in Lisp Forever
ахуенно
источник