Ternary logic: Difference between revisions

Content deleted Content added
m →‎{{header|REXX}}: added whitespace, aligned statements.
Added Julia language
Line 2,649:
Maybe ≡ False is Maybe Maybe ≡ Maybe is Maybe Maybe ≡ True is Maybe
True ≡ False is False True ≡ Maybe is Maybe True ≡ True is True</pre>
 
 
== Alternative version ==
{{works with|Julia|0.7}}
 
With Julia 1.0 and the new type <tt>missing</tt>, three-value logic is implemented by default
<lang julia># built-in: true, false and missing
 
using Printf
 
const tril = (true, missing, false)
 
@printf("\n%8s | %8s\n", "A", "¬A")
for A in tril
@printf("%8s | %8s\n", A, !A)
end
 
@printf("\n%8s | %8s | %8s\n", "A", "B", "A ∧ B")
for (A, B) in Iterators.product(tril, tril)
@printf("%8s | %8s | %8s\n", A, B, A & B)
end
 
@printf("\n%8s | %8s | %8s\n", "A", "B", "A ∨ B")
for (A, B) in Iterators.product(tril, tril)
@printf("%8s | %8s | %8s\n", A, B, A | B)
end
 
@printf("\n%8s | %8s | %8s\n", "A", "B", "A ≡ B")
for (A, B) in Iterators.product(tril, tril)
@printf("%8s | %8s | %8s\n", A, B, A == B)
end
 
⊃(A, B) = B | !A
 
@printf("\n%8s | %8s | %8s\n", "A", "B", "A ⊃ B")
for (A, B) in Iterators.product(tril, tril)
@printf("%8s | %8s | %8s\n", A, B, A ⊃ B)
end</lang>
 
=={{header|Kotlin}}==