[Subversion] / PEAK-Rules / Predicates.txt  

Log of /PEAK-Rules/Predicates.txt

Parent Directory

No default branch
Bookmark a link to HEAD: (view) (download)


Revision 2777 - (view) (download) - [select for diffs]
Modified Thu Apr 9 21:25:45 2015 UTC (8 years, 11 months ago) by pje
File length: 37738 byte(s)
Diff to previous 2776
Fix spurious 3.3+ failure; now tests run clean on 3.3/3.4, too

Revision 2776 - (view) (download) - [select for diffs]
Modified Thu Apr 9 21:23:10 2015 UTC (8 years, 11 months ago) by pje
File length: 37736 byte(s)
Diff to previous 2775
Full featureset is now available on 3.x, w/clean tests

Revision 2775 - (view) (download) - [select for diffs]
Modified Thu Apr 9 20:43:12 2015 UTC (8 years, 11 months ago) by pje
File length: 37857 byte(s)
Diff to previous 2774
Mark known 3.x test failures until arg-binding can be redesigned

Revision 2774 - (view) (download) - [select for diffs]
Modified Thu Apr 9 20:39:25 2015 UTC (8 years, 11 months ago) by pje
File length: 37697 byte(s)
Diff to previous 2773
Remove remaining shallow/cascading test failures on 3.x

Revision 2773 - (view) (download) - [select for diffs]
Modified Thu Apr 9 20:29:52 2015 UTC (8 years, 11 months ago) by pje
File length: 37619 byte(s)
Diff to previous 2771
3.3 and 3.4 should now have identical test output to 3.1 and 3.2

Revision 2771 - (view) (download) - [select for diffs]
Modified Thu Apr 9 18:33:59 2015 UTC (8 years, 11 months ago) by pje
File length: 37618 byte(s)
Diff to previous 2765
Remove more test dependencies on dictionary repr

Revision 2765 - (view) (download) - [select for diffs]
Modified Thu Apr 9 17:14:30 2015 UTC (8 years, 11 months ago) by pje
File length: 37594 byte(s)
Diff to previous 2755
More shallow-failure fixes

Revision 2755 - (view) (download) - [select for diffs]
Modified Sat Apr 4 21:33:56 2015 UTC (8 years, 11 months ago) by pje
File length: 37626 byte(s)
Diff to previous 2705
More test compatibility w/Py3

Revision 2705 - (view) (download) - [select for diffs]
Modified Tue Sep 6 00:20:18 2011 UTC (12 years, 6 months ago) by pje
File length: 37456 byte(s)
Diff to previous 2680
Deprecate use of 'in' syntax for class/type checking

Revision 2680 - (view) (download) - [select for diffs]
Modified Wed Aug 18 05:16:43 2010 UTC (13 years, 7 months ago) by pje
File length: 37980 byte(s)
Diff to previous 2674
Drop superfluous Conjunction subclasses in favor of just using 
Conjunction in the first place.  Classes and NotObjects were a holdover 
from when I thought the right side of a Test would determine what kind 
of operation would be performed and how it would be indexed.

Revision 2674 - (view) (download) - [select for diffs]
Modified Tue Aug 17 03:18:43 2010 UTC (13 years, 7 months ago) by pje
File length: 37968 byte(s)
Diff to previous 2670
New @expand_as decorator makes it easy to create "functions" to use in 
your rules.  (Also, cleaned up main __all__ list, and improved repr() of 
value() objects.)

Revision 2670 - (view) (download) - [select for diffs]
Modified Mon Aug 16 05:34:23 2010 UTC (13 years, 7 months ago) by pje
File length: 35538 byte(s)
Diff to previous 2669
Add let() to the public API, so you can use bindings without having to
make your own version of it.  Docs need some work, but it's usable now.

Revision 2669 - (view) (download) - [select for diffs]
Modified Mon Aug 16 04:23:21 2010 UTC (13 years, 7 months ago) by pje
File length: 35234 byte(s)
Diff to previous 2663
First cut at passing bindings into method arguments.  Yay!  (I've been 
waiting for *years* to hav this feature...)

Revision 2663 - (view) (download) - [select for diffs]
Modified Sun Aug 15 14:15:29 2010 UTC (13 years, 7 months ago) by pje
File length: 33295 byte(s)
Diff to previous 2662
Implement 'value()' convenience API for defining methods that just 
return a constant value.  Add memoizing to engine.apply_template, so 
that we don't create a crapload of function objects for identical 
method combinations.

Revision 2662 - (view) (download) - [select for diffs]
Modified Fri Aug 13 02:42:01 2010 UTC (13 years, 7 months ago) by pje
File length: 33362 byte(s)
Diff to previous 2660
Overhaul method-type override system, adding >> operator for expressing 
override relationships, eliminating redundant declarations from the 
bootstrap process, and doing other cleanups (such as removing unneeded 
recursion from always_overrides()).  Also, made it possible to upgrade
a function to predicate dispatching by passing ANY unsupported 
predicates to a decorator, not just strings. 

Revision 2660 - (view) (download) - [select for diffs]
Modified Thu Aug 12 12:42:54 2010 UTC (13 years, 7 months ago) by pje
File length: 32294 byte(s)
Diff to previous 2651
Begin separating API from core, so that peak.rules main module contains
only stuff you need for *using* GF's, not extending/customizing, and
core only contains stuff that's mutually interdependent w/other core
stuff.  Change imports in doctests to reflect intended usage.

Revision 2651 - (view) (download) - [select for diffs]
Modified Wed Aug 11 00:11:48 2010 UTC (13 years, 7 months ago) by pje
File length: 32259 byte(s)
Diff to previous 2649
Doc tweaks, link fixes

Revision 2649 - (view) (download) - [select for diffs]
Modified Tue Aug 10 22:44:26 2010 UTC (13 years, 7 months ago) by pje
File length: 32260 byte(s)
Diff to previous 2648
Wiki cleanups

Revision 2648 - (view) (download) - [select for diffs]
Modified Tue Aug 10 21:39:05 2010 UTC (13 years, 7 months ago) by pje
File length: 31635 byte(s)
Diff to previous 2642
Make it possible to implement custom rule prioritization systems in just 
a few lines of code.

Revision 2642 - (view) (download) - [select for diffs]
Modified Mon Aug 2 23:39:04 2010 UTC (13 years, 7 months ago) by pje
File length: 28944 byte(s)
Diff to previous 2639
Argh.  Dropping Python 2.3 looks better by the minute...

Revision 2639 - (view) (download) - [select for diffs]
Modified Mon Aug 2 20:44:36 2010 UTC (13 years, 7 months ago) by pje
File length: 28935 byte(s)
Diff to previous 2637
Ugh.  Maybe it's time to stop supporting Python 2.3....

Revision 2637 - (view) (download) - [select for diffs]
Modified Mon Aug 2 20:17:03 2010 UTC (13 years, 7 months ago) by pje
File length: 28843 byte(s)
Diff to previous 2634
Whack a bunch of spurious doctest failures on different platforms/python versions

Revision 2634 - (view) (download) - [select for diffs]
Modified Mon Aug 2 19:55:19 2010 UTC (13 years, 7 months ago) by pje
File length: 28810 byte(s)
Diff to previous 2569
Get rid of spurious test failures on 2.7 due to bytecode differences.

Revision 2569 - (view) (download) - [select for diffs]
Modified Tue Jul 15 17:57:29 2008 UTC (15 years, 8 months ago) by pje
File length: 28920 byte(s)
Diff to previous 2567
Use meta-functions for isinstance/issubclass, and make
expressionSignature() return True or False when applied
to constant expressions.

Revision 2567 - (view) (download) - [select for diffs]
Modified Tue Jul 15 16:58:17 2008 UTC (15 years, 8 months ago) by pje
File length: 28872 byte(s)
Diff to previous 2566
Temporary fix for issubclass() problem reported by Alberto
Valverde, as described here:

http://www.eby-sarna.com/pipermail/peak/2008-July/003003.html

This is just a temporary fix; the always_testable() function
needs to be refactored with some other sort of ordering check.
Or it might be that only isinstance() and identity tests
should be considered re-orderable.  More thought is required
here.

Revision 2566 - (view) (download) - [select for diffs]
Modified Tue Jul 15 16:49:02 2008 UTC (15 years, 8 months ago) by pje
File length: 28860 byte(s)
Diff to previous 2563
Refactor condition negation by adding negate() GF, dropping
truth mode from builders, and adding an OrElse sequential-or
operator.  This also changed how Truth tests are coded, to use
Value(True, T/F) objects in place of bools (to get rid of the
ambiguity that previously existed).  Value(x, False) objects
no longer have disjuncts, since that was another ambiguity.
These ambiguities meant that you couldn't cleanly take the
disjuncts() of a Test(), which meant you also couldn't negate
a test safely.  We also no longer force Signature() objects
to expand Test disjunctions, as this isn't necessary for
DNF handling.  (Because we're going to grab the disjuncts()
at rule-add time anyway -- eager expansion was an unnecessary
holdover from the way RuleDispatch did things.)  See also:

 http://www.eby-sarna.com/pipermail/peak/2008-July/003000.html

for more background on the reasoning behind these changes.

Revision 2563 - (view) (download) - [select for diffs]
Modified Tue Jul 1 19:52:31 2008 UTC (15 years, 9 months ago) by pje
File length: 27673 byte(s)
Diff to previous 2561
Implement "meta functions" - function analogues invoked
at compile time instead of runtime; this allows the
implementation of lisp-like "special forms" or macros
for use within rules.

Revision 2561 - (view) (download) - [select for diffs]
Modified Fri Jun 27 17:36:38 2008 UTC (15 years, 9 months ago) by pje
File length: 20709 byte(s)
Diff to previous 2547
Add syntax pattern parsing; drop backquote support from rules

Revision 2547 - (view) (download) - [select for diffs]
Modified Wed Jun 11 16:51:06 2008 UTC (15 years, 9 months ago) by pje
File length: 20414 byte(s)
Diff to previous 2497
Preliminary istype() support for predicate dispatch.
This is just the necessary compiler support for translating expressions
of the form ``type(x) is y`` and ``x in istype(y)``, some support for
istype() implication/intersection with Class criteria, and a bit of 
cleanup/refactoring of the indexing code.

NOT supported: mixing istype() and Classes...  or actually indexing 
istype() criteria.  The entire BitmapIndex system is going to have to be 
refactored in order to fully fix this.  :(  On the bright side, that 
will let me clean up a bunch of other index-related cruft, too.

Revision 2497 - (view) (download) - [select for diffs]
Modified Sun Feb 10 16:38:50 2008 UTC (16 years, 1 month ago) by pje
File length: 19735 byte(s)
Diff to previous 2496
Move recursion-error test to test_rules

Revision 2496 - (view) (download) - [select for diffs]
Modified Sun Feb 10 16:33:03 2008 UTC (16 years, 1 month ago) by pje
File length: 19955 byte(s)
Diff to previous 2494
More fixing of the Test(Truth(...), bool) disjuncts problem,
this time in Signature.  :(

Revision 2494 - (view) (download) - [select for diffs]
Modified Sun Feb 10 05:04:02 2008 UTC (16 years, 1 month ago) by pje
File length: 19744 byte(s)
Diff to previous 2481
Fix not getting disjuncts of 'not x' rules (bug reported
by R.D. Murray)

Revision 2481 - (view) (download) - [select for diffs]
Modified Sun Jan 13 17:26:02 2008 UTC (16 years, 2 months ago) by pje
File length: 19347 byte(s)
Diff to previous 2480
Fix selectivity problems with Truth and ==
comparisons that were ending up with branches==1,
leading to incorrect dispatch trees.  (The number
of branches should never be 1 in a correct index.)

Revision 2480 - (view) (download) - [select for diffs]
Modified Sun Jan 13 01:50:23 2008 UTC (16 years, 2 months ago) by pje
File length: 19425 byte(s)
Diff to previous 2467
Test and enable inter-expression ordering requirements.
Basically, we now have full predicate dispatch.  Yay!

Revision 2467 - (view) (download) - [select for diffs]
Modified Mon Dec 31 16:56:05 2007 UTC (16 years, 3 months ago) by pje
File length: 15442 byte(s)
Diff to previous 2464
String parsing and auto-upgrade of existing GFs!
Two major caveats, though: subexpression ordering
is not enforced, and subexpression calculation
caching is temporarily disabled, due to problems
with the stack trickery used in dispatching.  But
the basic engine is now working correctly.

Revision 2464 - (view) (download) - [select for diffs]
Modified Mon Dec 31 06:01:52 2007 UTC (16 years, 3 months ago) by pje
File length: 11929 byte(s)
Diff to previous 2461
Predicate parsing!  Still a lot of loose ends to tie up
before we have full predicate functions, but this is probably
the last major piece; the rest should mostly be integration
and cleanup.

Revision 2461 - (view) (download) - [select for diffs]
Added Mon Dec 31 00:31:53 2007 UTC (16 years, 3 months ago) by pje
File length: 7820 byte(s)
Predicate dispatching, at last!  We don't compile strings yet,
and range dispatching is worse than half the speed of RuleDispatch
with C speedups.  However, most other types of dispatch should be
a good bit faster, and it should be possible to inline more of the
range lookup.

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

  Diffs between and
  Type of Diff should be a

Sort log by:

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help