00:01 vu3rdd: .. reading more about Number type and the domain/range of sqrt, Type checker says is correct. Sorry for the noise. 00:04 asumu: vu3rdd: the example still doesn't type-check right? I think the example should have the Complex type instead maybe. 00:17 (join) jeapostrophe 00:17 (quit) jeapostrophe: Changing host 00:17 (join) jeapostrophe 00:27 (quit) mmalorni: Ping timeout: 245 seconds 00:28 (join) chemuduguntar 00:30 (quit) jeapostrophe: Ping timeout: 265 seconds 00:30 chemuduguntar: hello 00:31 chemuduguntar: what is the best data structure to use to represent two dimensional values? 00:31 chemuduguntar: (x, y) 00:31 Shambles_: Probably a struct. 00:31 Shambles_: a.k.a. record 00:32 chemuduguntar: ok 00:36 (quit) jonathansizz: Ping timeout: 256 seconds 00:37 (quit) hash_table: Ping timeout: 256 seconds 00:37 (quit) getpwnam: Ping timeout: 256 seconds 00:41 (join) jeapostrophe 00:41 (quit) jeapostrophe: Changing host 00:41 (join) jeapostrophe 00:55 vu3rdd: asumu: since the sqr has the domain/range (Number -> Number), I guess Complex or Number as return type works fine 00:55 vu3rdd: asumu: I guess the example should mention that somewhere? 00:56 vu3rdd: chemuduguntar: struct perhaps or just cons cell? 01:01 chemuduguntar: vu3rdd: how about complex numbers? 01:07 vu3rdd: chemuduguntar: complex numbers are a native type in Scheme/Racket. 01:07 vu3rdd: > (* 1+4i 2+8i) 01:07 vu3rdd: -30+16i 01:08 (quit) wtetzner: Ping timeout: 260 seconds 01:13 (quit) jeapostrophe: Ping timeout: 245 seconds 01:15 (join) applyeval 01:21 (join) cdidd 01:43 (quit) applyeval: Quit: Leaving 01:45 neilv: online check-syntax is even cooler if you switch all the preferences to "with gold highlighting" 01:57 (quit) jao: Ping timeout: 260 seconds 02:04 (join) Kaylin 02:10 (quit) jacius: Quit: Leaving 03:05 (quit) chemuduguntar: Ping timeout: 248 seconds 03:13 (quit) neilv: Quit: Leaving 03:30 (join) ravi 03:58 (join) jesyspa 04:36 (quit) Kaylin: Read error: Connection reset by peer 04:54 (join) nilyaK 05:23 (quit) nilyaK: Quit: Leaving. 05:30 (join) veer 05:38 (join) snearch 06:22 (quit) jesyspa: Ping timeout: 245 seconds 06:24 (join) jesyspa 06:44 (join) BeLucid 06:45 (join) antithesis 06:59 (join) netrino 07:09 (join) mceier 07:15 (join) masm 07:21 (quit) ashish: Quit: Whenever we are together, it’s always estatically palpitating! 07:22 (join) jao 07:22 (quit) jao: Changing host 07:22 (join) jao 07:23 (join) acarrico 07:34 (quit) snearch: Quit: Verlassend 07:38 (join) ashish 07:48 (nick) ashish -> ash_ish 07:57 (quit) Shvillr: Quit: bye 07:57 (join) anRch 07:57 (join) Shvillr 08:03 (quit) ravi: Ping timeout: 245 seconds 08:13 (join) RacketCommitBot 08:13 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/7OU1uQ 08:13 RacketCommitBot: [racket/master] fix docs for render-term - Robby Findler 08:13 (part) RacketCommitBot 08:14 (quit) Shviller: Ping timeout: 244 seconds 08:15 (join) Shviller 08:31 (join) jeapostrophe 08:31 (quit) jeapostrophe: Changing host 08:31 (join) jeapostrophe 08:33 (quit) anRch: Read error: Connection reset by peer 08:49 (join) wtetzner 09:03 Shambles_: I found a really strange error in the documentation. http://docs.racket-lang.org/syntax/Literal_Sets_and_Conventions.html Below (define-conventions xyz-as-ids    [x id] [y id] [z id]) it shows a error that not only doesn't occur, but makes no sense. 09:03 Shambles_: There's another weird one right below (define-conventions xn-prefixes    [#rx"^x" id]    [#rx"^n" nat]) 09:28 (join) MayDaniel 09:36 (join) RacketCommitBot 09:36 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/i3-KGg 09:36 RacketCommitBot: [racket/master] Fix minor typo - Rodolfo Henrique Carvalho 09:36 RacketCommitBot: [racket/master] Fix docs for unsafe-flmin and unsafe-flmax. - Vincent St-Amour 09:36 (part) RacketCommitBot 09:47 Shambles_: There are other nonsense errors on: http://docs.racket-lang.org/syntax/Experimental.html Search for "exists" 10:14 (join) getpwnam 10:14 (join) jonathansizz 10:14 (join) hash_table 10:26 (join) mye 10:34 (quit) jeapostrophe: Read error: Operation timed out 10:36 (join) Mungojelly 10:46 (join) __rahul__ 10:56 (quit) jao: Ping timeout: 260 seconds 10:57 (quit) acarrico: Ping timeout: 248 seconds 11:03 (join) dzhus 11:23 (quit) MayDaniel: Read error: Connection reset by peer 12:06 (quit) veer: Quit: Leaving 12:21 (join) acarrico 12:34 netrino: Hi guys! Reading about reader macros right now. According to reference, i can define macro with make-readtable, but only with one character. But how implemented #hash or #rx? Currently my macro uses unicode lambda symbol, but i want to add an alias which would consist only of ascii characters ('lambda' or 'fn' for example). Can someone point me to the right direction? 12:37 asumu: netrino: You don't need a reader macro to implement an alias of 'lambda'. 12:37 asumu: rudybot: (define-syntax-rule (fn e ...) (lambda e ...)) 12:37 rudybot: asumu: Done. 12:38 asumu: rudybot: ((fn (x) (+ x 1)) 4) 12:38 rudybot: asumu: ; Value: 5 12:38 rudybot: asumu: ; stdout: "- : Integer [generalized from Positive-Index]\n" 12:42 netrino: asumu: sorry for confusing, i'm not very good with formulating my thought in english. I mean, that i have a reader-macro, and I want an alias for it. Currently I can write like this #λ(printf "\n~a\n" %). I want to be able to write #fn(printf "\n~a\n" %) 12:44 netrino: Can I somehome bind '#fn' to the '#λ' macro? 12:45 asumu: netrino: why not just register two reader macros? 12:46 asumu: One triggered on the lambda character and the other on 'f' 12:50 netrino: well, i thought about '#f', but looking on #rx i thought that it's possible to add multicharacter reader macros, which would be nice 12:50 (join) gciolli 12:51 netrino: ah, and #f is already defined as false 12:51 (quit) gciolli: Client Quit 12:53 asumu: Things like #hash are built-in to the reader at the C level. 12:54 Cryovat: Ah, that reminds me of something I wanted to ask 12:54 asumu: (but essentially just check the first character and then parses the rest) 12:54 Cryovat: Do you know how the lifetime of strings s? 12:54 Cryovat: *is 12:55 Cryovat: As in, how they are allocated 12:55 Cryovat: Do they live in stack frames, or are they stored somewhere more permanent? 12:57 asumu: I imagine they're heap allocated and garbage collected. 12:58 Cryovat: How about cons cells? 12:59 netrino: asumu: so you propose define a reader-macro for 'f' symbol and then parse the input, searching for 'n' symbol? but won't that break existing macros, which starting with 'f'? 13:01 (join) RacketCommitBot 13:01 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/e1obOg 13:01 RacketCommitBot: [racket/master] fixed error messages for create-world - Matthias Felleisen 13:01 (part) RacketCommitBot 13:01 asumu: netrino: Not sure, maybe you can just call the old readtable entry if it's not a match. 13:03 asumu: (looks like you could just call read/recursive if it's not a match) 13:06 (join) jacius 13:13 netrino: asumu: I see, thanks for help 13:16 (join) Kaylin 13:30 (quit) netrino: Read error: Connection reset by peer 13:30 (join) netrino_ 13:34 (join) snearch 13:54 (quit) __rahul__: Ping timeout: 248 seconds 13:58 (quit) mye: Quit: Leaving 14:07 (join) __rahul__ 14:10 (join) adu 14:29 (join) anRch 14:41 (quit) snearch: Quit: Verlassend 14:41 (quit) kanak: Ping timeout: 244 seconds 14:42 (join) mithos28 14:51 (join) kanak 14:53 Shambles_: Did anybody see my mention of the documentation errors earlier? 14:54 mithos28: You should submit it as a bug 14:55 mithos28: For some reason define-conventions is hitting the filesystem when trying to evaluate in the examples 14:57 (quit) jacius: Remote host closed the connection 14:59 offby1: Is there a contract that checks that a value is a sequence, and that all the contained values pass a particular contract? It'd be analogous to "listof". My hunch is "no", because checking the contained values might modify the sequence ... but maybe there's a special case for sequences that don't get modified ... 14:59 offby1: "sequenceof" I guess 15:00 Shambles_: mithos28: Bug reports for documentation problems seems sort of strange. 15:00 Shambles_: mithos28: Yesterday somebody fixed the problems I found. I figured they'd be willing to do it today. 15:00 mithos28: there is a menu in the bug ui to select documentation error 15:01 mithos28: If it is added to the bug database it is less likely to be forgotten in case someone doesn't get to it today 15:01 Cryovat: You could always fork, fix it and make a pull request on Github ;) 15:02 mithos28: Cryovat: The fix is not actually changing the documentation it is changing the implementation, so that the evaluator when generating the documentation doesn't error out 15:02 asumu: offby1: sequence/c does it for a fixed size sequence. 15:03 Cryovat: Oh, I see 15:03 asumu: sequenceof is problematic because it forces the entire sequence, which might be infinite. 15:03 mithos28: asumu: why? It wouldn't have to be flat. 15:04 asumu: Yeah, that's true. 15:06 asumu: offby1: actually, I think I misread the docs. 15:06 asumu: Looks like sequence/c actually does that. 15:06 mithos28: The tricky part would be maintaing equalness 15:07 asumu: rudybot: (require unstable/contract) 15:07 rudybot: asumu: Done. 15:07 mithos28: sequence/c doesn't do the tricky prat though 15:07 asumu: rudybot: (define/contract s (sequence/c number?) (in-list '(1 2 "bad"))) 15:07 rudybot: asumu: error: Type Checker: Internal Typed Racket Error : #(struct:exn:fail:contract car: expects argument of type ; given: #f #) in: here 15:07 asumu: rudybot: init racket 15:07 rudybot: asumu: your sandbox is ready 15:07 asumu: rudybot: (require unstable/contract) 15:07 rudybot: asumu: Done. 15:07 asumu: rudybot: (define/contract s (sequence/c number?) (in-list '(1 2 "bad"))) 15:07 rudybot: asumu: error: car: expects argument of type ; given: #f 15:08 asumu: Err. 15:08 (quit) adu: Quit: adu 15:10 asumu: This example works in my REPL. Not sure what happened with rudybot. 15:10 (quit) vu3rdd: Remote host closed the connection 15:10 mithos28: rudybot: (in-list '(1 2 bad)) 15:10 rudybot: mithos28: your sandbox is ready 15:10 rudybot: mithos28: ; Value: # 15:11 (join) adu 15:11 mithos28: rudybot: (define/contract s any/c (in-list '(1 2 bad))) 15:11 rudybot: mithos28: Done. 15:11 mithos28: s 15:11 mithos28: rudybot: s 15:11 rudybot: mithos28: ; Value: # 15:11 mithos28: rudybot: (version) 15:11 rudybot: mithos28: ; Value: "5.2.900.1" 15:12 mithos28: asumu: I bet that is the difference 15:14 asumu: rudybot: (sequence-ref 5 1344434) 15:14 rudybot: asumu: ; Value: 4 15:15 asumu: Hmm, I hadn't realized that range sequences are infinite. 15:15 asumu: Oh, not it's just how sequence-ref works on any sequence. 15:16 (quit) adu: Quit: adu 15:16 Shambles_: I honestly know nothing about git. I think the only version management program I became marginally competent with was CVS. I've always been mystified by why people can't just agree on one to use. I have vague memories of the CVS / SubVersion wars on Sourceforge, and everybody switching to Git as the flavor of the week just discourages me from bothering learning now. 15:17 Shambles_: I'll try to submit a documentation bug report sometime today. 15:18 Cryovat: Git (and my preference hg) do have one big advantage 15:18 Cryovat: You have your own repo 15:19 Cryovat: So if you want to do in-between commits without forcing them on your team, you don't have to mess around with branches 15:19 jamessan: yeah, DVCS in general are very handy 15:20 jamessan: there are just quirks between the different flavors that some people prefer 15:20 Cryovat: We use Subversion at work 15:21 Cryovat: It works fine most of the time 15:21 Cryovat: But there's always those small cases where you want to do have rollback ability once or twice when working on a feature 15:22 Cryovat: I ended up using Git and the builtin Subversion bridge functionality 15:22 Cryovat: It gets pretty icky when there's a merge conflict 15:22 Cryovat: But the convenience outweighs that 15:23 Shambles_: I've only needed to download copies of the repository to try to fix problems myself, at which point I end up mailing off a unified diff to be ignored. 15:23 Cryovat: :( 15:24 Shambles_: I can see the benefit of being able to retrieve previous versions, look at the difference between versions, and detect conflicts, but all the systems seem to do that. Some pretend to have some way to deal with conflicts. Let me know if any of them ever do it automatically, correctly. I'm not holding my breath. I don't see how it /could/ work. 15:25 Cryovat: I'm not a fan of automatic merges at all 15:25 Cryovat: I don't trust them 15:26 Shambles_: Since they do seem to be equivalent, it just seems like people arguing over which way is best to cross the street. Do you want to slink? Do you want to strut? Me, I don't care. I just want to get across the @#$% thing. The version control system mostly gets in my way. :P 15:26 Shambles_: It gives people an excuse to not put up tarballs or zips for their releases. 15:26 (quit) Kaylin: Quit: dog walking :O 15:27 Shambles_: Hey, you can just install this big hairy utility, and learn it, to download it! Oh, and we change the format weekly, so you'll have 3 or more of these things to do the same thing! \o/ 15:27 Shambles_: I have git on here somewhere, but I have only used it a few times, and with some GUI to try to get past having to devote more time to it. I forget what I used it for. 15:28 (join) MayDaniel 15:32 (quit) MayDaniel: Read error: Connection reset by peer 15:38 Mungojelly: Git is standard now. I've been learning it and it's pretty easy. 15:40 (quit) anRch: Quit: anRch 15:51 Shambles_: Standard, but for how long. 15:53 Shambles_: Also, so long as I can download source code, I don't really have much of a use for it. For stuff I personally work on I like keeping a backup (or a lot of backups), and using diff regularly, which basically achieves the same thing if you're working by yourself. A group probably needs some sort of version control system, but I don't see much of a need for them to keep changing unless there are really compelling features. 15:53 Shambles_: On another note, I'm really irritated that I remember something from the syntax-parse documentation that sounds like it would be useful for that "how do I write a starts-with-#fn reader macro" problem, but I can't find it. 15:54 Shambles_: It seems like it had something to do with attributes. 15:54 Shambles_: I think they used hash tables in the example of it. 15:55 Shambles_: It's so late the person with the problem has probably moved on, but it'll be bothering me for hours. 15:56 Cryovat: Well, he's still around 16:02 (quit) jesyspa: Read error: Connection reset by peer 16:02 (join) jesyspa 16:13 netrino_: Shambles_: If you are talking to me, I've already solved my problem using asumu's advice 16:19 Shambles_: netrino_: I was remembering some way to match symbols when reading, but I can't seem to find it now. 16:20 (join) adu 16:30 netrino_: Shambles_: don't bother on it, since everything works on simply reading input port and call default 'read' on match failure. but still thanks for an attempt to help 16:31 Shambles_: netrino_: It's alright. Most programming channels are pretty hostile to new people. So far folks have been pretty nice here. Besides, trying to help out helps me check my understanding of things too. 16:40 (quit) antithesis: Quit: antithesis 16:41 netrino_: Shambles_: agree with you, people here are very kind and responsive (including you). 17:10 (part) snorble_ 17:21 mithos28: Is a github pull request the best way to do a code review for the start of a patch? 17:27 (join) hill_ 17:28 (quit) hill_: Client Quit 17:35 (quit) __rahul__: Quit: Leaving 17:35 (quit) adu: Quit: adu 17:40 (join) jonrafkind 17:40 (quit) jonrafkind: Changing host 17:40 (join) jonrafkind 17:48 (join) adu 17:59 (quit) masm: Quit: Leaving. 18:01 (join) snorble_ 18:02 (part) snorble_ 18:09 (quit) em: Ping timeout: 245 seconds 18:11 (join) em 18:15 (join) yoklov 18:22 (quit) mceier: Quit: leaving 18:54 (join) jacius 18:55 (join) neilv 18:55 (quit) neilv: Changing host 18:55 (join) neilv 18:58 neilv: rudybot: eval '(OLD MACDONALD HAD A FARM ... #E1E10) 18:58 rudybot: neilv: ; Value: (OLD MACDONALD HAD A FARM ... 10000000000) 18:58 (join) RacketCommitBot 18:58 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/fj-8tQ 18:58 RacketCommitBot: [racket/master] fix `print-syntax-width' for +inf.0 - Matthew Flatt 18:58 (part) RacketCommitBot 18:58 neilv: rudybot: why can't you play nice like a normal child? 18:58 rudybot: neilv: ponders what kind things to post to IRC to make it not safe for work. Child porn haiku? 18:59 neilv: ok, i'm calling social services 19:00 otterdam: (require haiku/childporn)? 19:00 neilv: so. i posted a bug report against racket. literally 6 minutes after the notification email, matthew had already fixed it, done a git commit, and closed the bug in the tracking system 19:02 mithos28: well he is never on irc, so he can get real work done 19:02 otterdam: "Ah, someone finally found that bug. Better cherry-pick the fix for it and push it so we look superhumanly productive." 19:03 mithos28: also note that closing the bug in the tracking system is automatic on git push (with the right commit message) 19:03 neilv: fancy 19:05 otterdam: github has a bunch of different shortcuts, it pays to read up on its docmuentation 19:06 mithos28: otterdam: this is the old system, as bugs have not been moved to github 19:06 otterdam: ah, nice 19:07 jamessan: there is a plan to do that, though. I forget what the ETA is 19:08 mithos28: I think eli was working on it, if my memory serves 19:09 jamessan: samth announced the migration back in March... 19:13 (join) mye 19:14 (quit) dzhus: Ping timeout: 245 seconds 19:33 (quit) bremner: Quit: Coyote finally caught me 19:33 (join) bremner 19:33 (quit) bremner: Changing host 19:33 (join) bremner 19:37 (join) RacketCommitBot 19:37 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/kHu-2g 19:37 RacketCommitBot: [racket/master] Fix printing of single-precision floats. - Vincent St-Amour 19:37 (part) RacketCommitBot 19:47 (join) RacketCommitBot 19:47 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Xd8VZw 19:47 RacketCommitBot: [racket/master] Added to HISTORY.txt - Neil Toronto 19:47 RacketCommitBot: [racket/master] Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan) - Neil Toronto 19:47 (part) RacketCommitBot 19:49 (join) jao 19:49 (quit) jao: Changing host 19:49 (join) jao 20:01 (quit) mye: Ping timeout: 246 seconds 20:07 (quit) adu: Quit: adu 20:36 (quit) netrino_: Quit: Ave! 20:40 (join) dnolen 20:41 (join) adu 20:42 (quit) jesyspa: Ping timeout: 248 seconds 20:44 (join) jesyspa 21:17 (quit) dnolen: Ping timeout: 252 seconds 21:20 (quit) jesyspa: Quit: leaving 21:30 (quit) peeeep: Quit: Konversation terminated! 21:31 (join) peeeep 21:53 neilv: mcfly is getting closer. it now automagically fixes your info.rkt for you, constantly. http://paste.lisp.org/display/129937 21:59 neilv: and here it is making a planet archive (first thing, it checks info.rkt, and sees it doesn't need to make any changes). http://paste.lisp.org/display/129938 22:00 neilv: once this is finished, i can get rid of most of the informational messages unless a verbose flag is set 22:04 mithos28: The best part about TR bugs is that they allow you to segfault racket 22:08 mithos28: You just have to convince it that a constant value is a pointer, and it is nice enough to elide the safety checks 22:09 neilv: sounds promising. c is a popular language 22:09 mithos28: rudybot: (require typed/racket) 22:09 rudybot: mithos28: Done. 22:09 mithos28: (: f (Pair 'a 'b)) 22:10 mithos28: rudybot: (: f (Pair 'a 'b)) 22:10 rudybot: mithos28: Done. 22:10 mithos28: rudybot: (define f (letrec ((x x)) x)) 22:10 rudybot: mithos28: Done. 22:10 mithos28: rudybot: (displayln f) 22:10 rudybot: mithos28: ; stdout: "#\n" 22:10 mithos28: rudybot: (:print-type f) 22:10 rudybot: mithos28: ; stdout: "(Pairof 'a 'b)\n" 22:11 mithos28: (car f) would crash it, but I want to be nice to rudybot 22:20 (join) jyc_ 22:25 (join) veer 22:53 (quit) jonathansizz: Ping timeout: 246 seconds 22:53 (quit) hash_table: Ping timeout: 240 seconds 22:53 (quit) getpwnam: Ping timeout: 240 seconds 23:17 (join) RacketCommitBot 23:17 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/eC0rdA 23:17 RacketCommitBot: [racket/master] Improve handling of NaN in division. - Vincent St-Amour 23:17 RacketCommitBot: [racket/master] Be more conservative about returning Float-Complex and others. - Vincent St-Amour 23:17 RacketCommitBot: [racket/master] Fix typechecking of Single-Flonum-Complex literals. - Vincent St-Amour 23:17 (part) RacketCommitBot 23:58 (join) jeapostrophe 23:58 (quit) jeapostrophe: Changing host 23:58 (join) jeapostrophe