Программирование с помощью троичной логики

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Программирование с помощью троичной логики

Post by Lavr »

Я тут недавно один ЖЖ по случаю читал: Трёхзначная логика

Там был один довольно интересный комментарий:
man_with_dogs wrote: В стардартном SQL-е давно уже реализована эта 3чная логика: TRUE, FALSE & UNKNOWN.
Можете поитнересоваться как там реализованы логические операторы.
Я, честно говоря, не проверял, поскольку от SQL весьма далёк... :wink:
iLavr
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программирование с помощью троичной логики

Post by Shaos »

Lavr wrote:
Shaos wrote:
Тема поднималась пользователем Shaos 15 авг 2021 17:42.
Хм, а как я это сделал? Я вроде просто линк хотел в телегу поставить, а оно вот взяло и "бампнулось"...

P.S. А всё - увидел. Слева вверху под названием топика есть ряд опций, одна из которых "Поднять тему" (она правда не у всех тем появляется)
А я тебя спрашивал в личку как-то про опцию Поднять тему.
Но ты мне ответил, что такой опции вроде нет. 8)

Отчасти правда - порой она есть, а порой не найдёшь, принцип появления опции непонятен...
Я только вчера про эту опцию узнал случайно :)

Возможно на доступна только топикстартеру...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программирование с помощью троичной логики

Post by Shaos »

Lavr wrote:Я тут недавно один ЖЖ по случаю читал: Трёхзначная логика

Там был один довольно интересный комментарий:
man_with_dogs wrote: В стардартном SQL-е давно уже реализована эта 3чная логика: TRUE, FALSE & UNKNOWN.
Можете поитнересоваться как там реализованы логические операторы.
Я, честно говоря, не проверял, поскольку от SQL весьма далёк... :wink:
ну третье состояние может и можно ввести, вот только вычисления с её помощью делать задолбаешься
уж проще tiny int использовать с тремя значениями или букву N,O,P...
Я тут за главного - если что шлите мыло на me собака shaos точка net
llviktor
Junior
Posts: 3
Joined: 20 Nov 2018 03:58
Location: Saint-Petersburg, Russia

Re: Программирование с помощью троичной логики

Post by llviktor »

Вот в этой https://www.youtube.com/watch?v=gLJrOTFw6J0 видеопрезентации (примерно с 50-ой минуты - до неё всё вроде как довольно тривиально) интересные и конкретные мысли про необходимость изменения подходов к программированию.

Основная мысль в том, что "двоичность" (читайте - "ветвление" в стиле if-then-else) очень сильно пропитала весь подход к программированию и, в частности, мешает тонко обрабатывать не до конца специфицированные варианты исполнения программы. Например, в простейшем случае классический assert либо фейлит, либо нет, но на "unknown" непонятно как реагировать. Автор предлагает интересный тип trit как замену/расширение bool, мечтает о quaternary операторе (как a ? b : c, только с тремя вариантами a ? b : c : d) ну и приходит к выводу, что функциональный подход с вычислением результатов работы программы, а не отметанием ненужных веток вычисления, более точно отражает троичную и вообще многозначную логику.

P.S. В SQL по крайней мере есть null (и это не особое значение самого типа, а просто флаг), как и в C#, в котором любой тип можно сделать nullable. В C++ уже пророс тип std::optional, который, говоря на C, примерно эквивалентен union { SomeType value; bool is_valid; } (или Maybe из Хаскеля). Автор упомянутого доклада (да и в целом функционально-ориентированные программисты) давно топят за некую унификацию передачи и результата, и кода ошибки - в итоге программы получатся более линейными что ли, а обработка исключительных ситуаций будет как бы в дополнение к основному вычислению, а не поперёк его. По-моему, правда, появления null'ов не особо относятся к аппаратным особенностям троичной логики.
tvitaly1
Writer
Posts: 12
Joined: 24 Oct 2022 14:34

Re: Троичный ПРОЛОГ

Post by tvitaly1 »

Ronin wrote:а может мне в аспирантуру эту тему взять, а ;)
Тут главное что-бы сию тему приняли.
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный ПРОЛОГ

Post by Shaos »

tvitaly1 wrote:
Ronin wrote:а может мне в аспирантуру эту тему взять, а ;)
Тут главное что-бы сию тему приняли.
Обращаем внимание на дату цитируемого сообщения ;)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net