Oh, sorry I missed that. Robby
On Mon, Jan 19, 2015 at 6:40 PM, Alexis King <lexi.lam...@gmail.com> wrote: > I already used blame-add-context, but the message I used wasn’t very good, so > I’ve improved it. If everything else looks good, feel free to merge this > whenever you get the chance! > >> On Jan 19, 2015, at 15:52, Robby Findler <ro...@eecs.northwestern.edu> wrote: >> >> Ah: one other note. When you do something like this: >> >> ((contract (-> (list/c (box/c integer?)) any) >> (λ (x) (unbox (car x))) >> 'pos 'neg) >> (list (box "not an integer"))) >> >> you get an error message that has this text in the middle: >> >> in: the content of >> the 1st element of >> the 1st argument of >> (-> (list/c (box/c integer?)) any) >> >> This path information is collected in the blame records. >> >> So, instead of passing along just the blame record you got, call >> "blame-add-context" so you get some stuff in that portion of the error >> message. >> >> Maybe "a value passed on" or something like that would be a good >> phrase? I usually look at a few examples to pick something. >> >> Otherwise, this looks good to merge to me (but I don't use the >> generics as much as I should so if you wanted to you could try asking >> for someone specifically knowledgeable to look there). >> >> If you don't, I can push the commit to the appropriate repo. Let me know. >> >> Robby >> >> >> >> On Mon, Jan 19, 2015 at 5:44 PM, Alexis King <lexi.lam...@gmail.com> wrote: >>> Yes, there are tests, and you can see them here. >>> >>> On Jan 19, 2015, at 13:29, Robby Findler <ro...@eecs.northwestern.edu> >>> wrote: >>> >>> This seemed okay, but just a quick read of the code. But did I miss >>> the test cases? (I just followed the link upthread -- sorry if I need >>> to look somewhere else too.) >>> >>> Robby >>> >>> >>> On Mon, Jan 19, 2015 at 3:15 PM, Alexis King <lexi.lam...@gmail.com> wrote: >>> >>> Any update on this? If there’s anything that still needs to be changed, let >>> me know—otherwise, I’ll patiently wait for the process to run its course. >>> Just checking in. >>> >>> On Jan 16, 2015, at 10:15, Alexis King <lexi.lam...@gmail.com> wrote: >>> >>> Ah, that makes sense, fixed. >>> >>> On Jan 16, 2015, at 05:37, Robby Findler <ro...@eecs.northwestern.edu> >>> wrote: >>> >>> One comment. The contract combinators are curried so that you can do >>> work on the partial applications. So don't write this: >>> >>> (define ((((ho-val-first-projection >>> impersonate/chaperone-async-channel) ctc) blame) val) >>> >>> instead try to do some work earlier, when you first can. (The most >>> important thing is to minimize the work done after you get the 'val' >>> argument.) >>> >>> Robby >>> >>> >>> >>> >>> _________________________ >>> Racket Developers list: >>> http://lists.racket-lang.org/dev >>> >>> > _________________________ Racket Developers list: http://lists.racket-lang.org/dev