Commit Graph

5079 Commits

Author SHA1 Message Date
Eric Dobson
56fd9e6321 Rearange type code, so that abbrev.rkt can depend on union.rkt.
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.
2012-08-07 15:50:50 -04:00
Robby Findler
4a19ab40e8 add check for adjacent separators into tests 2012-08-07 12:51:52 -05:00
Matthew Flatt
d194fa6245 fix `regexp-match' variants given a long string and an output port 2012-08-07 05:21:33 -06:00
Matthew Flatt
0bd53a3549 compiler/zo-marshal: repair mashaling of import info in syntax 2012-08-06 15:32:27 -06:00
Matthew Flatt
02318ebcb3 fix test to work with relative executable path 2012-08-06 14:27:29 -06:00
Matthew Flatt
13d7a37eb6 re-align expt' and flexpt' to match C99 pow() spec
Also, improve precision of some complex results to avoid
excessive `+nan.0's.

Closes PR 12935
2012-08-06 13:00:36 -06:00
Vincent St-Amour
7494fccc4c Control number of attempts for TR random testing from the command line. 2012-08-06 12:48:41 -04:00
Eric Dobson
e6d4fb2ee2 Fill hole in recursive type soundness. Fixes PR 11372. 2012-08-06 12:31:07 -04:00
Robby Findler
8a0b6549a5 adjust the contract error messages to follow the error message
conventions in 9.2.1 of the reference (altho the messages do
not yet do the extra level of indenting when a field is too
long, nor are there any field names ending in ...)

Also, fix the docs for the #:stronger argument to
make-contract, make-chaperone-contract, and make-flat-contract
2012-08-05 20:09:09 -05:00
Robby Findler
34618708a6 give up on a (small) part of the repl test.
Specifically, it seems like about 20% of the time (in drdr),
running the program

  (let l()(l))

in DrRacket and then clicking the break button results in a state
where DrRacket's focus is not in the definitions window. I can't seem
to make this happen on my own machine and I'm not sure if this a
race-condition in the test suite or a real bug in DrRacket but it
seems minor enough (given all of the other focus-based testing that is
happening in this (and related) test suites) that I'm just going to
give up on this particular test.
2012-08-05 08:14:58 -05:00
Matthew Flatt
7c9e6d7193 improve port progress-evt guarantees; fix for `read-bytes-evt' et al.
A progress evt from a close input port must be initially ready,
and the primitive `peek-bytes-avail!' checks a progress evt
before checking whether the port is closed.

These changes resolve a race in `read-bytes-evt' and related evt
constructors.
2012-08-04 10:19:55 -06:00
Matthew Flatt
f28e8a02d0 fix 'disappeared-use prperty added by `syntax'
Effectively preserve `syntax-original?' of added identifiers.
2012-08-04 10:19:55 -06:00
Vincent St-Amour
aba046a92d Swap unsafe and chaperone-unsafe vector ops in the TR optimizer.
Closes PR12969.
2012-08-04 10:32:21 -04:00
Ryan Culpepper
1a77f4ee0e added recontract-out 2012-08-03 20:52:35 -04:00
Matthew Flatt
f11450d601 scribble/base: generalize `itemlist' to splice/coerce some arguments
Also, add a `spliceof' contract constructor to `scribble/decode'.
2012-08-03 13:43:23 -06:00
Vincent St-Amour
79c265ef89 Fix NaN handling of flexpt to be consistent with expt. 2012-08-03 14:21:44 -04:00
Vincent St-Amour
a6d5a98b61 Include NaN in all floating-point types.
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
2012-08-03 14:21:44 -04:00
Kevin Tew
38e90b52c4 Fixes parallel raco make of relative paths including subdirectories
closes PR 12953
2012-08-03 09:15:22 -06:00
Robby Findler
2032aaf341 add a test case for check-expect expressions where the first position has an error
test case for commit 87a8f70148

related to PR 12943
2012-07-31 22:25:34 -05:00
Ryan Culpepper
6eb8da1f40 removed (unused) reference to not-break-exn? 2012-07-31 19:15:21 -04:00
Vincent St-Amour
800a328fe6 Fix documentation for packages and mutable lists.
As suggested by Matthew.
2012-07-31 17:12:30 -04:00
Kevin Tew
04839b39f8 [Distributed Places] fix failing drdr tests 2012-07-31 13:56:38 -06:00
Robby Findler
1a619bd047 add tooltips at the start and end of arrows indicating how many references
there are and how many definition sites there are (in check syntax)

also: Rackety
2012-07-30 21:46:22 -05:00
Matthew Flatt
b0f81b5365 racket/draw: use Cairo in a single-threaded way
This is a follow-up to commit ec6f3fd610. We're still
seeing crashes while rendering the "plot" documentation, and this
change seems to make things work on my machine.
2012-07-30 08:07:49 -06:00
Matthew Flatt
9b1db14328 ffi/com: fix clean-up of type descriptors
Merge to v5.3
2012-07-29 09:46:30 -06:00
Robby Findler
6e2fb2ac5e make the code that does the mixin checks work with define-local-member-name
closes PR 11279
closes PR 12397
2012-07-29 09:43:37 -05:00
Vincent St-Amour
dd02f5eeda Fix parametric require/typed in typed/racket/base.
Closes PR12951.

Please merge to release.
2012-07-29 09:02:58 -04:00
Ryan Culpepper
e10951024f syntax/parse: fix bug in specialized code for ellipsis patterns
The result of 'stx->list' is not always either a list or #f.

Merge to 5.3.
2012-07-28 17:37:06 -04:00
Eli Barzilay
1afc26c79b Fix test due to code refactoring, sort export lists in module descriptions. 2012-07-28 12:12:35 -04:00
Eli Barzilay
c2bea19d1b Adjust for new error mesage style.
(This is in part a temporary solution since the ",bt" command is now used
to show a backtrace as well as any "foo...:" hidden fields.)
2012-07-28 05:05:06 -04:00
Vincent St-Amour
52439d528b Move mutable list functions to the compatibility collect.
Mutable pair functions from racket/base are not moved.
2012-07-27 16:49:05 -04:00
Matthew Flatt
9d6f0e96ba fix for bytecode validator
Fix tchecking for a rest argument to a function that
is lifted by closure conversion so that one of its
arguments is a mutable local variable's location.

Also reject bytecode that would pass too many arguments
to a lifted function, since that would trigger an arity
error that might try to use a location as a value.

Merge to v5.3
2012-07-26 16:32:59 -06:00
Matthew Flatt
b208a104ec COM test updates 2012-07-26 16:32:59 -06:00
Matthew Flatt
100212cd53 another repair to `subprocess' test
Merge to v5.3
2012-07-26 10:53:56 -06:00
Matthew Flatt
87d24ece78 more on `port-commit-peeked' and EOFs
Continues/fixes commit 4c3dd00d49.
2012-07-26 10:39:24 -06:00
Matthew Flatt
1efc894ada toward fixed interaction between positions and peek-commits
When a `port-commit-peeked' succeeds, position information should
(appear to) be updated. This patch synchronizes commits and
position information for primitive ports, but synchronizing
them for user ports remains a problem.
2012-07-26 10:39:17 -06:00
Matthew Flatt
8c10dc1579 fix a `subprocess' test
Merge to v5.3
2012-07-26 08:47:06 -06:00
Matthew Flatt
70ef4e6e57 racket/port: possible repair for `read-bytes-evt'
Also restore and add some tests.

Merge to v5.3
2012-07-26 08:39:58 -06:00
Matthew Flatt
ca3272bd45 racket/port: fix `make-limited-input-port' handling of progress evts
Merge to v5.3
2012-07-25 21:37:58 -06:00
Matthew Flatt
71045e255c fix `for/vector' to really stop at size
Avoids an infinite loop for an infinite sequence, for example.
Also, expand via `for/fold/derived' to improve error reporting.
2012-07-25 20:07:23 -06:00
Vincent St-Amour
b1577bd307 Fix type for add-between. 2012-07-24 16:41:52 -04:00
Matthew Flatt
289ae98c8e add missing `super-new' from class100 conversion
Also, move relevant tests to a better place.

Merge to v5.3
2012-07-24 11:16:43 -05:00
Matthew Flatt
f7382b17c7 ad hoc optimization of `hash-ref'
Convert
 (hash-ref <hash> <key-expr> (lambda () <literal>))
to
 (hash-ref <hash> <key-expr> <literal>)
which is useful for making the `case' expansion fit
Typed Racket.
2012-07-23 21:41:49 -05:00
Matthew Flatt
22960b9c75 fix `subprocess' test
Merge to v5.3
2012-07-23 21:41:49 -05:00
Matthew Flatt
eb6a6e7136 new test cases for `case'
Trigger binary-search and hash-table modes.
2012-07-23 18:56:33 -05:00
Matthew Flatt
05495764ea errortrace: fix profiling for phase >= 2 code
Closes PR 25050

Merge to v5.3
2012-07-23 07:05:40 -05:00
Matthew Flatt
a0ba30d8e7 fix `syntax-local-get-shadower' for submodules
Closes PR 12926, 12928

Merge to v5.3
2012-07-22 21:43:20 -05:00
James Swaine
ca360cdaed Add test to track performance of code inside a future over time 2012-07-22 20:08:51 -05:00
James Swaine
6eed135d02 Fix "dancing flags" issue with timeline ticks in future visualizer 2012-07-22 20:03:36 -05:00
James Swaine
e4f50997ad Minor changes to future-visualizer/trace tests 2012-07-22 20:03:22 -05:00
James Swaine
5214995967 Add unit tests for future-visualizer/trace 2012-07-22 20:03:22 -05:00
Matthew Flatt
d95ec4d454 fixes for submodules and `variable-reference->namespace'
Closes PR 12925

Merge to 5.3
2012-07-22 11:54:46 -05:00
Sam Tobin-Hochstadt
4a90c6c1fe Ensure that structs don't overlap with simple values.
Reported by Ray Racine.

Please merge to release.
2012-07-20 13:01:32 -04:00
Ryan Culpepper
510d3937a7 change id-tables so iterators not invalidated by mutation of existing keys
id-table fixes

test for id-table
2012-07-20 10:59:50 -04:00
Asumu Takikawa
e14c5d61e9 Allow guards for impersonatable struct type properties 2012-07-19 22:46:14 -04:00
Matthew Flatt
d3677524b8 macro expander fix
Relevant to PR 12863

Merge to v5.3
2012-07-19 20:42:36 -05:00
Matthew Flatt
a45d13b52a another `namespace-attach-module' repair for submodules
Merge to v5.3
2012-07-19 16:50:25 -05:00
Matthew Flatt
d44aa13c15 test case to finish repair for `racket/gui/init' load handler
Test case for b111241afe.
2012-07-19 07:46:50 -05:00
Robby Findler
b342009e71 bring back drscheme/private/number-snip.ss since it may
appear in saved wxme format files

also, improve the testing support for testing snip loading
(before this, the testing infrastructure could let one test
"leak" into another one in a way that could mask failures)

please include in release branch
2012-07-19 07:29:42 -05:00
Robby Findler
ef5c2b825f fixed repl-test-misc.rkt for the error message changes
please include on the release branch
2012-07-19 06:26:43 -05:00
Eli Barzilay
6565538b09 Disable the #:before-first' and #:after-last' functionality in `add-between'.
Leave it working in splicing mode.  I prefer doing that over always
splicing them, since that would make a less uniform interface, so I
rather keep all options open.  There is no longer a `#:nothing' keyword,
which is the main point of this downgrade.

(See mailing list discussion on "no-argument" for the reason.)
2012-07-18 22:28:41 -04:00
Robby Findler
17594ec804 module lang test now up to date with error message changes
please include in release branch
2012-07-17 22:33:56 -05:00
Robby Findler
d8204b1624 adjusted the repl test suite for the new error messages
and the change to the racket/gui load-handler

(unfortunately, there is still another problem that keeps
the test suite from passing)

please merge to the release branch
2012-07-17 21:59:05 -05:00
Robby Findler
8744cd7811 bring the language test up to date with the latest error messages
include in the release branch, please
2012-07-17 21:58:56 -05:00
Matthew Flatt
5e4866e54c fill in one more corner of submodules and `namespace-attach-module'
When submodules are not independently loaded, then pull submodule
declarations along when attaching a module to a namespace.
2012-07-17 10:16:32 -06:00
Matthew Flatt
c8f4ac6ae4 submodules: make .zo path stick for consistent independent loading
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.

The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
2012-07-17 09:47:05 -06:00
James Swaine
b987be068e Move racket/future/visualizer, racket/future/trace --> future-visualizer, future-visualizer/trace 2012-07-16 12:23:46 -05:00
Matthew Flatt
a605183a0a more submodule repairs for `raco exe' 2012-07-16 10:02:13 -06:00
Eric Dobson
9dac995e36 Fix things broken by bad rebasing. 2012-07-15 19:21:26 -04:00
Eric Dobson
1df6165e9f Clean up of typechecking for heterogeneous vectors and structs. 2012-07-15 19:21:26 -04:00
Eric Dobson
779291c795 Remove special cases for - and fx- in tc-app.rkt. 2012-07-15 19:21:26 -04:00
Matthew Flatt
55a8445b0b allow test to run if GL is unavailable 2012-07-15 10:36:36 -06:00
Matthew Flatt
73e901a262 fix optimizer bug
The lambda-lifting transformation needs to iterate to a fixpoint
where each lambda's added arguments and order are known. The
check for whether something changed was formerly just the number
of added arguments, but that's not good enough, because a binding
might get lifted away while another one acquires an extra argument.
The right test is to check the count and original bindings for the
added arguments.

Closes PR 12910
2012-07-15 10:32:45 -06:00
Sam Tobin-Hochstadt
8c659d50ed Properly handle quoted constants with bad expected types.
Closes PR 12874.
2012-07-14 23:06:13 -04:00
Sam Tobin-Hochstadt
1dca82784b Handle arbitrary recursive contracts generated from Rec types. 2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
2aaeec4520 Improve type of values when applied to one argument.
Closes PR 12846.
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
ccf79943ab Fix special case for expected unions of vectors.
Closes PR 12845.
2012-07-14 21:56:44 -04:00
Sam Tobin-Hochstadt
2500dad8f1 Don't shortcut simple letrec forms that aren't lambdas.
Closes PR 12841.
2012-07-14 21:36:56 -04:00
Sam Tobin-Hochstadt
9e097866bf Vector fixes.
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
  has an annotation or instantiation.

Closes PR 12887.
Closes PR 12888.
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
f40c7f11a6 Mutable data at typed boundaries can't have flat contracts.
Closes PR 12884.
2012-07-14 20:43:35 -04:00
Matthew Flatt
e430463ea4 another submodule expansion repair
Relevant to PR 12902
2012-07-13 09:38:44 -06:00
Matthew Flatt
f729c6441c racket/draw: fix gl-context<%> locking
The optional arguments for `call-as-current' for `gl-context<%>'
were not implemented, and the locking implementation didn't match
the documentation in other ways.
2012-07-13 07:45:21 -06:00
Sam Tobin-Hochstadt
2dd9a43d1b Fix tests for new type name declaration. 2012-07-12 17:41:12 -04:00
Asumu Takikawa
3158acd61d Fix unit test broken by mzlib movement 2012-07-11 21:38:42 -04:00
Asumu Takikawa
403aaac7d4 Moved some mzlib library implementations to racket
The libraries moved were:
  - mzlib/control      => racket/control
  - mzlib/date         => racket/date
  - mzlib/deflate      => file/gzip
  - mzlib/inflate      => file/gunzip
  - mzlib/port         => racket/port
  - mzlib/process      => racket/system
  - mzlib/runtime-path => racket/runtime-path
  - mzlib/shared       => racket/shared
  - mzlib/unit         => racket/unit
  - mzlib/unit-exptime => racket/unit-exptime
  - mzlib/zip          => file/zip

The old modules in mzlib are now pointers to the
new modules. These are all modules that were already
redirected in the documentation.
2012-07-11 18:26:10 -04:00
Matthew Flatt
f747c086d8 fix checking for `syntax-local-lift-require'
Closes PR 12894
2012-07-11 14:03:31 -06:00
James Swaine
91de1fae7c Remove unused test file 2012-07-11 09:17:49 -05:00
Robby Findler
dcdc2aea02 allow promises to be impersonated and thus allow impersonator contracts
related to PR 12861
2012-07-10 22:23:26 -05:00
Matthew Flatt
506b70f71f fix `variable-reference->module-source' for submodules
Unlike the `variable-reference->resolved-module-path', the module
source one doesn't include a submodule path.
2012-07-10 18:35:03 -06:00
Matthew Flatt
428711bf93 another submodule-expansion repair 2012-07-10 15:05:40 -06:00
Neil Toronto
392d7bfbad Added sequence typecheck tests
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)
2012-07-10 13:22:53 -07:00
Matthew Flatt
ffe39c5974 fix support code for some tests 2012-07-10 11:42:42 -06:00
Matthew Flatt
603e920538 syntax/location: fix and change `quote-submodule-{name,path}'
Paths are left as paths, instead of trying to convert them to strings
or byte strings. Submodule path elements should be unquoted -- in the
same form as a `submod' form. All extra parts are submodule path elements,
never module paths or ".".
2012-07-10 11:42:42 -06:00
Sam Tobin-Hochstadt
6bf141513f Revise type environment propagation to use submodules.
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked.  Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.

The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules.  This involved adding pre- and post-
syntaxes for the results of typechecking.

This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).
2012-07-10 12:49:27 -04:00
James Swaine
dbec8765e3 Futures visualizer - reorganize modules, expose formerly private stuff as public (and docs) 2012-07-10 10:55:19 -05:00
James Swaine
2b2070f7b2 Clean up code in futures visualizer
Remove mouseover display for creation graph nodes (for now)
2012-07-10 10:54:43 -05:00
Burke Fetscher
7972adc97a Futures visualizer - Various bug fixes 2012-07-10 10:54:43 -05:00
James Swaine
b6f71ec4be Add futures visualizer, improvements to futures logging 2012-07-10 10:54:42 -05:00
Matthew Flatt
48e154e3cb scriblib/autobib: first cut at configurable style
Adds `number-style' as an alternative to `author+date-style'.
2012-07-10 00:21:56 -06:00
Matthew Flatt
71fe28e5dc scriblib/autobib: fixes in docs and related to disambiguation
Fixed problems related to sorting, more than two references for
one citation, and "specific" additions like page numbers.

Also, removed a set of parentheses around disambiguated dates
in the bibliography, because I don't think they belong there.

The doc format was confused; for example, square brackets don't mean
optional in a syntactic form documentation, but instead mean square
brackets.
2012-07-10 00:21:56 -06:00
Vincent St-Amour
dba49db078 Fix type of andmap and ormap on empty lists.
Closes PR 12882.
2012-07-06 12:28:37 -04:00
Matthew Flatt
f71037c775 also improve JIT support for unboxed flonums in non-tail-call
Applies to non-tail calls to immediate functions, which can be
generated by a `for' or `let loop' pattern in a non-tail
position.
2012-07-06 08:07:10 -06:00
Robby Findler
467bde3a25 fixed promise/c so it creates chaperone contracts when its
argument is a chaperone contract

closes PR 12861
2012-07-04 18:41:55 -05:00
Matthew Flatt
aa68692b37 allow `begin' wrapper on a submodule to re-expand
Closes PR 12835
2012-07-02 10:02:41 -06:00
Matthew Flatt
3662aee60b *SL: fix `check-expect' syntax checking
Bug introduced during error-message conversion.
2012-07-01 09:25:12 -06:00
Matthew Flatt
67cbd52e24 fix benchmark driver for running an old version 2012-06-28 14:32:01 -06:00
Sam Tobin-Hochstadt
20e95f8d8e More refactoring and reduction of runtime dependencies. 2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
f075ecd36e File splitting, dependency reduction. 2012-06-28 14:34:07 -04:00
Matthew Flatt
0d1056dbed fix potential bad interaction of module caching and JIT assumption
The JIT wants to detect calls to functions bound to module-level
variables that are always instantiated to a procedure of a particular
arity, in which case it can avoid some checks.  The problem is that
bytecode and JITted code can be shared via the module cache across
namespaces that use different modules to implement a particular module
path or that enable the JIT differently.  In particular, starting with
one that has a procedure binding and then using one (in a different
namespace) that has a non-procedure binding could lead to a crash.

Defend against this possibility by never treating imported variables
as constant in that sense. The JIT detects imported variables through
a new import map in the prefix.

This change may slow code. My guess is that it will have no
performance impact in practice, due to cross-module inlining,
although I can construct a microbenchmark that slows by 20%.
2012-06-27 09:57:50 -06:00
Matthew Flatt
577cf4592e fix problems with references to bindings at higher phases 2012-06-27 09:57:50 -06:00
Matthew Flatt
edce1b0406 fix optimizer for impersonated continuation mark keys
The optimizer can no longer reduce
  (with-continuation-mark _id _v-expr _expr)
to just
  _expr
when _v-expr and _expr are simple enough, because _id
might be bound to a continuation mark key with an
impersonator that checks the result of _v-expr.

The loss of an optimization can have a significant affect on
errortrace of microbenchmarks, such as

 (for ([i (in-range 10000000)])
   i)
2012-06-27 09:57:50 -06:00
Vincent St-Amour
db6c2e7737 Update types of string-join and add-between. 2012-06-27 11:39:15 -04:00
Asumu Takikawa
095d47fc3d racket/contract: rename prompt/c & continuation-mark/c
The new names are `prompt-tag/c` and `continuation-mark-key/c`
to keep the names consistent with the values that are being
contracted. Also updated the HISTORY file.
2012-06-26 21:11:58 -04:00
Asumu Takikawa
fcab398081 racket/class: add send+ for functional style OO 2012-06-26 21:11:58 -04:00
Eli Barzilay
0c78194267 Adjust the keyword names for string-join' following the change to add-between'. 2012-06-26 13:45:16 -04:00
Asumu Takikawa
de5c756d2e Added continuation-mark/c 2012-06-26 13:39:36 -04:00
Asumu Takikawa
db6c37df92 Add proxy-able continuation mark keys and proxies
(with much help from Matthew on the JIT side)
2012-06-26 13:39:36 -04:00
Matthew Flatt
a6e263741a racket/list: adjust `add-between' keyword handling
Add a `#:nothing' argument so the no-value value can be
made explicit --- based on discussion with Eli, but pending
further review.

Also, renamed `#:first' to `#:before-first' and `#:last' to
`#:after-last' to be more clear, more parallel ro `#:before-last',
and avoid a collision with prominent function names.
2012-06-26 11:00:11 -06:00
Asumu Takikawa
552d6de953 racket/generics: add contract combinator
The generics library now generates a `name/c` macro
for a generic interface `name`. The combinator can be
used to contract instances (or constructors) of a
generic interface across standard contract boundaries.
2012-06-25 20:33:48 -04:00
Matthew Flatt
cb88590dfb fix interaction of `procedure-arity-includes?' and other things
A arity-reduced procedure-valued `prop:procedure' was not handled
correctly, for example.

A good candidate for random testing? I had the right kind of test in
place, but only for an arity of 1. It turns out that testing any other
arity would have exposed the problem, so now there are tests with
arity 0. If I had randomly generated procedures instead of manually
constructing `f0' through `f1:+' in "procs.rktl", then maybe I would
have more naturally generalized the arity testing, too. Then again,
I did already have relevant inputs, and it was the testing of inputs
that was too specific.

Closes PR 12870
2012-06-25 17:30:03 -06:00
Matthias Felleisen
b5b918ca4a restored object-name tests for the new doc system 2012-06-25 19:15:09 -04:00
Matthias Felleisen
92c62d7417 disabled name tests for htdp languages during documentation reorg 2012-06-25 19:15:08 -04:00
Sam Tobin-Hochstadt
88ff5fee69 Minor refactorings.
- Remove tracing requires.
 - Use lists instead of sets in a few environments.
 - Small cleanups.
2012-06-25 18:07:45 -04:00
Jay McCarthy
bc72ddd88a New error message 2012-06-25 15:59:17 -06:00
Sam Tobin-Hochstadt
ccb724155a scheme -> racket 2012-06-25 13:39:07 -04:00
Vincent St-Amour
972df7c89e Add #:unless to the for: macros. 2012-06-25 13:38:51 -04:00
Vincent St-Amour
b1ad108759 Update type of string-join for its new keyword arguments.
Closes PR12866.
2012-06-25 13:05:46 -04:00
Matthew Flatt
c11527494e racket/port: fix problems with `read-bytes!-evt'
See PR 12860; some of problem related to the PR were "fixed" by
adjusting the guarantees that are specified in the documentation.

Another problem was that non-consecutive bytes could be returned.
2012-06-24 07:38:09 -06:00
Matthew Flatt
5433d2302a fix some error-message tests 2012-06-23 05:21:52 -07:00
Matthew Flatt
4323096a46 change contract on second' of date' to allow only 1 leap second 2012-06-23 02:04:55 -07:00
Eli Barzilay
f0d856ab7a Extend string-join' in a similar way to add-between'.
(This is actually the extension that made me do the other too.)
2012-06-23 04:44:20 -04:00
Eli Barzilay
728687d9dc Extend `add-between'.
New keywords: `#:first', `#:before-last', `#:last', and `#:splice?'.
2012-06-23 04:44:20 -04:00
Vincent St-Amour
ee142047f8 Add type for range, and extend in-range's. 2012-06-22 17:53:43 -04:00
Eli Barzilay
7ec9975736 Move regexp-replaces' from ffi/unsafe' to `racket/private/string'.
* The old function was removed completely, people will get it from
  `racket/base' anyway.

* I also removed its documentation.  I thought about leaving a note in,
  but if `define-ffi-definer' is the preferred style, then this should
  be done when there's a way to make `define-ffi-definer' use it.  (Eg,
  some new #:keyword that adds a way to change the defined name.)

* Note that the function is added to `racket/private/string' and not to
  `racket/string' because the latter deals only with strings, and the
  new function accepts byte strings too.  It might be better to start a
  new `racket/regexp' module for these functions.
2012-06-22 14:27:14 -04:00
Eli Barzilay
7b4772e120 Extend `regexp-replace*' to accept a start/end-position.
Note that this pushes the `ipre' argument to the end.
2012-06-22 12:00:48 -04:00
Eli Barzilay
7d6e79023c Random pickiness.
Spaces at EOFs, indentation, etc.
2012-06-22 12:00:48 -04:00
Matthew Flatt
d253b89ba8 racket/port: fix read-bytes-evt' and read-string-evt'
As the documentation says, it's supposed to be ok to use the
same evt multiple times or in multiple threads, but an internal
buffer was allocated incorrectly, so that multiple/concurrent
uses could go wrong.

Closes PR 12860
2012-06-22 09:48:00 +08:00
Matthew Flatt
1dc0072d03 further error message convention refinements
Add extra intitial-message lines, use "..." on a field name
to indicate that it could reasonably be hidden by default,
and refine some existing messages.
2012-06-22 09:47:59 +08:00
Matthew Flatt
40c892ff80 futures: future-local handling of stack overflow
Includes the addition of 'overflow and 'start-overflow-work
events, whcih are effectively specializations of 'sync and
'start-work to expose overflow handling.

Also, fix a bug related to a potential GC during mark-stack
restore from a lightweight continuation.
2012-06-21 07:14:50 +08:00
Matthew Flatt
9af2a331ca another ASL error-message repair 2012-06-21 07:14:49 +08:00
Robby Findler
f38024d4ed fix struct/c for the case that the selectors are not available at the use site.
closes PR 12854
2012-06-20 11:23:20 -05:00
Robby Findler
c0b928c758 Added @literal-algol{} and started an algol60 test suite (apologies
if there already was one that I didn't find). Also fixed syntax
error raising procedure.

closes PR 12859
2012-06-20 10:28:53 -05:00
John Clements
c01e8c1564 refactored to reduce stepper dependencies 2012-06-19 23:51:59 -07: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
Asumu Takikawa
0e4f9fcd97 racket/gui: fixed by-position widget initialization
This was broken in the class100 port. The init arguments
previously handled by the class100*/kw macro need to be
explicitly passed down.

Also, an (init-rest) is needed at the leaves of the class
hierarchy to ensure that internal super init args don't
leak via error messages. (the class100 macro always
inserts these)

Added a test file so similar breakage is detectable in the
future.
2012-06-19 12:37:35 -04:00
Eli Barzilay
2c19677358 Make some .rktl tests run with "racket".
With this commit, all of the leftover mentions of gracket in
`drdr:command-line' are things that pop up windows.
2012-06-19 03:18:23 -04:00
Eli Barzilay
b8034828d0 Sort the mess with aligned-pasteboard tests.
1. Lots of #lang-ization, other racketizations, code improvements, etc.

2. Some files that were not working now do.

3. "collects/tests/aligned-pasteboard" had some files that were near
   duplicates of "collects/mrlib/private/aligned-pasteboard/tests".
   I've removed the former since in a few places it looked like an older
   version (eg, there were bogus references to a non-existent
   "utils.rkt").  The former has more files that are in runnable
   condition now.

4. There are plenty of tests that look like they're failing, but it
   wasn't shown since they just return #f, and when they were running
   with a "-f" these results weren't displayed.

5. I have no idea about the code, this is all just reshuffling and minor
   editing.
2012-06-19 01:42:20 -04:00
Vincent St-Amour
24b6ecf2a6 Extend time-apply to work with procedures with more than 2 arguments. 2012-06-17 23:04:47 -04:00
Sam Tobin-Hochstadt
39e014bc55 Handle submodules in Typed Racket. 2012-06-16 22:08:06 +08:00
Asumu Takikawa
ab0d3d6492 Fix TR optimizer test
(round to avoid FPU sensitivity)
2012-06-14 18:22:42 -04:00
Asumu Takikawa
5d232f3748 racket/control: add aliases and update %/fcontrol
Added alises for call-with-continuation-prompt,
abort-current-continuation, and call-with-composable-continuation.
Also allow % and fcontrol to take an optional prompt tag argument.
2012-06-14 17:33:43 -04:00
Vincent St-Amour
c4613cf9ab Unbox exp on complex numbers. 2012-06-14 17:17:03 -04:00
Matthew Flatt
a871574318 make #%plain-module-begin' transformer detect module*' in stop list 2012-06-13 17:07:06 +08:00
Asumu Takikawa
a181011b55 Check for proxied prompt tags when needed
Fixes a bug where some control operators would
not recognize proxied prompt tags (non-proxied were fine)
2012-06-11 21:04:45 -04:00
Asumu Takikawa
5aa76c27a9 Support multiple values for control proxy functions 2012-06-11 18:18:37 -04:00
Asumu Takikawa
1cce922d97 Add prompt tag contracts using control proxies 2012-06-11 18:18:37 -04:00
Asumu Takikawa
d527426cac Prototype implementation of control proxies 2012-06-11 18:18:37 -04:00
Matthew Flatt
82943df351 another *SL error-message repair 2012-06-12 06:02:57 +08:00
Jon Rafkind
fc96cb258c [honu] assignment operators cooperate with the dot operator 2012-06-11 13:07:52 -06:00
Robby Findler
c9693ab910 adjust the drracket language test suite for the new error messages 2012-06-11 14:04:05 -05:00
Vincent St-Amour
c4743724cd Restore testing of sqrt and log. 2012-06-09 22:07:43 -04:00
Neil Toronto
8f840bd07b Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan)
Types for nan?, infinite?, pi.f, exact-round, exact-floor, exact-ceiling,
exact-truncate, degrees->radians, radians->degrees

Extended tc-random-testing: generates exact integers and rationals now

Fixed types of sinh, cosh and tanh to account for underflow and NaNs
2012-06-09 17:46:04 -06:00
Neil Toronto
ddeda70b20 Added to HISTORY.txt
Added (report-errs) to tests/racket/math.rktl
2012-06-09 17:46:04 -06:00
Vincent St-Amour
a89bd99e2a Fix printing of single-precision floats.
If there's already an exponent separator, replace it with f.

Closes PR12836.
2012-06-09 19:35:37 -04:00
Matthew Flatt
5caa114564 fix `print-syntax-width' for +inf.0
Closes PR 12837
2012-06-10 06:58:06 +08:00
Matthew Flatt
fbb6a294f3 local-expand' allows a stop list to have only module*'
That is, when the sto plist contains only `module*', core
forms are not implicitly added to the stop list.
2012-06-08 16:08:55 +08:00
Robby Findler
41a890df03 fix bug in the ->i parser (picked up the wrong identifier; wrote #'id when
id wasn't really around anywhere)

closes PR 12829
2012-06-07 10:45:18 -05:00
Vincent St-Amour
0b7eaf56ca Fix generation of random floats in TR random testing. 2012-06-06 18:26:51 -04:00
Vincent St-Amour
3e9b527bd0 Fix comment. 2012-06-06 18:26:51 -04:00
Matthew Flatt
255e3cbe2e another *SL error-rewriting fix
Arity errors no include supplied arguments, but strip them
away for *SL messages.
2012-06-06 13:25:14 +08:00
Neil Toronto
a713ca8a8b Added nan?, infinite?, degrees->radians, radians->degrees, exact-round, exact-floor, exact-ceiling, exact-truncate to racket/math
Altered TR's random arithmetic testing to generate single-flonums and very small flonums; fails now because of erroneous types

Fixes to sgn, sinh, cosh, and tanh:
 * preserve single-flonum-ness
 * correct zero sign (-0.0) for negative return values that are smaller than epsilon
 * correct behavior with NaN and infinite inputs
2012-06-05 22:40:44 -06:00
Matthew Flatt
e44c0809e8 rewrite contract error messages for *SL
The rewrite involves parsing contract expressions and constructing
replacement prose.
2012-06-05 17:53:27 +08:00
Sam Tobin-Hochstadt
2b9912ea9f Repair failing test case (wrong expected value). 2012-06-04 17:02:19 -04:00
Sam Tobin-Hochstadt
cbbd889621 = can equate values with different types.
Closes PR 12804.
2012-06-03 10:50:18 -04:00
Matthew Flatt
cc0b887106 adjust *SL error-message rewriting 2012-06-03 11:09:32 +08:00
Sam Tobin-Hochstadt
865a2cdcbd Support definitions of keyword functions in Typed Racket.
Caveats:
 - keyword function definitions do not define static
   bindings, thus limiting optimization opportunities
 - can't use `define:`, `lambda:`, etc with keywords
 - error messages sometimes expose the implementation
 - the optimizer skips most of the generated code for
   keyword functions definitions (user-level code is
   optimized)
2012-06-02 18:22:07 -04:00
Jon Rafkind
244f1cccb7 [honu] fix the pattern form and use quote-syntax to prevent syntaxes from being interpolated too early 2012-06-02 15:33:55 -06:00
Jon Rafkind
2b5e5c5b57 [honu] combine string-append and the evaluator 2012-06-02 15:33:54 -06:00
Jon Rafkind
d688621a18 [honu] use sandbox evaluator to test honu code 2012-06-02 15:33:54 -06:00
Robby Findler
058504afbd adjust datalog so that syntax objects are not used as source location
information representation.

This should make datalog work better with compiled files and it
should also avoid an O(n^2) problem in the way it expands
2012-06-02 08:04:45 -05:00
Matthew Flatt
85a2267e6c ffi/unsafe: new error message convention at primitives
Also, fix FFI procedures to preserve names: change `ptr-ref' with
`_fpointer' on an `ffi-obj' value to return the `ffi-obj'
value, so that the name in the `ffi-obj' value can be used
by `_cprocedure'.

Closes PR 12645
2012-06-01 19:03:43 -07:00
Sam Tobin-Hochstadt
a377c42357 Use the new syntax properties for checking keyword functions.
Previously, some hacks were used to obtain the internal
identifiers that implemented keyword functions directly, and
give them types at startup.  Now, the primary "function"
(eg, `sort`) is given a type, and when used, the residual
syntax properties are used to find `sort` from the real
functions, and then the type of the real function is computed
from the type of `sort`.

Some creativity was required in the types of functions which
take optional arguments that when present, alter the return type,
such as `regexp-match*` and `file->list`.
2012-06-01 18:37:02 -04:00
Eric Dobson
262ecc3da9 Redefine Boolean as (U #t #f).
Closes PR 12815.
2012-06-01 10:26:10 -04:00
Robby Findler
64e4a43c9c fix easter egg test suite for the new error messages 2012-06-01 07:16:14 -05:00
Robby Findler
7118547c58 adjusted the module-language, pretty-big and r5rs parts of
the drracket language test for the new error messages
2012-06-01 02:36:54 -05:00
Eric Dobson
c2d9f7ed9a Attach struct info to constructor for polymorphic TR structs.
Closes PR 12806
2012-05-31 13:09:26 -04:00
Robby Findler
f721c0427d adjust the timeouts to two drracket tests and add a little syncronization help in a third 2012-05-31 10:56:13 -05:00
Matthew Flatt
f10a258dcb ffi/unsafe: fix arithmetic overflow and representation
Thanks to Tobias Hammer for the report and initial repairs.
2012-05-31 09:21:25 -06:00
Eric Dobson
735b84b083 Add support for multiple provides of the same identifier in TR.
Closes PR 12807.
2012-05-31 10:02:03 -04:00
Robby Findler
77811e0e95 Adjust how the drracket repl iterates over expressions to make it more
like textual-read-eval-print-loop

There is still a difference, however, because drracket's REPL has a
notion of multiple expressions that are submitted simultaneously that
textual-read-eval-print-loop doesn't. For example, if you type this at
the prompt:

  (car) (+ 1 2)

then textual-read-eval-print-loop will print out the error and then 3,
but drracket will print only the error (ditto if (car) were replaced
by a continuation abort).

This difference is, IMO, a good thing, since it lets you use a single
interaction to do multiple things, but stops as soon as there is an
error. (It is also how drracket has behaved for a long time.)

closes PR 12790
2012-05-30 22:31:55 -05:00
Robby Findler
efd6772e9a adjust repl-test and the module language test for the new error message format 2012-05-30 22:31:54 -05:00
Matthew Flatt
e8645598d7 futures: fix bug related to tail calls 2012-05-30 16:20:36 -06:00
Jay McCarthy
38ae869d66 Fixing error introduced by 9e7548de 2012-05-29 13:39:37 -06:00
Matthew Flatt
26269c329e racket/base: add some missing predicates
The new predicates are `progress-evt?' `thread-cell-values?',
`prefab-key?', `semaphore-peek-evt?', and `channel-put-evt?'.
These were used internally, and now they appear in contract
error messages.
2012-05-29 11:01:52 -06:00
Matthew Flatt
6fded4bac1 syntax/free-vars: fix quadratic behavior
(Forgot to fix the "FIXME" before committing last time.)
2012-05-28 20:22:31 -06:00
Matthew Flatt
ee93e35260 syntax/free-vars: deterministic result order
Closes PR 12798
2012-05-28 20:15:43 -06:00
Jay McCarthy
211e869fe1 Supporting methods in web-server/dispatch 2012-05-28 14:13:19 -06:00
Jay McCarthy
8b035f3c73 Fixing PR12779 2012-05-28 11:52:56 -06:00
Matthew Flatt
99635ab091 change `impersonate-struct' to require evidence that a field is mutable
When supplying an accessor to redirect, either the corresponding field
must be accessible through the current inspector, or a mutator for
the same field must be redirected, too.

Stevie realized that we need this constraint; otherwise, impersonators
can implement mutator-like behavior even when the mutator is otherwise
secret.
2012-05-27 15:37:45 -06:00
Matthew Flatt
73ce5a4767 racket/serialize: fix for submodules
Closes PR 12795
2012-05-27 14:39:51 -06:00
Matthew Flatt
6eeb8fccbd more error-message conversion 2012-05-27 09:03:19 -06:00
Matthew Flatt
8ab87a9fcc racket/class: new error message convention 2012-05-26 21:08:21 -06:00
Asumu Takikawa
cfe1711494 Convert all uses of mzlib/class100 to racket/class 2012-05-26 11:12:55 -04:00
Asumu Takikawa
6341fe7e01 Remove gracket test that does not run.
The file is written in mzscheme or pre-mzscheme and
tries to load files that no longer exist.
2012-05-26 11:12:55 -04:00
Vincent St-Amour
3062efe47f Reduce random testing attemps to avoid DrDr timeouts. 2012-05-26 11:06:29 -04:00
Matthew Flatt
b5ab6cec7e fix misc tests for error-message change 2012-05-26 08:18:19 -06:00
Matthew Flatt
413c940fe6 update HtDP *SL tests for revised error-message convention
This change does not yet update the *SL error-message rewriter
to recognize the new error-message formats; the tests do not
currently use the rewriter. A next step is to decide on the
rewritings, implement them, change the test suite to use the
rewriter, and test the rewritings.
2012-05-26 08:05:12 -06:00
Matthew Flatt
d6774d5d54 racket/sandbox: add sandbox-propagate-exceptions 2012-05-25 18:37:29 -06:00
Vincent St-Amour
142158c0cb Add random testing script for float types. 2012-05-25 17:15:22 -04:00
Vincent St-Amour
186b463217 Fix NaN and inf handling in flonum specific op types. 2012-05-25 17:15:22 -04:00
Matthew Flatt
9e7548de61 new error message convention
Add `raise-argument-error', `raise-result-error', `raise-arguments-error',
and `raise-range-error'.

The old convention was designed for reporting on a single (sometimes very
long line). The new convention is

 <name>: <short message>
   <field>: <detail>
   ...

If <detail> is long or itself spans multiple lines, then it may
also use the form

   <field>:
    <detail>

where each line of <detail> is indented by 3 spaces.

Backtrace information is shown as a multi-line "context" field.
2012-05-25 15:08:05 -06:00
Robby Findler
7156b0391b fix the contract context messages for the case of ->*'s #:rest arguments 2012-05-25 09:14:09 -05:00
Asumu Takikawa
a22633e348 Rename generics => generic. 2012-05-24 16:51:14 -04:00
Vincent St-Amour
11dc825126 Forge gen:equal+hash and gen:custom-write to provide them from racket/base. 2012-05-24 16:51:13 -04:00
Vincent St-Amour
c21813cebf Add gen:custom-write.
No docs yet.
2012-05-24 16:51:13 -04:00
Vincent St-Amour
3210cd1d12 Remove vestigial set of parens and fix docs for new syntax. 2012-05-24 16:51:12 -04:00
Vincent St-Amour
dd05d6e6bc Make original generics tests quiet. 2012-05-24 16:51:11 -04:00
Vincent St-Amour
f42ae56893 Trailing whitespace. 2012-05-24 16:51:11 -04:00
Vincent St-Amour
390cd02b52 Have a generic interface for equal+hash.
Currently provided by racket/struct, for lack of a better place.
2012-05-24 16:51:11 -04:00
Vincent St-Amour
cc7ae795ea Remove the coercion function code.
Didn't turn out to be useful.
2012-05-24 16:51:10 -04:00
Asumu Takikawa
44783b9f8e Add tests from unstable/generics. 2012-05-24 16:51:10 -04:00
Asumu Takikawa
8ac82eaf58 Use simplified interface for define-generics
Also removed `generics`
2012-05-24 16:51:09 -04:00
Vincent St-Amour
f11861f60a Have method definitions be its own keyword in the struct form.
Struct properties are hidden from users.
2012-05-24 16:51:08 -04:00
Vincent St-Amour
3bfaa2b00b New naming convention for generics names. 2012-05-24 16:51:07 -04:00
Vincent St-Amour
08cd358300 Add iterators as tests for generics.
Equivalent to streams, so not useful to provide.
2012-05-24 16:50:46 -04:00
Asumu Takikawa
3a93df5566 Use racket/generics for extensions to racket/stream 2012-05-24 16:50:44 -04:00
Vincent St-Amour
448ad27a37 Move generics to racket/generics.
After discussion with Eli.
2012-05-24 16:50:42 -04:00
Vincent St-Amour
e7e66ce41c Implement coercion for method tables.
For backwards compatiblity, method tables can be generated from old APIs.
2012-05-24 16:31:32 -04:00
Vincent St-Amour
1ec2bc0ea4 Add tests for generics. 2012-05-24 16:31:31 -04:00
Vincent St-Amour
36980c262f unstable/generics: define-methods' -> methods'
`define-methods' is a bad name for an expression form.
2012-05-24 16:31:31 -04:00
Eli Barzilay
a3ad719b52 Leftover file that wasn't added with the `tests/profile' refactoring. 2012-05-24 11:53:03 -04:00
Eli Barzilay
6260b4c239 Streamline more test suits. 2012-05-24 11:27:13 -04:00
Eli Barzilay
f55eba70c0 Just have string-replace' now, with an #:all?' keyword (defaulting to #t). 2012-05-24 10:40:20 -04:00
Eli Barzilay
37a1c0af91 Add string-replace' and string-replace*'.
Committed as a checkpoint, since I convinced myself that a single
function with a keyword is better, given that the rest of the simplified
functions operate on the whole string.
2012-05-24 10:40:20 -04:00
Eli Barzilay
784857e9fa Add `string-split'. 2012-05-24 10:40:20 -04:00
Eli Barzilay
dcf2754a57 Clarify `regexp-split' on an empty input.
The text that says that (regexp-split #rx"whatever" "") returns '("")
rather than '() is

  If `input' contains no matches [...] the result is a list containing
  input’s content [...] as a single element.

This is a little implicit, if you consider such an input as having
nothing left to match over so it's as if there is no input (with a port
this confusion is a little clearer).

Clarify with an example in the docs, and also add tests.
2012-05-24 10:40:20 -04:00
Eli Barzilay
6318df82e5 Drop the now-redundant " " argument from existing uses of `string-join'. 2012-05-24 10:40:20 -04:00
Eli Barzilay
29beae55c1 Redo string-trim' and string-normalize-spaces'.
This is following the mailing list discussion.  In addition get
`string-join' more in-line with these by making its `sep' argument
default to a space.
2012-05-24 10:40:20 -04:00
Asumu Takikawa
abf9223203 TR: Fix type-checking of hash literals. 2012-05-23 15:49:38 -04:00
Asumu Takikawa
f4f6f8c52c For abstracts, the super method just calls void.
Since mixins rely on super calls to possibly abstract
methods, we want to ensure that the super call will not
error when it gets to an abstract method. However,
external method calls should still raise an error for
abstract methods.
2012-05-22 16:00:42 -04:00
Asumu Takikawa
ef3abb3a72 Add tests for abstract methods. 2012-05-22 15:59:16 -04:00
Asumu Takikawa
6cead90c1f Fix bug in method concretization for interface ctcs
There was a bug (unrelated to the last) caused by a
bad mutation of a method table when creating copies of
classes for interface contracts.
2012-05-18 00:17:54 -04:00
Asumu Takikawa
9d5aa5eec5 Fix a bug with class/c & interface ctc interaction
Method concretization did not occur properly when particular
class contracts were applied along with interface contracts.
2012-05-17 22:36:48 -04:00
Matthew Flatt
b7d5aed8d7 add "alias" and "converted-arguments-variant" properties
The properties appear in the inlining expansion of an application
of a keyword-accepting function, and they're mainly intended for
use by Typed Racket.

The property keys are hidden, so that the property value can be
trusted as originating from `racket/base'. The accessor functions are
`syntax-procedure-alias-property' and
`syntax-procedure-converted-arguments-property' from
`racket/keyword-transform'.
2012-05-17 10:58:22 -06:00
Jay McCarthy
e12e559878 Fix breakage from 3fceae2715 2012-05-17 10:29:55 -06:00
Matthew Flatt
9093acbfb8 fix non-portable test 2012-05-17 08:40:34 -06:00
Matthew Flatt
ca33321aa7 fix phase-shifted compile-time use of `variable-reference->namespace' 2012-05-16 10:41:09 -06:00
Stevie Strickland
3dcc8ec92f "broke it's contract" -> "broke its contract" 2012-05-16 11:44:09 -04:00
Matthew Flatt
65313a82a7 add a #:build?' argument to directory-list' 2012-05-16 09:43:23 -06:00
Stevie Strickland
3d8c1e200a Fix unit contract tests to cope with contract error message changes. 2012-05-16 11:37:41 -04:00
Matthew Flatt
9270936a28 instantiate require'd modules in the order that they are require'd
This order is now specified, whereas the order was previously unspecified,
and the previous reverse order was an artifact of the implementation.
2012-05-16 07:12:27 -06:00
Robby Findler
3fceae2715 adjusted the contract error messages so that the words expected/promised
are switched in and out based on the sense of the blame (similar to a recent
change that made given/produced swap in and out)
2012-05-15 22:08:42 -05:00
Matthew Flatt
e35337dcfd add `relative-in' 2012-05-15 20:03:41 -06:00
Matthew Flatt
ca2659698e fix binding-to-symbol module path translation for `submod' 2012-05-14 21:57:10 -06:00
Matthew Flatt
a4bd18ff01 fix `syntax-local-module-exports' to work with submodules 2012-05-14 21:57:10 -06:00
Matthew Flatt
0653d1c966 add `syntax-local-submodules' 2012-05-14 21:57:09 -06:00
Matthew Flatt
cee18bd887 fix expansion state on `provide' transformer exception 2012-05-14 21:57:09 -06:00
Matthew Flatt
b374d0d015 ffi: fix big-endian s->c conversion of bytes and shorts 2012-05-14 21:57:09 -06:00
Robby Findler
005d3b7218 add context information to hash/c (also, rackety) 2012-05-14 21:43:46 -05:00
Matthew Flatt
29a401b692 racket/sandbox: treat linked collections like others 2012-05-14 09:35:06 -06:00
Matthew Flatt
ea8a6a1076 fix for-syntax `set!' of unbound identifier to be a syntax error 2012-05-14 09:14:01 -06:00
Robby Findler
dfad46cd7a added blame context information to vector/c and vectorof contracts 2012-05-13 08:38:57 -05:00
Robby Findler
2eb3264b44 added a test to make sure struct/dc signals an error when getting an impersonator
contract on an immutable field that has no dependencies
2012-05-12 22:09:09 -05:00
Matthew Flatt
d836cba7c9 refine lexical scope for syntax objects from different modules
For example, if definitions have two unmarked `x's that originate
from different modules, make them correspond to different bindings.

This improvement will be used by `scribble/srcdoc', which will
rely on module context to connect `for-doc' requires to documentation
code that appears in the same module --- which is needed, for example,
if a macro expands to documentation code and the macro is used in
a different module.
2012-05-12 00:59:14 -06:00
Matthew Flatt
8fc3d25be4 cm: collect dependencies for submodules 2012-05-12 00:55:12 -06:00
Matthew Flatt
dbd940611e allow #f as shift for `syntax-shift-phase-level' 2012-05-12 00:55:12 -06:00
Robby Findler
698c895413 adjust struct/c so that it just expands into struct/dc 2012-05-11 22:07:52 -05:00
Eli Barzilay
7f940de6f9 Fix `array-set!' for arrays of more than 2 dimensions.
Closes PR 12765.
2012-05-11 06:18:21 -04:00
Robby Findler
9401a537e0 extend the opters to track if a contract has any negative blame
(this is similar to being flat, but struct contract (lazy ones) can
be non-flat and still have no negative blame).

Use this to optimize struct/dc contracts; specifically when a contract
has no negative blame, then we don't need to add additional wrapping
for indy-ness.

This ended up being fairly tricky to handle the case where there
are several mutually recursive define-opt/c functions. The code
tracks which definitions depend on which ones and does a graph traversal
of the dependencies to find if there is any non-negative blame
possible. Naturally, this uses Racket's macro system to communicate
between the definitions.
2012-05-10 21:59:39 -05:00
Matthew Flatt
2d027e7ee5 scribble/eval: add eval:result' and eval:results' 2012-05-09 19:11:21 -06:00
Ryan Culpepper
00fd18bc62 db: various fixes and additions
- fix connection-pool for nested tx, fix race condition
 - ensure connected? always nonblocking
 - added and reorganized some doc sections
 - added grouping, contracts to in-query
 - added rows->dict
2012-05-09 09:17:52 -06:00
Ryan Culpepper
902ba68dfb db: add servlet-based test 2012-05-09 09:17:52 -06:00
Ryan Culpepper
745607a51d added unstable/cat 2012-05-08 14:50:28 -06:00
Asumu Takikawa
a8994c7261 Revert "Add contract-add-context to contract system."
This reverts commit f3b687c8ed.

After discussion with Robby and Stevie, we concluded that
this procedure isn't necessary for now. If we ever think
of more examples where it's useful we can bring it back.
2012-05-08 12:58:49 -04:00
Vincent St-Amour
e786149434 More precise type for flexpt. 2012-05-08 11:42:21 -04:00
Matthew Flatt
9a41129c69 racket/flonum: add `flexpt' 2012-05-07 20:41:14 -06:00
Ryan Culpepper
0b8b0c36ef fix check-requires for submodules 2012-05-07 14:46:13 -06:00
Robby Findler
5996e8f480 finish up struct/dc 2012-05-07 10:36:44 -05:00
Robby Findler
64603d0c27 adjust the opter protocol so that opters can say either: "yes this is
a chaperone contract", "no it definitely isn't" or "evaluate this code
at runtime to find out"; previously only the first two options
were available to opters

(this commit also includes other tweaks here and there so won't stand alone)
2012-05-07 10:36:44 -05:00
Robby Findler
04017d83d5 start adding struct/dc contracts 2012-05-07 10:36:39 -05:00
Eli Barzilay
a4381dd1f6 Do the xref test only if "doc/reference/out.sxref" exists/
(Since the nightly build includes the documentation only on the main
machine.)
2012-05-07 09:12:00 -04:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Eli Barzilay
084f1dcea7 Use the new `wrap-line' in the scribble text renderer.
Looks like it's not making any changes in the current tests (which use
the text renderer), but with words that are longer than the width the
old version would stop wrapping afetr these words.  Added a test file
that fails with that and succeeds with the new one.  If anyone cares
about this, it's easy to make hyphenate words that are too long for a
line.

(Also fixed some redundant frustration in the bib test...)
2012-05-06 08:17:36 -04:00
Eli Barzilay
36394500e5 Streamline all scribble tests. 2012-05-06 05:53:19 -04:00
Eli Barzilay
d28b0c0806 Use `scribble/text/wrap' in xrepl.
(Also organize the tests a little.)
2012-05-06 05:38:04 -04:00
Eli Barzilay
3cb4552e32 Minor fixes to `tests/lazy'.
* Make each test file runnable using `module+'.

* Make the space tests not print anything (unless they fail, of course).

* Make the `first-class?' case even "more first class" by defining their
  and/or as functions.  (Doesn't make a real difference for this test,
  but nice to test more of the language.)
2012-05-06 05:38:04 -04:00
Eli Barzilay
4adc10b071 Fix test: use a new directory for the submodule tests 2012-05-06 05:38:04 -04:00
Eli Barzilay
89b9ad0dde New wrap-line' function in a new scribble/text/wrap' module.
This should probably become documented if it's stable enough.  For now
it's intended for building wrapping functions, so it's only documented
in comments the file.
2012-05-06 05:38:04 -04:00
MartyNeal
6e1ee717f7 Fixed `stream-add-between'.
Don't put an extra seperator element at the end of the stream.  Brings
it in-line with the list version (`add-between') and sequence
version (`sequence-add-between').  Includes a test.
2012-05-04 20:18:38 -04:00
Asumu Takikawa
61784877a0 Fix blame for behavioral subtyping.
- negative parties of interface contracts should be
    the interface itself
2012-05-04 17:24:55 -04:00
Stevie Strickland
14da5dacc5 Small fixes.
* Use #f instead of (lambda () #f) in hash-ref call
 * We want the positive blame, not negative, when interface-contracted
   methods are passing through a class/c application.
 * Use (interface <i>) and (class <c>) for interface and class blame.
2012-05-04 17:24:55 -04:00
Asumu Takikawa
670154bd2b First cut of working interface contracts.
- still need to fine-tune code (maybe avoid lists)
  - is the blame story correct?
  - weak hash table for new class copy
  - interaction with class/c
2012-05-04 17:24:55 -04:00
Asumu Takikawa
6f4ad1de25 Add contracts to interface syntax & structures 2012-05-04 17:24:55 -04:00
Asumu Takikawa
f3b687c8ed Add contract-add-context to contract system.
This procedure is used to add blame contexts to an
existing contract. This prevents the need to re-create
the contract in order to add blame contexts.
2012-05-04 02:52:46 -04:00
Matthew Flatt
4292c6e037 fix docs for `box-cas!', fix JITted version to check mutability 2012-05-03 21:38:36 -06:00
Matthew Flatt
19d474d045 fix some tests related to the make-color' and make-pen' addition 2012-05-03 19:22:58 -06:00
Matthew Flatt
0d88a08c48 implement branch mode JIT generation for `box-cas!'
Also, move slow path into common code
2012-05-03 19:22:46 -06:00
Aaron Turon
868dcb6d57 Add box-cas!' and unsafe-box*-cas!'.
These primitives atomically update a box to a new value, as long
as the current value is the same as a provided value.  They also
are future-safe.

When futures are enabled, they use low-level hardware instructions
to perform the change atomically.
2012-05-03 19:19:24 -06:00
Matthew Flatt
5ffb9389ac fix `raco setup' for splicing collections
Closes PR 12676
2012-05-03 11:11:38 -06:00
Vincent St-Amour
a2a60cb924 Fix TR test for new contract error message format. 2012-05-02 15:14:39 -04:00
Vincent St-Amour
a62444fa3e Optimize integers used as sequences. 2012-05-02 15:14:37 -04:00
Matthew Flatt
68e005fb2c racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen}
Also, use keywords for `make-pen' and `make-brush'.

Adding `make-pen' and `make-color' creates many conflicts among
teaching libraries, such as `2htdp/image'. These are easy to fix
up in the tree, but adding such obvious names to `racket/draw'
may create other compatibility problems, so we might have to reconsider
the names.

In consultation with Asumu.
2012-05-01 21:04:40 -06:00
Asumu Takikawa
8db45eb557 Add immutable constructors for color%, brush%, pen%
- Make set-immutable a local method and document
    is-immutable? as a public method
  - Add some racket/draw tests
2012-05-01 21:20:52 -04:00
Matthew Flatt
54a6ba8d36 racket/sandbox: change syntax-object wrappers generated for locations
Generate wrappers consistent with a reader-level absence of `.'s,
instead of wrapping every pair. This change fixes the `syntax-e'
example in the Guide's description of syntax objects.
2012-05-01 16:48:15 -06:00
Matthew Flatt
4ac4e2e8d6 fix a problem with the "self" module path index
This bug was introduced recently by changes to support submodules.

Closes PR 12744 (and Robby had reported it earlier)
2012-04-30 23:37:20 -06:00
Robby Findler
4694a9874f added line numbers to the syncheck test cases (and removed bogus comment) 2012-04-30 14:39:27 -05:00
Matthew Flatt
eee60c7d47 fix a test suite to work on its own 2012-04-30 06:55:20 -06:00
Robby Findler
b66f716374 adjust the unit contract tests for the new contract error messages 2012-04-29 21:45:07 -05:00
Asumu Takikawa
cd67536738 class/c: allow local method names
Prior to this change, a method/field name defined with
define-local-method-name was not contractable.
2012-04-27 13:00:48 -04:00
Matthew Flatt
393e8b90b2 fix sorting bug in bytecode submodule table 2012-04-26 21:45:00 -06:00
Asumu Takikawa
841b190ef7 Fix local member info leak due to opaque class/c
Prior to this change, the use of opaque class contracts
could reveal the printed names of local members names
in a class.
2012-04-26 14:45:50 -04:00
Matthew Flatt
5e4b9e3aca racket/draw: pens and brushes from lists should be immutable
Closes PR 12732
2012-04-26 08:45:17 -06:00
Matthew Flatt
9ba663aa77 preserve submoduleness in module path index for expanded submodules
The preserved path is exposed by a new `module-path-index-submodule'
function, and `module-path-index-join' now accepts an optional
submodule path.

Also, fixed a problem with `collapse-module-path-index' when
a module path indx is built on a resolved module path that
is a submodule path.

In addition to the main repair, `collapse-module-path[-index]' is
correctly documented to allow '(quote <sym>) rel-to paths.

Finally, `collapse-module-path-index' changed to use a symbolic
resolved module path that appears as the base of a module path
index, rather than falling back to the given rel-to path. It's
possble that the old beavior was intentional, but it wasn't tested,
and it seems more likely to have been a bug.

Closes PR 12724
2012-04-24 21:10:28 -06:00
Matthew Flatt
3c615e434b fix resolution of relative module path in a submodule
Closes PR 12729
2012-04-24 16:15:29 -06:00
Jay McCarthy
ae38ecc564 Adding new options re Galler 2012-04-24 14:49:33 -06:00
Robby Findler
723ad6207c add opening a file (and (hopefully) waiting for the coloring to finish)
and run the test three times, instead of just once
2012-04-22 08:57:50 -05:00
Robby Findler
17a723a63e Improve the contract error messages:
- add context information, so we can see which part of the contract failed
 - re-arrange some of the information in the contracts
2012-04-21 16:55:03 -05:00
Eli Barzilay
6f215759ae Add string-trim' and string-normalize-spaces'. 2012-04-19 16:02:03 -04:00
Matthew Flatt
8600e7fe31 fix misplaced phase shift in submodule expansion
Merge to 5.3
2012-04-19 12:45:28 -06:00
Matthew Flatt
862e1628a6 fix Planet resolver for submodule tests
For example, `(module-declared? '(submod (planet dyoo/bf) reader) #t)'
shouldn't fail if there's no "main.rkt" to hold a `reader' submodule;
it should return #f.

Merge to 5.3, but updating cstartup.inc will require a manual merge.
2012-04-19 08:15:11 -06:00
Stevie Strickland
d76b0dac78 Fix contract names for ->m, ->*m, case->m, and ->dm contracts.
This should be merged into the 5.3 release branch.
2012-04-18 15:27:36 -04:00
Robby Findler
81252541dc add context to blame error messages
This is using the same idea that Stevie had, more than two
years ago(!). Sorry for not picking up on this earlier
2012-04-17 22:57:57 -05:00
Eli Barzilay
1c9de39348 Rename #:gap-select' -> #:gap-select?' and some minor doc fixes. 2012-04-17 15:56:10 -04:00
Eli Barzilay
115a3dfbac Make it possible to run each scribble test file by itself. 2012-04-17 14:04:57 -04:00
Vincent St-Amour
8cbd26899f Include both float zeroes in Non-Negative and Non-Positive types.
Closes PR12706.
2012-04-16 17:51:04 -04:00
Matthew Flatt
1bcf56f5e9 fix problem with continuations and `call-in-nested-thread'
Closes PR 12705

Merge to 5.3
2012-04-16 13:33:50 -06:00
Matthew Flatt
38e628be80 ffi/com: add support for type descriptions on values 2012-04-16 08:47:13 -06:00
Matthew Flatt
ff378d12ce fix interaction of delimited continuations and stack overflow
Closes PR 12702, 12704

Merge to 5.3
2012-04-15 05:37:45 -06:00
Matthew Flatt
4179cbfa63 enforce ranges on all integer types
DO NOT merge to 5.3
2012-04-15 05:37:44 -06:00
Matthew Flatt
6566bf5d15 fix most-negative number and _int64 on a 64-bit platform
Closes PR 12703

Merge to 5.3
2012-04-15 05:37:44 -06:00
Ryan Culpepper
9f492c10a7 db: fix mysql large blobs, other changes
MySQL:
 - support multi-packet data rows
 - fixed very old length-coding bug (24 vs 32 bit length)
 - support large params via long-data packets
 - 'any' pseudo-type for parameters
 - distinguish 'blob'/'text', 'var-string'/'var-binary'
 - read 'text' results as string, not bytes
SQLite3:
 - enabled sql types tests
2012-04-14 19:47:32 -06:00
Robby Findler
7bd1d5ed9b fix the contract-name accessor for struct/dc contracts 2012-04-14 15:14:21 -05:00
Robby Findler
5e03c7cf99 Added struct/dc and cleaned up a bunch of stuff in the contract
library (mostly in opt/c)

Specifically:

- add inlining declaration for ->i helper function

- modernized the opt/c contracts and improved them so that mutually
  recursive define-opt/c functions recognize each other instead of
  bailing out to the slow path.

- added =/c as an optimized contract

- improve the error message for the between and comparison opt
  contracts

- adjust the blame struct so the name is created lazily, since opt/c
  contracts just stick a copy o the contract into the thunk that
  creates the name and we don't want to run those effects twice if we
  can help it.
2012-04-12 22:49:50 -05:00
Matthew Flatt
7b322c151d fix `record-dc%' test
Merge to 5.3
2012-04-11 11:49:01 -06:00
Matthew Flatt
3ecf06a8ba generalize `xml/plist' to read/write any plist value
Merge to 5.3
2012-04-10 16:38:54 -06:00
Matthew Flatt
1914345af4 fix submodule re-`expand' problem
Closes PR 12691

Merge to 5.3
2012-04-10 15:57:50 -06:00
Matthew Flatt
c64c55b86f fix mzlib contract name test
Merge to 5.3
2012-04-10 15:57:50 -06:00
Matthew Flatt
104e70bf65 fix JIT bug related to list-ref' and list-tail'
Closes PR 12688
2012-04-08 17:16:36 -06:00
Robby Findler
1a9ab0b018 made class/c use the name from the context for the name of the contract, when available 2012-04-06 16:21:10 -05:00
Robby Findler
483dde9ea8 add keywords as values that coerce into contracts
adjust 'one-of/c' and 'symbols' so they just use or/c (when possible)

improve or/c's stronger check so that, in the case that or/c is
getting eq or equal contracts, or/c's stronger check is as good as
'symbols'/'one-of/c's stronger check is.
2012-04-06 16:21:07 -05:00
Jon Rafkind
6531ce7547 [honu] use a local macro inside a where expression 2012-04-06 12:36:18 -06:00
Robby Findler
aaa15946fc contract stronger fix for contract structs 2012-04-05 23:18:22 -05:00
Vincent St-Amour
e26201b4f6 Fix type of * with no arguments.
Closes PR 12679.
2012-04-05 19:18:20 -04:00
J. Ian Johnson
3caf0aca23 Sort bibliographies by authors' last names.
(Tweaked by Vincent.)
2012-04-05 19:04:54 -04:00
Matthew Flatt
6afc9d5e8c racket/gui: fix reparent' with a pane%' target 2012-04-03 18:36:28 -06:00
Matthew Flatt
89ef600b6e ffi/unsafe/com: com-object->eq?' implies equal?' 2012-04-03 18:36:27 -06:00
Stevie Strickland
f37ff698b4 Rewrite hash-keys so that only keys, not values, are accessed.
This distinction is important after the introduction of chaperones and
impersonators, since accessing a key and accessing its corresponding value
may have different effects, and hash-keys should only trigger the former.
2012-04-03 12:52:03 -04:00
Matthew Flatt
3bf5389237 racket/gui: fix `slider%' range checking
Closes PR 12669
2012-04-02 15:25:47 -06:00
Jay McCarthy
1d19a844f4 Moving tests re: Sam 2012-03-30 23:54:42 -06:00
Kevin Tew
f777020eef [Distributed Places] Renamed uses of vm to node, removed export of coercion functions 2012-03-30 11:58:39 -06:00
Robby Findler
7e86c04847 update module language part of language-test.rkt for submodules 2012-03-30 10:44:42 -05:00
Robby Findler
5c7a299c04 make DrRacket run test submodules (in the module language) by default.
Add an option in the language dialog to disable that behavior
2012-03-29 22:12:14 -05:00
Jay McCarthy
1fd8865e23 Fixing PR12658 2012-03-29 16:06:32 -06:00
Jay McCarthy
13e36fbec4 Autobib errors with no authors or dates on a bib entry. Test included. 2012-03-29 15:44:27 -06:00
Matthew Flatt
d67997293d switch places tests to raco test' instead of racket -tm' protocol 2012-03-29 14:55:14 -06:00
Matthew Flatt
738cac3d24 generalize `malloc' to allow a 0-sized request
Past experience suggests that this is generally better than adding
`zero?' tests at various places that might otherwise call `malloc'.
2012-03-29 14:55:14 -06:00
Danny Yoo
0cfb3f1d39 fix flush for `make-pipe-with-specials'
Closes PR 12659
2012-03-29 14:55:13 -06:00
Matthew Flatt
f301838511 fix a syntax-object problem related to module bindings
The immediate symptom was that `(provide (all-defined-out))'
didn't work in a `module+'-based submodule, but there were
also non-submodule ways to expose the problem.
2012-03-29 14:55:13 -06:00
Vincent St-Amour
69899c33fc Fix type of expt.
Closes PR 12660.
2012-03-29 15:39:24 -04:00
Vincent St-Amour
054f4d9b56 Fix optimization of first, rest, etc. 2012-03-29 15:39:24 -04:00
Matthew Flatt
140a50d04e fix a problem with submodule expansion 2012-03-29 06:46:58 -06:00
Robby Findler
cd576ffb3c adjust the easter egg test suite so it can be loaded by Sam's lib
to run all kinds of days.

also fix a bug so that it properly resets the prefs back to the
defaults (and thus has to explicitly set the language)
2012-03-29 07:32:18 -05:00
Kevin Tew
7fde2894d1 Distributed place cleanup due to feedback from Matthew
Removed use of (get-current-module-path)
Removed /2s
Removed use of vm and compute adjetives
2012-03-28 18:53:37 -06:00
Kevin Tew
bba967144b quote-module-name and quote-module-path now take an optional submodule path
(quote-module-name "..")
(quote-module-path ".." 'A 'B)
2012-03-28 18:52:02 -06:00
Matthew Flatt
4b36e708a3 fix `record-dc%' problem with regions
Closes PR 12655
2012-03-28 06:26:58 -06:00
Matthew Flatt
4f197f4ba9 racket/draw: add get-handle' to bitmap%'; add `make-handle-brush'
The `get-handle' method provides the underlying Cairo surface for
a bitmap, while the unsafe `make-handle-brush' function supports the
use of a Cairo surface as a `brush%'.

Also, add `racket/draw/unsafe/cairo-lib', which simplifies access
Cairo from external libraries. Documenting `racket/draw/unsafe/cairo'
might be better, but that's a lot more work.
2012-03-27 18:14:26 -06:00
Robby Findler
e777796a74 fix recently introduced bug in drracket test suites 2012-03-26 17:13:42 -05:00
Robby Findler
617df05ef7 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)
2012-03-26 15:43:56 -05:00
Matthew Flatt
9143c1c7df fix `syntax/loc' to preserve properties 2012-03-25 19:25:35 -06:00
Eli Barzilay
cffed0fab4 Test suite for `known-module', should have been included in the xrepl change. 2012-03-25 21:01:57 -04:00
Eli Barzilay
89dee6f6c1 Xrepl improvements, mainly around the treatment of module names.
* Get rid of the concept of `modspec': `getarg' now has `require' for
  require specs and `module' for a module name (the latter is what all
  previous uses of 'modspec except for ,require really needed); command
  descriptions use "<require-spec>" and "<module>", documentation
  adjusted as well.

* `module-name?' etc turn to `known-module' and `known-module-name',
  with a saner behavior, and tests to keep it sane.

* This cleans up a lot of things.  Two specific points: ,switch works
  better with toplevel-defined modules (see the corresponding change in
  the test suite), and also fixes PR 12148.

* Ensure that ,sh commands return void.

* Add tests for ,r with non-atomic require spec, and for use of $F in
  ,sh commands.

* Improved the test suite, including uses of `module+' so each file can
  be run by itself to perform a subset of the tests.
2012-03-25 20:57:52 -04:00
Sam Tobin-Hochstadt
c5e30d8af5 Use the correct #%app for applications of `local' bound identifiers in the student languages. 2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
a39001911c Improve filter for `path-string?'. 2012-03-24 16:04:08 -04:00
Matthew Flatt
ae89e210fb allow (submod "..")' as a shorthand for (submod "." "..")'
Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
2012-03-22 18:43:11 -06:00
Kevin Tew
d4d5ca70fb Hold reference to original thread during BEGIN_ESCAPABLE in place-channel sync
Fixes several bugs related to killed threads that were in the middle of
syncing on place-channels.
2012-03-22 14:52:48 -06:00
Ryan Culpepper
74ca931f5a more template improvements
- loosen pattern variable depth rules (now compatible with syntax)
- generalize ?? form to head-templates
- doc improvements
- propagate paren-shape property
2012-03-21 17:48:10 -06:00
Ryan Culpepper
6c369f2563 updates to syntax/parse/experimental/template
- changed substitute to use closure-compilation
- added stress/perf test for templates
- updated minimatch with vector patterns
- split substitute into separate file, minimize dependencies
- do ellipsis optimization dynamically
- validate guides: check var indexes
2012-03-21 17:33:08 -06:00
Jon Rafkind
a606f6614b [honu] add two more tests 2012-03-20 11:32:46 -06:00
Jon Rafkind
918c87e96b [honu] return the current expression when a semicolon is parsed 2012-03-20 11:32:46 -06:00
Matthew Flatt
47ae2b387a fix shaodwing problem in `module*' 2012-03-20 07:28:35 -06:00
Sam Tobin-Hochstadt
56120d9697 Fix types for regexp-match*' and regexp-match-positions*'.
Note that the keyword arguments themselves are not yet typed.
2012-03-19 15:59:34 -04:00
Vincent St-Amour
999de5a488 Fix bug in autobib's handling of urls. 2012-03-19 11:10:22 -04:00
Robby Findler
9bc1684c9b fix problems with user-defined keybindings and the example in the docs
as reported on the dev mailing list by António Menezes Leitao
2012-03-19 09:58:59 -05:00
Ryan Culpepper
8392f20b8f db: fix async test for mysql 2012-03-18 04:57:41 -06:00
Jay McCarthy
145efa622e Adding #lang web-server/base 2012-03-16 11:54:46 -06:00
Jay McCarthy
a55029cf76 Fixes PR12638 2012-03-16 11:54:46 -06:00
Kevin Tew
666c0fdb57 Fix sync/timeout hang due to place channels 2012-03-16 08:18:05 -06:00
Ryan Culpepper
e13cce267d macro-debugger: workaround for instrumentation problem in provide
The expansion observer is not propagated to expand_all_provides.
2012-03-14 23:19:25 -06:00
Ryan Culpepper
57bdb62547 macro-debugger: fix deriv parser for begin-for-syntax 2012-03-14 22:25:42 -06:00
Jay McCarthy
aaf53cb1d2 Fixing recent errors 2012-03-14 13:04:30 -06:00
Jay McCarthy
240dbc3c3d Renaming slice usage 2012-03-14 12:46:25 -06:00
Ryan Culpepper
1b7368f80c db: fix memory leaks
- sqlite3: table prevented pst gc unless close-on-exec
 - statement cache wrongly disabled close-on-exec
   (not a leak, just gc'd very slowly)
 - limit statement cache size
2012-03-13 19:50:08 -06:00
James Ian Johnson
6e7fb4e7ef Bibliographies had a nondeterministic render order. Fixed. Added tests for disambiguation. 2012-03-13 18:38:31 -04:00
Matthew Flatt
99639c1999 errortrace repair
Closes PR 12629
2012-03-13 14:35:49 -06:00
Matthew Flatt
415b1eabc4 more load[/use-compiled] handler fixes for submodules
Closes PR 12630
2012-03-13 14:31:40 -06:00
Matthew Flatt
e01ebf6095 try module+' in place of slice' 2012-03-13 14:31:40 -06:00
John Clements
8d6e9e79a4 cleanup and refactoring of run-teaching-program, minor teachpack stepper fix
It looks like run-teaching-program hasn't been touched in quite a while.
To begin with, the "rewrite-module" function used to add code to print
out values of non-define exprs, but this is no longer necessary. In fact,
the only thing that it does now is to discard "provide" statements, and
even this may be unnecessary. I rewrote big chunks of this (short) file
to introduce defines, eliminate unnecessary functions, and add stepper-
skip-completely annotations to the requires associated with teachpacks.

Also, it appears that the 'rep' argument to expand-teaching-program
was entirely superfluous; I removed it from the argument list, and also
from the three places in the main tree (deinprogramm, lang, and the stepper)
that call this function.

Let me know of any problems seen with teachpack requires....
2012-03-13 12:09:41 -07:00
Eli Barzilay
0eb5f09e23 Add #:match-select' and #:gap-select' keyword arguments to
`regexp-match*', and the two `-positions' variants.
2012-03-13 10:29:14 -04: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
Matthew Flatt
060515b9cd extend string-literal syntax to allow surrogate-style \u pairs
For example, "\uD834\uDD1E" is another way to write "\U01D11E",
while "\uD834", "\uDD1E" or "\uDD1E\uD834" are still errors.
2012-03-12 21:03:20 -06:00
Jay McCarthy
b1aae4a12d Outputing with chunked encoding 2012-03-12 16:16:19 -06:00
Jay McCarthy
1e80084c97 Reading chunked requests 2012-03-12 16:16:19 -06:00
Jay McCarthy
04fdfbb012 Preparing for implementing chunked encoding 2012-03-12 16:16:19 -06:00
Matthew Flatt
8b5a11a39d fix bug in `apply' expansion 2012-03-12 15:03:33 -06:00
Matthew Flatt
2811af1e59 fix test 2012-03-10 10:54:29 -07:00
Matthew Flatt
537f194c4e net/imap: add TLS support
Based on a patch from Thomas Spurden
2012-03-10 10:47:22 -07:00
Matthew Flatt
34314c1e7a fix JIT bug
The bug happens with n-ary uses of arithmetic operations that
have constant arguments but couldn't be constant-folded ---
maybe due to a divide-by-zero.
2012-03-10 08:30:01 -07:00
Jay McCarthy
f8325776cf racket/slice, expand raco test, remove begin-for-testing 2012-03-09 19:51:42 -07:00
Jay McCarthy
b73444a0f3 Adding module**, when-testing, and raco test 2012-03-09 15:54:18 -07:00
Matthew Flatt
85802f45f2 raco exe' uses a main' submodule, if any 2012-03-09 10:34:57 -07:00
Matthew Flatt
3a1e8803ff fix errortrace for submodules 2012-03-09 10:34:56 -07:00
Matthew Flatt
566759a5fa progress on submodule docs; bug fixes 2012-03-09 10:34:56 -07:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Jay McCarthy
4c9738effe Solve copyright problems wrt James Clarks' XML tests 2012-03-08 14:19:50 -07:00
Ryan Culpepper
fb7c7e3793 syntax/parse: added roles, other updates/fixes
expr/c uses role for contract label when avail
export ~peek-not (previously missed)
fixes for integrable stxclasses
2012-03-08 07:39:42 -07:00
Kevin Tew
09bed0d61e Initial Distributed Places commit
Distributed Places allows the spawning of remote racket processes and
places.  Distributed Places communicate transparently over TCP sockets.
2012-03-07 09:36:13 -07:00
Jon Rafkind
a94b7b9260 [honu] fix some tests. always reparse the right hand side of an operator 2012-03-05 13:48:52 -07:00
Jon Rafkind
249c7b02ca [honu] use syntax properties to differentiate parsed syntax from unparsed 2012-03-05 13:48:52 -07:00
Jon Rafkind
89f511fb3e [honu] bind all attributes from a syntax class. allow multiple expressions in a match list 2012-03-05 13:48:52 -07:00
Matthew Flatt
5630a3a1ca racket/sandbox: use `gui-available?' at sandbox creation
Previously, sandbox creation used `gui?', which is the result of
`gui-available?' at the time that `racket/sandbox' is instanited.
This change makes sandbox behavior less sensitive tothe order in
which modules `require'd into a program are intiantiated.

The change depends on a new `sandbox-make-namespace' default
function for `sandbox-namespace-specs'. The new function uses
either  `make-base-namespace' or `make-gui-namespace', depending
on whether the GUI library is available at that point.

A new `sandbox-gui-enabled' parameter can disable use of the
GUI library even if it is available.

The `gui?' binding is still exported for backward compatibility,
but it shouldn't be used anymore.
2012-03-02 07:47:16 -07:00
Matthew Flatt
a976c56cb9 openssl: more little fixes
Fix an error message broken by earlier debugging, and also
fix long-standing shutdown problems. Move basic tests to more
standard location.
2012-03-01 20:34:53 -07:00
Matthew Flatt
fc2eb1c11c openssl: fix error handling
The recent thread-safety change wasn't right.
2012-03-01 15:43:04 -07:00
Sam Tobin-Hochstadt
8055d9f5f8 Allow multiple right hand sides in match/values.
Closes PR 12613.
2012-03-01 15:05:51 -05:00
Matthew Flatt
1032ce8afe openssl: make ssl-set-verify!' and ssl-try-verify!' work on ports
Using the functions on a port triggers renegotiation of the
connection, which s useful for cases such as a web server that
requires a certificate only for certain paths. This functionality
also allows better testing of the SSL library.
2012-03-01 11:02:48 -07:00
Matthew Flatt
facb411a63 fix problems with place termination 2012-02-29 20:20:55 -07:00
Sam Tobin-Hochstadt
3267738425 Sort paths before fuzzing, to make drdr runs reproducible. 2012-02-29 12:01:37 -05:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Robby Findler
7d683c7faf fix error in blame assignment for -> with dot-args.
closes PR 12608
2012-02-28 20:15:58 -06:00
David Van Horn
b8d3219b1b Fix contract on filebox to reflect documentation. 2012-02-28 19:40:21 -05:00
David Van Horn
68b225c992 Rename scratch to avoid running by DrDr. 2012-02-28 19:06:14 -05:00
Matthew Flatt
6e42c92a50 add some interpreter vs. closure compiler benchmarks
Mostly for amusement, including the contrast between
the benefits of closure compilation for a host interpreter
versus the benefits for a host compiler.
2012-02-28 15:35:39 -07:00
Matthew Flatt
70ab6d482a fix problem with continuations
The problem was a misplaced allocation that could cause a GC
when the thread is in an unstable state in the process of
applying a continuation.
2012-02-28 15:35:38 -07:00
Jay McCarthy
ffcda4741f Fixing a safe-for-space error that Robby found 2012-02-28 14:15:07 -07:00
Vincent St-Amour
4a8f447dae Remove unstable/port.
`port->list' does all it can do.
2012-02-27 22:03:39 -05:00
Jay McCarthy
172c6379d1 Test is sensitive to heap locations 2012-02-27 12:20:49 -07:00
Vincent St-Amour
f420edc5ee Add range to racket/list. 2012-02-27 13:40:31 -05:00
Kevin Tew
3e0e4a3f6b Allow hashes across place channels. 2012-02-27 10:11:04 -07:00
Robby Findler
bd08e09b12 fix up the repl test now that picts dont render as bitmaps
(following up commits
  ad65164c5e and
  72b9199976)
2012-02-27 10:00:23 -06:00
Matthew Flatt
0dcc96c5eb fix JIT, `unsafe-struct-ref', chaperone, and procedure property 2012-02-27 06:57:44 -07:00
Matthew Flatt
f9247ff3a5 fix zip/gzip bug
Closes PR 12605
2012-02-27 08:34:26 -05:00
Matthew Flatt
188c6fdc66 add `log-max-level'
As suggested by Tobias Hammer
2012-02-26 22:13:02 -05:00
Matthew Flatt
bf5ab2a1c9 fix test to be reliable
The original variant depended on floating-point precision of pow().
2012-02-26 22:13:02 -05:00
Matthew Flatt
21a07ae9d6 fix problems with `(_fun #:in-original-place? #t ....)'
The old implementation could cause deadlock by blocking on a semaphore
while waiting for the original place to run a callback, but a master
GC might be needed (and the blocked place wouldn't get the signal).

Beside fixing that problem, a potential memory leak is fixed in
calling an ffi funcition and having a Racket->C unmarshaling fail.
Also, the GC marking routine for a `place' value didn't reference the
place's underlying `place_obj' value.
2012-02-26 22:13:01 -05:00
Matthew Flatt
f79e2b4ee0 fix problems with `record-dc%' and composition
Recorded clipping, transformations, and alpha didn't compose with
the target DC's existing clipping, transformations, and alpha.
2012-02-26 22:13:01 -05:00
Matthew Flatt
dc1d4e80dd fix incorrect GC decls hard-wired into xform
Closes PR 12602
2012-02-26 03:58:21 +00:00
Robby Findler
36323cf3be added a pict-snip test case 2012-02-25 21:42:40 -06:00
Robby Findler
df504d482e fixed bug in list/c's first-order checking code 2012-02-25 16:57:49 -06:00
Matthew Flatt
645ca02e92 racket/draw: add `record-dc%' 2012-02-25 20:57:56 +00:00
Sam Tobin-Hochstadt
678941ce5a Pass temporary value for Un' along in recursive call in substitute'.
Closes PR 12600.
2012-02-24 20:25:53 -05:00
David Van Horn
7491e172ea EOPL test suite re-written in Racket-based #lang eopl and rackunit
The eopl language is now racket-based rather than mzscheme-based.  This
test-suite, which was originally distributed on the book's web-site has
been re-written in the new language.  Changes include dropping all
drscheme-init.scm and top.scm files.  Remaining files were renamed to
use the .rkt extension and edited to use the #lang syntax (instead of
modulue).  Require and provide forms were changed to reflect racket's
syntax instead of mzscheme's (eg, only-in vs. only).  Several
occurrences of one-armed ifs were changed to use when and unless.  All
tests have been run successfully.
2012-02-24 14:46:18 -05:00
David Van Horn
b5a4ffcd55 Import allcode.zip into test suite. 2012-02-24 14:46:17 -05:00
Robby Findler
4eba0862cf fix struct-info related bug in provide/contract
that John Clements pointed out on the Racket
mailing list
2012-02-24 13:10:12 -06:00
Matthew Flatt
60c1bc6638 fix problem with `get-module-code'
As reported and fixed by Timur Sufiev
2012-02-24 17:06:20 +00:00
Robby Findler
9ffc18a000 adjust plai's gc2/mutator so that primitive applications are
special and primtives not in an application position is a syntax error
2012-02-24 08:15:03 -06:00
Matthew Flatt
a025f7e9c8 fix bug in bytecode optimizer
The bug is triggered by unsafe flonum operations, a
conversion that tries to make the arguments more unboxable,
and a `lambda' form within an argument to the unsafe
operation.

Closes PR 12587
2012-02-22 06:54:26 -07:00
Jon Rafkind
782664316d [honu] honu forms implemented in racket must call honu->racket on the parsed output. add an example to do ocaml style pattern matching 2012-02-21 16:19:09 -07:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Matthew Flatt
a12f9831a3 add optional newline argument to `base64-encode' 2012-02-21 06:14:44 -07:00
Sam Tobin-Hochstadt
a8bdb9d6ce Speed up and improve tc-literal. Now uses expected types more, and more sensibly.
Closes PR 12586.
2012-02-20 15:09:51 -05:00
Jay McCarthy
1b054eed1b Making change suggested by Norman Gray 2012-02-20 10:50:48 -07:00
Matthew Flatt
a884c91720 ffi/unsafe: add `array-length'
Closes PR 12576
2012-02-20 08:09:06 -07:00
Robby Findler
b811adda7c fix a bug in the collector (if 'free is a symbol used in the
mutator, then the 'find-free-space' functions could fail)
2012-02-20 08:56:30 -06:00
Robby Findler
b2a3b3a8a2 add xor, adjust implies following Carl's comments 2012-02-20 06:25:37 -06:00
Robby Findler
297db9b305 fix bug introduced recently by special cases for -> 2012-02-19 16:25:35 -06:00
Matthew Flatt
9ca0c34cb2 lazy: fix or' and and' to not force last argument
The `or' and `and' functions already worked correctly; this
fix is for `or' and `and' as applied directly to arguments, which
expands to the `racket/base' `or' and `and' forms.
2012-02-19 07:38:29 -07:00
Robby Findler
4b2f78477a added nand, nor, and implies to racket/bool 2012-02-19 08:05:11 -06:00
Robby Findler
ce6d1c042c add a test suite for racket/bool 2012-02-19 08:05:11 -06:00
Robby Findler
2d76c3bcab adjust -> contract so that (-> any/c ... any) contracts are now
flat contracts and using (-> any/c boolean?) uses predicate/c
without special intervention.

also, fix a bug in the opter contracts
2012-02-19 08:05:10 -06:00
Vincent St-Amour
240773ae6f single-flonum? is not provided by TR's internals anymore. 2012-02-18 23:23:59 -05:00
Matthew Flatt
530b353798 racket/draw: change font face name interpretation again
Treat a "face" as a font description only if it has a comma,
otherwise go back to treating it as a family name.

This change fixes the problem of parsing "Times New Roman"
as "Times New, Roman".
2012-02-17 11:25:15 -07:00
Matthew Flatt
11de33d4ff remove MysterX DLL, replace with wrapper around `ffi/com'
The ActiveX part of MysterX is gone. The `ffi/com' re-imeplemtnation
provides only core COM support.

The "mysssink" DLL is still needed, and its source is still
in the tree, but it is downloaded in the same way as other
pre-built DLLs. The DLL no longer needs to be registered with
regsvr32.
2012-02-17 06:37:19 -07:00
Matthew Flatt
f461d9f67d ffi: fix _x-pointer/null' when _x' has a supertype
This is more specifically a bug in `_cpointer/null', but it
shows up most easily through C structs.
2012-02-17 06:36:23 -07:00
Eli Barzilay
d379465baf Increase default timeout to 15m. 2012-02-17 07:29:52 -05:00
Vincent St-Amour
aa85692436 Clean up compiled test files to force recompiling. 2012-02-16 11:45:51 -05:00
Matthew Flatt
084278fabc handle-evt' cannot wrap handle-evt'
The prohbition against `handle-evt' on `handle-evt' is as
document and as originally intended. I'm not sure why it
was allowed.

Existing programs that use `handle-evt' incorrectly
can break. I found and fixed one incorrect use and one
questionable use in the Racket tree (which is a small
minority of the uses of `handle-evt' in the tree).
2012-02-15 18:59:24 -07:00
Vincent St-Amour
eca43387f6 Fix tests. 2012-02-14 18:20:35 -05:00
Vincent St-Amour
37ba3672d4 Wait for compile-time logs to be processed before running optimizer tests.
This should solve the log ordering problems that caused non-deterministic
test failures during the nightly builds.
2012-02-14 18:20:35 -05:00
Vincent St-Amour
84e2880715 Move post-processing of missed optimization inside Performance Report. 2012-02-14 18:20:34 -05:00
Matthew Flatt
08303d9db8 fix test to not write to stderr 2012-02-14 14:27:40 -07:00
Matthew Flatt
6cd2e3c71b add `prop:cpointer'
Extend `define-cstruct' to support #:property specs, which causes
the constructor and C->Racket coercsions to wrap the pointer in
a structure instance with the specified properties. Of course,
the wrapper structure has a `prop:cpointer' property so that the
wrapper can be used transparently as a C pointer.

Add missing tests and documentation for the id`->list', `list->'id,
id`->list*', and `list*->'id bindings created by `define-cstruct'.
2012-02-14 14:25:55 -07:00
Robby Findler
eda4d294cc Lost the snipclass with the name (lib "collapsed-snipclass.ss" "framework")
somewhere between 5.1.3 and 5.2.1. Bring it back.

closes PR 12563
2012-02-14 11:26:20 -06:00
Robby Findler
4763fb5189 drscheme => drracket 2012-02-14 11:26:20 -06:00
Matthew Flatt
967372c23d make an eventspace thread survive a break exception
When an eventspace is created, its thread implicitly calls
`yield'. It now effectively loops with `yield' and while
catching continuation aborts.

Closes PR 12566
2012-02-13 16:28:10 -07:00
Matthew Flatt
2c479683d1 add --launcher'/-l' flag to `raco exe' to create launchers
This addition triggered several other changes:

 * -k for a Mac OS X embedding is now relative to the __PLTSCHEME
   segment (which means that executables won't break if you strip
   them, for example)

 * the command-line no longer has a limited size for Mac OS X
   launchers and embedding executables

 * Mac OS X GUI and Windows launchers record the creation-time
   collection path, unless they are created as "relative" launchers
2012-02-13 16:27:51 -07:00
Matthew Flatt
573ce9492a add test for bad missing-glyph handling 2012-02-13 16:27:51 -07:00
Robby Findler
760ec887b9 split up the REPL test to get parallelism in drdr (and hopefully avoid timeouts) 2012-02-12 19:33:35 -06:00
Sam Tobin-Hochstadt
d0fbe825e6 Parameters can overlap with procedure types.
Closes PR 11993.
2012-02-12 14:30:36 -05:00
James Swaine
7114f08c0b Added tests for would-be-future
Minor fixes to would-be-future
Added futures-enabled? primitive
Added primitive name to future-event struct
2012-02-12 01:32:30 -06:00
Ryan Culpepper
5a1badf397 syntax/parse: added template metafunctions
Also fixed some bugs and added simple optimizations.
2012-02-10 22:12:54 -07:00
Sam Tobin-Hochstadt
4d21ab1019 Make inference understand the relationship between Vector' and Vectorof'.
Closes PR 12495.
2012-02-10 17:39:41 -05:00
Matthew Flatt
577f38f649 change `raco demod' test to write to temporary drectory
Also add `-o' option to `raco demod'.
2012-02-10 14:02:12 -07:00
Matthew Flatt
ecc4f4bbbe make a sandbox test much less likely to fail
Give it 20 seconds to run out of memory insteda of 2 seconds. The
test is still non-deterministic, though.
2012-02-10 14:02:12 -07:00
Vincent St-Amour
03ebf0d3de Update tests for new log format. 2012-02-10 11:30:20 -05:00
Matthew Flatt
6abb87069c fix error-message formatting
Closes PR 12565
2012-02-10 06:17:19 -07:00
Matthew Flatt
937cdf51d7 change `current-write-relative-directory' to support more path conversions
In particular, allow a pair of a relative-to directory and a base
directory. Paths that syntactically extend the base directory are
recorded as relative to the relative-to directory (which must
syntactically extend the base directory).

The compilation manager now sets the parameter to a pair with
the base directory as the main collection directory, if the source
file's path extends that directory's path.

This generalization solves problems created by cross-module inlining,
where the source location of a procedure in bytecode can now be in a
different file than the enclosing module's file.

Also add a test that checks whether the build directory shows up
in any ".zo", ".dep", or documentation ".html" files.

Closes PR 12549
2012-02-10 06:17:18 -07:00
Matthew Flatt
9b569aa9a2 adjust some libraries to avoid converting paths to strings too early
Early conversions leave absolute paths in bytecode and rendered
documentation.
2012-02-10 06:17:18 -07:00
Ryan Culpepper
06979954fa syntax/parse: added experimental template form
Also added more atomic patterns to syntax-parse (previously overlooked).
2012-02-10 05:26:13 -07:00
Matthew Flatt
284ba01db6 errortrace: skip annotation in namespace with wrong base phase
Closes PR 12551
2012-02-09 17:58:28 -07:00
Matthew Flatt
77bd401a2d fix problems with marks and module for-syntax
Closes PR 12538
2012-02-09 17:34:15 -07:00
Matthew Flatt
6d3a458847 fix reported arity of `map' et al.
Closes PR 12561
2012-02-09 16:49:34 -07:00
Eli Barzilay
88da3effc4 "indicies" -> "indices", as noted by Rodolfo Carvalho. 2012-02-09 13:59:20 -05:00
Eli Barzilay
0cd6876334 Disable Win/i386-crashing test. (See comment for the reason.) 2012-02-09 13:24:51 -05:00
Eli Barzilay
38b0451b56 Lib path typo. 2012-02-09 13:07:48 -05:00
Kevin Tew
6ababab853 fix multiple places imported into the same module 2012-02-09 10:04:57 -07:00
Kevin Tew
c2f5b7e0ed Pretty up places test code 2012-02-09 08:52:05 -07:00
Ryan Culpepper
654ccb277f db: added cursors 2012-02-08 22:32:51 -07:00
Ryan Culpepper
4c817d0f7f db: clean up and reogranize common impl code 2012-02-08 22:32:50 -07:00
Asumu Takikawa
db3c96a2a0 Added tests for opaque class/c contracts. 2012-02-08 22:47:16 -05:00
Kevin Tew
4f3bec1792 pr# 12542 fixed - All symbol types are now allowed across place channels. 2012-02-08 10:21:59 -07:00
Ryan Culpepper
e2404184ee syntax/parse: fix opaque head patterns and splicing syntax classes
closes PR 12537
2012-02-07 13:43:26 -07:00
Kevin Tew
2de9de9b26 place-channel-put: value not allowed in a message
prints out just the invalid object, not the whole message
2012-02-07 13:07:02 -07:00
Jay McCarthy
078540b17c Fixing another problem discover because of Galler 2012-02-06 09:12:42 -07:00
Matthew Flatt
8cf49dfdb1 fix format of some error messages
Closes 12536
2012-02-04 05:32:00 -07:00
Eli Barzilay
9f662b6467 Fix typo and minor improvement. 2012-02-04 03:03:17 -05:00
Matthew Flatt
c979e690a5 fix test to work right with imprecise GC 2012-02-02 06:32:55 -07:00
Eli Barzilay
76ab851d2a The "foreign-test.rktl" finally work on both windows machines.
To get the expected contents of the various environment variables, I
used a similar approach to what the build does in `grab_batch_vars':
* Start a cmd.exe shell (not a real shell)
* Dump the env into a buffer
* Run "... Studio/VC/vcvarsall.bat" (modifies envvars, which is why cmd
  is needed)
* Dump new env into a new buffer
* Sort both buffers and compare

Hopefully it still works also on Matthew's setup.

Two other small things:

* Use ".obj" suffix on windows to avoid warning.

* Catch error when trying to delete the .so file, since on the x86_64
  machine it throws an error.  (I'm not sure how it *doesn't* do that
  with the i386 machine.)
2012-02-01 21:51:47 -05:00
Jay McCarthy
47d626ee8b Fix for an error Galler found 2012-02-01 17:06:14 -07:00
Jon Rafkind
b74ad87160 [honu] wrap the condition of when expression inside parentheses. instantiate literal sets at the proper phase for honu macros 2012-02-01 16:05:41 -07:00
Jon Rafkind
712951d347 [honu] add fun as an alias to function 2012-02-01 16:05:40 -07:00
Jon Rafkind
54449d824c [honu] use a function keyword to define procedures and make lambdas 2012-02-01 16:05:40 -07:00
Vincent St-Amour
1b6cf730c3 Fix type of expt.
Closes PR 12526.
2012-02-01 16:50:40 -05:00
Vincent St-Amour
87887b7a18 Optimize n-ary fixnum comparisons (correctly). 2012-02-01 16:50:39 -05:00
Vincent St-Amour
e3be061171 Only optimize fixnum comparisons in the binary case.
Closes PR 12479.
2012-02-01 16:50:39 -05:00
Vincent St-Amour
5e7d67ffa7 Include more information in TR optimizer test failures. 2012-01-31 15:43:56 -05:00
Matthew Flatt
6a4d699f5f fix sandbox test to work on Windows 2012-01-31 07:14:25 -07:00
Danny Yoo
bbab60545e adding gvector-remove-last! 2012-01-30 16:14:22 -07:00
Matthew Flatt
706d5026ac fix bytecode compiler bug
Certain `lambda'-lifting operations can cause information
about the flonumness of a variable to get lost, leading
to a mismatch between the closure's flags and flags on
a variable reference. (The bytecode validator could detect the
bug when loading the broken bytecode. The broken information,
meanwhile, was only used by the JIT.)
2012-01-30 10:30:51 -07:00
Sam Tobin-Hochstadt
c16e48a083 Fix internal constructor name for struct:' so that struct-out' works.
Closes PR 12447
Related to PR 12516
2012-01-28 09:47:15 -05:00
Jon Rafkind
99daf6a9d1 [honu] fix tests 2012-01-26 15:23:20 -07:00
Jon Rafkind
d7a35c1eb8 [honu] use = for mutation to be consistent with other uses. put where clauses of list comprehensions on the right side 2012-01-26 13:32:51 -07:00
Jon Rafkind
a1869fa2f1 [honu] then is optional in "if". allow multiple sequences in for. add for/fold 2012-01-26 13:32:51 -07:00
Jay McCarthy
8be9abf1d4 Verify that the HTML tags really do have their empty-tag behavior 2012-01-25 16:48:11 -07:00
Jay McCarthy
ce73175427 Changing the defaults for empty tag shorthand in XML 2012-01-25 16:48:11 -07:00
Sam Tobin-Hochstadt
f70c1b213f `sort' now infers properly -- test passes.
Please merge to release.
2012-01-24 05:19:01 -05:00
Matthew Flatt
481e061440 adjust `raco ctool --c-mods' and related to work with places
That is, the generated declare_modules() function registers the
module-declaration code so that it is run in any new place, too.

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
c723aeeb6a fix position counting in `read-byte'
Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
6c4cd0e9c2 fix raco ctool --c-mods' for racket'
Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
350d0b1edf fix `raco make -j'
Closes PR 12491

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
eb0cbcb3c4 sort out for-require' vs. for-load' paths to a sandbox evaluator
The two became tangled in commit f7c16fc8, and then 952ae06105
adjusted the tangling in a way that broke code. This commit
further adjusts tangling in a way that hopefully causes fewer
compatibility problems, but it also splits inputs to
`make-evaluator' so that a programmer can choose more explicitly.
2012-01-19 13:14:02 -07:00
Robby Findler
c9e4c88b7c fix a bug in check syntax where it would attempt to (as part of the
coloring for blame assignment in check syntax) try to color
the right-hand side of a binding that actually comes from
a lambda-bound variable (and thus crash for not finding the
right-hand side)
2012-01-19 13:20:41 -06:00
Jon Rafkind
276cb4150d [honu] replace = with in 2012-01-18 14:15:54 -07:00
Jon Rafkind
6552d3f2cd [honu] allow classes to accept 0 constructor parameters. add 'to' as a binary operator that creates a list of numbers 2012-01-18 12:34:51 -07:00
Matthew Flatt
ddd246232e fix JIT-generated code in case of arity mismatch
The generated code was checking arity after potentially copying
arguments to the start of the runstack (i.e., if the arguments
were not already there). If too few arguments are provided, then
the copy might access past the end of the given array.

The redundant arity check removed in commit f7c506471b
had previously masked this problem. (Or the check wasn't redundant
in that sense, but it's better this way.)

Merge to 5.2.1
2012-01-17 07:33:58 -07:00
Matthew Flatt
6f528c7a17 fix and generalize errortrace detection of always-ok functions 2012-01-15 17:05:11 -07:00
Vincent St-Amour
ca11c2e4fa Add an alternate name for case->. 2012-01-13 11:28:36 -05:00
Vincent St-Amour
87a53159dd Union types instead of clobbering them in the type table.
This fixes a bug where only the last branch of a case-> type would get stored.
2012-01-13 11:28:36 -05:00
Matthew Flatt
60c418b20e fix `find-files' to convert an initial string into a path
Merge to 5.2.1
2012-01-13 07:15:15 -07:00
Matthew Flatt
8c092f093b clean up and generalize optimizer support for omittable primitives
For example, the optimizer knew to drop `(cons x y)' if the result
is unused, but not `(pair? x)'.
2012-01-11 06:58:39 -07:00
Matthew Flatt
7850a26dfe fix bytecode optimizer bugs
Certain unsafe operations were allowed to propagate across a
`lambda' boundary (where space safety is known not to be an issue),
which could lead to duplicate uses of a "once used" variable if
the relevant `lambda' is inlined.

Furthermore, `lambda' boundary crossing wasn't detected in the case
that the operation to propagate was propagated through an intermediate
variable without a `lambda' crossing.

Merge to 5.2.1
2012-01-11 05:30:11 -07:00
Matthew Flatt
ff41a896bc add ffi/com', ffi/unsafe/com' 2012-01-10 18:35:32 -07:00
Matthew Flatt
8b54dc43c8 fix problem printing symbols with unicode chars
Specifically, special-casing letters (such as sigma) were not
handled correctly.

Merge to 5.2.1
2012-01-09 16:55:39 -07:00
Matthew Flatt
7b4fd9b275 make draw-mem test more reliable 2012-01-09 16:08:28 -07:00
Matthew Flatt
23010fc495 add #:fail' option to collection-file-path' and `collection-path'
Merge a variant to 5.2.1
2012-01-09 15:59:05 -07:00
Matthew Flatt
3d76aa5c32 fix I/O race in test 2012-01-09 13:29:56 -07:00
Jon Rafkind
c9788909ea [honu] fix for literal sets generated in a macro. replace . with -> for classes in the linq example 2012-01-09 10:38:11 -07:00
Jon Rafkind
dc16449dd5 [honu] change to honu extension 2012-01-09 10:38:11 -07:00
Ryan Culpepper
dba35c3116 db: added nested transactions 2012-01-08 23:25:53 -07:00
Ryan Culpepper
62e117bfe6 added tests for srfi/13 from SXML codebase 2012-01-08 23:25:53 -07:00
Matthew Flatt
7153fbd4d5 net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
Robby Findler
95ac3c86f7 fixed bug in the way aug:keymap extracts the names
now it should return only the canonical names of the keybindings
(instead of potentially returning both the canonical and
non-canonicalized names)
2012-01-08 07:07:56 -06:00
Matthew Flatt
fd019a3478 add on-subwindow-focus' to window<%>'
relevant to PR 12474
2012-01-07 21:17:12 -07:00
Jay McCarthy
061007f30f Fixing last dumb mistake? 2012-01-05 14:57:08 -07:00
Jay McCarthy
c2355caef6 Finalizing initial pass on GC2
It was not a problem with the particular collector. All allocation
sites need to update the gc-roots-key with their static information.
2012-01-04 19:55:24 -07:00
Jay McCarthy
55e1df1445 See last commit 2012-01-04 19:55:24 -07:00
Jay McCarthy
f80292b4cf Converting mutators 2012-01-04 19:55:24 -07:00
Jay McCarthy
e4755a5ffc New GC code 2012-01-04 19:55:24 -07:00
Jay McCarthy
ef1278d6e1 Adding radio and checkbox groups to formlets 2012-01-03 15:05:37 -07:00
Matthew Flatt
2b2c44774f fix scheme_basic_env() reset behavior
Also, fix test to that it DrDr will run it.
2012-01-02 15:03:49 +01:00
Matthew Flatt
3a1df23be6 fix `text-outline' test to include a curve 2011-12-26 06:27:22 -06:00
Matthew Flatt
1c63784517 for record-dc%', record initial configuration after each erase'
Closes PR 12460
2011-12-25 19:26:39 -06:00
Matthew Flatt
6c5c170565 racket/draw: add text-outline' to dc-path%' 2011-12-25 18:20:39 -06:00
Matthew Flatt
5bfaea25fe fix draw-polygon' on pairs instead of point%'s
Closes PR 12455
2011-12-23 07:25:59 -06:00
Ryan Culpepper
e086d237cd moved unstable/mutated-vars back to typed-racket 2011-12-18 13:57:49 -07:00
Ryan Culpepper
6ac708a3da pruned unstable/syntax 2011-12-18 13:57:49 -07:00
Ryan Culpepper
a4c6c7cfce pruned unstable/port 2011-12-18 13:57:48 -07:00
Ryan Culpepper
bc7401d4d9 pruned unstable/function 2011-12-18 13:57:48 -07:00
Ryan Culpepper
e4e89b0bc9 removed unstable/exn (moved code to single use in web-server) 2011-12-18 13:57:44 -07:00
Ryan Culpepper
53fc18008c removed unstable/dict (no uses) 2011-12-18 13:57:14 -07:00
Ryan Culpepper
4f9da1fd1c pruned unstable/define 2011-12-18 13:56:00 -07:00
Ryan Culpepper
f99d79ef10 pruned unstable/contract
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Matthew Flatt
4fed17704a avoid `racket/gui' tests that can't work on X 2011-12-18 07:27:32 -07:00
Vincent St-Amour
664245ae69 Add in-slice sequences.
Patch from David Vanderson.
2011-12-16 13:50:25 -05:00
Matthew Flatt
c9d214138e make `choice-evt' take O(N) time for N arguments
Delay flattening nested `choice-evt's to `sync'.
2011-12-15 16:04:08 -07:00
Sam Tobin-Hochstadt
ff74b262cf Global seed to debug fuzzer timeouts. 2011-12-15 13:53:04 -05:00
Sam Tobin-Hochstadt
7802eda605 Better types for fourth' -- tenth'. 2011-12-14 19:06:05 -05:00
Matthew Flatt
ee775c3cc3 intern strings, etc. only when making syntax objects, not in `read'
Rename `read-intern-literal' to `datum-intern-literal'.

Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Matthew Flatt
b87a7c0ec9 fix `raco make --no-deps' 2011-12-13 06:13:17 -07:00
Matthew Flatt
b99eb54f16 fix race in subprocess test 2011-12-13 06:13:16 -07:00
Matthew Flatt
25dd8727cb add datum-case', etc. as syntax/datum'
This library is used by Redex, which wants a `syntax'-like template
language, but for datum values instead of syntax objects. Using
`datum-case' and `datum' generates much less code. Redex uses
only a small part of the general functionality, so adding
`syntax/datum' could be overkill. It's implemented by generalizing
the `syntax-case' and `syntax' pattern matching and template
constructing code, though; it's not a lot of extra code, and it's
easiest to generalize completely. We may find other uses for
datum templates, too.
2011-12-12 08:13:20 -07:00
Sam Tobin-Hochstadt
eb38783750 Fix type of `remove-duplicates'.
Also fix type inference for functions with mandatory keyword arguments in other cases.
Related to PR 12434.
2011-12-10 17:28:34 -05:00
Matthew Flatt
bf90cf9028 fix problems printing symbols with unicode chars 2011-12-10 11:43:59 -07:00
Sam Tobin-Hochstadt
f23baef8aa Opaque types may overlap with anything.
Closes PR 12434.
2011-12-09 18:11:51 -05:00
Matthew Flatt
596e7683b5 Merge branch 'master' of racket-lang.org:plt 2011-12-09 10:36:58 -07:00
Matthew Flatt
287d5cedf5 add `pseudo-random-generator-vector?'
Also, adjust docs to clarify that `vector->pseudo-random-generator!'
can be used as a more complete seeding function.
2011-12-09 09:12:17 -07:00
Matthew Flatt
1da5b859b7 more info for failing test 2011-12-09 08:01:52 -07:00
Sam Tobin-Hochstadt
64f9af0a84 Minor fix to fuzzer. 2011-12-08 19:59:47 -05:00
Vincent St-Amour
b5d393d939 Add TR support for gcd and lcm on rationals. 2011-12-08 17:13:50 -05:00
Matthew Flatt
4a387c5b6a add some missing checks on bytecode parsing
The `tests/racket/stress/fuzz' test fails much less frequently,
though problems certainly remain.
2011-12-08 13:42:09 -07:00
Matthew Flatt
657be87c66 generalize gcd' and lcm' to work on rationals 2011-12-08 09:25:39 -07:00
Matthew Flatt
7e666b4b45 add stream' to racket/stream'
based on a pull request from Dan King
2011-12-08 09:25:34 -07:00
Jay McCarthy
e62940734f Fixing changed test 2011-12-07 08:15:38 -07:00
Sam Tobin-Hochstadt
a497300fbe Drop some trivially-pure code. 2011-12-06 17:20:32 -05:00
Matthew Flatt
be80e7d864 fix an over-eager reordering by the bytecode compiler
The over-eager transformation could be space-unsafe, and it
could duplicate an unsafe operation whose result is used only
once in a function that eds up being inlined multiple times.
2011-12-04 06:52:33 -07:00
Matthew Flatt
745c4b6470 fix another way that `racket/gui' instances can leak 2011-12-02 15:48:29 -07:00
Matthew Flatt
7397f710e2 fix reconstruction of `provide' forms in module expansion 2011-12-02 13:58:39 -07:00
Matthew Flatt
96330556e7 fix secondary hash-code for weak hashes 2011-12-02 12:11:52 -07:00
Robby Findler
2e54a89773 adjust drracket's repl so that it renders convertible things by turning them into .png's. 2011-12-02 08:10:32 -06:00
Matthew Flatt
545b37ff0d add racket/performance-hint' with begin-encourage-inline' 2011-12-01 10:26:48 -07:00
Matthew Flatt
99032a75d0 inline map', for-each', andmap', and ormap'
More generally, support a
 (define _id (begin 'compiler-hint:cross-module-inline _proc-expr))
hint, which is how the compiler determines that `map', etc., are
candidates for inlining.
2011-12-01 06:59:27 -07:00
Eli Barzilay
a9b1f993d4 Remove redundant execution bit from some files, convert one CRLF file to LFs. 2011-12-01 03:54:32 -05:00
Vincent St-Amour
29bea4863e Add group-by to unstable/list. 2011-11-30 17:54:28 -05:00
Vincent St-Amour
8509b81f47 Allow integers as sequences in TR. 2011-11-30 17:54:27 -05:00
Robby Findler
c338e5bfe3 remove now-unneeded debugging printfs from drracket's module-lang test suite 2011-11-30 08:24:20 -06:00
Robby Findler
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
Robby Findler
11994bd4f8 fix a bug in the module lexer; it was returning the wrong length for the tokens
it creates when the #lang line isn't well-formed (eg "#lang racke").

closes PR 12399
2011-11-28 21:16:31 -06:00
Matthew Flatt
cb341e1f48 make in-sequences' and in-cycle' accept 0 sequences
Plus doc clarifications.
2011-11-28 13:51:24 -07:00
Robby Findler
153dd73f6b adjust drracket to clean up the code that sets the initial value of
current-directory and current-load-relative-directory and to make
current-directory's initial value be the user's home directory
2011-11-28 13:29:55 -06:00
Robby Findler
462a348f19 fix bugs in the way the Racket|Disable Tests menu item worked
also adjust the test-engine-test.rkt test suite to bring it into
sync with the changes to the way the DrRacket REPL works from
commit bfa6b1d953
2011-11-28 00:13:59 -06:00
Matthew Flatt
fca5ceecc9 switch `codeblock' to strings instead of bytes
Also, fix scribble lexer line counting.

Closes PR 12225
2011-11-27 11:06:21 -07:00
Matthew Flatt
8b7370a4f9 fix printing of hash tables with chaperones
Closes PR 12276
2011-11-27 09:56:44 -07:00
Matthew Flatt
10246d7ade fix `current-memory-use'
Closes PR 9896
2011-11-27 09:18:52 -07:00
Matthew Flatt
0772cdf2e3 fix `print-convert' on cyclic hash key
Closes PR 12373
2011-11-26 17:09:23 -07:00
Matthew Flatt
1ac7e7e19d racket/class: add `dynamic-send' 2011-11-25 13:22:05 -07:00
Matthew Flatt
d421ed1bb6 racket/class: add `send/keyword-apply' 2011-11-25 13:19:42 -07:00
Robby Findler
a847186c0a missed one place to rename contract-generate 2011-11-25 13:38:26 -06:00
Matthew Flatt
fe3b6ea003 at-exp, scribble: remove distinctness of @{}-introduced newlines 2011-11-24 09:17:34 -07:00
Robby Findler
c87cd47c64 add add-make-prefix-to-constructor tests 2011-11-24 09:42:55 -06:00
Matthew Flatt
a40d0f0dd1 fix pconvert test 2011-11-24 05:58:30 -07:00
Andy Gocke
b8847a53bf Started on random testing for contracts 2011-11-23 22:54:21 -06:00
Jay McCarthy
41e04b33da Revert "This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it."
This reverts commit 7f9818bb3e.
2011-11-23 11:13:20 -07:00
Jay McCarthy
9d8d36e568 Demonstrating that 10772 is fixed 2011-11-23 10:59:55 -07:00
Jay McCarthy
ce6eab6f8e Showing that 10546 is fixed 2011-11-23 10:59:55 -07:00
Jay McCarthy
7f9818bb3e This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it. 2011-11-23 10:59:54 -07:00
Jay McCarthy
d64d620c00 Fixing PR10485 2011-11-23 10:59:54 -07:00
Matthew Flatt
c7464dcbd3 mzlib/pconvert: `add-make-prefix-to-constructor' parameter
Defaults to #f, which fixes constructor-style printing in `plai'
and `racket', and is set to #t for the HtDP languages.
2011-11-22 19:42:35 -07:00
Matthew Flatt
f4c1d9da06 adjust psyntax benchmark
The psyntax implementation relies on 3-D syntax like
   (let ([s (string #\i)])
     (eq? s (eval `',s)))
producing true, or maybe
   (let ([s1 (string #\i)]
         [s2 (string #\i)])
     (eval `(eq? ',s1 ',s2)))
producing false, or probably both. Neither works now
in Racket. Hack around the problem well enough for
benchmarking purposes by using numbers in place of
strings.
2011-11-22 18:12:28 -07:00
Vincent St-Amour
7ab62d109f Fix optimization of multi-argument float comparisons. 2011-11-22 17:52:50 -05:00
Jon Rafkind
35b3e73b2a disable test for now 2011-11-22 13:15:21 -07:00
Jon Rafkind
a9ba721be8 [honu] add example of lexically scoped macros 2011-11-22 10:30:44 -07:00
Jon Rafkind
973000adbb [honu] delay parsing of function bodies 2011-11-22 10:30:43 -07:00
Matthew Flatt
e44bd3f79d intern literal strings, byte strings, regexps, characters, and numbers 2011-11-22 08:54:37 -07:00
Robby Findler
a333b43259 make the planet cmdline-tool.rkt test more informative in the case that there are planet packages installed 2011-11-21 08:27:24 -06:00
Robby Findler
6ea6483221 adjust number-snip% so that it subscribes to the file/convertible
protocol for 'png-bytes and 'text
2011-11-20 16:38:17 -06:00
Matthew Flatt
d416dfaa8c fix copy-file' reporting of exn:fail:filesystem:exists?'
Fixes re-report for PR 12074
2011-11-19 19:40:49 -07:00
Matthew Flatt
91ef073c09 expand phase-related require/provide test
to check for the bug fixed by 76c9996ac7 and other potential
problems
2011-11-19 07:55:34 -07:00
Matthew Flatt
c1477e945d fix `namespace-require' on marked syntax
Closes PR 12381
2011-11-18 20:06:15 -07:00
Matthew Flatt
5665fe3477 fix `sequence-filer' on empty sequence
fix provided by Shviller
Closes PR 12383
2011-11-18 20:06:15 -07:00
Matthew Flatt
2ad78a33fb fix `provide' for macro-introduced bindings in phase != 0,#f 2011-11-18 20:06:15 -07:00
Jon Rafkind
70589a7033 [honu] create a new syntax class for parsing expressions at current-phase + 1. allow new operators to be defined using honu syntax 2011-11-17 23:34:59 -07:00
Jay McCarthy
36a408096c Fixing an error in quoting found by a student this year 2011-11-17 15:16:22 -07:00
Robby Findler
b726209dc5 fix the interaction between the automatic insertion of matching parens
and the magic fixup of opening parentheses.

This commit moves the automatic insertion of matching parens to the
scheme mode keymap, so it will now take affect in Racket mode editing,
only. Also, Rackety.
2011-11-16 19:36:18 -06:00
Vincent St-Amour
0a3a71fbbc Refine types of integer-bytes->integer' and arithmetic-shift'. 2011-11-15 15:31:07 -05:00
Jon Rafkind
219a39575a [honu] actually check for separator for the separate ids class. parse constructor arguments with comma separated ids 2011-11-15 12:19:27 -07:00
Jon Rafkind
815c3887fb [honu] abstract out separated identifiers 2011-11-15 12:19:26 -07:00
Matthew Flatt
45b8e103e5 places: fix GC of unreceived place-channel messages
An unreceived message can have a reference to a master-allocated
value, in which case that value must be marked. This marking
is implemented by embedding a linked link within the message
memory.
2011-11-14 18:04:45 -07:00
Jon Rafkind
47c6acdea5 [honu] add tests for precedence cases 2011-11-14 17:49:15 -07:00
Robby Findler
2f5e0206a8 more printfs to try to find what is going on in drdr with the module-lang-test.rkt 2011-11-14 07:08:37 -06:00
Jon Rafkind
5cb1834376 [honu] redo operator parsing to fix various precedence cases. add a new quasi-operator macro that can consume as much input on the right as it wants and use that to call methods on objects. change = to equal?. allow variables to be defined in classes 2011-11-14 00:45:55 -07:00
Robby Findler
870c8d28f4 move predicate/c from unstable/contract to racket/contract. In process,
change the implementation to special case struct procedures and to use
it in provide/contract.

This speeds up the rendering phase of the Guide documentation by more than 2x.
Thanks to Matthew for spotting the opportunity!
2011-11-13 17:19:15 -06:00
Ryan Culpepper
f38d959b3a db: fix transaction contract bugs, added transaction tests
closes PR 12364
2011-11-13 15:11:12 -07:00
Ryan Culpepper
b4e856cc3c db: fixed space leak in statement finalizer thread
This "fixes" the segfault in the test program, but it seems
like there must be another underlying problem.
2011-11-13 15:11:12 -07:00
Robby Findler
38b4d11abe add some debugging printfs in an effort to try to understand what's going wrong when this test runs in drdr 2011-11-13 08:15:02 -06:00
Robby Findler
4a54411f8c clean up the docs-build planet test case 2011-11-12 08:26:16 -06:00
Matthew Flatt
a0378a2b02 fix bug in prefab syntax marshaling
Closes PR 12352
2011-11-12 06:08:42 -07:00
Matthew Flatt
13605b55db remove accidentally added file 2011-11-12 05:33:20 -07:00
Matthew Flatt
75dd61ebc3 fix leak in `racket/draw' instantiation 2011-11-11 16:32:16 -07:00
Jon Rafkind
a4123ce536 [honu] rebind the result of parsing to the original pattern variable name 2011-11-11 10:35:09 -07:00
Jon Rafkind
786436b314 [honu] add some simple macro examples 2011-11-11 10:35:08 -07:00
Matthew Flatt
3cd071beb2 fix fd polling in atomic mode 2011-11-11 07:05:16 -07:00
Robby Findler
961e280a98 add a bunch of tests to the module language test suite based on test cases in the repl test suite
(since the repl test suite tests the pretty big language's repl and since there was a test case
there that would have discovered a bug that we only found in the hours before the release but had
been lurking for a few days)
2011-11-10 16:31:09 -06:00
Matthew Flatt
43e421faf4 fix bytecode compiler bug 2011-11-10 13:25:06 -07:00
Neil Toronto
e90ec4b69f Added unstable/latent-contract
Reorganized contracts
Started exposing customization API in plot/utils
Now dog-fooding customization API in earnest
2011-11-10 12:59:41 -07:00
Neil Toronto
ae64e8683a Parameter groups 2011-11-10 12:59:41 -07:00
Neil Toronto
4ca0729a2f Combined renderer structs and fixpoint bounds determination 2011-11-10 12:59:41 -07:00
Neil Toronto
f593d468f7 Finished first draft of tick/axis overhaul 2011-11-10 12:59:41 -07:00
Matthew Flatt
5139de9cec add `port-closed-evt' 2011-11-10 10:01:57 -07:00
Matthew Flatt
eb25a2db47 add epoll() support for Linux, kqueue() support for BSDs
This change builds on the blocking-I/O change to provide substantially
better performance when waiting on lots of sockets.
2011-11-10 10:01:56 -07:00
Jon Rafkind
8fe87bd2a9 [honu] reparse honu expressions into racket expressions 2011-11-09 11:17:41 -07:00
Jon Rafkind
5aa6b0b06e [honu] dont parse the output of syntax too early. wrap some core racket forms with %racket 2011-11-09 11:17:40 -07:00
Jon Rafkind
b25406db4c [honu] re-attach the output of macros to the input stream. wrap racket expressions so they dont get reparsed 2011-11-09 11:17:40 -07:00
Robby Findler
b063604ab4 fix begin-for-syntax test 2011-11-08 22:02:12 -06:00
Matthew Flatt
7d607fdd93 fix errortrace for phase N outside of module 2011-11-07 13:16:17 -07:00
Robby Findler
bfa6b1d953 Fixed some bugs in the double-stacktrace window; adjusted the repl to
be able to insert more with-stack-checkpoint calls in useful places;
adjust test suites to match the change in when the stacktrace icon
shows up
2011-11-07 07:42:14 -06:00
Robby Findler
cac37b0b6a added test cases for phase issues in the module language repl 2011-11-06 21:14:51 -06:00
Robby Findler
65fd0234ad add a unicode test to scheme-lexer.rkt
and change the tests so they all run with port line
counting enabled (or else the unicode test fails)

adjust module-lexer.rkt tests so they can run in either
port-counting mode or not (but currently run them all in
port-counting mode because scheme-lexer doesn't work without it)

also make a first stab at what needs to change in the module
lexer to make it work in non port line-counting mode
2011-11-03 22:41:27 -05:00
Robby Findler
b7541c5d1b Revert "IN PROGRESS: starting to fix the repl-test for the new error icons"
This reverts commit 8ec968fe8f.
2011-11-03 17:14:06 -05:00
Robby Findler
d00aed6f1b fix the module reader for the case when there are non-ASCII unicode characters
in comments before the #lang line

also add an #:init-position argument to peeking-input-port
2011-11-03 17:13:17 -05:00
Robby Findler
8ec968fe8f IN PROGRESS: starting to fix the repl-test for the new error icons 2011-11-03 17:13:17 -05:00
Eli Barzilay
b9bd1db58a Move the namespace creation so that it happens under the code-inspector.
This fixes a security issue where a toplevel evaluator could still use
things like `ffi/unsafe'.
2011-11-02 17:40:24 -04:00
Matthew Flatt
98cde53fa0 fix rename trans `free-identifier=?' propagation in int-def context
Closes PR 12333
2011-11-02 10:02:19 -06:00
Matthew Flatt
c7a0f1bef8 guard a space-safety test with a 3m check 2011-11-02 08:12:58 -06:00
Matthew Flatt
8d91efcee4 fix `get-bytevector-all' bug
Closes PR 12327
2011-11-02 08:12:58 -06:00
Jay McCarthy
8b38c8e933 Changed the exn thrown 2011-11-01 13:01:09 -06:00
Jay McCarthy
c2065b2128 Improving error messages for non-serializable continuation pieces 2011-11-01 11:16:47 -06:00
Ryan Culpepper
1dade8ee1d db: added support for postgresql arrays 2011-10-30 18:51:16 -06:00
Ryan Culpepper
e2e63684de data/order: added support for transparent structs, added tests 2011-10-30 18:51:16 -06:00
Matthew Flatt
d9b9cbe16a fix space-safety bug in composable continuations 2011-10-29 09:37:12 -06:00
Sam Tobin-Hochstadt
706198c059 Add `typecheck-fail' form for explicit type errors. 2011-10-25 12:10:58 -07:00
Robby Findler
fb02a0a5cd make list/c produce chaperone contracts, as appropriate
closes PR 12319
2011-10-24 08:16:49 -05:00
Robby Findler
a1654f1532 adjust the implementation of 'contract-out' so that it does some
checking of the syntax (that it can) and then just throws everything
to the end of the module, instead of trying to have it figure out
what the actually provided variables are at the beginning.

closes PR 12295
2011-10-24 08:16:48 -05:00