Commit Graph

497 Commits

Author SHA1 Message Date
Vincent St-Amour
18e4cbbb40 First stab at hooking the profiler up to OC.
Profiling is done from inside the eval, to minimize noise.

Use samplers directly, to get access to the profiler's data structures.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
5d4bbfaf6c Abstract out right file filtering. 2013-01-11 18:40:17 -05:00
Vincent St-Amour
a65d7532f2 Log output generated when OC expands/runs programs.
To be consistent with Check Syntax.
2013-01-11 18:40:17 -05:00
Vincent St-Amour
fa2cba1c5b Abstract out OC sandboxing. 2013-01-11 18:40:17 -05:00
Sam Tobin-Hochstadt
1a678bd5de Fix parsing of maybe-optimize result.
Merge to 5.3.2.
2013-01-11 18:15:53 -05:00
Asumu Takikawa
f577b49a4d Fix polydots
- parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Asumu Takikawa
27d3042ad6 Use correct contract for Procedure type
The only problem with this contract is that it does
not produce a very good error message
2013-01-08 20:03:16 -05:00
Asumu Takikawa
9c0a611b59 Disallow duplicate type variable declarations
Closes PR 13416

Please merge to 5.3.2
2013-01-08 14:50:08 -05:00
Vincent St-Amour
057a2bd0d2 Extend type of min to preserve fixnumness. 2013-01-07 17:00:32 -05:00
Vincent St-Amour
81cccb4c8f Fix fixnum comparisons to prove more bounds. 2013-01-02 16:55:28 -05:00
Vincent St-Amour
4137eb9e73 Make let: annotations optional. 2013-01-01 18:14:52 -05:00
Neil Toronto
e06f31c94e More precise return type for `magnitude' (it always returns nonnegative) 2012-12-31 14:17:17 -07:00
Sam Tobin-Hochstadt
0d01db8543 Fix type of log-message. 2012-12-30 22:14:44 -05:00
Matthew Flatt
f2d870859a logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
2012-12-27 14:12:40 -06:00
Matthew Flatt
4a57db4448 add (system-type 'word)
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.
2012-12-24 06:38:53 -07:00
Asumu Takikawa
acda049f7d Add define: form variant for polymorphic non-function values 2012-12-19 13:08:41 -05:00
Vincent St-Amour
8c66be33e7 Fix contract generation for functions with optionals and keyword arguments.
Closes PR13354.
2012-12-17 13:57:32 -05:00
Vincent St-Amour
ec673fd58d Allow #:unless' in for:'.
Also allow `#:break' and `#:final' in all the `for:' macros.

Unfortunately, the expansion of `#:break' and `#:final' cannot be
typechecked at the moment.
2012-12-17 13:57:31 -05:00
Asumu Takikawa
57268c2fc9 Explain scope of type variables in docs 2012-12-13 17:54:58 -05:00
Asumu Takikawa
13b831f0ec Fix unsound type variable scoping
Closes PR 13123
2012-12-13 17:54:58 -05:00
Asumu Takikawa
6c716759d7 Simplify expansion of pdefine: and define: 2012-12-13 17:54:58 -05:00
Asumu Takikawa
5c80743ed5 Refactor to use syntax/id-table 2012-12-13 17:54:58 -05:00
Asumu Takikawa
2bc1528630 Add type for xor 2012-12-10 15:49:51 -05:00
Asumu Takikawa
c7162ec533 Fix TR error for missing mandatory keywords 2012-12-06 12:20:54 -05:00
Vincent St-Amour
ac58c45477 Disable optimization of mixed-mode arithmetic that may involve exact 0.
Exact 0 turns out to also be a corner case for addition.

At this point, mixed-mode optimizations pretty much only apply for mixes
of floats and literal non-zero non-floats.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
45a3b9f48d Don't warn about exact arithmetic for inexact numbers. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
93939f45d0 Don't optimize mixed-mode arithmetic if it would change results. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
fb73bc8b0e Fix partial bounds checking elimination.
Closes PR13341.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
a84e04e1e4 Use the regular Racket reader, not TR's. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
ca47b1c693 Be less aggressive about fixnum recommendations.
Reduces false positives.
2012-12-04 19:29:15 -05:00
Vincent St-Amour
6d231da14f Typo. 2012-12-04 19:29:15 -05:00
Vincent St-Amour
e4af200c89 Hide OC control panel if an error occurs during expansion. 2012-12-04 19:29:15 -05:00
Vincent St-Amour
d544e9fbe7 Fix source location information for do:' and let:'. 2012-12-04 19:29:15 -05:00
Asumu Takikawa
5802b42f66 Support path/object reasoning for promises 2012-12-04 18:03:11 -05:00
Asumu Takikawa
04e8e33313 Provide a more informative internal error 2012-12-04 16:10:39 -05:00
Asumu Takikawa
3f2d4663a8 Fix call/comp's type 2012-12-04 16:10:39 -05:00
Vincent St-Amour
9f9092b762 Fix optimization of unary float subtraction.
Closes PR13339.
2012-12-03 19:46:29 -05:00
Ryan Culpepper
fd7d8a412c move lazy-require to racket/lazy-require 2012-12-03 19:28:12 -05:00
Asumu Takikawa
0252207e38 Support Any wrapping for promises
Closes PR 13326
2012-12-03 17:59:55 -05:00
Asumu Takikawa
213ff36554 Fix default prompt tag type
Note: this type could be made more precise,
but we need some contract changes for that.
2012-12-03 14:37:18 -05:00
Asumu Takikawa
ffde8ec486 Document the default prompt tag in TR
Note: this isn't the ideal location for this in the long
run because it isn't a special form. When we have more
bindings like this, we should move them to a new manual
section.
2012-12-03 14:37:17 -05:00
Asumu Takikawa
55944057b5 Fix blame parties for proxied default prompt tag 2012-12-03 14:37:17 -05:00
Asumu Takikawa
42fc3aeda0 Refactor (make argument arity clear) 2012-11-30 17:37:33 -05:00
Asumu Takikawa
d9f8c5e382 Add a type for continuation? 2012-11-30 17:37:33 -05:00
Asumu Takikawa
5fe8841c99 Univ -> ManyUniv 2012-11-30 17:37:33 -05:00
Asumu Takikawa
904db66f65 Rename control types to be consistent with other types 2012-11-30 17:37:33 -05:00
Asumu Takikawa
aae8890cd3 Docs for prompt tag & mark key types 2012-11-30 17:37:33 -05:00
Asumu Takikawa
4e0b38ea79 Improve type of call-with-continuation-prompt
Now works with the handler argument omitted, in which case
the default handler is used. Note that the default handler
cannot be used in conjunction with the default prompt tag
because it is unsound to do so.
2012-11-30 17:37:33 -05:00
Asumu Takikawa
42b07475e9 Apply Any wrappers for default-continuation-prompt-tag in TR 2012-11-30 17:37:33 -05:00
Asumu Takikawa
2511cf02bc Refactor and move a macro to a helper library 2012-11-30 17:37:33 -05:00