racket/collects/redex/private
Robby Findler b068d9583c Remove accidentally pushed commits
For the curious, this was an attempt to change the way context
matching works.  Currently, when matching a pattern, if 'hole' is
encountered, the match succeeds and the result just includes the term
at that point. This means that when matching (in-hole p1 p2), p1
generally returns multiple results and then those results are thinned
out by matching p2 against the thing actually at the hole.

Instead, one could pass along the function that does the matching and
then, when matching a hole pattern, it could decide right at that
point whether or not the match works.

This seems like it would be a win overall, but it interferes with
caching. Specifically, most reduction systems have lots of rules
that all begin

  (--> (in-hole E ...) ...)

and, in the strategy first described above, that matching can be cached.

But in the second, it cannot. Overall, this turns out to be a slight
lose in the current version of Redex. Maybe if other things change, however,
this tradeoff will change.

Revert "IN PROGRESS: more context speedup attempt"

This reverts commit 0134b8753d.

Revert "IN PROGRESS: a possible speed up attempt; match the thing in the hole before returning the context matches instead of afterwards"

This reverts commit 11059e2b5c.
2012-01-15 21:02:48 -06:00
..
compiler
arrow.rkt
core-layout.rkt adjust typesetting so the ellipsis uses the default style, not 2012-01-14 21:32:16 -06:00
cycle-check.rkt added a cycle check to define-language so grammars like this one: 2012-01-09 12:57:19 -06:00
defined-checks.rkt Adds define-term form 2011-08-30 15:10:50 -05:00
dot.rkt Rackety (mostly letrec-values => define and minimizing dependencies) 2011-10-31 09:14:34 -05:00
error.rkt
fresh.rkt Rackety (mostly letrec-values => define and minimizing dependencies) 2011-10-31 09:14:34 -05:00
keyword-macros.rkt fix some redex bugs caught by drdr tests 2011-11-09 06:47:38 -06:00
loc-wrapper-ct.rkt fix bug in lw struct generation 2012-01-09 20:38:51 -06:00
loc-wrapper-rt.rkt tweak the compiled representation of lw structs so they take less space 2012-01-09 12:57:21 -06:00
loc-wrapper.rkt
match-a-pattern.rkt Adjusted rewrite-side-condition/check-errs so that it normalizes the internal 2011-12-28 09:46:43 -06:00
matcher.rkt Remove accidentally pushed commits 2012-01-15 21:02:48 -06:00
pict.rkt
red-sem-macro-helpers.rkt
reduction-semantics.rkt add 'side-condition' to define-judgment-form (it does not have an implicit 2012-01-14 14:52:07 -06:00
rewrite-side-conditions.rkt fixed a bug in recent Redex internal pattern rewrite 2011-12-28 23:52:56 -06:00
rg.rkt redex: minor cleanup 2011-12-29 10:15:52 -06:00
sexp-diffs.rkt more atoms can be shared now, so wrap 'em up 2011-12-02 16:38:56 -06:00
size-snip.rkt some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
stepper.rkt add a "Step Until Choice" option into the redex stepper 2011-10-14 13:37:12 -05:00
struct.rkt Rackety (mostly letrec-values => define and minimizing dependencies) 2011-10-31 09:14:34 -05:00
term-fn.rkt Adds define-term form 2011-08-30 15:10:50 -05:00
term.rkt remove (broken) attempt at optimization Jay suggested 2012-01-08 12:13:37 -06:00
traces.rkt
underscore-allowed.rkt