The PEAK Developers' Center   PyConGenericFunctions UserPreferences
HelpContents Search Diffs Info Edit Subscribe XML Print View
The following 485 words could not be found in the dictionary of 50 words (including 50 LocalSpellingWords) and are highlighted below:
Adapted   Add   Added   All   Allows   Ambiguous   Applicable   Approaches   Are   Author   Avoids   Backward   Body   Bonus   Builds   Business   But   By   Chambers   Change   Chen   Class   Code   Collection   Combination   Comparison   Contact   Correct   Correctness   Currently   Custom   Decentralized   Declared   Default   Dependent   Detection   Determines   Dispatch   Dispatcher   Dispatching   Driven   Each   Eby   Efficiency   Efficient   Engine   Error   Everywhere   Evolution   Example   Examples   Expert   Extensibility   Fanout   Forgetfulness   Formatting   Function   Functions   Future   Game   Generic   Good   Great   Guaranteed   Guess   Highest   If   Implementations   Implementing   Implication   In   Intelligent   Lazy   Lisp   Live   Logical   Lots   Maybe   Merge   Method   Methods   Might   Modification   Modular   Moments   More   Most   Multiple   No   None   Not   Optimization   Other   Overlap   Papers   Part   Past   Perfect   Phillip   Precedence   Predicate   Present   Prolog   Protocols   Python   Rarely   Real   Recent   Refuse   Regulations   Requested   Result   Rule   Rules   Selects   Seminal   So   Software   Sometimes   Specific   Specifying   Summary   Support   Temptation   The   Theory   This   Timeslot   Translating   Tuesdays   Unified   Uses   Usually   We   When   Write   Writing   about   above   accidental   actions   add   added   adding   additional   admitted   afterwards   agents   algorithm   all   allow   ambiguity   an   and   answer   applicable   applications   apply   approach   apps   arbitrary   are   as   at   automatically   bad   base   based   basic   be   because   become   becomes   been   behaviors   better   binary   block   bodies   both   branches   build   builds   business   but   by   can   cases   centralized   chaining   chambers99efficient   chance   check   chess   choice   citeseer   citizens   class   code   coding   color   com   combination   combiner   combo   common   comparisons   computer   conditions   conflict   contained   contribute   conversion   convert   converted   correct   correctness   custom   data   dead   decentralization   decision   decorators   default   definition   depend   dependency   design   detection   development   developments   different   difficult   directly   dispatch   div   do   does   dozens   driven   duplication   dynamically   edu   efficiency   efficient   eliminated   entries   equality   ernst98predicate   etc   even   everywhere   example   examples   except   execute   execution   existing   expert   expressed   extremely   false   fanout   faster   first   fish   for   forget   form   functions   game   generate   generic   getitem   gf   give   grows   guaranteed   guardian   hand   hard   hash   have   haven   here   holidays   host   how   however   hundreds   identical   if   illegal   implement   implementation   implies   importing   in   included   increasingly   indexing   int   integrated   interacting   into   is   isinstance   isn   issue   ist   it   italic   itself   just   king   know   knows   language   large   latest   learning   less   lettering   like   logic   lookup   mailto   maintain   make   material   max   meals   method   min   minutes   modify   modules   more   most   move   moving   multiple   must   near   needed   needs   new   no   normal   normally   not   number   numbers   object   obtained   occur   of   off   often   on   once   one   operations   operators   optimization   optimizers   or   order   out   overlapping   overview   package   parent   partial   performed   pje   player   positive   possible   practice   precedence   predicate   predicates   presentation   pricing   psu   query   questions   raise   range   read   readable   reasonably   relationships   remain   requires   resolution   result   results   retesting   return   routing   rule   rules   runs   runtime   safe   same   science   search   searches   selection   semantics   senior   sequence   setitem   short   should   simple   size   so   source   special   specialized   specific   specifying   still   sum   support   system   systems   tables   take   target   techniques   telecommunity   test   tests   than   that   the   then   there   they   things   this   those   times   to   tree   trees   triggers   true   two   types   under   unimportant   unless   updating   use   used   users   uses   using   usual   usually   value   values   version   very   want   way   well   what   when   where   which   whose   will   with   without   would   yet   you   zero  

Clear message

Writing Efficient Rule-Driven Software in Python

Phillip J. Eby
45 minutes


In the design of applications, rules are everywhere: business rules, game rules, routing rules, "expert systems", code and query optimizers, and rule-based "agents" and triggers. But to implement rules, they have to be converted into code -- usually in the form of decision trees that become increasingly difficult to maintain as the number of rules grows. Recent developments in computer science, however, make it possible to automatically convert rules into decision trees that are guaranteed to be correct and efficient, even for large numbers of rules, without using a specialized logic or rule language like Prolog or Lisp. This presentation will give an overview of how to implement rule-driven systems directly in Python, using Python itself as the language for specifying rules, with faster development and execution times than would be obtained by hand-coding if-then trees. Examples will be based on the predicate dispatch implementation included in the latest version of the PyProtocols package.

Part 1: The Rules We Live By

Part 2: Implementing Rules with PyProtocols' dispatch package

Part 3: Past, Present, and Future

(Bonus material, for use if above runs short and there are no questions)

EditText of this page (last modified 2007-08-11 11:59:13)
FindPage by browsing, title search , text search or an index
Or try one of these actions: AttachFile, DeletePage, LikePages, LocalSiteMap, SpellCheck