Commit Graph

36236 Commits

Author SHA1 Message Date
Robby Findler
d04dfb67df remove stray printf 2016-01-07 12:59:20 -06:00
Matthew Flatt
7db904e984 net/osx-ssl: fix error handling 2016-01-07 10:49:53 -07:00
Gustavo Massaccesi
9a6726b10d sequence-length: more O(1) special cases 2016-01-07 13:48:42 -03:00
Matthew Flatt
bfe9b4aefd fix CFNetwork reference for old OS X 2016-01-07 06:11:28 -07:00
Matthew Flatt
c9348f7cd7 fix Mac OS X pre-built libssl install 2016-01-07 06:11:27 -07:00
Leif Andersen
7eee46c4d3 => should not be hyperlinked to cond arrow. 2016-01-06 21:27:56 -05:00
Juan Francisco Cantero Hurtado
961ab31776 Typo: clonse -> clones. 2016-01-06 19:52:31 -06:00
Jay McCarthy
d3c09ead19 Fix cpointer tags 2016-01-06 19:07:33 -05:00
Jay McCarthy
ccc50ca68f Forgot to update racket, just base 2016-01-06 17:42:56 -05:00
Jay McCarthy
18208f76f5 Improve define-cstruct inline-ability and add #:define-unsafe 2016-01-06 16:53:36 -05:00
Benjamin Greenman
69b01c637f typo: curent -> current 2016-01-06 15:42:58 -05:00
Matthew Flatt
fe1ffbe36f fix a test for the default package catalog 2016-01-06 13:17:44 -07:00
Matthew Flatt
711ab4d984 raco pkg: add PLT_PKG_SSL_NO_VERIFY environment variable
Just in case someone needs to work around an HTTPS server
without a valid certifcate.
2016-01-06 11:55:43 -07:00
Matthew Flatt
8dfce37977 net/win32-ssl: enable 'secure mode
Validate server certificate in 'secure mode.
2016-01-06 11:55:43 -07:00
Matthew Flatt
c706ee2c05 switch default catalogs to HTTPS 2016-01-06 11:55:43 -07:00
Matthew Flatt
273bc4ea49 use OS X native SSL when libssl is too old
OS X's libssl is deprecated, and it doesn't work with SSL connections
that need SNI. We'll distribute out own libssl builds for OS X via a
package, but we need a native implementation that works well enough to
get that package.
2016-01-06 11:55:43 -07:00
Matthew Flatt
d160cb81a8 raco pkg: use 'secure for an HTTPS catalog 2016-01-06 11:55:43 -07:00
Matthew Flatt
92f1bfa4d2 openssl: add 'secure protocol shortcut
The 'secure protocol symbol is just a shorthand for
`(ssl-secure-client-context)`, but it helps highlight
that the default 'auto isn't secure, and having a plain
symbol smooths the connection to native Win32 and OS X
implementations of SSL.
2016-01-06 11:55:43 -07:00
Matthew Flatt
1e5da68b88 OS X: avoid getdtablesize() by switching frmo select() to poll()
The getdtablesize() result appears not to be constant on OS X.
Creating some combination of CFStream objects, threads, and CFRunLoop
objects can cause the value to be increased by a factor of 10. Avoid
the need for getdtablesize() by switching from select() to poll().
2016-01-06 07:34:18 -07:00
Matthew Flatt
8068c1e2a5 Revert "add source for "racket-playsound.exe""
This reverts commit e08188aeda.

New implementation of `play-sound` doesn't need it.
2016-01-05 20:36:33 -07:00
Matthew Flatt
25f8a5d0d9 Revert "adjust "racket-playsound.exe" return code"
This reverts commit 26560240f1.

New implementation of `play-sound` doesn't need it.
2016-01-05 20:36:33 -07:00
Vincent St-Amour
4b266f1ff2 sequence-sample: various comments from Eli. 2016-01-05 20:33:57 -06:00
Vincent St-Amour
1ce6a49f94 random-sample: actually use the passed-in prng.
Found by Eli.
2016-01-05 20:33:56 -06:00
Leif Andersen
533c0d16ec Fix typo in raco documentation for scribblings. 2016-01-05 15:47:00 -05:00
Vincent St-Amour
656044b8fc random-sample: use reservoir sampling to do a single pass over sequences.
Suggested by Eli.
2016-01-05 14:42:43 -06:00
Robby Findler
31a9414983 move contract tests into contract subdirectory
and fix up the code that orders the tests when running them all
2016-01-05 09:41:47 -06:00
Robby Findler
c7726e23ec fix random-generation for and/c 2016-01-05 09:14:15 -06:00
Robby Findler
3f4dcb8e87 more accurate error message when content-length is missing 2016-01-05 09:09:52 -06:00
Robby Findler
3df12dca58 specialize sequence/c for one-element sequences
this yields only a modest speed up and only when iterating
over long sequences, e.g. like in this program:

  #lang racket/base
  (require racket/sequence racket/contract/base)
  (define s (make-string 10000 #\a))
  (define str (contract (any/c . -> .  (sequence/c char?))
                        (λ (x) (in-string s))
                        'pos 'neg))
  (time
   (for ([x (in-range 100)])
     (for ([x (str 0)])
       (void))))
2016-01-04 19:56:46 -06:00
Robby Findler
94ac77d30e port sequence/c to late-neg projections 2016-01-04 19:56:45 -06:00
Robby Findler
3ed7dfd62b add the contract printer to set contracts 2016-01-04 19:56:45 -06:00
Robby Findler
14b951cf44 improve the performance of the way contract-stronger? recurs
and fix evt/c's contract-stronger
2016-01-04 19:56:45 -06:00
Matthew Flatt
d37ee8c5b1 fix place and raco exe
The repair involves making `raco exe` detect a sub-submodule
whose name is `declare-preserve-for-embedding` as an indication
that a submodule should be carried along with its enclosing module.

Normally, `define-runtime-module-path-index` would do that, but
the submodule for `place` is created with `syntax-local-lift-module`,
and the point of `syntax-local-lift-module` is to work in a
nested experssion context where definitions cannot be lifted
to the enclosing module.
2016-01-04 11:01:48 -07:00
Sam Tobin-Hochstadt
5cf748d734 Fix set chaperone tests.
`set-first` just does an extract, not a remove.
2016-01-04 11:08:02 -05:00
Robby Findler
1c431e6f4d Clean up chaperone-hash-set and impersonate-hash-set and adjust set/c to match
Made the hash-set chaperones essentially forward the hash chaperone
operations, but now explain them all in terms of set-based operations
in the docs.

Also adjusted value-blame and has-blame? to support late-neg projections
2016-01-03 20:43:24 -06:00
Robby Findler
77a76a7953 fix opt/c for the new way (-> any/c ... any) works
should have been a part of 36b3493e
2016-01-03 20:43:24 -06:00
Sam Tobin-Hochstadt
5ae4e45340 Merge pull request #1184 from andmkent/patch-3
more *syntax/loc for match forms
2016-01-03 17:02:03 -05:00
Vincent St-Amour
cc79e2241c random: Get the right name without run-time overhead. 2016-01-03 13:53:31 -06:00
Vincent St-Amour
4509430063 Fix object name for new random function. 2016-01-03 13:05:35 -06:00
Vincent St-Amour
1e18a7e2b4 sequence-length: special-case lists too. 2016-01-03 13:05:35 -06:00
Matthew Flatt
a2c9b47552 Merge pull request #1189 from LeifAndersen/fix-zo-docs
Fixed typo in zo docs.
2016-01-03 06:47:48 -07:00
Leif Andersen
2aa9d8cca3 Fixed typo in zo docs. 2016-01-02 23:07:31 -07:00
Vincent St-Amour
c47c0ebfca sequence-length: special case O(1) cases. 2016-01-02 20:05:04 -06:00
Vincent St-Amour
47f06f11e1 random: encourage inlining.
Reduces overhead to 6% over #%kernel's  for the integer case.
2016-01-02 20:02:30 -06:00
Vincent St-Amour
740b6dc198 random: Remove redundant checking. 2016-01-02 20:02:30 -06:00
Vincent St-Amour
acb7d999ba Comment typo.
Pointed out by Gustavo.
2016-01-02 20:02:30 -06:00
Vincent St-Amour
707f9bffa6 random: move sequence support to random-ref, in racket/random.
And add `random-sample`.
2016-01-02 20:02:30 -06:00
Vincent St-Amour
6af2f711b7 Fix optimization tests. 2016-01-02 20:02:30 -06:00
Vincent St-Amour
0796350a88 Extend random to work with ranges and sequences.
Requested by Matthias.
2016-01-02 20:02:30 -06:00
Robby Findler
36b3493e45 Change contracts of the form (-> any/c ... any) to not be flat contracts
The issue is what happens when the actual function has other arities.
For example, if the function were (λ (x [y 1]) y) then it is not okay
to simply check if procedure-arity-includes? of 1 is true (what the
code used to do) because then when the function is applied to 2
arguments, the call won't fail like it should. It is possible to check
and reject functions that don't have exactly the right arity, but if
the contract were (-> string? any), then the function would have been
allowed and only when the extra argument is supplied would the error
occur. So, this commit makes it so that (-> any/c any) is like
(-> string? any), but with the optimization that if the procedure
accepts only one argument, then no wrapper is created.

This is a backwards incompatible change because it used to be the
case that (flat-contract? (-> any)) returned #t and it now returns #f.
2016-01-02 17:29:58 -06:00