An expansion of the Evil Prolog, this module allows you to follow the
example of so many heroes such as Orpheus, Aeneas and Odysseus: denounce
the garish light of day and use these Gates for a trip in the netherworld!
This module allows you to use more sophisticated binary operators than the
trivial ',' and ';' hence enriching your prolog program. Combined with the
closed-world hypothesis and unification issues, this module will definitely
boost your reasoning powers unless you abandon all hope of understanding
your program
- author
- - Thanos Tintinidis <thanosqr@gmail.com>
- version
- - 1.0
- See also
- - http://en.wikipedia.org/wiki/Gates_of_hell
- deprecated
- -
- license
- - This program is free software. It comes without any warranty,
to the extent permitted by applicable law. You can
redistribute it and/or modify it under the terms of the Do
What The Fuck You Want To Public License, Version 2, as
published by Sam Hocevar. See the file COPYING in the project
root directory or consult http://www.wtfpl.net/txt/copying for
more details.
- To be done
- - Hell has no bottom; therefore, this module is damned eternally
in a state of flux
- and(X:term, Y:term) is semidet
- Pascal and other similar languages are so much easier to read with their actual
words instead of punctuation.
- or(X:term, Y:term) is semidet
- Pascal and other similar languages are so much easier to read with their actual
words instead of punctuation.
- nand(X:term, Y:term) is semidet
- Wanna give your co-workers a stroke? Then use a Sheffer stroke, also known
as NAND; it is, after all, the only operator required for a functionally
complete set, right?
1=1 nand 1=1. %% false
1=1 nand 1=2. %% true
1=2 nand 1=1. %% true
1=2 nand 1=2. %% true
But what happens when something is not fully instantiated?
T=1 nand T=2. %% true
T=1 nand T=1. %% false
- andn(X:term, Y:term) is semidet
- Some tasks may require a different behaviour from nand/2 so we included some
alternate ways of handling non instantiated variables:
T=1 andn T=2. %% false
- nor(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- orn(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- X:term xor Y:term is semidet
- Left mostly undocumented to stem some of the tide of evil.
- orx(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- xnor(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- norx(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- xorn(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.
- ornx(X:term, Y:term) is semidet
- Left mostly undocumented to stem some of the tide of evil.