Ternary logic: Difference between revisions
Content added Content deleted
Langurmonkey (talk | contribs) |
Langurmonkey (talk | contribs) |
||
Line 3,466: | Line 3,466: | ||
<syntaxhighlight lang="langur"># borrowing null for "maybe" |
<syntaxhighlight lang="langur"># borrowing null for "maybe" |
||
val .trSet = [false, null, true] |
val .trSet = [false, null, true] |
||
⚫ | |||
val .and = f switch[and] .a, .b { |
val .and = f switch[and] .a, .b { |
||
Line 3,484: | Line 3,482: | ||
val .imply = f if(.a nor .b: not? .a; .b) |
val .imply = f if(.a nor .b: not? .a; .b) |
||
# formatting function for the result values |
|||
# replacing null with "maybe" |
|||
# using left alignment of 5 code points |
|||
⚫ | |||
writeln "a not a" |
writeln "a not a" |
||
for .a in .trSet { |
for .a in .trSet { |
||
writeln . |
writeln $"\.a:.F; \(not? .a:.F)" |
||
} |
} |
||
Line 3,493: | Line 3,496: | ||
for .a in .trSet { |
for .a in .trSet { |
||
for .b in .trSet { |
for .b in .trSet { |
||
writeln $"\. |
writeln $"\.a:.F; \.b:.F; \.and(.a, .b):.F;" |
||
} |
} |
||
} |
} |
||
Line 3,500: | Line 3,503: | ||
for .a in .trSet { |
for .a in .trSet { |
||
for .b in .trSet { |
for .b in .trSet { |
||
writeln $"\. |
writeln $"\.a:.F; \.b:.F; \.or(.a, .b):.F;" |
||
} |
} |
||
} |
} |
||
Line 3,507: | Line 3,510: | ||
for .a in .trSet { |
for .a in .trSet { |
||
for .b in .trSet { |
for .b in .trSet { |
||
writeln $"\. |
writeln $"\.a:.F; \.b:.F; \.imply(.a, .b):.F;" |
||
} |
} |
||
} |
} |
||
Line 3,514: | Line 3,517: | ||
for .a in .trSet { |
for .a in .trSet { |
||
for .b in .trSet { |
for .b in .trSet { |
||
writeln $"\ |
writeln $"\.a:.F; \.b:.F; \.a ==? .b:.F;" |
||
} |
} |
||
}</syntaxhighlight> |
}</syntaxhighlight> |