[2922d1]: doc / html / index.html Maximize Restore History

Download this file

index.html    178 lines (166 with data), 8.3 kB

  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
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Welcome to Pyke</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="stylesheets/pyke.css" type="text/css" />
</head>
<body>
<table id="page-table">
<thead class="head">
<tr id="header1"><th id="header" colspan="3">
&nbsp;
</th></tr>
<tr id="header2">
<th id="crumb-left"></th>
<th id="crumb-line">
<div id="nav">
<ul>
<li>Home</li>
</ul>
</div>
</th>
<th id="crumb-right"></th>
</tr>
</thead>
<tbody id="body">
<tr id="body-tr">
<td id="left-nav">
<div id="left-nav-div">
<div class="title-nav"><a href="index.html">Home</a></div><div class="nav-branch">
<div class="normal-nav"><a href="about_pyke/index.html">About Pyke</a></div>
<div class="normal-nav"><a href="logic_programming/index.html">Logic Programming</a></div>
<div class="normal-nav"><a href="knowledge_bases/index.html">Knowledge Bases</a></div>
<div class="normal-nav"><a href="pyke_syntax/index.html">Pyke Syntax</a></div>
<div class="normal-nav"><a href="using_pyke/index.html">Using Pyke</a></div>
<div class="normal-nav"><a href="examples.html">Examples</a></div>
<div class="normal-nav"><a href="PyCon2008-paper.html">PyCon 2008 Paper</a></div>
</div>
</div>
<div id="icons">
<div id="project-page">
<a href="http://sourceforge.net/projects/pyke/">Pyke Project Page</a>
</div>
Please Make a Donation:<br />
<a href="http://sourceforge.net/donate/index.php?group_id=207724">
<img src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0"
alt="Support This Project" /> </a> <br /><br />
Hosted by: <br />
<a href="http://sourceforge.net/projects/pyke">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=207724&amp;type=14"
width="150" height="40"
alt="Get Python Knowledge Engine (PyKE) at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a>
</div>
</td>
<td id="main-td">
<div id="main">
<a name="startcontent" id="startcontent"></a>
<div class="document" id="welcome-to-pyke">
<h1 class="title">Welcome to Pyke</h1>
<h2 class="subtitle" id="release-1-1">Release 1.1</h2>
<p>Pyke introduces a form of <a class="reference external" href="http://en.wikipedia.org/wiki/Logic_programming">Logic Programming</a> (inspired by <a class="reference external" href="http://en.wikipedia.org/wiki/Prolog">Prolog</a>) to the
Python community by providing a knowledge-based inference engine (expert
system) written in 100% Python.</p>
<p>Unlike Prolog, Pyke integrates with Python allowing you to invoke Pyke from
Python and intermingle Python statements and expressions within your expert
system rules.</p>
<p>Pyke was developed to significantly raise the bar on code reuse. Here's how
it works:</p>
<ol class="arabic simple">
<li>You write a set of Python functions, and a set of Pyke <a class="reference external" href="logic_programming/rules/backward_chaining.html">rules</a> to direct the
configuration and combination of these functions.</li>
<li>These functions refer to Pyke <a class="reference external" href="logic_programming/pattern_matching/pattern_variables.html">pattern variables</a> within the function body.</li>
<li>Pyke may instantiate each of your functions multiple times, providing a
different set of constant values for each of the pattern variables used
within the function body. Each of these instances appears as a different
function.</li>
<li>Pyke then automatically assembles these customized functions into a
complete program (function call graph) to meet a specific need or use case.
Pyke calls this function call graph a <a class="reference external" href="logic_programming/plans.html">plan</a>.</li>
</ol>
<p>In this way, Pyke provides a way to radically customize and adapt your Python
code for a specific purpose or use case.</p>
<p>Doing this essentially makes Pyke a very high-level compiler. And taking
this approach also produces dramatic increases in performance.</p>
<p>And Pyke is very successful at this, providing order of magnitude improvements
in:</p>
<ul class="simple">
<li>Code adaptability (or customization),</li>
<li>Code reuse and</li>
<li>Performance</li>
</ul>
<p>Pyke does not replace Python, nor is meant to compete with Python. Python is
an excellent general purpose programming language, that allows you to &quot;program
in the small&quot;.</p>
<p>Pyke builds upon Python by also giving you tools to directly <a class="reference external" href="http://portal.acm.org/citation.cfm?id=808431">program in the
large</a>.</p>
<p>Oh, and Pyke uses Logic Programming to do all of this. So if you're interested
in Logic Programming or Expert Systems, well Pyke has that too...</p>
<div class="section" id="pyke-on-google-groups">
<h2>Pyke on Google Groups</h2>
<p>Please join <a class="reference external" href="http://groups.google.com/group/pyke">Pyke</a> on Google Groups for questions and discussion!</p>
</div>
<div class="section" id="faq">
<h2>FAQ</h2>
<p>There is also an <a class="reference external" href="http://sourceforge.net/apps/trac/pyke/wiki/FAQ">FAQ</a> list on the sourceforge <a class="reference external" href="http://sourceforge.net/apps/trac/pyke/wiki">wiki</a>, to make it easy to
contribute.</p>
<!-- ADD_LINKS MARKER -->
</div>
</div>
<!-- <div id="return-to-top">
<a href="#">Return to Top</a>
</div>
-->
</div>
</td>
<td id="right-nav">
<div id="right-nav-div">
<h3>More:</h3>
<div class="right-item"><a href="about_pyke/index.html">About Pyke</a><p>What pyke does for you, its features, steps to using pyke and
installation.</p>
</div>
<div class="right-item"><a href="logic_programming/index.html">Logic Programming Tutorial</a><p>A tutorial on logic programming in Pyke, including <em>statements</em>,
<em>pattern matching</em> and <em>rules</em>.</p>
</div>
<div class="right-item"><a href="knowledge_bases/index.html">Knowledge Bases</a><p>Knowledge is made up of both <em>facts</em> and <em>rules</em>. These are gathered
into named repositories called <em>knowledge bases</em>.</p>
</div>
<div class="right-item"><a href="pyke_syntax/index.html">Pyke Syntax</a><p>The syntax of Pyke's three different kinds of source files.</p>
</div>
<div class="right-item"><a href="using_pyke/index.html">Using Pyke</a><p>How your Python program calls Pyke.</p>
</div>
<div class="right-item"><a href="examples.html">Examples</a><p>An overview of the examples provided with Pyke.</p>
</div>
<div class="right-item"><a href="PyCon2008-paper.html">Applying Expert System Technology to Code Reuse with Pyke</a><p>Paper presented at the PyCon 2008 conference in Chicago.</p>
</div>
</div>
</td>
</tr>
</tbody>
<tfoot id="foot">
<tr id="foot2">
<td id="copyright" colspan="3">
Copyright &copy; 2007-2009 Bruce Frederiksen
</td>
</tr>
</tfoot>
</table>
<div id="last-modified">
Page last modified
Thu, Mar 04 2010.
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ?
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-6310805-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>