> 1 <
Автор | Сообщение |
Яков Замир Кацман (нью)
57 сообщений |
#7797 2017-11-06 23:23 GMT+3 часа(ов) |
;; Overview to consisting of test examples Цитата отредактировал(а) Яков Замир Кацман (нью): 2017-11-06 23:35 GMT+3 часа(ов) |
|
Соотношение высоты байта к ширине не имеет значения
|
|
Яков Замир Кацман (нью)
57 сообщений |
#7882 2018-05-16 09:51 GMT+3 часа(ов) |
здесь CONDITIONS опускается с уровня логики на уровень реализации, что позволяет существенно уменьшать в размерах сложный код. Здесь логика не 'В ИФАХ' а в более правильных типах.
(defun caset1 (a) |
|
Соотношение высоты байта к ширине не имеет значения
|
|
skelter
56 сообщений |
#7883 2018-05-17 02:56 GMT+3 часа(ов) |
Достаточно было бы написать
(defun caset1 (a) |
|
Яков Замир Кацман (нью)
57 сообщений |
#7884 2018-05-17 20:21 GMT+3 часа(ов) |
Может быть и так.
отредактировал(а) Яков Замир Кацман (нью): 2018-05-18 11:29 GMT+3 часа(ов) |
|
Соотношение высоты байта к ширине не имеет значения
|
|
Яков Замир Кацман (нью)
57 сообщений |
#7885 2018-05-17 20:29 GMT+3 часа(ов) |
Я хотел сюда вывесить и расширенный вариант, но почему-то застеснялся. Расширьте его сами.
|
|
Соотношение высоты байта к ширине не имеет значения
|
|
skelter
56 сообщений |
#7886 2018-05-18 02:15 GMT+3 часа(ов) |
Без связи с типами я показал, как надо было написать caset1 с сохранением семантики и идиоматично. Потому что:
1) раз функция <= уже возвращает (обобщённое) логическое значение, нет нужны оборачивать его в if (вы же не пишете на других языка if (b = true) then true else false? или пишете?); 2) функция возвращает последнее вычисленное выражение, поэтому использовать для возвращения return-from не нужно почти никогда; 3) в лиспе нет договорённости использовать единицу в качестве истинностного значения «по умолчанию». Мало ли кто форум читает — зачем смущать людей этими return-from. То есть к вашим типам моя ремарка отношения не имеет. Цитата С какой радости мне расширять какую-то вашу задачу, которую вы даже не сформулировали внятно? В любом случае, насколько понимаю, при наличии десяти тысяч типов вы предлагаете ввести десять тысяч deftype и, вероятно, столько же вспомогательных предикатов — двадцать тысяч глобальных определений. А потом написать typecase на 10000 веток. Спасибо, нет. |
|
> 1 <