00:02 shawnps: offby1: are you on the racket users mailing list? 00:11 (quit) mye: Ping timeout: 250 seconds 00:15 (quit) zyoung: Remote host closed the connection 00:19 offby1: yep 00:30 shawnps: offby1: have you ever used string->url? 00:31 shawnps: i'm trying to give it a really long string as a query parameter, and it's cutting it off on the # symbol in the string 00:31 shawnps: for example, if i say (string->url (string-append "google.com" "?foo=reallylongstring#morestuff")) 00:32 shawnps: and say that's defined as a-url 00:32 shawnps: and then i do (cdr (car (url-query a-url))) 00:32 shawnps: i get "reallylongstring" instead of "reallylongstring#morestuff" 00:33 gerardpaapu: shawnps: nothing after the '#' is part of the query 00:34 gerardpaapu: it's part of the 'fragment' 00:34 shawnps: ah... 00:34 shawnps: is there any way to make that part of the query? 00:35 shawnps: my public api key for this service has a # in it, and they want it in the URL 00:35 shawnps: could try to generate a new one and hope there's no # 00:35 gerardpaapu: you'll have to url-encode it 00:36 (join) veer 00:36 gerardpaapu: http://docs.racket-lang.org/net/uri-codec.html?q=uri-codec#(def._((lib._net/uri-codec..rkt)._uri-encode)) 00:37 shawnps: thanks, was just searching for that 00:40 gerardpaapu: (as a side note, the list of pairs returned by url-query is a type of dictionary, so you can use (dict-ref (url-query a-url) 'foo) to access that component 00:41 shawnps: oh, thank you 00:44 gerardpaapu: you can also just do (set-url-query a-url `((key . "foo#bar"))) 00:44 gerardpaapu: oops! I mean (set-url-query! a-url `((key . "foo#bar"))) 00:50 (join) mye 00:57 (quit) random_malice: Ping timeout: 256 seconds 01:06 jyc: is contracts not being checked in the REPL in DrRacket intentional? 01:06 (quit) ssbr: Quit: xchat is a piece of crap and slows down like crazy sometimes and now I have to reboot and I have so much hate inside me 01:07 (join) ssbr 01:15 gerardpaapu: jyc: contracts are only enforced across module borders 01:15 jyc: gerardpaapu, ah - is there any way I can test contracts easily in the REPL then? and thanks! 01:19 gerardpaapu: jyc: I really don't know, sorry 01:19 jyc: gerardpaapu, np, thanks for the help anyway! 01:22 (quit) dented42: Quit: Computer has gone to sleep. 01:23 (join) dented42 01:26 (join) Kaylin 01:26 sizz: anyone know if there's a working vi mode for DrRacket? 01:29 (join) jeapostrophe 01:29 (quit) jeapostrophe: Changing host 01:29 (join) jeapostrophe 01:39 (quit) jyc: Ping timeout: 245 seconds 01:40 (join) jyc 01:45 (join) hkBst 01:45 (quit) hkBst: Changing host 01:45 (join) hkBst 01:45 (quit) jeapostrophe: Ping timeout: 272 seconds 02:23 (quit) mye: Ping timeout: 245 seconds 02:37 (quit) dented42: Read error: Connection reset by peer 02:38 (join) dented42 02:39 (quit) yoklov: Quit: computer sleeping 02:55 (quit) Shviller: Read error: Connection reset by peer 02:56 (quit) veer: Quit: Leaving 02:57 (join) Shviller 03:04 (join) sestisr 03:04 (join) dzhus 03:06 (quit) jonrafkind: Ping timeout: 244 seconds 03:07 (quit) m4burns: Ping timeout: 245 seconds 03:26 (quit) Cryovat: Read error: Connection reset by peer 03:43 (quit) jyc: Read error: Connection reset by peer 04:02 (join) scvrory 04:02 scvrory: is there a way to compile racket programs so that they expose a function to be called by c? 04:06 (join) masm 04:16 shawnps: anyone know how to do the equivalent of this in Racket?: echo -n "foo" | openssl dgst -sha1 -hmac "privatekey" 04:28 (join) tim-brown 04:28 tim-brown: lo all 04:30 (join) graspee 04:34 anonus: is it theoretically possible to make racket compilable ? or there are some features that depends on VM nature of racket and unsolvable or very difficult to implement in compilable environment? 04:38 graspee: what do you mean by compilable? 04:38 (join) antithesis 04:40 anonus: i mean that it will produce binary machine code ahead of time 04:40 graspee: i see 04:44 anonus: so? any problems ? 04:44 graspee: i don't know sorry 04:45 graspee: i asked because i thought you might be after a stand alone executable 04:45 graspee: in which case i would have had better news for you 04:46 anonus: yea, i know that racket can produce binary blobs, but it just include VM+environment+bytecode AFAIK 05:06 (quit) Kaylin: Quit: Leaving. 05:07 (quit) nilyaK1: Quit: Leaving. 05:27 (quit) kvda: Quit: Computer has gone to sleep. 05:35 (join) nilyaK 05:35 (quit) hkBst: Ping timeout: 272 seconds 05:35 (join) hkBst_ 06:08 (quit) cdidd: Remote host closed the connection 06:33 (quit) hkBst_: Ping timeout: 272 seconds 06:33 (join) hkBst_ 06:46 (quit) bitonic_: Quit: WeeChat 0.3.7 06:47 (join) bitonic 06:47 (quit) hkBst_: Remote host closed the connection 06:48 (join) hkBst_ 06:49 (quit) nilyaK: Quit: Leaving. 06:51 (quit) hkBst_: Read error: Connection reset by peer 06:53 (join) hkBst_ 06:53 (quit) hkBst_: Changing host 06:53 (join) hkBst_ 06:57 (quit) hkBst_: Remote host closed the connection 06:57 Shambles_: anonus: In general compilation is not a either-or situation. It's more of a "to what degree". It will never be possible to eliminate all the runtime checking in all Lisp programs because it's possible to create code and 'eval' it on the fly (even taking it from user input, which you obviously can't pre-compute). 06:58 (join) hkBst_ 06:58 anonus: I know, but i'm telling about degree similar to sbcl's one 06:58 Shambles_: anonus: I think Racket just bytecode compiles things, but it should be theoretically possible to emit machine code. It would still have a lot of runtime checking though. You'd probably only avoid the bytecode interpretation overhead. 06:58 anonus: for example 06:59 anonus: i'm just wondering why racket show such crap performance on shootout... 06:59 Shambles_: anonus: It should be possible, but I don't think Racket does it right now. It would make it harder to support on other architectures (though with the x64 and Arm being about all that sees much use now, maybe that doesn't matter much) than just porting the VM, I suspect. 07:01 anonus: hm 07:01 anonus throwing to the fan 07:01 Shambles_: anonus: The performance isn't that crap for a highly dynamic language. It's better than Python, for instance. SBCL is also, of course, a highly dynamic language, but it's also had the advantage of being around for a long time. I think performance is also one of their goals. 07:01 anonus: and how about LLVM ? 07:01 Shambles_: anonus: What about LLVM? 07:02 bremner: anonus: there is discussion on the dev list about this 07:02 bremner: recently 07:02 anonus: oh, and what ? 07:03 anonus: so performance is not the goal of racket ? 07:04 bremner: http://article.gmane.org/gmane.comp.lang.racket.devel/6013 07:05 bremner: anonus: you should be aware that people have a fairly low tolerance for things that look like trolling on this channel. 07:06 Shambles_: I'm reading documentation and curious about a few things. I'm wondering if it's considered bad Racket style to not use alternate (e.g. [] ) brackets in things like cond, or the infix notation (e.g. (1 . < . 3)). 07:07 bremner: Shambles_: I don't think the infix notation is that common, but that's based on the fact I had used racket casually for a couple years before encountering it. 07:08 Shambles_: They seem to not fit with the simplicity of the syntax and regularity of everything else. If it wouldn't upset people reading my code, I'd prefer to avoid them. 07:08 anonus: i'm just making logical conclusions on what people saying to me here ) 07:08 Shambles_: bremner: I asked since I keep seeing it in the documentation. 07:09 anonus: unwillingness to include whole LLVM to racket binary is quite natural i think 07:10 Shambles_: bremner: anonus has been asking questions before about how to run Racket on ARM hardware, and if it would be usable on 128MB to 1GB RAM. I don't think they're trolling. I think they're just trying to do something strange. 07:11 bremner: Shambles_: I was commenting on " so performance is not the goal of racket ?" 07:11 bremner: which to be honest, I misread as " so performance is not a goal of racket ?" 07:11 Shambles_: anonus: I can't speak for the Racket developers, but my *impression* is that Racket's primary goal is to be a featureful Scheme for "real world use". Most Schemes are (and I don't mean this to be offensive) not very practical for writing applications or 'shell script' type things. If Scheme was to be used for that, it would need to grow into something like Racket or JazzScheme. 07:12 Shambles_: anonus: If you want breakneck speed you probably need to be looking at Stalin, but expect to have very, very, very limited I/O and debugging capabilities. 07:13 bremner: aren't there some other schemes that compile to C without focussion on high levels of optimization as much as stalin? 07:13 graspee: chicken compiles to c 07:13 bremner: I guess the folk on #scheme might know better. 07:13 bremner: or not ;) 07:13 Shambles_: anonus: I think focusing heavily on speed right now would interfere with finishing filling in some gaps in Racket's I/O abilities (e.g. SVG support), documentation, and so on. 07:15 Shambles_: Stalin is the most insanely optimizing Scheme that I know of. There are others that do have performance as one of their goals. I think Chicken is one of them. Seems like maybe Bigloo does too? Maybe not. It has a ton of backends at least (JVM, CLR, etc.). 07:16 anonus: i fear that stalin and other scheme implementations lack of most features avaliable in racket 07:17 (join) plobzik 07:17 Shambles_: anonus: Yes, if you want features comparable to Racket, the only alternative I know of is JazzScheme, which, if memory serves, performs about the same. 07:17 Shambles_: anonus: I looked around a lot before choosing one to mess with, and my only reason for choosing between them was Racket seemed more popular and better documented. Both have very good support for real world programming. 07:19 anonus: i'm really worried about that racket apps will be such useless as jvm's ones =/ 07:19 (quit) plobzik: Read error: Connection reset by peer 07:20 Shambles_: Funny thing is, those two Schemes actually seem to have better I/O support than most Common Lisps. That was one thing that drove me to use a Scheme instead. Another was finding the macro system in Common Lisp even more difficult to grasp than what little I could figure out in Scheme quickly. DrRacket also has about the best debugging I've seen in any kind of Lisp. 07:21 Shambles_: Well, if Racket applications end up being as "useless" as JVM ones, I think it'll be a great success. Most database frontends are written in Java nowadays. Pretty much every school or business uses one. :P 07:22 anonus: the last assertion is questionable, because personally i prefer swank because it can work remotely and don't require X to run 07:23 anonus: if nowdays apps is written in java it does not make it useful =/ 07:23 Shambles_: You might not see many 3-D games written in Java, but 3-D games aught to be relying heavily on the graphics card, and you can work with OpenGL in *almost* anything with about the same speed (see Blender Game Engine, where the game logic is in Python, which is famously slow). 07:24 anonus: yea, maybe i made mistake a little because main problem of jvm progs is memory consuption not CPU 07:24 Shambles_: Well, the reality of the business world is that whether something works great in X doesn't really matter much. Most of these things load from web pages, or are .jar files launched from the desktop, on Windows machines, and operated by folks that really only use a computer because they have to. I got rather familiar with our university's database. It was al like that. 07:26 anonus: i'm trying to make world a better place, so i never will develop something on java ) 07:26 Shambles_: anonus: The memory consumption problem is due to lazy garbage collection. It roughly doubles the memory use over equivalent manual memory management. Most garbage collected languages use lazy deallocation, which is theoretically faster, if you're willing to expend 7 times the RAM, but has bad effects on the processor cache and tends to drive the system into swap. 07:27 anonus: and racket have three different GCs, so can it make this problem less valuable with one of those ? 07:28 Shambles_: anonus: The only popular implementation of a garbage collected language that I know of that doesn't use lazy deallocation is Python (CPython, not Stackless Python or IronPython), which uses reference counting, with a garbage collector only for circular references. It does indeed tend to use a reasonable amount of memory, despite being incredibly slow. 07:28 anonus: hehe 07:29 Shambles_: I don't know. There seems to be little interest in reducing the memory waste due to lazy deallocation. The usual attitude is "it's theoretically faster, and RAM is cheap, so just buy more RAM". 07:29 Shambles_: And by that I mean in general, nothing Racket specific. 07:30 bremner: Shambles_: I don't know if you are aware, but many people are very interested in tuning garbage collectors. 07:30 anonus: i can buy more ram if i developing server-side application 07:30 Shambles_: bremner: I'm aware. I've also seen the tests Linus did on it in his famous rant about what's wrong with most of them. 07:30 anonus: but if i'm developing end-user app, it can be VERY annoying if app eats half of your desktop's memory 07:30 anonus: like jvm apps do 07:31 Shambles_: bremner: And I've read some studies on it, which is where I got the "7x the RAM" figure, and the bit on it theoretically being very fast (ignoring the processor's caches and driving the system into swap, and the drive thrashing due to crawling pages that have been swapped out due to infrequent use...). 07:32 Shambles_: It's not just the JVM. CLR apps will do that too, as will most anything else garbage collected. 07:32 Shambles_: Actually, I take that back, there is one other language... 07:32 anonus: sorry, i'm never run any of those 07:32 anonus: but i believe you ) 07:33 Shambles_: OCaml. It often changes what would be garbage collected into effectively manual allocation (i.e. done the same way) using ... seems like the term is something like range inference or something. 07:33 Shambles_: It finds the scope at which the data can be accessed, and if it can be represented as nested scopes, frees it when it would go out of scope. 07:34 anonus: also, related question about performance, does typed racket eliminate run-time type checks ? 07:34 Shambles_: Anything it can't show is safe to do that way it collects using the garbage collector, so it's perfectly safe. OCaml does have phenomenal performance. Tends to give C a run for its money, which is impressive everything considered. 07:34 Shambles_: Yes, typed Racket should perform better. 07:35 anonus: ok, good 07:36 anonus: and how about unmanaged memory ? or fast heap implementation for memory consumption optimizations ? 07:37 Shambles_: As for "never run any of those" the CLR is what C# tends to run on. That'd be Mono on Mac OS X and Unixes. 07:37 Shambles_: What about it? The type system doesn't help with that. 07:39 anonus: not type system of course 07:39 Shambles_: Lisps in general do a pretty good job doing things like freeing 'modified' immutable objects, since passing immutable data through functions to change it is a common way of programming. It'll often use the pointers to the parts that didn't change and free pointers to old values in the changed part, avoiding massive unnecessary allocation. 07:39 anonus: i mean is rocket able to alloc/free unmanaged memory ? 07:39 anonus: or maybe it has fast heap implementation 07:39 Shambles_: Lisp (in all its forms) is garbage collected. It doesn't use manual memory management. 07:40 anonus: but for example SBCL has implementation-specific hacks that allows you to alloc/free unmanaged memory 07:40 bremner: there is the FFI; maybe something can be hacked up that way 07:41 anonus: hm, it's can be very painful to convert such parts of memory to lisp-friendly form 07:41 bremner: it sounds fraught with peril, of course. 07:44 tim-brown: Shambles: earlier you said " Most garbage collected languages use lazy deallocation, which is theoretically faster, if you're willing to expend 7 times the RAM" 07:44 bremner: I guess it isn't _that_ difference from other FFI calls which allocate memory indirectly. But I have no experience with racket FFI. 07:44 tim-brown: is that 7* a scientific quantity, or hyperbole? 07:45 Shambles_: tim-brown: No. There are studies showing that lazy garbage collection outperforms manual allocation *if* you're willing to waste that much RAM. 07:45 tim-brown: Is that No as in "Yes it's a scientific quantity" 07:45 Shambles_: tim-brown: No it's not hyperbole. Yes it's a scientific quantity. 07:46 Shambles_: My browser seems to have keeled over. Waiting for it to restart. I was trying to find the right name for what OCaml was doing to improve its memory management behavior. 07:46 tim-brown: Thanks... I've got some C using the Boehm GC; so it's nice to know what overhead I should be allowing for 07:47 tim-brown: (and I prolly wouldn't have thought as much as 7 times) 07:47 tim-brown feels wasteful at about 200% 07:47 bremner: boehm is "conservative gc", which is jargon for, sucks as GC, but works with C. 07:48 (join) mceier 07:48 tim-brown: bremner: "works with C" is jargon for "it's a GC, and it's better than malloc" :-) 07:49 tim-brown: we're comparing with a pretty low baseline, here 07:49 bremner: yes. Of course many people can write leaky malloc code too. 07:49 bremner: s/malloc/malloc using/ 07:50 tim-brown: that's a given... the problem is writing unleaky malloc using code. 07:50 Shambles_: tim-brown: Lazy deallocation usually only doubles memory use. The 7x is only for "if you actually want it to perform better than manual allocation" though it's the typical excuse for using lazy, rather than eager, deallocation. 07:50 tim-brown: especially anything halfway complex and long lived 07:50 Shambles_: tim-brown: Linus did some well informed ranting about this on the Linux kernel mailing list years ago. 07:50 Shambles_: tim-brown: Including actually measuring some performance issues. 07:51 Shambles_: I still can't find the 'find the scope that something is accessible in' term. Will keep at it. 07:51 tim-brown: Shambles_: thanks 07:51 bremner: what kind of languages/GC's was linus looking at? 07:52 bremner: it isn't a real obvious area for him to be expert on... 07:52 tim-brown: Shambles_: generational GC? 07:53 Shambles_: tim-brown: No. This is something that is done at compile time, based on looking at the source code. It's a kind of 'escape analysis' http://en.wikipedia.org/wiki/Escape_analysis 07:53 Shambles_: tim-brown: It has a particular name though, and there were some fairly readable papers on how it worked. I just can't remember the name. 07:54 Shambles_: "region inference" 07:55 Shambles_: http://en.wikipedia.org/wiki/Region-based_memory_management 07:55 Shambles_: Okay, now I'll try to find at least one of Linus's rants. :P 07:56 Shambles_: http://gcc.gnu.org/ml/gcc/2002-08/msg00552.html 07:56 Shambles_: Should get you started if you feel like reading them all. 07:57 Shambles_: Basically "it's possible to do it better, the problem is lazy deallocation". And from the looks of it OCaml is doing all of the "do it better" things he suggested. Apparently now it's doing Python-style eager deallocation using reference counting where it can, and GC where it has to. 07:58 anonus: does anyone worried about compilation speed? 07:58 Shambles_: It also does the region inference to try to further reduce what has to be reference counted or GC'ed. 07:58 tim-brown: thx Shambles_ 07:58 Shambles_: Okay, now you're wanting your cake and eating it to. *Good* optimization takes time. That's why Stalin is dog slow. On the other hand, Stalin's executables are faaaaast. 07:59 Shambles_: If you're referring to Linus's rant, it had to do with gcc moving to using a garbage collector, which they expected to improve the speed and memory use of the compiler, and he did not, and goes to great lengths to explain why not. 08:01 Shambles_: But no, you won't ever have a super fast compiler that also produces really fast, memory efficient, executables (at the same time). You can have fast with crappy output, or slow with good output. The same compiler can do both (one or the other, at a time) so long as you select the right options, of course. 08:03 (join) RPR 08:08 Shambles_: bremner: He's commenting on GC in general, but gcc moving to using Boehm's in particular. He's intimately familiar with how a good virtual memory subsystem needs to behave (the kernel has gone through a few revisions there), including the handling of swap, which lazy deallocation screws up. He's also a decent programmer, and very concerned with efficiency. He has to be to be in charge of the kernel development. 08:24 (join) jeapostrophe 08:24 (quit) jeapostrophe: Changing host 08:24 (join) jeapostrophe 08:29 (join) dzhus89 08:30 (quit) dzhus: Read error: Connection reset by peer 08:31 (join) jao 08:32 (quit) jao: Changing host 08:32 (join) jao 08:39 Shambles_: I think this is where I got the "it can be faster, at 7x the RAM" figure: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.2537&rep=rep1&type=pdf 08:39 rudybot: http://tinyurl.com/6rh8jy8 08:40 (join) yoklov 08:46 (join) zyoung 08:46 (quit) RPR: Ping timeout: 272 seconds 08:54 (join) RacketCommitBot 08:54 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/eZrREg 08:54 RacketCommitBot: [racket/master] add some code to help avoid drracket dying when the sandbox does strange things - Robby Findler 08:54 (part) RacketCommitBot 08:54 (join) bluezenix 08:56 (join) getpwnam 08:56 Shambles_: Anybody interested in this stuff might also like to read this, since it deals with the question of whether lazy deallocation and compaction is worthwhile to avoid memory fragmentation: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.5185&rep=rep1&type=pdf 08:56 rudybot: http://tinyurl.com/6nfel7x 08:57 (quit) duomo: Quit: Linkinus - http://linkinus.com 09:00 (join) gridaphobe 09:18 (join) ahinki 09:19 (quit) yoklov: Quit: computer sleeping 09:28 (join) m4burns 09:29 (quit) m4burns: Client Quit 09:31 (join) m4burns 09:32 (quit) getpwnam: Ping timeout: 252 seconds 09:42 (quit) m4burns: Quit: leaving 09:47 (join) m4burns 09:47 offby1: rudybot: seen samth 09:47 rudybot: offby1: samth_ was seen joining in #racket four days ago, and then samth_ was seen joining in #scheme four days ago 09:47 offby1: rudybot: seen samth_away 09:47 rudybot: offby1: samth_away was seen joining in #scheme five days ago, and then samth_away was seen quitting in samth2.ccs.neu.edu four days ago, saying "*.net *.split" 09:47 offby1: samth_: can you explain this error? http://ix.io/2nX 09:50 jeapostrophe: offby1: set-map expects a function from the elements of the set, not the set itself 09:50 jeapostrophe: so, (set-map (set 1 2 3) add1) 09:50 jeapostrophe: because add1 takes the elements of the set 09:51 jeapostrophe: but your function set->list function needs a whole set 09:51 jeapostrophe: the error in Argument 2 is the more important part 09:56 (join) snearch 09:59 offby1: hmm 09:59 offby1: gosh, that was certainly messed up. Wonder what I was thinking 10:00 offby1: jeapostrophe: ok, take a look at https://gist.github.com/2694155 then 10:00 offby1: returns the right answer, but complains anyway 10:01 jeapostrophe: when I run that on my side I don't see the error 10:02 jeapostrophe: are you using the repl or running from scratch or ...? 10:02 offby1: it's in a file "hmm.rkt", and I run "racket hmm.rkt" 10:03 offby1: this is not a released version, though; it's "Welcome to Racket v5.2.900.1.\n" 10:04 jeapostrophe: I'm using the latest git 10:04 jeapostrophe: You do realize that the #<<< creates a string that will get displayed 10:05 jeapostrophe: you might be seeing the text rather than an error 10:06 (join) netrino 10:12 (join) pmatey 10:26 offby1: d'oh 10:27 (quit) hkBst_: Quit: Konversation terminated! 10:40 (join) getpwnam 10:44 (join) asumu 10:51 (quit) jrslepak: Quit: This computer has gone to sleep 10:52 (quit) ahinki: Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120509070325] 10:57 (join) RPR 11:02 (quit) gridaphobe: Remote host closed the connection 11:04 (join) jeapostr1phe 11:05 (quit) jeapostrophe: Read error: Connection reset by peer 11:09 tim-brown: jeapostrophe: is #<<< documented? 11:09 tim-brown: is it (vanilla) racket 11:10 jeapostr1phe: http://docs.racket-lang.org/reference/reader.html?q=system-path&q=sandbox#(part._parse-string) 11:10 jeapostr1phe: third para after the list 11:14 (quit) dnolen: Ping timeout: 265 seconds 11:14 tim-brown: that describes a here string; were you saying to offby1 that the string would be evaluated, and therefore displayed? 11:15 tim-brown: (it just sounded a bit like #<<< would print strings out) 11:15 jeapostr1phe: a here string is just a value 11:15 jeapostr1phe: all values that reach the top-level of a module are printed 11:15 jeapostr1phe: his here string was at the top-level 11:15 jeapostr1phe: so it was printed 11:16 (join) anRch 11:16 tim-brown: do you tend to mark your here strings with #<<< 11:16 tim-brown: ... 11:16 tim-brown: < 11:16 tim-brown: ? 11:17 jeapostr1phe: I use #< dzhus 11:48 (quit) tim-brown: Remote host closed the connection 11:52 jeapostr1phe: I was working on the same problem Matthew just pushed 11:53 jeapostr1phe: I fixed it about 40 minutes ago but was also working on another thing to push at the same time 11:53 jeapostr1phe: crazy 11:55 (join) netrino 12:04 (quit) anRch: Quit: anRch 12:10 (join) anRch 12:18 (join) yoklov 12:21 (join) bluezenix 12:25 (quit) stis: Ping timeout: 272 seconds 12:28 (join) jonrafkind 12:33 (join) ambrosebs 12:33 (quit) RPR: Ping timeout: 248 seconds 12:34 (quit) bluezenix: Quit: Leaving. 12:35 (quit) anRch: Quit: anRch 12:36 (quit) jeapostr1phe: Ping timeout: 265 seconds 12:38 (quit) yoklov: Quit: computer sleeping 12:42 (join) flying_rhino 12:45 (join) Cryovat 12:51 (join) RPR 12:56 (quit) RPR: Ping timeout: 272 seconds 12:58 (join) RPR 13:17 (join) bluezenix 13:25 (join) stis 13:39 (join) jeapostrophe 13:39 (quit) jeapostrophe: Changing host 13:39 (join) jeapostrophe 13:43 (join) zyoung_ 13:46 (quit) zyoung: Ping timeout: 265 seconds 13:48 (quit) bitonic: Quit: WeeChat 0.3.7 13:50 (join) anRch 13:54 asumu: I think this is the most I've ever seen "Racket" mentioned on Reddit: http://www.reddit.com/r/programming/comments/tki9d/how_well_can_you_recognize_syntax/ 13:54 rudybot: http://tinyurl.com/7bmnslm 13:54 Cryovat: Is that based on the Heroku game? 13:55 Cryovat: Ah, yeah 13:55 Cryovat: I played it for a while 13:55 (join) mye 13:55 Cryovat: Made me conclude that there's way too many languages that look like Python 13:56 asumu: I failed to get many of the ones with C syntax. 13:57 asumu: Also, the Racket one isn't valid because I'm pretty sure it left out #lang racket. ;) 13:58 Cryovat: Hehe 13:58 jonrafkind: i got like 35/72 13:58 Cryovat: Completely unrelated, stephanh is my Racket Hero Of The Day 13:59 Cryovat: Reported a problem with the RacketGL bindings last night, when I'd gotten home from work he'd fixed everything and even put up example code for what I was trying to do 14:01 (quit) pmatey: Quit: leaving 14:01 (join) untrusted 14:01 (join) nilyaK 14:09 Cryovat: By the way 14:09 Cryovat: I've been wondering 14:09 (quit) bluezenix: Quit: Leaving. 14:10 Cryovat: I've come across a few packages on Planet that doesn't really carry any license information 14:10 Cryovat: Is those cases "use at your own risk"? 14:12 (quit) RPR: Ping timeout: 248 seconds 14:14 jonrafkind: that is referring to warranty 14:15 jonrafkind: license means whether you can redistribute the code 14:15 jonrafkind: you should likely assume you don't have rights to it 14:18 (quit) ChibaPet: Remote host closed the connection 14:19 Cryovat: I meant own legal risk 14:20 (join) ChibaPet 14:22 asumu: Cryovat: In practice, not really probably because it wouldn't make sense to put a non-free package on PLaneT. 14:22 asumu: But theoretically, you don't have any rights to it so you shouldn't redistribute it with modifications. 14:23 asumu: (without asking the package maintainer) 14:23 Cryovat: That makes sense, thanks 14:23 asumu: Probably the github model is the right thing for a PLaneT re-design... require the project to specify the license at the start. 14:25 (join) RPR 14:28 (join) Fare 14:30 Cryovat: That sounds sensible 14:30 Cryovat: Are you planning a redesign? 14:34 (quit) anRch: Quit: anRch 14:39 asumu: Not me, but it seems like it could use it sometime 15:03 (join) jrslepak 15:04 (quit) untrusted: Remote host closed the connection 15:06 (join) bluezenix 15:06 (join) pmatey 15:08 (quit) dented42: Read error: Connection reset by peer 15:08 (quit) ssbr: Read error: Operation timed out 15:09 (join) dented42 15:09 (join) bitonic 15:10 (join) ssbr 15:10 (quit) zyoung_: Read error: Connection reset by peer 15:11 (join) zyoung 15:11 (join) yoklov 15:19 (quit) bluezenix: Quit: Leaving. 15:24 asumu: sizz_: since I don't think anyone answered, I believe jonrafkind has a vi-mode package on PLaneT. 15:24 asumu: And I have one on github. 15:33 (join) bluezenix 15:35 (join) Haffe 15:36 Haffe: Hello people. I have a question about the draw/gui toolkit. Can I have a panel% and a canvas% on the same frame? 15:38 Cryovat: Sure 15:39 Cryovat: You probably want to put them in a vertical-pane% or horizontal-pane% 15:40 Haffe: I have a bit of trouble getting to grips with this. 15:41 Haffe: Is it analagous to how wx does it? 15:41 Cryovat: I honestly don't know, I only have experience with Windows and Swing 15:41 Haffe: Ok. 15:42 Cryovat: They work similar to Flowlayout in Swing if that helps you 15:43 Cryovat: I haven't tried any other ways to do layout yet 15:43 Haffe: Haven't done much programming in java. 15:44 Cryovat: I attended a university where several of the professors were former Sun employees 15:45 Cryovat: So it was hard for me to avoid ;) 15:46 (quit) SeanTAllen: Ping timeout: 245 seconds 15:46 Haffe: I had a student come to me today asking for help with layouting in racket/draw today. 15:50 (join) kreol[Ukr] 15:55 (quit) pmatey: Quit: leaving 15:57 asumu: Haffe: The easiest way to add both to a frame is just setting the parent of both panel% and canvas% to your frame. 15:58 asumu: But if you want more interesting layout, you'll need to do something else. 16:01 kreol[Ukr]: Do you work with OpenGL in racket? 16:04 (join) SeanTAllen 16:04 asumu: kreol[Ukr]: No, I have no idea about OpenGL. Cryovat does though, I think. 16:05 Cryovat: I've just started out 16:05 Cryovat: But I did get a quad to move around :) 16:13 kreol[Ukr]: ou)) how i have to initialize OpenGL? Because i try to execute an example in http://docs.racket-lang.org/sgl/gl.html and it doesn't work... 16:13 Cryovat: Do you have a GL contet? 16:13 Cryovat: *context 16:14 (quit) dented42: Quit: Computer has gone to sleep. 16:14 Cryovat: You'll have to create a frame% with a canvas% in it 16:14 kreol[Ukr]: can you write some example? 16:14 kreol[Ukr]: amm so i have to use gui in adding? 16:15 Cryovat: Yeah 16:15 Cryovat: http://lists.racket-lang.org/users/archive/2010-October/042474.html 16:15 Cryovat: There is sample code there 16:19 kreol[Ukr]: i try this code but take this error with-gl-context in canvas%: no gl context available here (with-gl-context 16:19 kreol[Ukr]: (lambda () 16:19 kreol[Ukr]: (draw-opengl) 16:19 kreol[Ukr]: (swap-gl-buffers) 16:19 kreol[Ukr]: ) 16:19 kreol[Ukr]: ) 16:21 Cryovat: That's pretty odd 16:21 Cryovat: It worked for me 16:22 kreol[Ukr]: ((( 16:27 (quit) basepi: Remote host closed the connection 16:30 (quit) netrino: Quit: Ave! 16:32 (join) basepi 16:39 kreol[Ukr]: are you here? 16:40 kreol[Ukr]: in documentation i find this (send a-canvas with-gl-context thunk 16:40 kreol[Ukr]: [ #:fail fail]) 16:40 Cryovat: Yeah? 16:41 kreol[Ukr]: so i have to send something out of the class ? 16:41 kreol[Ukr]: my-canvas% 16:42 Cryovat: If you pass it a function, it will execute it with a gl context 16:45 (quit) ambrosebs: Ping timeout: 265 seconds 16:54 (quit) bluezenix: Quit: Leaving. 16:56 (part) stis 16:59 (join) RacketCommitBot 16:59 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/fc5cDA 16:59 RacketCommitBot: [racket/master] [Distributed Places] Docs clean up part 2 - Kevin Tew 16:59 (part) RacketCommitBot 17:07 (quit) getpwnam: Ping timeout: 244 seconds 17:18 (join) neilv 17:20 (join) bluezenix 17:23 (quit) kanak: Ping timeout: 265 seconds 17:25 (quit) mye: Ping timeout: 245 seconds 17:31 (join) cdidd 17:35 (quit) kreol[Ukr]: Ping timeout: 272 seconds 17:38 (quit) aalix: 17:44 (quit) antithesis: Quit: yes leaving 17:48 (join) mye 18:02 (join) dented42 18:02 (join) getpwnam 18:06 neilv: holy crap. i forgot how many contract forms there are 18:11 (nick) sizz_ -> sizz 18:15 (quit) jeapostrophe: Ping timeout: 245 seconds 18:18 (join) jyc 18:41 (quit) bluezenix: Quit: Leaving. 18:43 (quit) Fare: Ping timeout: 272 seconds 18:50 (quit) zyoung: Ping timeout: 260 seconds 19:07 (quit) flying_rhino: Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/ 19:08 (quit) RPR: Ping timeout: 248 seconds 19:11 (quit) yoklov: Quit: computer sleeping 19:12 (join) zyoung 19:13 (join) dnolen 19:30 (quit) masm: Quit: Leaving. 19:34 (quit) mceier: Quit: leaving 19:37 (join) jacius 19:41 (join) masm 19:44 (quit) jonrafkind: Ping timeout: 252 seconds 19:51 (quit) bitonic: Quit: WeeChat 0.3.7 19:51 (quit) nilyaK: Max SendQ exceeded 19:53 (join) nilyaK 19:55 (quit) graspee: Quit: time for bed 20:02 (join) jeapostrophe 20:02 (quit) jeapostrophe: Changing host 20:02 (join) jeapostrophe 20:15 (join) kvda 20:16 (quit) kvda: Client Quit 20:17 (join) kvda 21:02 (quit) snorble_: Read error: Connection reset by peer 21:02 (join) snorble_ 21:31 (quit) zyoung: Remote host closed the connection 21:38 (quit) kvda: Quit: x__x 21:41 (quit) jacius: Quit: Leaving 21:53 (join) gridaphobe 22:05 (quit) masm: Quit: Leaving. 22:15 (join) duomo 22:24 (quit) gridaphobe: Remote host closed the connection 22:24 (quit) nilyaK: Quit: Leaving. 22:29 (quit) dented42: Quit: Computer has gone to sleep. 22:31 (join) kvda 22:33 (join) dented42 22:37 (quit) dented42: Ping timeout: 244 seconds 22:44 (join) RacketCommitBot 22:44 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/w00keQ 22:44 RacketCommitBot: [racket/master] define => define/private (in a class) - Robby Findler 22:44 RacketCommitBot: [racket/master] add context information to hash/c (also, rackety) - Robby Findler 22:44 (part) RacketCommitBot 22:49 (quit) scvrory: Ping timeout: 250 seconds 22:54 (join) jonrafkind 22:54 (quit) jonrafkind: Changing host 22:54 (join) jonrafkind 23:00 (join) RPR 23:00 neilv: in scribble, what's the right way to show multi-line output, colored the same way as "racketoutput" does? 23:02 jonrafkind: codeblock ? 23:04 (quit) jyc: Quit: Leaving 23:05 (join) jyc 23:13 (join) dented42 23:22 (quit) jeapostrophe: Ping timeout: 260 seconds 23:33 (join) zyoung 23:36 (join) grettke 23:44 (quit) grettke: Quit: Leaving