Commit Graph

484 Commits

Author SHA1 Message Date
Robby Findler
7611e295f4 fix typesetting for empty reduction relations
closes PR 13346
2013-05-01 17:37:22 -05:00
John Clements
df319c2ee8 fixing error message in rewrite-side-conditions.rkt 2013-05-01 09:02:33 -07:00
Robby Findler
c9045abf4d add stub for enumeration support to Redex 2013-05-01 10:46:11 -05:00
Burke Fetscher
2ebc200d3d redex: unfold nts once during unification
Also:
* add a backtracking limit
* check for ground terms in both term and pat environments
  when filling in generated patterns
* update tests to be consistent with the above
2013-04-23 13:26:15 -05:00
Burke Fetscher
67daa276ff Remove uses of else in match.
Also, a few micellaneous fixes for the prototype trace browser
2013-04-15 18:17:57 -05:00
Burke Fetscher
41d90c6dd5 redex: syntax error fix for define-relation
please merge to the release branch
2013-04-11 22:34:29 -05:00
Burke Fetscher
3feb6cf039 add a consistency check on the final environment
Specifically, check that fully instantiated terms
with cstrs on them satisfy those cstrs.
2013-04-10 16:13:45 -05:00
Burke Fetscher
468d2b192e redex: elminate another #f/failure confusion 2013-04-10 12:59:15 -05:00
Burke Fetscher
495e5c94cf redex: bug fix for gerating terms including #f
please include in the release
2013-04-08 15:03:01 -05:00
Burke Fetscher
d00099dbdb Redex: pass language id through for term errors 2013-04-04 22:59:14 -05:00
Burke Fetscher
4410ecceb2 Redex: fix term-let/#:lang keyword interaction
Account for the fact that define-language bindings may get
shadowed by term-let when using the same identifier as the language.
2013-04-04 20:38:08 -05:00
Robby Findler
5a85af78ac add contracts to the "with-" macros in redex/pict 2013-04-01 22:39:21 -05:00
Robby Findler
06315bf0fa syntax error check fix
closes PR 13639
2013-03-29 11:58:52 -05:00
Burke Fetscher
fe0fd0d152 Redex: remove some now extraneous code 2013-03-22 16:14:03 -05:00
Burke Fetscher
ddf4945125 Redex: corrections for disequations in generator
- handle parameters correctly when simplifying disequations
- rework term generation/disequation checking for parameters
- fix define-extended-metafunction w/r/t the above
2013-03-22 15:28:36 -05:00
Burke Fetscher
40fc96cacf Redex: rework metafunction compilation/search for parameters 2013-03-22 15:28:35 -05:00
Burke Fetscher
bdf1866e80 Redex: parameterized disequations
refactor the pattern unifier and tests to handle
disequations with parameters correctly
2013-03-22 15:28:35 -05:00
Robby Findler
06696d67b4 add a #:pre keyword to define-metafunction
The keyword allows the specification of contracts
that relate different arguments

closes PR 13617
2013-03-18 12:54:27 -05:00
Robby Findler
1e910fcfbc make check-metafunction and check-reduction-relation
pay attention to the contract/#:domain spec

closes PR 13616
2013-03-17 20:50:23 -05:00
Robby Findler
b63aa6bbac adjust commit 99ff0adbfd to
be more friendly to the test suites
2013-03-17 20:50:22 -05:00
Robby Findler
99ff0adbfd check errors earlier in judgment-form
closes PR 13609
closes PR 13610
2013-03-16 21:32:14 -05:00
Robby Findler
0c5c41fd54 add clause-name to define-metafunction, to be used with the
newly extended metafunction-cases
2013-03-15 23:00:50 -05:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Burke Fetscher
1ed7e8c234 Redex: generation for judgment-form side-conditions
- enable generation for the above by compiling to
a disequation with "#f"

- wrap bare terms in relation definitons in
  side-conditions (require they not be "#f")
2013-03-06 16:00:05 -06:00
Burke Fetscher
edcb13e206 Fix pattern unification to deal with #f correctly 2013-03-05 21:52:56 -06:00
Matthew Flatt
18ad15c659 redex: fix `metafunction->pict' width correction for linebreaks
The revised implementation is more clearly and directly expressed
in terms of table cells that span columns.

Also, avoid `panorama' by removing a useless `inset' that seems
likely to be the reason for the `panorama'.

Unix bitmaps to go with the new tests are missing; Robby plans to
add them.
2013-03-05 11:07:20 -07:00
Robby Findler
42847ea523 follow up to William J. Bowman's commit
- put the tests together with the other define-union-language tests
- fix the docs
- add a release note
- construct the merged language a bit more directly
- properly deal with this kind of thing:
  (define-language L1 (e f ::= 1 2 3))
  (define-language L2 (e g ::= 4 5 6))
  (define-union-language L L1 L2)
2013-03-01 19:38:57 -06:00
William J. Bowman
b0db8798b6 Changed `define-union-language' to merge nonterminals and their
right-hand-sides instead of causing an error when more than one language
in the union defines the same nonterminal.
2013-03-01 19:38:57 -06:00
Asumu Takikawa
5790667054 Remove duplicate non-terminals in define-extended-language
Fixes a problem with `define-union-language`
2013-02-28 12:16:25 -05:00
Burke Fetscher
76421ee786 Fix expansion for relations in term positions.
Explicitly disables random generation for relations in term
positions, but fixes a problem with runtime functionality
for the same.
2013-02-26 21:11:06 -06:00
Robby Findler
2f50cde745 signal error when attempting to generate from a
metafunction with no cases

closes PR 13536
2013-02-19 22:08:31 -06:00
Robby Findler
89a2ff451e add long-missing space 2013-02-11 22:08:02 -06:00
Burke Fetscher
2a9d42216e redex-generator: determine bound order automatically
also, fix a bug where continuations in thunks returned
by redex-generator weren't being shuffled
2013-01-23 13:03:07 -06:00
Burke Fetscher
cde226c6d3 redex-generator: correctly drop failure continuations 2012-12-07 17:29:05 -06:00
Robby Findler
d94d479f15 added 'boolean' pattern to Redex
closes PR 13330
2012-11-30 19:17:27 -06:00
Burke Fetscher
26766e413a Handle failing case for relation generation. 2012-11-30 17:30:34 -06:00
Burke Fetscher
7c7c1fbafc Format relation arguments and results properly for random generation.
Also rempove some extraneous code in judgment-form.rkt.
2012-11-30 17:06:34 -06:00
Burke Fetscher
cf9b0f774b Change define-relation to compile to a judgment-form, instead of a metafunction.
Also:
- remove the restriction on the use of unquote in define-judgment-form
- allows limited use (I modes only) of judgment-forms in terms
- allows the use of define-relation with the search/unification
  based random term generation
2012-11-29 17:17:34 -06:00
Eli Barzilay
672910f27b Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".
2012-11-07 11:22:20 -05:00
Eli Barzilay
26045a27fb #lang racket' -> #lang racket/base' conversions in drracket and in redex. 2012-11-07 08:03:44 -05:00
Robby Findler
9377b634ff added show-derivations to redex 2012-11-06 19:15:53 -06:00
Robby Findler
a6384e7de3 Oops, didn't mean to push this one
Revert "working on something to show derivations"

This reverts commit 77fb5ec69d.
2012-11-03 15:52:14 -05:00
Robby Findler
77fb5ec69d working on something to show derivations 2012-11-03 13:54:48 -05:00
Robby Findler
3d5178bcb0 adjust generate-term so that it has an '=' in its concrete
syntax when generating something from a metafunction

export redex-generator (and add docs)

rename generate-types.rkt to typing-rules-no-ellipses.rkt
2012-11-01 21:13:39 -05:00
Burke Fetscher
6be405975e don't use disunify* to check disequations, since at this point they are fully instantiated 2012-11-01 11:52:19 -05:00
Burke Fetscher
e6ab32593e add redex-generator form and some tests
update examples/generate-types
2012-11-01 11:52:19 -05:00
Robby Findler
b2b350eff5 fix typesetting of builtin non-terminals 2012-10-31 19:51:50 -05:00
Robby Findler
10a8a625fa record the (uncompiled) domain pattern with a reduction
relation so that context-closure can adjust the domain

closes PR 13204
2012-10-27 20:39:04 -05:00
Robby Findler
cb566b1ba4 fix font resizing performance bug in the traces window 2012-10-24 23:56:31 -05:00
Robby Findler
06e5239441 add rule names to the derivation struct
change the intermediate data structures built up
while building the derivation to use their own
structs (instead of vectors)
2012-10-24 12:30:40 -05:00