Commit Graph

38123 Commits

Author SHA1 Message Date
Matthew Flatt
7b4c91ea21 setup/cross-system: configure reader properly 2016-01-08 18:29:10 -07:00
Matthew Flatt
8e162082e1 fix foreign library references for cross-build 2016-01-08 16:40:58 -07:00
Matthew Flatt
30005d41ac repair for cross-build of OS X executables 2016-01-08 16:22:44 -07:00
Matthew Flatt
d4f3dfb3d0 make SRC_CATALOG work with win32-in-place 2016-01-08 10:01:22 -07:00
Matthew Flatt
7bae604711 fix default source catalog for make 2016-01-08 09:53:44 -07:00
Jay McCarthy
b078cbc0ef Add define-rename-transformer-parameter and friends 2016-01-08 11:03:33 -05:00
Ben Greenman
3c496777ef add 'combinations' and 'in-combinations' 2016-01-07 23:44:53 -05:00
Robby Findler
32a79a22ec Revert "improve the way plus-one arity functions fall back when they can't see the application site"
This reverts commit c24ddb4a7c.

This optimization was bogus, as shown by the test case in 393d72f153

(Thanks to Sam again for the test case.)
2016-01-07 22:14:15 -06:00
Robby Findler
393d72f153 add test case that makes sure we preserve chaperone-of for contract-out functions 2016-01-07 22:14:05 -06:00
Matthew Flatt
666c5f1557 Windows code-signing and ".tgz" options for distro-build 2016-01-07 17:25:26 -07:00
Robby Findler
3e53a3ea42 make impersonator vector contracts use impersonate-vector, not chaperone-vector
closes #1198
2016-01-07 12:59:21 -06:00
Robby Findler
c24ddb4a7c improve the way plus-one arity functions fall back when they can't see the application site
In particular, instead of going directly back to the chaperone, handle
the case where the function doesn't accept keyword arguments with a
less expensive fallback.

The less expensive fallback uses a case-lambda wrapper (wrapped inside
a make-keyword-procedure) to close over the neg-party and avoid the
chaperone creation. With this commit, the program below gets about 3x
faster, and is only about 20% slower than the version that replaces
the "(let ([f f]) ...)" with its body

  #lang racket/base
  (module m racket/base
    (require racket/contract/base)
    (provide (contract-out [f (-> integer? integer?)]))
    (define (f x) x))
  (require 'm)
  (collect-garbage)
  (time (for ([x (in-range 5000000)]) (let ([f f]) (f 1))))

  Thanks, @samth!
2016-01-07 12:59:21 -06:00
Robby Findler
578b42fc2b add docs for contract-late-neg-projection and contract-val-first-projection 2016-01-07 12:59:20 -06:00
Robby Findler
8b4f8541c3 remove extraneous ? 2016-01-07 12:59:20 -06:00
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
fe8a2fd801 docs: suggest 'pure for current-https-protocol 2016-01-06 12:27:42 -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
fce78e65b3 add net/osx-ssl docs 2016-01-06 11:17:33 -07:00
Matthew Flatt
2ad4ca6776 update net/win32-ssl docs for 'secure 2016-01-06 11:17:33 -07:00
Matthew Flatt
f9d224929c change pkgs reference to HTTPS 2016-01-06 09:04:20 -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