00:00 lewis1711: rapacity: aha, something like that yeah. also want to disallow defining the variable 00:00 lewis1711: so can add that to the conds 01:00 (join) mheld 01:00 (nick) abbe -> writer 01:00 (quit) writer: Quit: writer 01:36 (join) lewis17111 01:36 (quit) lewis1711: Ping timeout: 265 seconds 01:38 (join) jeapostrophe 01:42 (quit) lewis17111: Ping timeout: 265 seconds 01:45 (quit) mheld: Ping timeout: 255 seconds 01:57 (join) lewis1711 01:58 (join) jonrafkind 02:02 (quit) lewis1711: Ping timeout: 260 seconds 02:12 (quit) offby1: Ping timeout: 240 seconds 02:13 (quit) jeapostrophe: Quit: jeapostrophe 02:17 (join) lewis1711 02:26 (quit) lewis1711: Ping timeout: 260 seconds 02:59 (quit) jonrafkind: Ping timeout: 276 seconds 03:02 (quit) mwolfe: Ping timeout: 255 seconds 05:01 (join) sunnyps 05:20 (join) neilv 05:20 (quit) neilv: Changing host 05:20 (join) neilv 06:28 (join) masm 06:53 (join) Roverd 06:53 Roverd: Has racket the ability to use a a sorting or min/max function together with a lambda. I couldn't find it in the documentation? 07:29 (join) etate 07:30 etate: hey, is it possible to have multiple separate threads run separate instances of racket? In the docs it seems to point to not being able to do this, if so is there a good reason why? 07:36 (quit) sunnyps: Ping timeout: 265 seconds 07:43 (join) MayDaniel 07:50 (quit) Roverd: Quit: Page closed 08:06 bremner: etate: usually people would call those processes rather than threads 08:07 bremner: maybe http://docs.racket-lang.org/more/index.html is helpful? 08:08 (quit) MayDaniel: Read error: Connection reset by peer 08:22 (join) abbe 08:22 (quit) abbe: Changing host 08:22 (join) abbe 08:24 (join) stis 08:25 (join) sunnyps 08:28 etate: bremner: why would they call them processes instead of thread? I'm talking about spawning multiple instances of Racket in separate OS level threads here, from C. 08:29 (join) jeapostrophe 08:36 neilv: are you sure you want to embed racket? afaik, almost everyone right now makes racket the main process and then calls out to c code via the ffi 08:38 etate: neilv: yes, because I want to control, from outside racket, many instances of it (eg to do multicore stuff) 08:39 neilv: you might have to use multiple OS processes, one racket per process, and do ipc 08:39 etate: yeah, thats basically what i'm trying to do, but i want to be able to do it from inside another program 08:40 etate: so instead of using unix, i want to spawn a C thread and make it do basically the same thing 08:40 etate: but according to the docs, you can't call the scheme primitives from multiple OS level thread 08:40 etate: threads* 08:41 neilv: os threads are lighter weight than os processes, but i think you might have better luck just using multiple os processes 08:42 neilv: os processes might be lighter-weight than you think. and, if they are short-lived enough that startup overhead is expensive, you might be able to do pools of reusable processes 08:47 etate: neilv: aaaaah i've been looking at the wrong level of abstraction 08:47 etate: neilv: maybe i _have_ to fork these things instead of thinking about pthreads 08:49 neilv: yeah, you could probably fork with racket embedded, but fork&execing racket and avoiding embedding might be less painful 08:49 etate: I was sure there was a good reason for not being able to instantiate two rackets at the pthread level, maybe this is it 08:50 etate: yeah, i also was thinking that this whole embedding business is OTT 08:50 neilv: i suspect that your development experience of the racket side of the code will be much better if it doesn't require embedding 08:50 neilv: plus you avoid the messy c coding, and having a garbage collector stomping all over your c code 08:50 etate: well the problem is i'm trying to make a generic framework for spawning processes of any kind, not just racket 08:50 etate: thats why the C code is at some points inevitable 08:51 etate: i should say: spawning and communicating 09:00 (join) mceier 09:04 Demosthenes: anyone have an example of call-with-transaction in snooze? i'm trying to speed up a series of inserts 09:12 (join) losvedir 09:37 (quit) jeapostrophe: Quit: jeapostrophe 09:38 (join) jeapostrophe 09:41 (quit) etate: Quit: Leaving 10:04 (quit) jeapostrophe: Quit: jeapostrophe 10:05 (join) jeapostrophe 10:05 (join) anRch 10:06 (join) MayDaniel 10:37 (quit) jeapostrophe: Quit: jeapostrophe 10:42 (join) offby1 10:43 (quit) offby1: Changing host 10:43 (join) offby1 11:05 (quit) MayDaniel: Read error: Connection reset by peer 11:17 (quit) anRch: Quit: anRch 11:53 (join) MayDaniel 12:00 (join) shofetim 12:19 (quit) MayDaniel: 12:28 (join) mwolfe 12:29 (quit) stis: Ping timeout: 260 seconds 12:50 (join) stis 13:00 (part) neilv: "Leaving" 13:34 (quit) sunnyps: Quit: Leaving 13:35 (join) alexsuraci_ 13:36 (nick) alexsuraci_ -> testingfoo 13:38 (quit) testingfoo: Client Quit 14:07 (join) anRch 14:12 (quit) shofetim: Ping timeout: 240 seconds 14:23 (join) shofetim 14:25 (part) shofetim 14:34 (join) jeapostrophe 14:41 (join) MayDaniel 14:57 (quit) anRch: Quit: anRch 15:00 (quit) jeapostrophe: Quit: jeapostrophe 15:05 (join) jeapostrophe 15:07 (quit) MayDaniel: 15:09 (join) jeapostrophe_ 15:09 (quit) jeapostrophe_: Read error: Connection reset by peer 15:10 (join) jeapostrophe_ 15:11 (quit) jeapostrophe: Ping timeout: 260 seconds 15:11 (nick) jeapostrophe_ -> jeapostrophe 15:25 (join) jeapostrophe_ 15:26 (quit) jeapostrophe: Ping timeout: 272 seconds 15:26 (nick) jeapostrophe_ -> jeapostrophe 15:26 (quit) jeapostrophe: Client Quit 15:32 (quit) parcs: Quit: WeeChat 0.3.3 15:33 (join) parcs 16:08 (join) philo 16:17 (quit) evhan: Read error: Operation timed out 16:19 (quit) mwolfe: Ping timeout: 272 seconds 16:20 (join) evhan 16:23 philo: looking for information on the bytecode format and on the jit 16:24 offby1: spewing random gerunds into the channel 16:29 philo: ? 16:29 philo: the documentions doesnt seems to mention anything 16:37 rapacity: not sure if this is what you want http://plt.eecs.northwestern.edu/racket-machine/ 16:38 philo: look good, was that on the site and i missed it ? 16:40 rapacity: I got that link off the mailing list, not sure if its linked somewhere on the site 16:45 (join) palad 16:45 (quit) rudybot: Remote host closed the connection 16:46 (join) rudybot 16:46 palad: hi, im having an issue with let* 16:46 palad: i get bad synthax: (let* ((matches (find-matches operators top-node '() ))) (apply-matches kb stack operators plan matches)) 16:51 rapacity: the let* itself looks ok 16:53 (join) philo_ 16:55 (quit) philo: Ping timeout: 265 seconds 16:58 danking: samth: Alright, I'll post if I don't forget about it by tonight! 17:00 (quit) tv|z: Ping timeout: 240 seconds 17:01 (quit) losvedir: Quit: losvedir 17:02 (join) tv|z 17:12 (join) MayDaniel 17:17 (join) mwolfe 17:23 (quit) Demosthenes: Ping timeout: 265 seconds 17:25 (join) Demosthenes 18:01 (quit) mceier: Quit: leaving 18:01 (quit) MayDaniel: Read error: Connection reset by peer 18:20 (quit) masm: Quit: Leaving. 18:24 (quit) stis: Remote host closed the connection 18:36 (join) anRch 18:53 (join) losvedir 19:02 Lajla: It's possible to verify for a compiler that funtions which use bangs internally only apply bangs to locally initiated variables and are thus pure, right? 19:09 (quit) anRch: Quit: anRch 19:11 (join) jeapostrophe 19:18 (join) jonrafkind 19:29 (quit) jeapostrophe: Quit: jeapostrophe 19:43 (quit) losvedir: Quit: losvedir 19:43 (quit) parcs: Read error: Connection reset by peer 19:44 (join) parcs 19:52 Lajla: jonrafkind, surely ou know this 19:53 Lajla: It's possible to verify for a compiler that funtions which use bangs internally only apply bangs to locally initiated variables and are thus pure, right? 19:53 jonrafkind: yea 19:54 jonrafkind: well, by pure you mean has no side-affects 19:54 jonrafkind: but you can stil do IO and whatnot 19:54 jonrafkind: but you can definately force functions to only mutate variables introduced in scopes beneath the function 20:10 (join) jeapostrophe 20:19 Lajla: jonrafkind, well, yeah, I mean mutations 20:19 Lajla: I don't mean force, but like say. 20:19 Lajla: Can a compiler prove that even though a function contains some '!' functon, even inside another function that is inside it. 20:20 Lajla: If the mutation performed is local to the function 20:20 Lajla: Like ehh, string and vector I guess in their standard implementation do feature mutation internally. 20:20 jonrafkind: yea its not too hard to do, its called escape analysis in general 20:20 jonrafkind: well ive never implemented it so i dont know how hard it is to do.. 20:23 Lajla: But you are jonrafkind, you wield the power cosmic, in all this universe there is nothing you cannot do. 20:23 Lajla: Okay, but next step. 20:23 Lajla: Is it deciable. 20:23 jonrafkind: well, i think so 20:23 Lajla: Like, can a compiler lexically provide a correct yes/no to whether the function can or cannot mutate outside of itself. 20:24 Lajla: =( 20:24 Lajla: Oh 20:24 Lajla: I read 'I don't think so; 20:24 Lajla: Schweet 20:24 jonrafkind: your analysis might have to be conservative at some points 20:25 jonrafkind: because it might not be possible to tell if some variable escapes without executing the program 20:25 jonrafkind: like (let ([b (box (if (omega?) x y))] b) 20:25 jonrafkind: so which escapes, x or y? well its impossible to know, so you have to say both 20:26 jonrafkind: i guess using box is a bad example there 20:26 jonrafkind: well if x and y are created as boxes, that would work I suppose 20:28 (quit) mwolfe: Remote host closed the connection 20:29 Lajla: Hmm 20:29 Lajla: I suppose that falls under 'can' 20:30 Lajla: But yeah, I might need to formalize that better 20:34 (quit) jeapostrophe: Quit: jeapostrophe 20:51 (join) jeapostrophe 20:59 (join) mwolfe 21:37 (quit) mwolfe: Remote host closed the connection 22:10 (quit) philo_: Ping timeout: 265 seconds 22:30 (quit) jeapostrophe: Quit: jeapostrophe 23:55 askhader: So how do you fellow racketeers feel about 23:55 askhader: Ugh enter key 23:55 jonrafkind: 42 23:55 askhader: As I thought. 23:55 askhader: =] 23:58 askhader: The speed of racket =O 23:59 jonrafkind: The fires of london >:E