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
Robby Findler
478fedeeb7
fix up mac os x version of the redex bitmap tests
2012-11-01 21:13:39 -05:00
Danny Yoo
dcf4d8b040
adding close-eval at the end of scribble files that have a toplevel evaluator
2012-11-01 15:32:53 -06: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
e7dc4a70ee
fix redex bitmap tests under linux
2012-10-31 21:48:21 -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
Robby Findler
661f702497
attempted to clean up the derivation support
...
so that no derivation data structure creation
happens during just a normal judgment-holds,
but this was not entirely successful, so there
still is some....
Also, improved the test-util to show stacktraces
for errors (when they exist)
2012-10-23 18:31:06 -05:00
Robby Findler
7355c59fb1
added the ability to extract a derivation
...
from a judgment-form via build-derivation
(returns derivation structs)
2012-10-21 23:19:54 -05:00
Robby Findler
67d52138f9
provide language, reduction relation, and typing judgment from stlc.rkt
2012-10-21 19:55:53 -05:00
Robby Findler
9baefbe725
remove bogus case in stlc typing judgment form
2012-10-21 19:55:52 -05:00
Robby Findler
9696bd7337
adjust judgment-holds so it generates less code
2012-10-21 19:55:52 -05:00
Burke Fetscher
484636d92e
remove extra tut-subst.rkt and tmp.rkt files
2012-10-17 23:24:44 -05:00
Burke Fetscher
44dd4acb44
Additional random test generation capability for Redex.
...
This adds the option to generate random terms that satisfy
judgment-forms and metafunctions.
Currently functionality does not include:
- patterns/terms using: ellipses, in-hole/hole and relatives, side-conditions, unquotes
- define-relation
- redex-check integration
2012-10-17 16:30:51 -05:00
Robby Findler
b8f5776797
add examples to redex-match and redex-match?
...
please include in release
2012-10-16 10:51:45 -05:00
Stephen Chang
4be0219855
fix docs for define-judgment
...
clarify the places where unquotes are not allowed
2012-10-14 12:35:55 -04:00
Stephen Chang
93784be78d
fix define-judgment docs
...
change so mode-spec is not optional in grammar
2012-10-14 11:06:55 -04:00
Robby Findler
7e7ebffdd4
Adjust linux version of Redex bitmap tests
2012-10-09 09:45:52 -05:00
Robby Findler
751dcb4bd1
adjust define-judgment-form's typesetting so that it
...
tracks the lines of the premises in the source when
deciding how to linebreak the premises of the typeest form
2012-10-09 09:06:09 -05:00
Asumu Takikawa
c26faaebfa
redex: export documented but missing predicate
2012-10-05 11:42:32 -04:00
Asumu Takikawa
16b15c89f7
redex: doc fixes
2012-10-05 11:42:32 -04:00
Robby Findler
8b92ec5677
linebreaking adjustments for typographical reasons
2012-10-04 10:17:28 -05:00
Robby Findler
d6a8ac85b4
added some pretty-print using term formatters and fixed the
...
docs for term->pict.
closes PR 13150
2012-10-01 23:27:48 -05:00
Robby Findler
d0f981f9cb
fix a bug in color padding code
...
closes PR 13153
2012-10-01 22:53:58 -05:00
Robby Findler
c5b5c6f9b5
fixes suggested by latest reviewer of the hosc submission
2012-09-27 09:48:35 -05:00
Robby Findler
9b0eb1ab78
fix redex pdf generation when a string is passed
2012-09-25 15:32:38 -05:00
Robby Findler
0e7688349e
add syntax error check when the arrow in a reduction
...
relation isn't just an identifier
add a syntax error check when an identifier appears
under two different ellipses depths in the same pattern
2012-09-20 07:09:17 -05:00
Robby Findler
b8acee5655
small cleanup
2012-09-12 15:41:37 -05:00
Robby Findler
0fd52435a4
add a note about "" in with-compound-rewriter
2012-09-09 23:45:54 -05:00
Robby Findler
605e1b8c89
adjust redex so that identifiers preserve their syntax-original ness
2012-08-24 09:47:18 -05:00
Robby Findler
8ed42e6162
rename function scale-to-fit to avoid conflict
...
with newly introduced function with that name
2012-08-22 22:47:50 -05:00
Robby Findler
40e5b63bbc
allow identifiers as names, not just strings
2012-08-09 15:28:42 -05:00
Robby Findler
0bd661d620
fix up the bitmap tests for linux
2012-08-08 22:32:43 -05:00
Robby Findler
97e3f56bf2
adjust bitmap tests to test judgment form labels (and fix expected result under mac os x)
2012-08-08 22:05:43 -05:00
Robby Findler
0369342bfe
added names to clauses in define-judgment-form and added
...
judgment-form-cases to use the names to control typesetting
2012-08-08 21:34:28 -05:00
Burke Fetscher
29661cc675
add #:lang keyword to term, which checks that underscored symbols agree with patterns in the provided language...changed most internal uses of term to use this form
2012-08-08 11:09:01 -05:00
Burke Fetscher
db437e0ba8
clarify define-extended-language example
2012-08-01 10:09:45 -05:00
Robby Findler
63dc751450
add some simpler exercises to start
...
and link to existing introductory Racket
tutorials
2012-07-28 00:28:30 -05:00
Robby Findler
4e6b38b956
adjust bitmap test
2012-07-24 23:27:07 -05:00
Robby Findler
519b69362f
fix bug in inline code
...
merge to the release branch, please
2012-07-22 19:51:19 -05:00
Eli Barzilay
5cbdf4dc76
Provide `main' too, since it's used by redex/tests/run-tests.
...
(Broken in 4c2940a6.)
2012-07-12 00:12:44 -04:00
Robby Findler
40ec33c12b
improve blue box spacing in Redex reference
2012-06-22 19:47:52 -05:00
Eli Barzilay
4c2940a6d9
Simplify away uses of "-t" in `drdr:command-line'.
...
In some cases use `module+' to make the code run nicely without a "-m".
(And some other minor tweaks.)
2012-06-19 12:52:22 -04:00
Robby Findler
81cbb10213
fix docs for render-term
...
closes PR 12834
2012-06-09 07:12:15 -05:00
Robby Findler
752f240c6a
Revert "Test results from DrDr"
...
This reverts commit fc8cb6e37d
.
Jay changed the set of installed font packages on DrDr to match the
ones on my linux VM which brought the test results back in sync again,
so we don't need these revised bitmaps anymore.
Thanks, Jay!
2012-06-02 10:12:11 -05:00
Jay McCarthy
fc8cb6e37d
Test results from DrDr
2012-06-01 17:33:13 -06:00
Robby Findler
d17f93db30
add PLTJUSTSAVEFAILURES support; makes it easier to build a good
...
set of bitmaps on others' machines (no clicking required)
2012-05-31 23:27:02 -05:00
Robby Findler
b7b566aefc
adjust redex error message tests to match singular/plural fixes in
...
the error raising code, except in one place where I think the
error raising code was correct to have the plural form, so I changed
it back instead of changing the Redex test suite to match
2012-05-31 10:56:14 -05:00
Robby Findler
3aa300c2d9
update the mac os x bitmaps for the redex bitmap test suite
...
(just like the recent commit that updates the unix versions)
2012-05-18 10:43:52 -05:00
Robby Findler
67c48d6d78
Commit b3002cfab0
broke
...
the redex bitmap test cases (in a good way!). Hopefully
this fixes them and makes DrDr happy again
2012-05-18 09:01:38 -05:00
Eli Barzilay
17090fca4f
A bunch of fprintf' ->
eprintf' conversions (and a few related things).
2012-05-06 12:06:00 -04:00
Matthew Flatt
0dbd3f1610
redex typesetting: make token splitter more tolerant
...
Possibily the typesetting enginer should reject an ill-formed
input, instead; I'm not sure what went wrong with the input.
2012-05-04 10:20:24 -06:00
Asumu Takikawa
0b90dc49cf
Fix docs for render-term.
2012-04-19 17:37:12 -04:00
Robby Findler
676f744c1d
add 'match-pattern?'
2012-03-27 12:21:17 -05:00
Jay McCarthy
99f1cc44df
redex-match violates its documented contract
...
This patch fixes the problem that the hole matcher may return an empty
list rather than a #f that gets sent to the caller of redex-match. I
re-ran the Redex tests and found no violations. However, I am not
confident that there isn't a more correct place to put this '() -> #f
replacement.
I will be immediately forwarding this push email to Robby to have him
check it.
2012-03-23 06:39:14 -06:00
Robby Findler
9d43203990
adjusted the render-* functions so they produce .pdf if the given
...
filename ends with #rx#"[.]pdf".
2012-03-17 08:36:34 -05:00
Robby Findler
ac99b732fa
fix missing #:eval in redex tutorial
2012-03-13 16:44:38 -05:00
Eli Barzilay
43ef402274
Don't compile test files.
...
(Didn't touch the tiny "test-docs-complete" tests.)
2012-03-13 10:29:13 -04:00
Robby Findler
ac568d7b3f
try using make-bitmap for the bitmaps under unix to see if drdr
...
likes that better
2012-03-05 13:48:34 -06:00
Robby Findler
519550d291
save a new set of unix bitmaps for the redex bitmap test
...
and (optimistically) turn the bitmap tests back in on in drdr
(also improve the GUI a little bit that shows the errors in
the test)
2012-03-05 11:44:45 -06:00
Robby Findler
3997eaefde
clean up redex bitmap tests (under mac os x)
2012-03-05 08:52:17 -06:00
Robby Findler
4a304643d3
Rackety
2012-03-05 08:12:02 -06:00
Robby Findler
b7caf411ae
added define-extended-judgment-form to Redex
2012-03-03 16:41:53 -06:00
Robby Findler
a0bb0430f2
separated the define-judgment-form implementation (and bind-withs)
...
into its own file
2012-03-03 16:41:52 -06:00
Robby Findler
a23f6dbca2
move the redex scrbl files into a scribblings subcollection and adjust timeouts
2012-02-29 07:13:36 -06:00
Eli Barzilay
f7c67b49a4
Big newline at EOF scan.
2012-02-29 00:28:11 -05:00
Robby Findler
c5193f7da7
fix a bug in define-union-language
...
(this bug was somehow already covered by the existing test suites
and also make pretty much every define-union-language break)
2012-02-27 10:00:23 -06:00
Robby Findler
1945ff2709
add make-platform-bitmap
...
also: use it in pict's rendering and
remove redex's platform-specific font choice
(going back to using 'modern on all platforms)
closes PR 12554
2012-02-21 16:19:45 -06:00
Eli Barzilay
c007c345f9
A bunch of more typos like the ones in David's commit.
2012-02-21 14:21:43 -05:00
Robby Findler
df5e7efd5e
Made an editing pass over the redex tutorial
2012-02-15 08:29:22 -06:00
Robby Findler
e4e4d70b6b
added define-union-language
2012-02-10 17:10:47 -06:00
Robby Findler
122625960d
adjust runtime errortraces in redex to manipulate namespaces a little more carefully
2012-02-10 17:10:47 -06:00
Robby Findler
6914c5667c
adjust test suite to match new lack-of-absolute-paths feature
2012-02-10 17:10:47 -06:00
Robby Findler
b93ff24fee
add two links to redex docs
2012-02-10 17:10:47 -06:00
Robby Findler
b3a9ae9ba2
change the font in the pink highlighting to avoid some
...
bad drawing behavior on the mac (that shows up in the
amb tutorial)
2012-02-08 16:23:13 -06:00
Robby Findler
55b3d99d78
adjust beaucoup places in redex where the source was being
...
included in the compiled files. (also, misc minor cleanups
notably a new exercise in tut.scrbl)
closes PR 12547 --- there are still a few uses left, but they do not
seem to be coming from Redex proper:
- /Users/robby/git/plt/collects/racket/private/map.rkt still appears
in a bunch of places (there is a separate PR for that I believe),
and
- /Users/robby/git/plt/collects/redex/../private/reduction-semantics.rkt
appears in tl-test.rkt, but I do not see how it
is coming in via Redex code, so hopefully one of the other
PRs that Eli submitted is the real cause. If not, I'll revisit later
2012-02-08 09:59:44 -06:00
Robby Findler
4bac243efe
put an expression to evaluate to find the path instead of the path
...
that was there when the html file was built.
closes PR 12545 (I do not agree with Eli's proposal for fixing this so I
did it differently)
2012-02-07 16:14:09 -06:00
Robby Findler
2ca0473f1c
shrink longest line down to something more reasonable
2012-02-07 15:50:53 -06:00
Robby Findler
811a9227c3
Rackety
2012-02-07 15:50:52 -06:00
Robby Findler
794240bf67
added a amb-based redex tutorial
2012-02-05 17:24:13 -06:00
Robby Findler
8bec634dcd
adjust covered-cases so that it always returns deterministically
...
(sorting by the strings in the result)
2012-02-05 17:24:13 -06:00
Robby Findler
977659a118
fix redex's syntax pruning to not drop the #%top binding
2012-02-01 20:09:29 -06:00
Robby Findler
7cf563c4d9
fix some typos in a comment
2012-01-24 08:29:09 -06:00
Robby Findler
71595a55e6
adjust the names of the dot/neato binaries to be platform-specific
2012-01-17 12:42:42 -06:00
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
Robby Findler
262931bb80
adjust typesetting so the ellipsis uses the default style, not
...
literal-style (unless an atomic-rewriter is in place)
2012-01-14 21:32:16 -06:00
Robby Findler
b3c450ffc9
add 'side-condition' to define-judgment-form (it does not have an implicit
...
unquote like the other side-condition's do, but it is still useful
for typesetting purposes)
2012-01-14 14:52:07 -06:00
Robby Findler
0134b8753d
IN PROGRESS: more context speedup attempt
2012-01-11 13:16:47 -06:00
Robby Findler
11059e2b5c
IN PROGRESS: a possible speed up attempt; match the thing in the hole before returning the context matches instead of afterwards
2012-01-11 13:16:46 -06:00
Robby Findler
f1a7864c63
fix bug in lw struct generation
2012-01-09 20:38:51 -06:00
Robby Findler
6cacd57ebc
add check-redundancy, a parameter that causes redex to print some
...
debugging information about ambiguous matching (when the ambiguity
matters)
2012-01-09 12:57:24 -06:00
Robby Findler
a12df9cea6
redex: misc cleanups:
...
- remove cache instrumentation code
- make hole->not-hole parsimonous
- change the cache size back to 63
2012-01-09 12:57:23 -06:00
Robby Findler
0c6e0a11cf
removed ambiguity from the cont-mark-transform's "a" non-terminal
...
Redex no longer has extra checks to eliminate redundant matches
(as those checks are prohibitively expensive for the lambdajs model)
so redundancy in the grammar can, when combined with context
decomposition or named patterns, lead to significant slowdowns
2012-01-09 12:57:22 -06:00
Robby Findler
4fab7f76af
tweak the compiled representation of lw structs so they take less space
...
this shrinks the size of redex/examples/r6rs/r6rs.rkt's .zo file by about 25%
2012-01-09 12:57:21 -06:00
Robby Findler
2afda360d0
redex: adjust the test suites to clean up a few things; also make the
...
hole and the-not-hole equal? to each other (like they used to be)
2012-01-09 12:57:20 -06:00
Robby Findler
93c21e34de
added a cycle check to define-language so grammars like this one:
...
(define-language L
(e e))
are rejected as syntax errors
2012-01-09 12:57:19 -06:00
Robby Findler
fbed2d5af7
remove (broken) attempt at optimization Jay suggested
...
also clean up some test cases that I wasn't sure about earlier
2012-01-08 12:13:37 -06:00