need и +Need

Кстати, в связи с предыдущим постом - английское “need“ можно перевести как немецкое “not”, но это так, к слову. А, вообще, в данном случае, лексемы в заголоке поста к друг другу никакого отношения не имеют, кроме как в “натуральном языке“. Во-первых, как известно, префикс “плюс“ и использование заглавной буквы означает класс, то есть как минимум группу методов (функций?), если не объект (и чем функция не объект?), но в любом случае и то, и то - символ, со всем вытекающими отсюда последствиями для восприятия при чтении кода, да и при кодировании, пожалуй, тоже. Дополнительная нагрузка на менталитет, то есть требуется удержание отвлекающих контекстов. Можно возразить и, как принято в таких случаях, сослаться на привычку, но стоит заметить, что для подобного кода привычка работает только когда постоянно пялишься и моделируешь в этой системе, но как только отвлекаешься на что-то другое, так сразу надо начинать все сначала “с белого листа“ … это как у спортсмена “потеря формы” … то же самое у любых профессионалов, если выпасть из практики. Но ближе к делу.

+Need - префиксный класс для обязательных +relation. Не налагает никаких требований, а возвращает сообщение об ошибке только в случае явного вызова сообщения mis>, например, функциями GUI.

need - продуцирует список из как минимум cnt элементов. При вызове без необязательных аргументов возвращается список cnt NIL. Когда задан lst, он расширяется влево (если cnt положительно) или (деструктивно) вправо (если cnt отрицательно) любыми элементами. Во второй форме возвращается список атомарных значений cnt.

https://picolisp.tiddlyhost.com/#need