00:05 (join) dented42 00:06 (nick) gridaphobe -> muppetbot 00:09 asumu: Shambles_: I just use the printf function. And yeah, that's what I ended up doing. 00:10 (quit) rbarraud: Read error: Connection reset by peer 00:22 (join) jrslepak 00:34 (join) kreol[Ukr] 00:44 (join) veer 00:51 mithos28: Is anyone here a TR user? I want to know whether they think (let: ((x : (U (Vectorof Number) String) (vector 1 2 3))) x) should typecheck? This is not does it typecheck but should it. 01:02 (quit) veer: Read error: Connection reset by peer 01:03 (join) veer 01:07 veer: mithos28: it type checks here in 5.2.1 01:07 (quit) karswell: Remote host closed the connection 01:07 mithos28: veer: that is not the question. The question is do you expect it to type check? 01:08 veer: mithos28: yes 01:08 mithos28: why? I am interested in your reasoning 01:08 mithos28: A change I am making breaks this and I want to see if I agree in trying to see if it should be supported 01:10 veer: let returns x and x is of type T , so it will type check 01:10 veer: i.e let expr 01:10 mithos28: The interesting part is (vector 1 2 3) of type (U (Vectorof Number) String) 01:11 jrslepak: should it not be? 01:12 mithos28: jrslepak: It depends 01:12 mithos28: (vector 1 2 3) without any context generalizes to (Vectorof Integer) 01:12 mithos28: which is not (U (Vectorof Number) String) 01:12 veer: Integer is subtype of Number 01:13 (quit) jonathansizz: Ping timeout: 245 seconds 01:13 (quit) getpwnam: Ping timeout: 245 seconds 01:13 mithos28: but vectors are mutable and thus invariant not covariant 01:13 mithos28: If you replace vector with list there is no question that this should typecheck 01:15 veer: I don't know what invariant and covariant means sorry, but when you mutate x , x can only have values of types that are subtype of number as far as i know 01:16 veer: I mean number or string 01:17 mithos28: (Vectorof Integer) is not a subtype of (Vectorof Number) 01:17 mithos28: because if I had a vector of integers and treated it as a vector of numbers I could set some index to a non-integer 01:17 (join) karswell 01:18 mithos28: which would cause problems to something that thought every index was an integer 01:18 (quit) kreol[Ukr]: Ping timeout: 244 seconds 01:18 veer: when you set some index to non-integer where integer is expected than type checker will produce error 01:20 mithos28: right, but if (vectorof integer) was a subtype of (vectorof Number) you could get away with this. Which is why it is not. 01:20 (quit) Kaylin: Read error: Connection reset by peer 01:21 veer: thing is number is not subtype of integer and if index a[i] say and i is of type integer than if you try to set i to a non integer it will cause type error 01:21 mithos28: rudybot: (define v (vector 1 2 3)) 01:21 rudybot: mithos28: your sandbox is ready 01:21 rudybot: mithos28: Done. 01:22 mithos28: rudybot: (define v2 v) 01:22 rudybot: mithos28: Done. 01:22 mithos28: (rudybot (vector-set! v2 0 4.2) 01:22 mithos28: rudybot: (vector-set! v2 0 4.2) 01:22 rudybot: mithos28: Done. 01:22 mithos28: rudybot (vector-ref v 0) 01:23 mithos28: rudybot: (vector-ref v 0) 01:23 rudybot: mithos28: ; Value: 4.2 01:23 mithos28: If v was type (Vectorof Integer) and v2 was type (Vectorof Number), the only possible error line is the definition of v2 01:24 mithos28: that is why (Vectorof Integer) is not a subtype of (Vectorof Number) 01:26 veer: let me put a concrete example , i have forgotten how to annotate types , so I'll come back in few mins :) 01:29 veer: mithos28: you are right 01:30 veer: so why is it so ? 01:30 mithos28: Ok but note that you can still annotate (vector 1 2 3) as (Vectorof Number) because 1 2 3 can be considered numbers 01:31 mithos28: If the context is expecting a vector of numbers (vector 1 2 3) will say that it returns a vector of numbers 01:32 mithos28: but if the context doesn't specify then it generalizes to integers 01:33 mithos28: The real question is in the case where there is a union type do you expect TR to go into the union type and find the one vector type 01:33 mithos28: and what should it do if there are multiple vector types 01:34 mithos28: currently there is a lot of special casing, but I don't think it actually helps any real programs 01:34 mithos28: and it dosen't work if you use vector-prime where (define vector-prime vector) 01:39 veer: my question is Number type eqv to (U Integer Float .... Number) ? 01:40 mithos28: There is no Number in the union. But yes Number is a union of more precise numeric types 01:41 veer: so (Vectorof Number) eqv to (Vectorof (U Integer Float ...)) ? 01:41 mithos28: Yep 01:41 veer: so why (define v2 v1) produces real error ? 01:42 veer: v2: (Vectorof Number) 01:42 mithos28: let a < b mean that a is a subtype of b 01:42 veer: ok 01:42 mithos28: while Integer < Number, (Vector Integer) < (Vector Number) is not true 01:43 veer: I see 01:43 mithos28: Thats part of the definition of the Vector type 01:43 mithos28: if it was true, then you could get errors 01:43 veer: ok 01:44 mithos28: also if it was true you would be programming Java 01:44 mithos28: they got it wrong 01:46 veer: ok thanks , any example of that can cause error if it was true? I can't seem to come up with any ? 01:47 mithos28: The example I gave earlier 01:47 mithos28: you treat a vector of integers as a vector of numbers 01:47 mithos28: you then set on of the entries to a number 01:47 mithos28: you then look at through the vector of integers value and look at that entry 01:48 veer: ok ok I got it now :) 01:48 mithos28: it is a floating point number and not an integer 01:48 veer: so this is because of mutation 01:48 mithos28: sorta 01:49 mithos28: it is really because of the argument appearing on both sides of the function arrow 01:49 mithos28: it appears on the left in set! and on the right in ref 01:51 veer: thanks mithos28 , I was really surprised why it did not work , just checked it woks with list thanks 01:54 (join) mithos28_ 01:54 (nick) mithos28_ -> mithos28 01:58 (quit) karswell: Remote host closed the connection 02:01 (join) mithos28_ 02:01 (nick) mithos28_ -> mithos28 02:02 (quit) jacius: Quit: Leaving 02:06 (join) mithos28_ 02:06 (quit) mithos28_: Remote host closed the connection 02:08 (join) karswell 02:08 (join) mithos28 02:19 (join) adu 02:32 (quit) adu: Quit: adu 02:37 (quit) mceier: Quit: leaving 02:46 (quit) mithos28: Remote host closed the connection 02:46 (join) mithos28 02:47 (quit) dsantiago: Ping timeout: 252 seconds 02:52 (join) dsantiago 02:52 veer: One more thing I notice is that if I let v1 be a list of integers [1 2 3] and v2 be a vector of anything say number, when I do this (vector-set! v2 (first v1) 3) it does not type check , but (vector-ref v2 (first v1)) does 02:53 mithos28: can you paste code? 02:54 veer: ok in a sec 02:56 veer: https://gist.github.com/2940271 02:57 mithos28: rudybot: init typed/racket 02:57 rudybot: mithos28: your typed/racket sandbox is ready 02:58 mithos28: rudybot: (define v2 (vector 1 2 3)) 02:58 rudybot: mithos28: Done. 02:58 mithos28: rudybot: (:print-type v2) 02:58 rudybot: mithos28: ; stdout: "(Vector (U 0 1 Byte-Larger-Than-One Positive-Index-Not-Byte Positive-Fixnum-Not-Index Negative-Fixnum Positive-Integer-Not-Fixnum Negative-Integer-Not-Fixnum) (U 0 1 Byte-Larger-Than-One Positive-Index-Not-Byte Positive-Fixnum-Not-Index Negative-Fixnum Positive-Integer-Not-Fixnum Negative-Integer-Not-Fixnum) (U 0 1 Byte-Larger-Than-One Positive-Index-Not-Byte Positive-Fixnum-Not-Index Negative-Fixnum Pos 02:59 mithos28: rudybot: (vector-set! v2 (+ 1 1) 4) 02:59 rudybot: mithos28: error: #:1:16: Type Checker: expected statically known index for heterogeneous vector, but got Positive-Index in: (#%app + (quote 1) (quote 1)) 02:59 mithos28: Are you getting that error or something else? 02:59 veer: yes similar 02:59 (join) mithos28_ 02:59 (quit) mithos28: Read error: Connection reset by peer 02:59 (nick) mithos28_ -> mithos28 03:00 (quit) jonrafkind: Ping timeout: 248 seconds 03:00 (join) neilv 03:00 mithos28: so v2 is not a (Vectorof Integer) in this case it is (Vector Integer Integer Integer) 03:00 mithos28: so it is statically of length 3 so typedracket likes to add extra checks 03:01 veer: oh ok 03:01 mithos28: rudybot: (define v-set vector-set!) 03:01 rudybot: mithos28: Done. 03:01 mithos28: rudybot: (v-set v2 (+ 1 1) 4) 03:01 rudybot: mithos28: Done. 03:01 mithos28: rudybot: v2 03:01 rudybot: mithos28: ; Value: #(1 2 4) 03:01 rudybot: mithos28: ; stdout: "- : (Vector Integer Integer Integer)\n" 03:02 mithos28: but the checks are awful hacks, that can be avoided by not using the vector-set! binding 03:02 mithos28: But thanks for bringing that up, I look to fix it 03:03 mithos28: the issue is that it just gives up in the non static index case, when it should see if it could do in to all of the arguments 03:08 (join) mithos28 03:11 veer: allright thanks , it is specific to vector-set! , vector-ref seems to work both with static index and dynamic 03:12 mithos28: Its because it is easier, it is a union type in vector-ref where it is the interesection in vector-set! 03:17 (join) jesyspa 03:20 (nick) eMBee -> em-bee 03:29 (join) mithos28_ 03:29 (quit) mithos28: Read error: Connection reset by peer 03:29 (nick) mithos28_ -> mithos28 03:30 (join) mithos28_ 03:30 (nick) mithos28_ -> mithos28 03:46 (join) cataska 04:00 (join) mithos28_ 04:01 (quit) Shambles_: Quit: Leaving. 04:04 (nick) mithos28_ -> mithos28 04:06 (join) mceier 04:24 (quit) veer: Quit: Leaving 04:47 (join) bitonic 04:49 (quit) karswell: Remote host closed the connection 05:00 (join) karswell 05:10 (join) MayDaniel 05:16 (quit) MayDaniel: Read error: Connection reset by peer 05:22 (join) antithesis 05:41 (quit) antithesis: Quit: antithesis 05:44 (quit) jesyspa: Quit: leaving 05:53 (join) antithesis 05:58 (join) Shambles_ 06:12 (quit) sizz_: Quit: No Ping reply in 180 seconds. 06:12 (join) sizz 06:16 (quit) antithesis: Quit: antithesis 06:20 neilv: i have enough working in charterm that i'm going to document and release it now. http://i.imgur.com/p1qwX.png 06:26 (quit) bitonic: Quit: WeeChat 0.3.7 06:28 (join) bitonic 07:12 Shambles_: neilv: Now everybody can make roguelikes in Racket. ;) 07:14 neilv: yes, i just documented that fact 10 minutes ago 07:19 (join) lamefun3 07:19 (join) masm 07:20 (part) lamefun3 07:25 (join) jonathansizz 07:25 (join) getpwnam 07:37 (join) RacketCommitBot 07:37 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/YsKDDw 07:37 RacketCommitBot: [racket/master] add a possible explanation for indy - Robby Findler 07:37 (part) RacketCommitBot 07:40 neilv: i once wrote a roguelike in pascal or c 07:40 neilv: 3 of them, actually 07:42 (quit) karswell: Remote host closed the connection 07:52 (join) karswell 08:05 (join) veer 08:19 (quit) Shviller: Ping timeout: 248 seconds 08:19 (join) Shviller 08:39 (quit) veer: Ping timeout: 240 seconds 08:41 neilv: why is there no "nonnegative?" 08:54 Shambles_: (define (nonnegative? x) (or (zero? x) (positive? x))) 09:06 neilv: i wanted to use it in a contract in documentation 09:08 neilv: i don't know how people can stand to document things like scribble 09:08 neilv: i'm suffering just documenting this little library i wrote over the course of a day or so 09:22 (join) MayDaniel 09:31 (join) veer 09:56 (join) baconwithfries 09:58 baconwithfries: heya! Can someone help me with Intermediate lang in DrRacket? I got this error when I try to run a programm : module: identifier already imported from a different source 09:58 baconwithfries: Settings are on standard 10:03 (quit) baconwithfries: Quit: Page closed 10:09 (quit) ChanServ: shutting down 10:25 (join) ChanServ 10:35 (join) mithos28 10:35 (join) jeapostrophe 10:35 (quit) jeapostrophe: Changing host 10:35 (join) jeapostrophe 10:44 (join) kreol[Ukr] 10:49 asumu: neilv: (>=/c 0) is useful for that. 10:56 neilv: http://www.neilvandyke.org/racket-charterm/ 10:58 asumu: neilv: Nice! 10:58 neilv: thanks 10:58 neilv: i'm wondering whether that demo command line in the introduction will actually work for anyone 11:00 asumu: Works for me 11:00 neilv: excellent. thanks 11:04 (quit) jrslepak: Quit: This computer has gone to sleep 11:04 jamessan: how well does it handle key chords? can it tell the difference between and (in a properly configured terminal)? 11:05 neilv: it knows a lot of them, including things like alt-a, ctrl-f1, shift-f1 11:05 neilv: it can't distinguish tab and ctrl-i, however 11:05 neilv: at least not with the current decoder dfa 11:05 neilv: and not with my rxvt 11:05 jamessan: libtermkey might be useful to look at 11:07 neilv: thanks, i've made a note to look at that 11:09 (join) jacius 11:12 (nick) _p4bl0 -> p4bl0 11:20 (join) jrslepak 11:30 (quit) jrslepak: Quit: This computer has gone to sleep 11:30 (join) RacketCommitBot 11:30 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/pbH03w 11:30 RacketCommitBot: [racket/master] Don't export internal names for define & lambda. - Sam Tobin-Hochstadt 11:30 RacketCommitBot: [racket/master] Handle submodules in Typed Racket. - Sam Tobin-Hochstadt 11:30 (part) RacketCommitBot 11:47 (join) jonrafkind 11:47 (quit) jonrafkind: Changing host 11:47 (join) jonrafkind 11:52 (join) kreol 11:53 (nick) kreol -> Guest35125 11:54 (quit) kreol[Ukr]: Ping timeout: 260 seconds 12:12 chandler: neilv: what is the shell out to stty used for? 12:21 (quit) MayDaniel: Read error: Connection reset by peer 12:22 (quit) veer: Ping timeout: 246 seconds 12:23 mithos28: Does anyone know why if I raise an error with source location it doesn't get printed, but raise-syntax-error does print it? Is there something I need to do besides attach the list of srclocs using the structure property. 12:25 neilv: chandler: to set raw mode and turn off echo 12:31 (join) Kaylin 12:37 mithos28: Ugh, this is because the source location in a raise-syntax-error is part of the error message 12:38 mithos28: why does the default handler not print the source location 12:39 jonrafkind: are you saying (error) vs (raise-syntax-error) ? 12:40 jonrafkind: or (raise-syntax-error) with an extra argument used for source location? 12:40 mithos28: I am trying to use error to raise an error with source location so that it is printed nicely and aid in debugging 12:41 mithos28: raise-syntax-error was displaying nice sourcelocation information but I couldn't figure out why error was not 12:41 mithos28: and the answer is that the source location information is part of the message for raise-syntax-error 12:41 jonrafkind: so its a runtime error right, not a syntax error? 12:42 mithos28: yes 12:43 mithos28: rudybot: (exn-message (with-handlers ((exn:fail? identity)) (raise-syntax-error 'foo "an error" #'here))) 12:43 rudybot: mithos28: ; Value: "#:1:89: foo: an error in: here" 12:43 rudybot: mithos28: ; stdout: "- : String\n" 12:43 jonrafkind: well i mean whats the point, the source location will be from the implementation of the function instead of the call to the function 12:43 jonrafkind: unless you're debugging the implementation i guess 12:44 mithos28: It is in the output of a macro (match to be precise) so it will have the right source location 12:45 jonrafkind: oh so you want the source location to point at the match expression? 12:45 jonrafkind: or possibly some sub-expression inside the match? 12:45 mithos28: the root problem is that the default error-display-handler doesn't use the source location information on the exception in its output 12:45 mithos28: I have already attached the source location to the exception, but I am no longer getting useful output from it 12:46 (quit) karswell: Remote host closed the connection 12:46 mithos28: I made the original change a year ago (according to github) but something has changed in the meantime 12:46 jonrafkind: oh 12:47 mithos28: it is really annoying when it says that no clause matched for some input, but I have no idea what match form it is talking about 12:49 jonrafkind: rofl. story of my life. since all i do is write macros i get no source location for any errors whatsoever 12:50 mithos28: cannot you use syntax/loc? 12:50 jonrafkind: thats for a syntax error 12:50 jonrafkind: try doing (define-syntax (foo stx) (syntax->datum #f)) or something 12:50 jonrafkind: all you get is 'syntax->datum: expected syntax' 12:50 mithos28: so you need contracts at the syntax-level 12:51 mithos28: are you working on a layer below syntax/parse? 12:51 jonrafkind: contracts dont usually have source location information in them either 12:51 (join) netrino 12:51 jonrafkind: ill try an experiment.. 12:51 mithos28: they at least have the module usually 12:51 jonrafkind: lol 12:52 mithos28: unless you are using them incorrectly because reexporting contracted values is impossible to do correctly and easily 12:52 jonrafkind: then i should probably put each function into its own module 12:52 (quit) Nisstyre: Quit: Leaving 12:52 mithos28: use define/cond-contract from TR 12:53 mithos28: it uses a variable at phase 1 to determine whether or not the function is contracted 12:53 (quit) dented42: Quit: Computer has gone to sleep. 12:53 mithos28: this allows you to turn them on for debugging but remove them in 'production' 12:54 jonrafkind: where is that, i just grepped for it 12:54 mithos28: collects/typed-racket/utils/utils.rkt 12:55 (quit) Kaylin: Quit: Leaving. 12:55 jonrafkind: oh i was looking in typed/ 12:55 jonrafkind: whats the TR directory these days? typed-racket? 12:55 mithos28: oh and it is currently broken, the import of racket/contract/base needs to be switched to racket/contract 12:56 (join) Nisstyre 12:56 mithos28: I have no idea what the directory situation is 12:56 (join) karswell 12:57 jonrafkind: ok if i make a submodule that provides a contracted `foo' and use it in the outer module incorrectly, the error does not mention the submodule 12:58 mithos28: What if you do it in two seperate modules? 12:58 jonrafkind: isn't it already in two separate modules? 12:58 jonrafkind: you mean separate files? 12:58 mithos28: top level modules 12:58 mithos28: I haven't played around with submodules 12:58 asumu: jonrafkind: try `define/contract` 12:59 jonrafkind: oh, i was using provide/contract 12:59 asumu: well, I meant as an alternative to submodules. 12:59 jonrafkind: same thing 12:59 jonrafkind: the point of using submodules was to see if the contract error would mention the submodule 13:01 mithos28: what is the blaming line? 13:01 jonrafkind: without using errortrace it just says 'x.rkt [running body]' 13:01 mithos28: https://gist.github.com/2941947 13:02 mithos28: That is what I get which blames b correctly 13:03 jonrafkind: oh oops, i was getting a different error because i was calling the function with the wrong number of values 13:03 jonrafkind: but the contract error only gets invoked if you use the correct arity but the wrong types 13:03 jonrafkind: why doesn't the contract error fire for mismatched arity too? 13:04 mithos28: Thats probably because the error happens before the contract wrapper 13:04 jonrafkind: do you think it can be changed? 13:04 mithos28: otherwise all contracted procedures would have to accept any number of arguments in the wrapper 13:05 jonrafkind: maybe there is some contract form that can work that way? 13:05 mithos28: Theoretically yes, I'm not sure what the runtime cost would be 13:05 jonrafkind: so not everyone has to use it 13:06 mithos28: acutally no you cannot do it in a contract 13:06 mithos28: it would change procedure-arity 13:06 jonrafkind: oh wait wait, the contract error gives you the source location for the definition of the contracted thing, not the calling thing 13:06 mithos28: right, but gives you the module of the error 13:06 jonrafkind: bleh 13:08 jonrafkind: wait what? it doesnt give me the module of the error 13:08 jonrafkind: it gives me the module of the contracted function 13:08 mithos28: can you paste your output 13:08 jonrafkind: https://gist.github.com/2941967 13:08 jonrafkind: caling function is x.rkt 13:09 mithos28: what are the files? 13:09 jonrafkind: x.rkt and foo.rkt 13:09 mithos28: and contents? 13:10 jonrafkind: updated 13:11 mithos28: Yeah thats right 13:11 mithos28: the contract boundary is the define not the provide 13:12 mithos28: so you are protecting the definition of the function from the use of the function outside 13:12 jonrafkind: as opposed to what 13:12 mithos28: you want to be protecting it from misuse outside the module 13:12 jonrafkind: how should i change my definition of foo or whatever 13:13 mithos28: you need to use contract-out 13:13 jonrafkind: or provide/contract, right? 13:13 mithos28: yeah 13:13 jonrafkind: i thought i was providing the contracted value 13:13 mithos28: you are 13:13 jonrafkind: and doesnt provide/contract also provide a contracted value? 13:13 mithos28: they are two different contracted values 13:14 mithos28: when you contract a value there are two parties that are involved in the contract 13:14 jonrafkind: ok now it says 'blaming x' 13:14 mithos28: with define/contract it is the definition context and the body of the function 13:14 jonrafkind: well this isn't a great state of affairs but i guess its better than nothing 13:15 mithos28: with provide/contract it is the importing module and exporting module 13:15 jonrafkind: ok so i can use define/contract and provide/contract at the same time, thats fine 13:16 mithos28: yeah you will pay the overhead twice, but protect against two different kinds of errors 13:16 mithos28: there really needs to be a provide form recontract-out 13:17 jonrafkind: which would do what 13:17 mithos28: change the blame party to the importing module 13:18 mithos28: but with the same contract 13:18 jonrafkind: oh as the define/contract 13:18 jonrafkind: yea 13:19 mithos28: its requires some rework of the system because the current binding of a contracted value is not inspectable to determine enough information to do that 13:31 (quit) bitonic: Quit: WeeChat 0.3.7 13:32 mithos28: Added my own custom error-display-handler and got a very nice error message 13:32 mithos28: /typed-racket/typecheck/tc-metafunctions.rkt:74.2: 13:32 (join) bitonic 13:38 (join) yoklov 13:38 Shambles_: neilv: I had to go AFK a long time. I don't really mind documenting things. I used to keep up some articles on a wiki. Felt nice keeping other people from having to suffer through screwing up a bunch to figure out what I'd already figured out. Must just be a taste thing. 13:43 Shambles_: Also, this isn't a big deal, but is there some way to attach icons to things in the list and tree GUI widgets? I can't seem to find a way. 13:55 (quit) bitonic: Remote host closed the connection 14:06 (join) adu 14:06 (join) MayDaniel 14:12 (quit) mithos28: Remote host closed the connection 14:13 (join) mithos28 14:21 (join) dented42 14:21 (join) snearch 14:29 (quit) dented42: Quit: Computer has gone to sleep. 14:31 (quit) Myk267: Quit: Myk267 14:45 (quit) adu: Quit: adu 15:00 (quit) snearch: Quit: Verlassend 15:16 (join) banseljaj 15:18 (quit) neilv: Quit: Leaving 15:25 (join) jrslepak 15:33 banseljaj: Hey guys. 15:34 banseljaj: I have a question about DrRacket. 15:34 banseljaj: I am going through the htdp book, and I can't load teachpacks. 15:34 banseljaj: DrRacket v 5.1.3 15:36 Shambles_: banseljaj: I'm not sure if this is the issue, but the latest is 5.2.1 15:37 banseljaj: I was using the one available in ubuntu repositroy 15:37 banseljaj: I will try witht the newer one 15:51 (join) dented42 15:53 mithos28: are there contracts for the dictionary datatypes? 15:54 (quit) jeapostrophe: Ping timeout: 240 seconds 16:06 (nick) banseljaj -> imami|afk 16:11 Shambles_: mithos28: Maybe I don't understand the question, but can't you just attach the contracts to any variable or function, whatever the type? 16:12 mithos28: Shambles_: You cannot write hash/c without having access to the internals of hash tables are implemented 16:12 mithos28: I cannot find such a contract dict/c for dictionaries 16:25 (join) mithos28_ 16:29 (quit) mithos28: Ping timeout: 240 seconds 16:29 (nick) mithos28_ -> mithos28 16:30 Shambles_: Guess I have some reading to do. I thought dictionaries and hash tables were the same thing. 16:33 (join) Myk267 16:35 mithos28: Shambles_: Dictionaries are a generalization of hash tables. Other things that are dictionaries are alists and vectors along with free-id-tables and such 16:35 Shambles_: mithos28: I see that now. So what are you having trouble with? You're trying to implement something for Typed Racket? 16:36 mithos28: No trying to debug it, and realizing that dictionary contracts would help 16:39 Shambles_: mithos28: So part of the implementation lacks a contract? 16:39 mithos28: Yes. 16:40 mithos28: I am doing a fairly invasive change to the internals of it so causing lots of errors where I have updated one side of the api but not the other 16:42 Shambles_: mithos28: Was there a bug with the way they worked before, or is there something new you're adding? 16:43 mithos28: I'm trying to improve its inference system. It is not technically a bug, but it feels like it as a user of TR. 16:46 Shambles_: mithos28: I see. 16:50 (quit) MayDaniel: Read error: Connection reset by peer 16:54 (quit) dented42: Quit: Computer has gone to sleep. 16:59 (quit) getpwnam: Ping timeout: 252 seconds 16:59 (quit) jonathansizz: Ping timeout: 252 seconds 17:01 (join) dented42 17:01 (join) MayDaniel 17:05 (join) zkl 17:06 (part) zkl 17:56 (quit) MayDaniel: Read error: Connection reset by peer 18:08 (join) Kaylin 18:32 (join) tfb 18:56 (join) RacketCommitBot 18:56 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/-SLnNQ 18:56 RacketCommitBot: [racket/master] Disable debugging printing. - Vincent St-Amour 18:56 (part) RacketCommitBot 18:59 (nick) eli -> elibarzilay 19:10 (quit) mceier: Quit: leaving 19:13 (quit) tfb: Quit: sleeping 19:26 (quit) netrino: Quit: Ave! 19:45 (quit) sizz: Quit: No Ping reply in 180 seconds. 19:47 (quit) peeeep: Quit: Konversation terminated! 19:48 (join) peeeep 19:48 (join) sizz 19:50 (quit) antono: *.net *.split 20:24 (quit) dented42: Quit: Computer has gone to sleep. 20:24 (quit) masm: Quit: Leaving. 20:25 (quit) stchang: Read error: Operation timed out 20:28 (join) stchang 21:06 (join) hemmie 21:09 hemmie: hi all I have a quick question: I'm trying to get started with drracket, but when I start it up, none of the buttons at the top of the window are showing. They do seem to work normally, but visually it's just a grey bar.. Was wondering if this is at all a familiar problem with drracket, or whether I should be looking for the problem on my end 21:10 hemmie: all menus and buttons on other programs seem to be working normally, and the problem persists after rebooting and reinstalling the package. 21:10 hemmie: This is on ubuntu 12.04 23bit 21:19 (quit) karswell: Remote host closed the connection 21:20 (join) RacketCommitBot 21:20 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/xWc-Lg 21:20 RacketCommitBot: [racket/master] scribble: adjust `def...' box to show a background label in HTML - Matthew Flatt 21:20 (part) RacketCommitBot 21:29 (join) karswell 21:38 (quit) hemmie: Ping timeout: 246 seconds 21:58 (join) hemmie 22:05 (part) hemmie: "WeeChat 0.3.5" 22:11 (quit) Kaylin: Read error: Connection reset by peer 22:29 asumu: mithos28: there is prop:dict/contract but it's a weird interface. 22:29 asumu: And may warrant a re-design in the long run. 22:46 (quit) jacius: Quit: Leaving 23:05 (join) Kaylin 23:24 (join) getpwnam 23:24 (join) jonathansizz 23:55 asumu: The new labels for documenation forms is nice. 23:55 asumu: Though the color slightly hard to see. 23:56 asumu: (it helps a lot on some of the framework docs where it's hard to tell what is a mixin, method, etc.)