[racket-dev] Win64

2010-12-06 Thread Matthew Flatt
Racket now supports 64-bit Windows (Vista and up). To build for 64-bit Windows using VS 2008: 1. Use vcvarsall x64 to configure your environment for a 64-bit build, where vcvarsall.bat is supplied by Visual Studio in the VC subdirectory. 2. Run build.bat

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
These contracts are not thrown at dynamic places. The contract is always at the module boundary/etc, but its meaning if affected by the dynamic context of the particular boundary crossing. [1] I'm been thinking about why I want to use contracts for this purpose. The alternative is to put an

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
Let's be clear here: our inability to enforce projectionness is in no way condoning the two coercianlike contracts that you have now written. That said, the only value I see to contracts that only signal errors (or do nothing) is that programmers know what to expect from them. The downsides you

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
Yes, since I am allowing users to customize the coercion behavior, I could either have them provide two functions: a coercion-applies? function and a coercion function; OR I could have them just provide the coercion function and I will check the answer and re-run it inside of the function body.

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Matthias Felleisen
(This is a SE sermon, general but hopefully not opaque as Matthew and Robby think my emails often are: Separating the contract from the functionality of a function/method/etc is a matter of stating the interface clearly and as such a matter of documentation. So use contracts for that

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
On Mon, Dec 6, 2010 at 9:23 AM, Jay McCarthy jay.mccar...@gmail.com wrote: Yes, since I am allowing users to customize the coercion behavior, I could either have them provide two functions: a coercion-applies? function and a coercion function; OR I could have them just provide the coercion

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Matthew Flatt
At Mon, 6 Dec 2010 10:25:57 -0600, Robby Findler wrote: I think I need more help to understand the programming problem better. Isn't Jay just saying that he needs contract-like things to implement interoperability (among modules that have different representations of XML/HTML)? Ok, maybe he

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
On Mon, Dec 6, 2010 at 10:36 AM, Matthew Flatt mfl...@cs.utah.edu wrote: At Mon, 6 Dec 2010 10:25:57 -0600, Robby Findler wrote: I think I need more help to understand the programming problem better. Isn't Jay just saying that he needs contract-like things to implement interoperability (among

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Matthias Felleisen
The interoperability comment just hit me. What we might be discovering is basically Jacob's thesis in practice. It isn't so much contracts+X that we're looking at to implement interoperability, but contracts = interop-stuff + blame-mechnism + possibly-more. Jay is trying to reuse the first

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
That's why dynamic/c has a pre/c and post/c. Before it uses the user's contract, it applies pre/c. After it applies post/c. This ensures that the user's contract actually coerces to a response? Jay On Mon, Dec 6, 2010 at 9:25 AM, Robby Findler ro...@eecs.northwestern.eduwrote: On Mon, Dec 6,

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
I believe that this line of discussion is on target. Interoperability is between boundaries. Our contract system is really good at finding and interposing between these boundaries, so it is natural to use it in that way. There is a notion of blame in interoperability too, when the cast fails. Jay

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
Right. (My contracts+X comment was a view from underneath comment. I was thinking that the documentation system, for example, might have to change to extract the contract part of these new things and show that to the user since I expect the coercion part to be something that is an internal

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
Maybe dynamic/c isn't clear enough... its definition is pretty short: (define (dynamic/c pre parameter post) (define pre-ctc (coerce-contract 'pre pre)) (define post-ctc (coerce-contract 'post post)) (make-contract #:name (build-compound-type-name 'dynamic pre-ctc parameter post-ctc)

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Stevie Strickland
On Dec 6, 2010, at 11:42 AM, Robby Findler wrote: But this seems to perhaps be developing into something more interesting. Maybe there is something more general than contracts and we should have a contracts+X system that supports that, somehow. Every time I discuss contracts with a visiting

[racket-dev] Hacking on the collects

2010-12-06 Thread Jakub Piotr Cłapa
I added support for secure websockets to net/websocket/client and now I am wondering how I should make such changes in th future to easily integrate them back into racket? What I have tried: 1. Fork racket on github 2. Make a local copy 3. Compile everything fro scratch 4. Wait and awful lot

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Stevie Strickland
On Dec 6, 2010, at 12:08 PM, Carl Eastlund wrote: On Mon, Dec 6, 2010 at 11:58 AM, Stevie Strickland sstri...@ccs.neu.edu wrote: On Dec 6, 2010, at 11:42 AM, Robby Findler wrote: But this seems to perhaps be developing into something more interesting. Maybe there is something more general

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Sam Tobin-Hochstadt
On Mon, Dec 6, 2010 at 12:04 PM, Jakub Piotr Cłapa jpc...@zenburn.net wrote: I added support for secure websockets to net/websocket/client and now I am wondering how I should make such changes in th future to easily integrate them back into racket? What I have tried: 1. Fork racket on github

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
Also: is this really supposed to be a parameter? That is, do you use parameterize with it? (If so, how does that interact with the ho stuff?) Robby On Mon, Dec 6, 2010 at 11:16 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Who should be blamed if the coercion does not return a response?

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
On Mon, Dec 6, 2010 at 10:16 AM, Robby Findler ro...@eecs.northwestern.eduwrote: Who should be blamed if the coercion does not return a response? The provider of the coercion should be blamed, but that is not possible [I think] so the positive party of the whole dynamic/c is blamed. Is

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Sam Tobin-Hochstadt
On Mon, Dec 6, 2010 at 12:16 PM, Jay McCarthy jay.mccar...@gmail.com wrote: If you do a pull request on github, it will not be useful because github is a mirror and I'll just need to get the patch some other way anyways. I'd rather you sent the patch directly to me. This isn't quite right.

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
Yes, the idea is that you can set the parameter inside your servlet and that will effect the thread-cell for your servlet thread. Or, you can parameterize before you serve/servlet or send/suspend for a sub-component of your servlet with a different response representation Jay On Mon, Dec 6, 2010

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Jay McCarthy
I've done it and it wasn't as nice as getting a patch. Jay On Mon, Dec 6, 2010 at 10:19 AM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote: On Mon, Dec 6, 2010 at 12:16 PM, Jay McCarthy jay.mccar...@gmail.com wrote: If you do a pull request on github, it will not be useful because github is

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Robby Findler
On Mon, Dec 6, 2010 at 11:19 AM, Jay McCarthy jay.mccar...@gmail.com wrote: On Mon, Dec 6, 2010 at 10:16 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Who should be blamed if the coercion does not return a response? The provider of the coercion should be blamed, but that is not

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread YC
On Mon, Dec 6, 2010 at 9:35 AM, Neil Van Dyke n...@neilvandyke.org wrote: Stevie Strickland wrote at 12/06/2010 11:58 AM: Every time I discuss contracts with a visiting researcher, the first or second thing they always ask is, What if you coerced to a good value instead of throwing an

[racket-dev] Commit logs

2010-12-06 Thread Eli Barzilay
Gneral request: can people please use some descriptive commit messages for the logs? A message that has only closes PR 12345 is not very useful (and will likely be even less convenient in the future if/when we move to a different bug tracking system). Also, I'd prefer to not see leftovers from

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Eli Barzilay
11 hours ago, Jay McCarthy wrote: On Mon, Dec 6, 2010 at 10:16 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Who should be blamed if the coercion does not return a response? The provider of the coercion should be blamed, but that is not possible [I think] so the positive

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
On Mon, Dec 6, 2010 at 9:32 PM, Eli Barzilay e...@barzilay.org wrote: 11 hours ago, Jay McCarthy wrote: On Mon, Dec 6, 2010 at 10:16 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Who should be blamed if the coercion does not return a response? The provider of the

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Jay McCarthy
The only response struct that will be left is what response/port was. Jay On Mon, Dec 6, 2010 at 9:38 PM, Eli Barzilay e...@barzilay.org wrote: Two days ago, Jay McCarthy wrote: In that directory is the attached README. Perhaps you wrote about this elsewhere, but what's unclear to me is

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Jakub Piotr Cłapa
On 06.12.10 18:16, Jay McCarthy wrote: I develop in the same git clone that I use. If I change collect X, I test after running raco setup X and once I'm satisfied. I run raco setup to see if other things were affected. I then run tests on things other than X that I know depend on it. Then I

Re: [racket-dev] Hacking on the collects

2010-12-06 Thread Eli Barzilay
7 minutes ago, Jakub Piotr Cłapa wrote: On 06.12.10 18:16, Jay McCarthy wrote: I develop in the same git clone that I use. If I change collect X, I test after running raco setup X and once I'm satisfied. I run raco setup to see if other things were affected. I then run tests on things

Re: [racket-dev] Removing Xexpr preference from Web Server

2010-12-06 Thread Eli Barzilay
10 minutes ago, Jay McCarthy wrote: The only response struct that will be left is what response/port was. Ah, whew. 10 minutes ago, Jay McCarthy wrote: On Mon, Dec 6, 2010 at 9:32 PM, Eli Barzilay e...@barzilay.org wrote: From a bypasser POV, I see something that involves three