00:17 (quit) platinuum: Ping timeout: 244 seconds 00:17 (join) vu3rdd 00:17 (quit) vu3rdd: Changing host 00:17 (join) vu3rdd 01:00 (join) Nanakhiel 01:03 (quit) TurboSaimazoon: Ping timeout: 240 seconds 01:42 (quit) freakazoid: Quit: Computer has gone to sleep. 01:49 (quit) Em: Ping timeout: 276 seconds 01:50 (quit) jeapostrophe: Ping timeout: 248 seconds 01:50 (join) Em 02:39 (quit) jonrafkind: Read error: Operation timed out 02:52 (join) Shvillr_ 02:52 (quit) Shviller: Disconnected by services 02:52 (nick) Shvillr_ -> Shviller 03:00 (join) keenbug 03:20 (quit) keenbug: Ping timeout: 240 seconds 04:17 (quit) mithos28: Quit: mithos28 04:57 (join) ahinki 05:33 cataska: newbie question: program using plot library in racket can only run in drracket ? 05:47 noelw: No, since the new UI infrastructure (version 5.1?) 05:47 noelw: you can run graphics from Racket or DrRacket 05:56 cataska: noelw: like this "racket myplot.rkt" ? 05:56 noelw: Yeah, that should work, assuming myplot.rkt does something appropriate 06:00 cataska: I'm using 5.2.0.3, but only I got is "(object:3d-plot-snip$ ...) in terminal 06:01 (join) mye 06:03 noelw: Oh right. 06:03 noelw: You need to convert to a frame or similar 06:03 noelw: Hold on, I'll look it up 06:06 noelw: Set the plot-new-window? parameter to #t 06:06 noelw: That's probably the easiest way 06:06 noelw: (plot-new-window? #t) before you call plot should do it 06:07 cataska: noelw: It works! thanks :) 06:07 noelw: np 06:08 (quit) vu3rdd: Remote host closed the connection 06:16 (part) noelw 06:16 (join) noelw 06:40 (join) masm 06:53 (quit) Shvillr: Quit: bye 06:55 (join) Shvillr 07:00 (quit) Shviller: Ping timeout: 240 seconds 07:00 (join) Shviller 07:25 (join) jeapostrophe 07:44 (join) vu3rdd 07:44 (quit) vu3rdd: Changing host 07:44 (join) vu3rdd 07:51 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/SToptQ 07:51 RacketCommitBot: [racket/master] remove more Racket-to-C compiler leftovers - Matthew Flatt 07:51 RacketCommitBot: [racket/master] fix, generalize, and speed up GC ownership check - Matthew Flatt 07:51 RacketCommitBot: [racket/master] fix xform-related bug triggered by making atomic timeout place-local - Matthew Flatt 08:38 (join) kenjin_ 08:41 (quit) jeapostrophe: Ping timeout: 252 seconds 08:47 (quit) kenjin_: Ping timeout: 245 seconds 08:51 (join) kenjin_ 08:52 (quit) kenjin_: Client Quit 08:53 (join) jeapostrophe 09:14 (nick) Nanakhiel -> BorlandTurboIsla 09:14 (nick) BorlandTurboIsla -> TurboIslaam 09:15 (join) epsil 09:33 (quit) jeapostrophe: Ping timeout: 244 seconds 09:35 (join) Blkt 09:50 (join) keenbug 09:52 (join) jeapostrophe 10:13 (quit) masm: Ping timeout: 252 seconds 10:14 (quit) jao: Ping timeout: 240 seconds 10:29 (join) dpritchett_ 10:39 (join) dnolen 10:40 (join) masm 10:54 (quit) jeapostrophe: Ping timeout: 240 seconds 10:57 (quit) vu3rdd: Remote host closed the connection 11:01 (join) mithos28 11:04 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 9.0/20111116091359] 11:17 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/hJ-4yg 11:17 RacketCommitBot: [racket/master] intern literal strings, byte strings, regexps, characters, and numbers - Matthew Flatt 11:17 RacketCommitBot: [racket/master] fix some DrDr benchmark invocations - Matthew Flatt 11:28 (nick) samth_away -> samth 11:36 (join) freakazoid 11:37 (quit) epsil: Ping timeout: 258 seconds 11:44 (join) epsil 11:59 (quit) masm: Ping timeout: 240 seconds 12:01 (join) jeapostrophe 12:09 (join) jonrafkind 12:13 stamourv: jaimef: I haven't done much porting from Racket to Gambit, but I've done a lot from Gambit to Racket. 12:13 stamourv: For the most part, it's pretty straightforward. The only big change is mutable vs immutable pairs. 12:16 (join) MayDaniel 12:19 jaimef: stamourv: thanks. 12:20 jaimef: gambit was interesting until every binary it made segfaulted. will stick with racket :P 12:21 stamourv: That's odd. 12:22 stamourv: I've used both, and these days I prefer Racket. 12:22 stamourv: Having a module system is a gigantic win. 12:22 jaimef: their demo code for name-finder builds but all the bins just segfault. no symbols to do much in gdb 12:23 stamourv: Trying to structure large programs with only `load' and `include' is a real pain. 12:23 jaimef: do you build to c? or just use their runtime? 12:24 stamourv: If you build to C, it will link to the runtime. 12:24 stamourv: Do you mean the interpreter? 12:24 jaimef: yes 12:25 jaimef: was trying to find large apps written in scheme. instead I found dozens of implementations of it instead. :P 12:26 stamourv: I haven't used Gambit in a while, but I used both the interpreter and the compiler, and both worked fine. 12:26 (quit) noam: Read error: Connection reset by peer 12:26 stamourv: As for large apps written in Racket, Hacker News runs on Racket (arc is built on top of Racket). 12:26 jaimef: ok 12:27 jaimef: mostly looking to see how they structure things 12:27 stamourv: There's also people in industry using it for all kinds of things, like controlling large telescope arrays. But that code is not available. 12:27 stamourv: You can have a look at PLaneT. It's Racket's package repository, and there's several large libraries that do cool stuff. 12:27 jaimef: yeah and Elvis uses it to diagnose ufo systems at the north pool. 12:28 freakazoid: I knew it! 12:28 stamourv: The telescope part is true. Richard Cleis gave a talk about it at the last Racket Con. 12:28 jaimef: oh I know. read about it. 12:29 (join) noam 12:29 jaimef: (enter! "foo") is that a racketism? or proper scheme? 12:29 rapacity: naughty dog used racket to build their game's scripting languge 12:30 jaimef: PlanetT will do 12:30 stamourv: `enter!' is a Racket thing. But then again, there's not much in the Scheme standards, so implementations have to fill the gaps. 12:30 stamourv: `xrepl' has a nice interface on top of `enter!', I recommend it. 12:30 jaimef: ok 12:30 stamourv: And if you're an Emacs user, Geiser is nice too. 12:31 jaimef: yeap already on 12:31 stamourv: http://docs.racket-lang.org/guide/other-editors.html?q=editor 12:31 jaimef: yeah I live in emacs :P 12:32 stamourv: So do I. 12:32 stamourv: I just wish it was multi-threaded. Sometimes single-threadedness causes problems between my email and irc clients. 12:32 jaimef: yeap. 12:32 jaimef: znc relogs in etc 12:32 shofetim: how does one typecast a string to a number (int)? something like (string->int "1")? 12:33 stamourv: But the Guile folks are working on an emacs lisp implementation, and they have threads. I'm looking forward to that. 12:33 stamourv: rudybot: docs string->number 12:33 rudybot: stamourv: It seems like this is an exercise in learning recursion. Do you understand how to solve the problem without STRING->NUMBER and LIST->STRING? 12:33 stamourv: rudybot: doc string->number 12:33 rudybot: stamourv: your sandbox is ready 12:33 rudybot: stamourv: http://docs.racket-lang.org/reference/generic-numbers.html#(def._((quote._~23~25kernel)._string-~3enumber)) 12:33 stamourv: shofetim: ^ 12:33 freakazoid: #lang elisp 12:33 shofetim: stamourv: thanks : ) 12:33 stamourv: Anyway, heading out for lunch, I'll be back later. 12:36 (join) Demosthenes 12:39 (quit) Blkt: Read error: Connection reset by peer 12:39 epsil: is it possible to use mit/gnu scheme for shell scripts? 12:40 jonrafkind: maybe you should ask that in #scheme 12:46 epsil: sorry, wrong channel :) 12:47 epsil: the reason I asked was that I have some old cs papers lying around 12:47 epsil: although, maybe #lang r5rs would do the trick? 12:52 jonrafkind: maybe 12:59 (quit) MayDaniel: Read error: Connection reset by peer 13:02 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/kcbnEQ 13:02 RacketCommitBot: [racket/master] [honu] clean up main file requires and provides - Jon Rafkind 13:02 RacketCommitBot: [racket/master] [honu] dont need extra prefixes for require - Jon Rafkind 13:02 RacketCommitBot: [racket/master] [honu] move when macro to the honu language - Jon Rafkind 13:07 (join) MayDaniel 13:14 freakazoid: On OS X, anyone know the difference between the .dmg version of Racket and the homebrew version? 13:15 freakazoid: Does the homebrew version just install the .dmg version in a place where it's accessible via the path, or does it leave out DrRacket? 13:23 (join) masm 13:31 jonrafkind: samth, hows the racketcon videos going? 13:33 epsil: is there any difference between /usr/bin/mzscheme and /usr/bin/racket? 13:34 samth: jonrafkind: you'll find out with everyone else when they're up 13:34 jonrafkind: that is a snarky answer 13:34 samth: epsil: not much, they have slightly different command line arguments 13:35 samth: jonrafkind: what kind of answer do you expect? 13:35 jonrafkind: "i have no idea" or "its going X" 13:35 samth: if i had something to tell you, i'd have told you already 13:37 (join) eli 13:38 (part) eli 13:38 (join) eli 13:39 epsil: samth: ok, so for shell script purposes, #! /usr/bin/mzscheme and #! /usr/bin/racket are equally good? 13:40 stamourv: /usr/bin/racket is preferred. 13:40 stamourv: /usr/bin/mzscheme is kept only for backwards compatibility. 13:40 epsil: I see 13:43 samth: epsil: what stamourv said 13:43 samth: there's no reason to use 'mzscheme' in new code 13:44 epsil: samth: I agree, but I have some old code I want to play with 13:45 epsil: from some cs papers dated 94/95 :) 13:45 samth: then that code definetely doesn't have any references to /usr/bin/mzscheme 13:45 samth: so you shouldn't use it 13:45 samth: mzscheme is not any better for running old scheme programs than racket 13:45 stamourv: That old code will probably run fine with /usr/bin/racket. 13:47 epsil: provided I also add #lang r5rs, I guess? 13:47 epsil: or should I use something else 13:48 samth: epsil: unless the code uses mutable pairs, you should just use #lang racket 13:48 epsil: if I want to, say, execute code samples from sicp 13:48 asumu: #lang sicp 13:48 epsil: ah :) 13:48 samth: if you want to use sicp, use this: http://www.neilvandyke.org/racket-sicp/ 13:50 asumu: So actually #lang planet neil/sicp but close enough :p 13:50 epsil: ah, thx 13:50 epsil: is #lang sicp a superset of #lang r5rs? 13:51 asumu: Maybe, but I doubt it. I doubt the SICP package has syntax-rules and such. 13:52 epsil: hm, ok 13:52 samth: #lang r5rs is unlikely to be useful unless you know ahead of time that the code you have is R5RS compliant, which SICP is not intended to be 13:52 asumu: Hmm, SICP doesn't seem to build for me. 13:52 epsil: anyhow, I've noticed that racket has a different syntax for let-forms, using [ and ] 13:53 epsil: so wouldn't #lang racket cause problems with code like (let ((...)))? 13:54 samth: epsil: racket supports both () and [] interchangably 13:54 samth: rudybot: eval (let ([x 1]) x) 13:54 rudybot: samth: your racket/init sandbox is ready 13:54 rudybot: samth: ; Value: 1 13:54 samth: rudybot: eval (let ((x 1)) x) 13:54 rudybot: samth: ; Value: 1 13:54 samth: rudybot: eval (let [(x 1)] x) 13:54 rudybot: samth: ; Value: 1 13:54 samth: rudybot: eval [let {(x 1)} x] 13:54 rudybot: samth: ; Value: 1 13:54 samth: also {} 13:55 epsil: samth: hm, I'm sure you're right, but I didn't get that impression from the documentation 13:55 epsil: what is the motivation for the []-syntax, anyway? 13:55 epsil: is () considered deprecated (but supported) from now on? 13:55 samth: epsil: it's easier to read code with distinctions between the [] 13:55 samth: also, you get better error messages from `read' 13:56 samth: no, () is intended to be used in lots of places 13:56 samth: what part of the documentation gave you the impression that () and [] were different? 13:59 epsil: samth: section 2.2.8 of the guide 14:01 epsil: I can't find any mention of (let ((...))) in the reference either 14:02 freakazoid: epsil: Under syntactic forms 14:02 freakazoid: http://docs.racket-lang.org/reference/let.html 14:03 samth: epsil: (let (( ... ))) isn't any different than (let ([...])) 14:04 samth: so they don't have separate documentation 14:04 epsil: freakazoid: all the examples there use [] 14:04 freakazoid: oh 14:04 freakazoid: they're equivalent 14:04 epsil: good to know :) 14:04 freakazoid: The guide is misleading in that section 14:04 freakazoid: "Each binding clause is an ‹id› and a ‹expr› surrounded by square brackets..." should be changed. 14:05 freakazoid: you can use parens, square brackets, or curly braces. 14:06 samth: freakazoid: that's an introduction, not a specification 14:06 freakazoid: samth: It's still misleading 14:06 freakazoid: Especially for a new user 14:06 samth: it wouldn't be helpful to try to be more precise there 14:06 samth: exactly for new users 14:07 freakazoid: You don't think it's helpful to avoid tricking people into thinking they have to use [] with let? 14:07 samth: why would they need to know that they can use {} there? 14:07 epsil: maybe not in the guide, but in the reference? :) 14:07 samth: epsil: the reference doesn't mention () vs [] at all 14:07 freakazoid: samth: they don't, they should just know that [] isn't different from () 14:07 epsil: samth: why not? 14:07 samth: epsil: i mean, in the let section 14:08 samth: epsil: the reference describes the behavior of the reader and the syntax in general quite precisely 14:08 epsil: where in the reference can I read about the differences between [], () and {}? 14:08 freakazoid: epsil: I do recall reading it in the guide 14:08 epsil: oh 14:09 asumu: http://pre.racket-lang.org/docs/html/reference/reader.html?q=%5B#(idx._(gentag._23._(lib._scribblings/reference/reference..scrbl))) 14:09 freakazoid: epsil: In section 2.2.5 14:09 freakazoid: "The use of square brackets for cond clauses is a convention. In Racket, parentheses and square brackets are actually interchangeable, as long as ( is matched with ) and [ is matched with ]. Using square brackets in a few key places makes Racket code even more readable." 14:09 samth: epsil: http://docs.racket-lang.org/reference/reader.html#%28part._parse-pair%29 14:10 freakazoid: samth: You can't seriousy expect people to read the reader specification in order to know that square brackets and parens are equivalent 14:10 samth: no, but he asked where in the reference 14:10 freakazoid: I suspect he's using guide and reference interchangeably :) 14:10 samth: that's why there's the guide passage you just quoted 14:11 freakazoid: samth: Sorry I misunderstood your intent. 14:11 epsil: samth: thx 14:11 freakazoid: epsil: You must have skipped the cond section in the guide to get to the let section 14:11 samth: freakazoid: the reason not to talk about () in let is the same reason not to explain that this works: 14:11 freakazoid: It's a good idea to read the guide straight through, since it's pretty short. 14:11 (join) anRch 14:12 freakazoid: samth: Yeah, I didnt' realize that the paragraph I quoted came earlier in the same section. 14:12 epsil: freakazoid: yeah, I recall skimming through that 14:12 samth: rudybot: eval (let ([x 1]) . ((+ 1 2))) 14:12 rudybot: samth: ; Value: 3 14:12 freakazoid: ah because the . is interpreted by the reader 14:13 samth: that's why it works 14:13 samth: damn, time for lunch 14:13 epsil: ah, there we are: "The use of square brackets for cond clauses is a convention. In Racket, parentheses and square brackets are actually interchangeable, as long as ( is matched with ) and [ is matched with ]." 14:13 freakazoid: time for shower. 14:13 freakazoid: epsil: Yeah, I pasted that :) 14:13 epsil: I'll get back to reading 14:14 freakazoid: epsil: Curly brackets too but that may be off by default 14:14 epsil: thanks all 14:14 freakazoid: And using curly brackets may well be overkill. 14:14 freakazoid: I can barely decide when to use [] vs () 14:14 freakazoid: I just copy the conventions in the reference and guide for the most part 14:15 freakazoid: in clojure they're actually different so the conventions are enforced - they use vectors for parameter lists in lambda, for example, just to make it stand out in the syntax 14:16 freakazoid: I'm not sure how I feel about using different data types in the AST just to make things stand out syntactically 14:16 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/432P5w 14:16 RacketCommitBot: [racket/master] New Racket version 5.2.0.4. - Eli Barzilay 14:18 asumu: freakazoid: I dislike Clojure syntax in certain cases. e.g. I find (let [x x y x] ...) much less clear than (let ([x x] [y x]) ...) (assuming x is bound in the context) 14:19 asumu: And the mixup of data types and lexical syntax is not very nice. 14:20 asumu: i.e. using [] as binding pair delimiters should have no bearing on how the AST is actually represented 14:20 asumu: Incidentally, it's possible to enforce Clojure-style syntax in Racket using a macro. 14:21 (quit) mye: Read error: Operation timed out 14:21 asumu: (see: https://github.com/takikawa/racket-clojure/blob/master/lang/clojure.rkt) 14:25 freakazoid: asumu: yes I agree 14:37 (quit) epsil: Quit: WeeChat 0.3.5 14:52 samth: asumu: why not just change the reader? 14:59 (quit) MayDaniel: Read error: Connection reset by peer 15:00 (quit) dnolen: Ping timeout: 265 seconds 15:04 asumu: samth: This was easier. 15:05 samth: asumu: yeah, but it won't really work in the end 15:05 samth: because you want (vector? '[1 2 3]) => #t 15:05 asumu: Well, yes I will need reader extensions to do other clojure things like #{...} sets. 15:05 asumu: Oh. 15:06 asumu: I think that works actually let me see. 15:07 (join) MayDaniel 15:07 asumu: So that doesn't work, but (vector? [1 2 3]) => #t 15:07 asumu: Since I hacked #%app 15:08 asumu: The quoted version should return the same though to be true to clojure, you're right. 15:15 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/Qi4xBQ 15:15 RacketCommitBot: [racket/master] disable test for now - Jon Rafkind 15:17 (quit) anRch: Quit: anRch 15:17 (quit) masm: Ping timeout: 248 seconds 15:23 (quit) mattmight: Ping timeout: 253 seconds 15:26 (join) mattmight 15:38 (join) avarus 15:51 (quit) jeapostrophe: Read error: Operation timed out 15:57 (join) kudkudyak 16:07 (join) realitygrill 16:26 (quit) kudkudyak: Ping timeout: 258 seconds 16:40 (quit) realitygrill: Quit: realitygrill 16:56 (nick) sepisultrum -> sepi 17:14 (quit) shofetim: Remote host closed the connection 17:45 (join) realitygrill 17:53 (join) masm 17:53 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/IDECWA 17:53 RacketCommitBot: [racket/master] Fix typoes in the raco docs. - Vincent St-Amour 17:53 RacketCommitBot: [racket/master] Fix optimization of multi-argument float comparisons. - Vincent St-Amour 18:00 (quit) keenbug: Read error: Operation timed out 18:02 (join) jeapostrophe 18:16 (quit) MayDaniel: Read error: Connection reset by peer 18:17 (quit) avarus: Remote host closed the connection 18:35 (quit) jeapostrophe: Ping timeout: 260 seconds 19:30 (quit) masm: Quit: Leaving. 19:35 (nick) samth -> samth_away 19:40 (quit) Em: Ping timeout: 245 seconds 20:02 (join) Em 20:25 (join) jeapostrophe 20:30 (quit) jonrafkind: Ping timeout: 276 seconds 20:41 (quit) jeapostrophe: Ping timeout: 240 seconds 20:45 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/ML4dDQ 20:45 RacketCommitBot: [racket/master] add HISTORY note on read-intern-literal - Matthew Flatt 20:45 RacketCommitBot: [racket/master] adjust psyntax benchmark - Matthew Flatt 20:50 (join) jeapostrophe 20:55 (quit) jeapostrophe: Ping timeout: 244 seconds 22:19 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Tv2q_Q 22:19 RacketCommitBot: [racket/master] mzlib/pconvert: `add-make-prefix-to-constructor' parameter - Matthew Flatt 22:19 RacketCommitBot: [racket/master] add `get-colors' to `color-database<%>' - Matthew Flatt 22:48 (join) jonrafkind 22:58 (join) vu3rdd 22:58 (quit) vu3rdd: Changing host 22:58 (join) vu3rdd 23:02 vu3rdd: any idea on when the racketcon videos will be online? 23:05 (nick) TurboIslaam -> Turbotelix 23:05 (nick) Turbotelix -> Turbohlix 23:16 (nick) Turbohlix -> zfetheItalian 23:20 (join) kenjin2201 23:22 kenjin2201: Can I ask what the difference is between (define (foo) (define a 10) (+ a 1)) and (define (foo) (let ((a 10)) (+ a 1))) ? 23:23 mithos28: kenjin2201: depending on what you mean, a lot or very little 23:23 mithos28: for most practical purposes they are very similar 23:24 kenjin2201: I'm a newb. Can you be more specific? I'm slow 23:24 mithos28: so let only binds its variable in the inner body 23:25 kenjin2201: Yes 23:25 mithos28: while define, puts the definition in the current definition context, be that the module level or an internal definition context 23:27 mithos28: define also has the niceness that it doesn't envelop the following expressions, meaning that there is no need to indent them 23:27 (join) dnolen 23:27 mithos28: unlike let where you can see how you need parens surrounding the let and (+ a 1) 23:28 kenjin2201: Only the second reason is easy to understand. :) Thank you 23:28 kenjin2201: Anyway they don't make differences for most cases. 23:28 kenjin2201: ? 23:28 mithos28: nope, unless you get to shadowing 23:29 mithos28: (let ((x 1)) (let ((x 2)) x)) => 2 23:29 mithos28: where as (define x 1) (define x 2) x, is an error 23:30 kenjin2201: Oh, now I understand. Thank you 23:30 mithos28: no problem 23:52 (nick) zfetheItalian -> QtorTheDestroyor