LINUX.ORG.RU

Lisp и троичная логика


0

0

Такое впечатление, что создатели лиспа ее испугались и остановились на полдороге.

Какая жалость, что nil эквивалентен пустому списку и false, а ведь между ПУСТЫМ списком и ОТСУТСТВИЕМ списка есть принципиальная логическая разница!

Собственно, может кто знает диалект лиспа с поддержкой троичной логики или укажет как ей пользоваться в clisp хотя бы?

И вообще, такие языки, кроме диалектов SQL в некоторых RDBMS существуют?

anonymous

> между ПУСТЫМ списком и ОТСУТСТВИЕМ списка есть принципиальная логическая разница!

Конечно. '() и nil -- это разные вещи :) В схеме, например, #t и #f как булеаны, плюс имеет места такая конструкция как (null? '())

swizard
()
Ответ на: комментарий от swizard

> Конечно. '() и nil -- это разные вещи :)

Я лисп только изучаю, но где они разные логически в лиспе?

anonymous
()

Эквивалентность nil и '() это лишь для удобства. Троичная логика тут непричем.

Kpoxman ★★
()

А то что t эквивалентен всему, кроме nil и '() не смущает? ;)

anonymous
()

nil в лиспе - это конец списка. Естественно, когда список пуст, он же и является собсвенным концом. Троичная логика тут ни при чём вообще. как

> ей пользоваться в clisp хотя бы?

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

bugmaker ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.