00:03 mye: are there functions to convert a string "42" to the integer 42 built-in? 00:05 mye: mye: it's called 'read' 00:05 scott_: try (string->number "42") 00:06 jonrafkind: lol @ read 00:06 mye: scott_: hem, wow. I had searched the docs for this 00:06 mye: seriously, it I didn't see results 00:07 mye: jonrafkind: hey read works right? 00:07 mye: (read (open-input-string "55")) 00:07 mye: is it bad to use it that way? 00:07 jonrafkind: its probably a billion times less efficient than string->number 00:08 mye: I see, I knew it would be less efficient but so much. Well, it starts up the whole lexer/parser business I guess 00:09 mye: which is ironic since I use this in a parser 00:10 jonrafkind: well looking through the implementation it ultimately calls scheme_read_number 00:10 jonrafkind: which it would have called had you used read 00:11 jonrafkind: so maybe not that faster 00:18 (quit) nathanpc: Ping timeout: 244 seconds 00:39 (join) neilv 00:44 neilv: has someone already optimized the code from http://blog.racket-lang.org/2012/10/the-3n1-problem_4990.html ? 00:45 neilv: sometimes pedagogic or ideological code is not the fastest, and this is bad pr for some prospective adopters 00:46 neilv: especially when you make it look like a benchmark 00:46 neilv: "here is a step-by-step tutorial on how to make programs that are unacceptably slow for your needs" 00:49 (quit) BeLucid_: Read error: Connection reset by peer 00:50 (quit) didi: Read error: Operation timed out 00:54 jonrafkind: what industry uses the 3n1 function to make money? 00:58 neilv: NeilvRacket 2000 Professional Edition, now with 3n+1 Acceleration 00:58 jonrafkind: ill take a dozen 00:59 (join) BeLucid 01:00 neilv: it's too bad that so many of the current prospective racket adopters do not have money to throw at their problems 01:01 neilv: my consulting firm could be making short work of a lot of these, and i could start poaching new grads and grad students 01:03 jonrafkind: you have to convince the next round of YC applicants to use racket for their whizbang website 3.0 01:03 neilv: that could backfire. if they don't do it right 01:03 jonrafkind: life is a gamble 01:03 (quit) BeLucid: Ping timeout: 256 seconds 01:04 neilv: like lisp people used to hold up the yahoo store thing way too much, even after the "first thing you do, throw out the lisp and rewrite everything" 01:04 jonrafkind: heh yea 01:04 jonrafkind: the story of reddit follows the same path 01:04 jonrafkind: lisp out. python in 01:04 neilv: there is actually an easy way to spin that, which would work 01:04 neilv: but you still also need to do the racket the right way, or you won't get off the ground 01:05 neilv: s/the right way/a right way/ 01:05 jonrafkind: well its hard to prove, like the people who try to measure productivity in static vs dynamic typed languages 01:05 jonrafkind: maybe the people who use racket would have gotten it right in any language 01:06 neilv: you don't need proof. you just need success stories 01:06 (join) BeLucid 01:06 jonrafkind: but then dumb people will fail and not know why 01:07 neilv: which is why i say it could backfire. if some startups use racket, hopefully they will do it smartly 01:09 neilv: i just started adding music-playing support to rackout. once i get to the next good stopping point i'll probably make a showcase scalable dynamic web site using racket 01:22 (quit) dnolen: Remote host closed the connection 01:51 neilv: is "system-path-convention-type" the best way to decide whether i should be looking for ".exe" files instead of unix-y executable file names? 01:57 (quit) jeapostrophe: Ping timeout: 256 seconds 01:04 neilv: i need to make a development tool planet package called "aardvark", since that "affine-contracts" has been getting the limelight for long enough 01:11 neilv: thanks to edward blake, it looks like mcfly-tools 1:11 might now work on windows 01:43 (join) adu 01:56 (join) shriphani 01:58 shriphani: hi everyone. I am trying to loop over and perform computation on data (say 200 times). Sometime racket dies complaining that the data is empty (I build a random vector whose size = length of first item in data) and racket claims that that is empty. 01:58 shriphani: does anyone have any ideas ? 02:04 (join) asvil 02:04 neilv: what is the exact error message? 02:12 shriphani: oops sorry i screwed up. 02:19 shriphani: also are there any debugging tools to step through the code in an emacs/geiser setup ? 02:32 (quit) jonrafkind: Ping timeout: 260 seconds 02:38 (quit) asvil: Remote host closed the connection 02:38 (quit) shriphani: Quit: shriphani 02:47 (quit) Shviller: Ping timeout: 256 seconds 02:47 (join) Shviller 03:12 (join) cdidd 03:19 (quit) Kaylin: Quit: Leaving. 03:20 (quit) scott_: Quit: Leaving 03:21 (quit) adu: Quit: adu 03:52 (quit) mceier: Quit: leaving 03:53 (quit) neilv: Quit: Leaving 04:02 (join) mceier 04:23 (join) bitonic 04:25 (join) ambrosebs 04:28 (join) asvil 04:30 (quit) bitonic: Remote host closed the connection 04:40 (join) bitonic 04:42 (join) red_trumpet 04:42 red_trumpet: hi :) 04:46 (join) jdc__ 04:48 jdc__: I'm doing a programming exercise to return the right triangles with side length <= 10 and perimeter 24. 04:49 jdc__: And I've got it working in Racket, but it just looks really ugly 04:49 jdc__: (for*/list ([x (in-range 11)] [y (in-range 11)] [z (in-range 11)] #:when (and (= (+ (* x x) (* y y)) (* z z)) (= (+ x y z) 24))) (list x y z)) 04:49 jdc__: Does anyone know a way that would be prettier or more "idiomatic"? 05:00 (join) neilv 05:02 (quit) mye: Ping timeout: 246 seconds 05:04 jdc__: Hello, anyone on here? 05:06 red_trumpet: Yes, me. ;-) But I'm a really newbie to racket, so I dont know an answer to your problem, Sorry. 05:07 jdc__: No worries. Thanks for saying hello anyhow :) 05:07 asvil: jdc__ ugly in comparing with what? 05:07 jdc__: Haskell or Python 05:08 jdc__: it's the example at the bottom of http://learnyouahaskell.com/starting-out 05:13 asvil: your racket code is idiomatic, i think, yes, haskell syntax is closer to math syntax 05:16 jdc__: oh well 05:35 red_trumpet: i have to go, ciao :) 05:35 (part) red_trumpet 05:39 (quit) jdc__: Ping timeout: 245 seconds 05:54 (quit) BeLucid: Ping timeout: 256 seconds 05:56 (join) BeLucid 06:09 (quit) neilv: Quit: Leaving 06:18 (quit) BeLucid: Read error: Connection reset by peer 06:19 (join) BeLucid 06:21 (quit) bitonic: Ping timeout: 264 seconds 06:26 (join) masm 06:52 (join) bitonic 06:54 (quit) Nisstyre-laptop: Ping timeout: 260 seconds 06:55 (join) MayDaniel 07:26 (join) greghendershott 07:46 (quit) bitonic: Remote host closed the connection 07:48 (join) bitonic 08:06 (join) neilv 08:12 (quit) cdidd: Remote host closed the connection 08:16 (quit) bitonic: Ping timeout: 252 seconds 08:24 (quit) greghendershott: Quit: Leaving. 08:25 (join) bitonic 08:28 (join) cdidd 08:31 (join) laszlokorte_ 08:33 (join) nathanpc 08:33 (quit) laszlokorte: Ping timeout: 256 seconds 08:33 (nick) laszlokorte_ -> laszlokorte 08:40 (join) RacketCommitBot 08:40 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/LDuluQ 08:40 RacketCommitBot: racket/master ad70302 Matthew Flatt: error message repair 08:40 RacketCommitBot: racket/master 7a256fb Matthew Flatt: yet another repair for backtraces... 08:40 RacketCommitBot: racket/master 8079ff6 Matthew Flatt: fix problem with prompts, call/cc, and tail-buffer allocation... 08:40 (part) RacketCommitBot 08:43 (join) Nisstyre-laptop 08:44 (quit) crundar: Ping timeout: 255 seconds 08:50 (join) anRch 08:54 (join) mye 09:03 (quit) bitonic: Ping timeout: 240 seconds 09:04 (join) crundar 09:05 (quit) Nisstyre-laptop: Ping timeout: 265 seconds 09:13 (join) bitonic 09:14 (join) greghendershott 09:34 (join) jeapostrophe 09:34 (quit) jeapostrophe: Changing host 09:34 (join) jeapostrophe 09:41 (quit) anRch: Quit: anRch 09:52 (join) mizu_no_oto 10:23 (quit) acarrico: Ping timeout: 255 seconds 10:25 (quit) jschuster: Read error: Connection reset by peer 10:29 (quit) greghendershott: Quit: Leaving. 10:43 (join) dnolen 10:52 (join) RacketCommitBot 10:52 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/eUHzQA 10:52 RacketCommitBot: racket/master 0c82f54 Matthew Flatt: racket/gui: add `delete' to `choice%' and `list-control<%>'... 10:52 RacketCommitBot: racket/master 068240e Matthew Flatt: racket/gui: fix problems with control labels and client/global positions... 10:52 (part) RacketCommitBot 11:06 (join) jonrafkind 11:27 (quit) dnolen: Ping timeout: 252 seconds 11:52 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 12:40 (quit) asvil: Read error: Operation timed out 12:47 (join) mithos28 12:47 (quit) jeapostrophe: Ping timeout: 244 seconds 13:07 (quit) neilv: Quit: Leaving 13:10 (part) juanfra__ 13:37 (join) mizu_no_oto 13:38 mithos28: TRs numeric system needs better testing, types by fiat leads to unsoundness and safety breakage 13:38 mithos28: rudybot: init typed/racket 13:38 rudybot: mithos28: your typed/racket sandbox is ready 13:39 mithos28: (define: ZERO Zero (let ((x 2)) (if (odd? x) 0 x))) 13:39 mithos28: rudybot: (define: ZERO Zero (let ((x 2)) (if (odd? x) 0 x))) 13:39 rudybot: mithos28: error: #:1:14: define:: expected the identifier `:' at: Zero in: (define: ZERO Zero (let ((x 2)) (if (odd? x) 0 x))) 13:39 mithos28: rudybot: (define: ZERO : Zero (let ((x 2)) (if (odd? x) 0 x))) 13:39 rudybot: mithos28: Done. 13:39 mithos28: rudybot: ZERO 13:40 rudybot: mithos28: ; Value: 2 13:40 rudybot: mithos28: ; stdout: "- : Integer [generalized from Zero]\n" 13:40 stamourv: mithos28: That's odd. 13:41 mithos28: rudybot: (:print-type odd?) 13:41 rudybot: mithos28: ; stdout: "((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) -> Boolean : (Top | (0 @ 0)))\n" 13:41 stamourv: By the way, the TR numeric tower is randomly tested. 13:41 stamourv: That caught a lot of bugs, but not all operations are tested. 13:41 mithos28: I assume + is tested right. 13:41 stamourv: It is. 13:42 stamourv: But `odd?' probably is not. 13:42 mithos28: rudybot: (define: ZERO2 : Flonum (+)) 13:42 rudybot: mithos28: error: #:1:24: Type Checker: Expected Flonum, but got Exact-Nonnegative-Integer in: (#%app +) 13:42 jonrafkind: just curious, why isn't the type of `odd?' (Integer -> Bool) ? 13:42 mithos28: jonrafkind: It is, except the filter 13:43 jonrafkind: huh 13:43 jonrafkind: whats a filter 13:43 stamourv: mithos28: What's wrong with the second example? 13:43 mithos28: stamourv: I gave it wrong 13:44 mithos28: rudybot: (: sum ((Listof Flonum) -> Flonum)) 13:44 rudybot: mithos28: Done. 13:44 mithos28: rudybot: (define (sum ws) (apply + ws)) 13:44 rudybot: mithos28: error: #:1:17: Type Checker: Expected Flonum, but got Real in: (#%app apply + ws) 13:44 (join) red_trumpet 13:44 red_trumpet: hi :) 13:45 mithos28: stamourv: http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&database=default&pr=13218 13:45 rudybot: http://tinyurl.com/ak5szn5 13:45 mithos28: since I am having trouble replicating in chat 13:45 mithos28: What i am saying is that the current testing still misses stuff, and we should look into why to increase the test coverage 13:46 mithos28: red_trumpet: Hello 13:47 stamourv: mithos28: Testing filters is probably the part that needs most work. 13:47 stamourv: But I can't think of a good way to test them at scale. 13:48 mithos28: Whats wrong with random sampling of the input domain? 13:50 mithos28: I don't see how that scales differently than the current testing 13:51 mithos28: Also you don't have to deal with multiple arguments, because almost everything that has a filter has one argument 13:52 stamourv: Right, but randomly constructing terms that exercize the filters sounds unlikely. 13:53 stamourv: Currently, random testing only tests preservation. Maybe testing the filters directly could work. 14:04 (quit) mye: Ping timeout: 256 seconds 14:05 (join) nilyaK 14:07 red_trumpet: This may seem stupid, but because I'm a newbie I ask this: Why is it not possible to (map) an empty list? I would prefer racket to do nothing instead of calling an error. Do I have to call an if-clause before trying to map? 14:07 mithos28: rudybot: (map even? '()) 14:07 rudybot: mithos28: ; Value: () 14:07 rudybot: mithos28: ; stdout: "- : (Listof Boolean)\n" 14:08 mithos28: red_trumpet: What do you mean, it should work. 14:08 mithos28: Can you paste an example somewhere and give a link? 14:09 red_trumpet: Ok. You're right, that was my fault :-/ I switched the list and the procedure... 14:10 (join) jschuster 14:13 (quit) nilyaK: Quit: Leaving. 14:14 (join) dca 14:16 (quit) ambrosebs: Ping timeout: 252 seconds 14:26 (quit) MayDaniel: Read error: Connection reset by peer 14:32 (join) jeapostrophe 14:32 (quit) jeapostrophe: Changing host 14:32 (join) jeapostrophe 14:35 (quit) mithos28: Quit: mithos28 14:38 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 14:39 (join) mithos28 14:40 (join) mizu_no_oto 14:41 (quit) mizu_no_oto: Client Quit 14:45 (join) mizu_no_oto 14:46 (quit) mizu_no_oto: Client Quit 14:50 (quit) mithos28: Quit: mithos28 14:52 (join) mithos28 14:52 (part) red_trumpet 15:06 (join) gciolli 15:33 (join) yonkeltron 15:33 yonkeltron: do racket thread mailboxes mean that threads have actor-like message passing? 15:34 mithos28: yonkeltron: I'm not sure what you mean exactly by actor-like, but they do support message passing 15:35 yonkeltron: understood. i was referring to the actor model as defined originally by carl hewitt 15:35 mithos28: right, but what properties of that do you want. 15:36 mithos28: I doubt it is actually faithful to all of the requirements of the original actor model 15:36 yonkeltron: guaranteed ordering and the ability to refrain from using shared mutable state in some non-terrible fashion 15:36 yonkeltron: ideally also, the ability to dynamically mux actors on to a thread pool (scala's re-actor stuff embodies this somewhat nicely) 15:37 mithos28: an individual racket place can have many racket threads which each use one native thread (modulo futures) 15:37 mithos28: so you won't get parallelism through threads 15:38 yonkeltron: i see 15:38 mithos28: look into places and futures if you want that 15:38 mithos28: threads give you concurrency 15:38 yonkeltron: i shall do this thing 15:38 yonkeltron: but not parallelism 15:38 yonkeltron: ? 15:38 mithos28: right 15:38 mithos28: If you have two network connections, you can have thread dealing with each 15:39 yonkeltron: but they still get exec'd in the same os process/thread 15:39 mithos28: right 15:39 mithos28: concurrency is at the level of semantics, while parallelism is at the level of implementation 15:40 yonkeltron: thank you for this 15:40 (join) RacketCommitBot 15:40 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/lDKEgQ 15:40 RacketCommitBot: racket/master f3a060c Robby Findler: insert examples directly into drracket instead of simulating... 15:40 RacketCommitBot: racket/master e9e2557 Robby Findler: unbreak code that changes drracket's dock icon dynamically... 15:40 RacketCommitBot: racket/master ef3eb31 Robby Findler: adjust log following to make it work for the middle of a drracket... 15:40 (part) RacketCommitBot 16:06 (join) RacketCommitBot 16:06 RacketCommitBot: [racket] plt pushed 2 new commits to release: http://git.io/ybXIYA 16:06 RacketCommitBot: racket/release 67711f5 Matthew Flatt: fix problem with prompts, call/cc, and tail-buffer allocation... 16:06 RacketCommitBot: racket/release 5c79d60 Matthew Flatt: fix test to not depend on network connection... 16:06 (part) RacketCommitBot 16:13 (join) mizu_no_oto 16:16 (quit) bitonic: Ping timeout: 264 seconds 16:17 yonkeltron: mithos28: if i might bother you again, does racket contain facilities for distributed programming? 16:17 mithos28: There are the startings of some 16:17 mithos28: http://docs.racket-lang.org/guide/performance.html?q=distributed%20places#(part._distributed-places) 16:17 yonkeltron: i see 16:18 yonkeltron: thanks for the help and the pointers (references) 16:18 (part) yonkeltron: "ERC Version 5.3 (IRC client for Emacs)" 16:21 (quit) Demosthenex: Quit: leaving 16:26 stamourv: yonkeltron: tewk had a talk at RacketCon about distributed places. He used them to implement map reduce. The link to the video is in the topic. 16:34 (join) bitonic 16:38 (quit) Nisstyre: Quit: Leaving 16:40 (join) Nisstyre 16:44 (quit) gciolli: Quit: Leaving. 16:56 (quit) bitonic: Ping timeout: 245 seconds 16:59 (join) anRch 17:00 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 17:02 (join) greghendershott 17:20 (join) Shvillr_ 17:20 (quit) Shviller: Disconnected by services 17:20 (nick) Shvillr_ -> Shviller 17:25 (quit) masm: Quit: Leaving. 17:38 (join) bitonic 18:00 (quit) dgs: Ping timeout: 260 seconds 18:01 (quit) anRch: Quit: anRch 18:09 (quit) mithos28: Quit: mithos28 18:09 (join) mithos28 18:10 (quit) mithos28: Client Quit 18:13 (join) dgs 18:54 (join) mizu_no_oto 19:14 (join) zussitarze 19:26 (join) RacketCommitBot 19:26 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/y5aB3A 19:26 RacketCommitBot: racket/master 1126f02 Matthew Flatt: change JIT inlining of `/' to be fast on a fixnum result 19:26 (part) RacketCommitBot 19:33 (join) mye 19:46 (quit) pavelpenev: Remote host closed the connection 19:50 (join) pavelpenev 20:03 (join) RacketCommitBot 20:03 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/NkjFSw 20:03 RacketCommitBot: racket/master 81dc3ba Robby Findler: audit the calls to invalidate-bitmap-cache in the framework and in... 20:03 (part) RacketCommitBot 20:04 (quit) zussitarze: Remote host closed the connection 20:08 (quit) bitonic: Remote host closed the connection 20:21 (join) RacketCommitBot 20:21 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/EvahaA 20:21 RacketCommitBot: racket/master 0fa78a8 Danny Yoo: documentation: removing the korean characters out of the example. Was breaking the build at LaTeX generation time. 20:21 (part) RacketCommitBot 20:23 (quit) nathanpc: Quit: Computer has gone to sleep. 20:30 (join) dyoo 20:39 dyoo: jdc: dunno if will see this later, but about the question on that right triangle computation: since z is determined by x and y, the computation doesn't need to be a tripple-nested loop: just looping on x and y should be sufficient. So: https://gist.github.com/4014787 20:53 (join) RacketCommitBot 20:53 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/c8BtPg 20:53 RacketCommitBot: racket/master f22aaec Robby Findler: the 'audit the invalidate-bitmap-cache' commit (2 commits ago) avoided... 20:53 (part) RacketCommitBot 20:54 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 21:06 (quit) dyoo: Quit: dyoo 21:22 (quit) cdidd: Read error: Operation timed out 21:28 (join) sizz_ 21:28 (quit) sizz: Ping timeout: 245 seconds 21:28 (join) acarrico 21:45 (quit) dgs: Ping timeout: 255 seconds 21:58 (join) dgs 22:05 (quit) greghendershott: Quit: Leaving. 22:12 (join) walter_ 22:12 (quit) walter_: Remote host closed the connection 22:12 (join) walter 22:35 (quit) em: Ping timeout: 260 seconds 22:45 (join) ambrosebs 22:50 (join) jackhammer2022 22:51 (join) nilyaK 22:56 (quit) ambrosebs: Ping timeout: 264 seconds 22:58 (join) em 23:08 (join) mizu_no_oto 23:10 (join) ambrosebs