Commit Graph

36066 Commits

Author SHA1 Message Date
Evgeny Odegov
7767ac64fd Remove forgotten parse-id identifier
Looks like, it should be removed, because there is no
such identifier exported from racket/match/gen-match
(a parameter of `define-forms` now).

Closes #808.
2015-03-11 17:23:16 -04:00
Leif Andersen
f7db183ab8 Fix typo in find-files doc.
Closes #890.
2015-03-11 17:22:52 -04:00
Sam Tobin-Hochstadt
2ccd4b1a95 Describe match scoping behavior more precisely. 2015-03-11 16:15:17 -04:00
Robby Findler
33d653113d remove some old name-management code from contracts made obsolete by chaperones
closes PR 11222
2015-03-09 21:23:03 -05:00
Matthew Flatt
332b380ca2 repair impersonator-porperty predicate and accessor
Repair for b923269569, helpfully reported again by Scott
2015-03-09 15:33:41 -06:00
Matthew Flatt
5749d4080c add tracking of require and provide subforms
Use `syntax-track-origin` and 'disappeared-use properties to
communicate `require` and `provide` form bindings to tools such as
Check Syntax.

Relevant to PR 13186
2015-03-09 15:28:08 -06:00
Matthew Flatt
59777ca17a increase time thread's stack size
On 64-bit FreeBSD 10.1, 4k is too small.
2015-03-09 13:33:19 -06:00
Eric Dobson
9c014b61e6 Make for/fold/derived check the values in the body in the last clause.
Closes PR 13285.
2015-03-09 12:48:49 -06:00
Eric Dobson
acd1fe7f8d Make define-cpointer-type declare its function with an inferred-name.
Closes PR 12296.
2015-03-09 12:45:35 -06:00
Eric Dobson
5895eabad1 Add break-parameterization?.
Closes PR 11966.
2015-03-09 12:40:08 -06:00
Matthew Flatt
b923269569 make impersonator properties sensitive to prop:impersonator-of
When a structure type has `prop:inpersonator-of`, follow it
when attemptng to access imperonator properties.

This change fixes a problem with `impersonate-procedure` as
reported by Scott Moore.
2015-03-08 19:27:11 -06:00
Matthew Flatt
092f6bb7e1 add object-or-false=? 2015-03-05 14:27:17 -07:00
Matthew Flatt
c458cd9799 remove over-eager namespace cleanup in the compiler/expander
The compiler/expander attempted to clear out references in a namespace
used only during macro expansion, but it's possible for references to
be retained (via unusual macros), so get rid of the broken attempt to
help the GC.
2015-03-05 11:21:25 -07:00
Robby Findler
0c2ca96ad2 move sequence/c into the part of the docs for racket/sequence 2015-03-05 08:26:54 -06:00
Alexis King
30610babe3 Make sequence/c first-order check more specific
closes PR 14983
2015-03-05 07:36:38 -06:00
Asumu Takikawa
ab68a4dc38 Add option to ignore local names in opaque class/c 2015-03-04 11:54:56 -05:00
Asumu Takikawa
0fce958268 Reduce space usage for object/c like instanceof/c
Reuse the instanceof/c projection for object/c to get
the space saving higher-order wrapping behavior. Also
implement a stronger check for object/c.
2015-03-04 11:54:56 -05:00
Matthew Flatt
6b81275af4 fix use of the wrong val in contract optimization 2015-03-03 08:07:01 -07:00
Robby Findler
efee5c4581 move sequence/c into racket/sequence 2015-03-02 22:14:32 -06:00
Matthew Flatt
16a9f86f90 raco exe: preserve lib form of runtime submodule references
Otherwise, executable creation can fail because a module is referenced
both through a `lib` path and through a filesystem path.
2015-02-27 12:27:27 -07:00
Matthew Flatt
e345e44e00 define-runtime-module-path-index: delay resolution of module path
Since a module path index is being generated, a module path index
for the referencing module can be used, too, preserving relative
references for as long as possible.
2015-02-27 12:26:19 -07:00
Matthew Flatt
04ce921e8f fix optimize problem
Gustavo's tests in de3fa9a855 illustrate the problem. The solution
is simply passing 1 for `optimized_rator` to optimize_for_inline().
Additional changes generalize optimize_for_inline() a little (although
that generality doesn't seem to be useful at the moment) and collapse
some variables that represent the same value.
2015-02-27 10:01:09 -07:00
Gustavo Massaccesi
de3fa9a855 Tests for correct use of reverse in procedure? reduction 2015-02-27 08:32:27 -07:00
Matthew Flatt
6cf28d55cd fix memory-management problem in putenv
Problem reported by Sergey Pinaev: free(oldbuffer) should be called
AFTER putenv(buffer).

Also, respond correctly to an (unlikely) putenv() failure.
2015-02-27 08:18:13 -07:00
Asumu Takikawa
f43096b123 Export an alternative object/c constructor
This functional constructor allows runtime construction
of object contracts in extension libraries.
2015-02-24 17:18:40 -05:00
Asumu Takikawa
5dc6be1a17 Allow chaperones on class methods
This allows libraries to add metadata to methods in the form
of chaperone properties which can be read by contracts on
methods.
2015-02-24 17:17:32 -05:00
Matthew Flatt
c5e9f42cee adjust use of TARGET_OS_IPHONE in C preprocessing
Some Mac headers `#define` it as 0, so depend on its value instead
of its definedness.
2015-02-23 08:29:27 -07:00
Ryan Culpepper
80e4894597 fix mandatory-after-optional checking
Also fix tests for attribute change.
2015-02-22 21:51:49 -05:00
Leif Andersen
2a583988cb Use #f for no default or keyword (opposed to #'#f) 2015-02-22 21:51:48 -05:00
Leif Andersen
551704ed4a Added tests for function-header. 2015-02-22 21:51:48 -05:00
Leif Andersen
3d567f643c Puts following limitations on args:
* no duplicate names
* no duplicate keywords
* no mandatory argument after optional argument
2015-02-22 21:00:10 -05:00
Leif Andersen
2e9065e610 Use function-header library in racket/match. 2015-02-22 21:00:10 -05:00
Leif Andersen
ca365d17c1 Add syntax/parse/lib/function-header library. 2015-02-22 21:00:10 -05:00
Matthew Flatt
af6c39611d configure: initial support for an iOS build
A new `--enable-ios=<sdk-path>` flag in combination with `--host=...`
sets up the right compiler options for compiling the Racket runtime
system as a framework to use in an iOS application.

I don't know whether the resulting framework actually works, but
compiling and linking is a step forward.
2015-02-22 08:45:40 -07:00
Matthew Flatt
52ca80a7ab search document: rint error without aborting on bad index entry
Survive a broken link in the index by complaining via `log-error`
and continuing.
2015-02-20 13:34:09 -07:00
Tobias Grelsson
a5d506a3a4 add http method "options" 2015-02-19 10:30:19 -07:00
Javier Olaechea
be6e1a4045 typo in sequences.scrbl
Fix return values in the  documentation of stream-empty?
2015-02-19 10:29:58 -07:00
Matthew Flatt
aae35ea3ac fix stream/c using generics chaperone property support 2015-02-19 09:56:50 -07:00
Matthew Flatt
d69af6af30 add property support to chaperone-generic, etc. 2015-02-19 09:56:50 -07:00
Matthew Flatt
e913a13614 contract test suite: fix exit status on failure 2015-02-19 08:35:25 -07:00
Matthew Flatt
54fb57d6b9 fix extflonum-printing test when extflonums are disabled
The minimal suport for extflonums just preserves the text of the
input, so adjust the test to work for both.
2015-02-17 19:12:29 -07:00
Matthew Flatt
a40afcd782 fix problem with _list-struct
Repairs a mistake in d747f8f806.
2015-02-17 16:01:03 -07:00
Matthew Flatt
b37eab0621 raco pkg update: add --skip-uninstalled flag 2015-02-17 15:43:15 -07:00
Matthew Flatt
cc621124c1 fix typo 2015-02-17 13:05:20 -07:00
Matthew Flatt
8aa16faa6d raco pkg {install,update}: add --pull option 2015-02-17 13:05:20 -07:00
Matthew Flatt
51d38152d4 fix win32-as-is makefile target 2015-02-17 09:29:07 -07:00
Gustavo Massaccesi
4b8517b27c Recognize more procedures in scheme_optimize_apply_values
scheme_optimize_apply_values reduces (call-with-values gen proc)
to (#%apply-values proc gen) when recognizes proc as a procedure.
This extends the expressions that are recognized as procedures.
2015-02-16 10:06:52 -07:00
Gustavo Massaccesi
0c5944d64a Reduce (procedure? <inlineable>) => #t 2015-02-16 10:06:51 -07:00
Matthew Flatt
a8026824dd adjust optimizer to improve intra-module inlining
Instead of delaying the registration of some constants until a
group of expressions is re-optimized, add constant information as
it is discovered, which can expose some additional optimizations.

The old grouping was probably aimed at avoiding excessive code growth,
but I think that other and better controls are now in place. The
overall size of ".zo" files in an installation did not grow
significantly with this change.

Closes PR 14978
2015-02-16 10:01:16 -07:00
Matthew Flatt
17275b946a raco setup: improve and normalize error reporting
When repoting an error during compilation, always show the path to the
module being compiled. That path was sometimes available in the error
message anyway, due to source locations for syntax errors, but often
there would be no path due to run-time errors in macros, a lack of
source locations on macro-introduced forms, etc.

The `raco setup` improvements rely on new machinery in `compiler/cm`,
and `raco make` inherits that machinery.

The parallel and non-parallel variants of `raco setup` reported
excpetions in slightly different formats, and now they're consistent.
The initial report of an exception now always shows an evaluation
context, while the summary's repeat of the error omits the context.
2015-02-15 09:49:40 -07:00