File: test.pl.html

package info (click to toggle)
source-highlight 3.1.9-4.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,612 kB
  • sloc: cpp: 10,202; ansic: 9,521; sh: 4,582; makefile: 1,893; lex: 1,200; yacc: 1,021; javascript: 338; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ada: 37; ml: 29; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 7; sed: 4
file content (30 lines) | stat: -rw-r--r-- 7,168 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- Generator: GNU source-highlight 
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><i><font color="#9A1900">%      +------------------------------+</font></i>
<i><font color="#9A1900">%      |   test for Prolog source     |</font></i>
<i><font color="#9A1900">%      |______________________________|</font></i>

<b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">type</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> int<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">).</font>

<i><font color="#9A1900">% booleans</font></i>
<b><font color="#000000">type</font></b><font color="#990000">(</font>true<font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">_</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font>false<font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">_</font><font color="#990000">).</font>

<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">and</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">or</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#0000FF">not</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font><font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isboolean</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>

<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">succ</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> int<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">pred</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> int<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font> <b><font color="#000000">iszero</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">),</font> bool<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>
<b><font color="#000000">type</font></b><font color="#990000">(</font> <font color="#009900">X</font> <font color="#990000">&lt;</font> <font color="#009900">Y</font><font color="#990000">,</font> bool<font color="#990000">,</font> <font color="#009900">L</font> <font color="#990000">)</font> <font color="#990000">:-</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">),</font> <b><font color="#000000">isinteger</font></b><font color="#990000">(</font><font color="#009900">Y</font><font color="#990000">,</font><font color="#009900">L</font><font color="#990000">).</font>

<i><font color="#9A1900">% is_member(X,L) check whether X is in the list</font></i>
<i><font color="#9A1900">% by using unification with occur check</font></i>

<b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">_</font><font color="#990000">,</font> <font color="#990000">[])</font> <font color="#990000">:-</font> <b><font color="#0000FF">fail</font></b><font color="#990000">.</font>
<b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#990000">[</font><font color="#009900">Y</font> <font color="#990000">|</font> <font color="#009900">_</font><font color="#990000">])</font> <font color="#990000">:-</font> <b><font color="#000000">unify</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font><font color="#009900">Y</font><font color="#990000">).</font>
<b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#990000">[</font><font color="#009900">_</font> <font color="#990000">|</font> <font color="#009900">List</font><font color="#990000">])</font> <font color="#990000">:-</font> <b><font color="#000000">is_member</font></b><font color="#990000">(</font><font color="#009900">X</font><font color="#990000">,</font> <font color="#009900">List</font><font color="#990000">).</font>
</tt></pre>