00:02 (join) dnolen 00:03 (quit) mceier: Quit: leaving 00:08 (quit) jeapostrophe: Ping timeout: 265 seconds 00:18 (quit) jao: Ping timeout: 246 seconds 00:25 (join) cdidd 00:27 (quit) hash_table: Ping timeout: 244 seconds 00:27 (quit) getpwnam: Ping timeout: 244 seconds 01:12 (quit) yoklov: Quit: computer sleeping 01:43 (quit) Kaylin: Quit: Leaving. 01:54 (quit) ski: Ping timeout: 246 seconds 01:56 (join) ski 02:10 (join) jonrafkind 02:18 (join) mceier 02:37 (join) djcoin 02:38 (quit) dnolen: Remote host closed the connection 02:51 (quit) jonrafkind: Ping timeout: 248 seconds 02:52 (join) hkBst 02:52 (quit) hkBst: Changing host 02:52 (join) hkBst 03:04 (quit) mceier: Quit: leaving 03:36 (quit) maahes: Ping timeout: 252 seconds 03:48 (quit) jacius: Remote host closed the connection 03:49 (join) maahes 03:57 (join) snearch 04:09 (quit) bjz: Quit: Leaving... 04:10 (join) bjz 04:29 (join) noelw 04:39 (quit) maahes: Read error: Operation timed out 04:40 (join) bitonic 04:52 (join) MightyFoo 04:53 (join) maahes 04:53 (nick) MightyFoo -> tim-brown 05:05 tim-brown: i discovered yesterday that duckduckgo has a "bang-racket" syntax e.g. "!racket let/cc" 05:07 (join) noelw_ 05:08 tim-brown: i was interested by jonrafkind's futures browser, but i don't know how to get a hold of it. any pointers? 05:09 (quit) noelw: Ping timeout: 246 seconds 05:09 (nick) noelw_ -> noelw 05:46 (quit) rbarraud: Ping timeout: 248 seconds 06:10 (quit) mithos28: Read error: Connection reset by peer 06:11 (join) mithos28_ 06:40 (quit) ski: Ping timeout: 240 seconds 06:40 (join) mceier 06:54 (join) ski 06:57 (quit) mithos28_: Quit: mithos28_ 07:00 (quit) ivan\: Ping timeout: 250 seconds 07:03 (join) ivan\ 07:05 tim-brown: with ffi, i have a function which returns a pointer which has been malloc'd using a GC_malloc (linked with my foreign library) 07:05 tim-brown: i need this pointer to remain visible within racket (i.e. on the stack or anywhere else that the CGC would find it) 07:06 tim-brown: this is fine for racketcgc (since GC_malloc is shared between my library and racket) 07:06 tim-brown: but how do i keep a pointer visible with racket3m? 07:07 tim-brown: [if possible, without "remembering" it explicitly in my library] 07:11 (quit) ski: Ping timeout: 240 seconds 07:25 (quit) antithesis: Remote host closed the connection 07:42 (quit) vu3rdd: Ping timeout: 246 seconds 07:43 (quit) mceier: *.net *.split 07:43 (quit) djcoin: *.net *.split 07:43 (quit) jrslepak: *.net *.split 07:43 (quit) sethalves: *.net *.split 07:43 (quit) mattmight: *.net *.split 07:43 (quit) ppilate: *.net *.split 07:43 (quit) hyko: *.net *.split 07:43 (quit) offby1: *.net *.split 07:43 (quit) dspt: *.net *.split 07:43 (quit) rotty: *.net *.split 07:43 (join) mceier 07:44 (join) djcoin 07:44 (join) jrslepak 07:44 (join) sethalves 07:44 (join) mattmight 07:44 (join) ppilate 07:44 (join) hyko 07:44 (join) offby1 07:44 (join) dspt 07:44 (join) rotty 07:50 (join) masm 07:54 (quit) snearch: Quit: Verlassend 08:12 (quit) Shviller: Ping timeout: 246 seconds 08:13 (join) Shviller 08:20 (quit) jyc: Read error: Connection reset by peer 08:26 (join) jeapostrophe 08:26 (quit) jeapostrophe: Changing host 08:26 (join) jeapostrophe 08:28 (join) Kaylin 08:34 (join) jeremyheiler 08:44 (nick) samth_away -> samth 08:48 (join) jtpercon 08:51 (join) yoklov 08:53 (join) getpwnam 08:54 (join) hash_table 09:04 (join) antithesis 09:06 (quit) jeapostrophe: Ping timeout: 248 seconds 09:13 (quit) yoklov: Quit: computer sleeping 09:19 (join) MayDaniel 09:22 (quit) hash_table: Ping timeout: 246 seconds 09:22 (quit) getpwnam: Ping timeout: 246 seconds 09:26 (quit) jeremyheiler: Quit: Computer has gone to sleep. 09:44 (join) jeremyheiler 09:45 (topic) -: Racket -- http://racket-lang.org -- logs at http://racket-lang.org/irc-logs/ 09:45 (names) -: gabot jeremyheiler MayDaniel antithesis jtpercon Kaylin Shviller masm rotty dspt offby1 hyko ppilate mattmight sethalves jrslepak djcoin mceier ivan\ noelw maahes tim-brown bitonic bjz hkBst cdidd jrslepak_neu noam__ mungojelly acarrico Shambles_ sizz_ Nisstyre aidy Znudzon rudybot cataska stchang jimmypk Shvillr surrounder rapacity BeLucid SHODAN gf3 stamourv imami|afk basepi m4burns eli eMBee danl_ndi asumu mario-goulart DraX em ivan` elliottcable 09:45 (names) -: tauntaun SeanTAllen dsantiago samth Araq karswell errstr danking ozzloy igibson @ChanServ anonus s_p_a_c_e_d_o_u_ spanner tewk lusory otterdam bartbes antono cky bremner chandler friscosam Cryovat jamessan 09:45 (join) gciolli 09:52 (join) yoklov 09:54 (quit) yoklov: Client Quit 10:09 (join) soegaard 10:09 (join) soegaard_ 10:09 (quit) soegaard: Read error: Connection reset by peer 10:09 (nick) soegaard_ -> soegaard 10:10 (join) jeapostrophe 10:12 (quit) mceier: Quit: leaving 10:17 (quit) jrslepak: Quit: This computer has gone to sleep 10:23 (quit) gciolli: Ping timeout: 250 seconds 10:31 (join) gciolli 10:32 (join) jrslepak 10:45 (join) RacketCommitBot 10:45 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/_3XBxQ 10:45 RacketCommitBot: [racket/master] Make TR compile cleanly with contracts enabled. - Eric Dobson 10:45 RacketCommitBot: [racket/master] Fix bad contract and clashing provides in TR when contracts are enabled. - Eric Dobson 10:45 RacketCommitBot: [racket/master] Added cond-check-below - Eric Dobson 10:45 (part) RacketCommitBot 10:47 (join) kvda 10:54 (quit) bjz: Ping timeout: 250 seconds 10:56 (join) getpwnam 10:56 (join) anRch 10:56 (join) hash_table 10:57 (quit) hkBst: Quit: Konversation terminated! 11:02 (quit) jrslepak: Quit: This computer has gone to sleep 11:06 (quit) kvda: Quit: x___x 11:06 (join) DanBurton 11:08 (join) mmajchrzak_ 11:09 (quit) noelw: Quit: noelw 11:11 (quit) Znudzon: Ping timeout: 248 seconds 11:15 (quit) mmajchrzak_: Quit: Leaving 11:19 (join) jrslepak 11:19 (quit) jeapostrophe: Read error: Operation timed out 11:23 (quit) MayDaniel: Read error: Connection reset by peer 11:27 (join) MayDaniel 11:30 (quit) MayDaniel: Read error: Connection reset by peer 11:36 (quit) jeremyheiler: Quit: Computer has gone to sleep. 11:39 (join) jeremyheiler 11:39 (join) mceier 11:43 (join) mithos28 11:48 (join) kanak 11:53 (quit) acarrico: Ping timeout: 248 seconds 11:57 (join) jonrafkind 11:57 (quit) jonrafkind: Changing host 11:57 (join) jonrafkind 12:02 mithos28: samth: ping 12:02 samth: mithos28: pong 12:02 samth: thanks for the refactoring! 12:02 mithos28: No problem. I have some more coming 12:02 (join) RacketCommitBot 12:02 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/NrcHrw 12:02 RacketCommitBot: [racket/master] more submodule repairs for `raco exe' - Matthew Flatt 12:02 (part) RacketCommitBot 12:03 mithos28: I was wondering what check-below is supposed to return 12:03 samth: it should return a Result if one of the arguments is a result, otherwise it should return a Type 12:04 mithos28: Bad question. Let me actually phrase it better. 12:04 mithos28: Is it ok to return a subtype of the expected, instead of the expected type? 12:05 samth: mithos28: no, that's not ok 12:05 samth: at least in general 12:05 samth: consider the expression (ann x Type) 12:05 samth: check-below always returns `Type` here 12:06 samth: so that `ann` controls the type of the expression 12:06 samth: otherwise, it's just a constraint, and thus very frustrating to use 12:06 samth: (SML behaves in the other way, and it's a huge pain) 12:06 mithos28: Ok. I am trying to figure out how to do prototypes from Odersky's paper 12:07 mithos28: And one of the things that it would add would be that expected would no longer always be a valid type 12:07 samth: mithos28: what do you mean by 'prototypes'? 12:08 (quit) anRch: Quit: anRch 12:08 mithos28: I thought that was the terminology used in the paper, let me look it up 12:08 samth: oh, you mean the partial types propagated by inference 12:08 mithos28: yeah 12:08 mithos28: The ? 'type' 12:09 samth: i see two options here 12:09 (join) Znudzon 12:09 samth: 1. change the invariant on check-below so that it always returns an instantiation of the expected type 12:09 samth: 2. add a new version of check-below for inference 12:10 samth: i think probably 1 is better 12:10 mithos28: I agree. 12:10 mithos28: There are just lots of parts of the system that assume expected is a type and not something that needs to be instantiated first 12:11 samth: yes, i bet that's true 12:11 mithos28: is tc-expr the same as tc-expr/check with the type Top? 12:11 samth: mithos28: no 12:11 stamourv: tim-brown: The futures visualizer is available in the latest git. Maybe in the nightlies too, if they're up to date. 12:12 stamourv: tim-brown: And jamesswaine wrote it, not jonrafkind. 12:12 samth: consider what happens with letrec and inference when there's an expected type 12:12 jonrafkind: ill accept rewards in the form of money or food 12:14 (join) nilyaK 12:14 mithos28: samth: not obvious what you mean by that 12:14 samth: mithos28: sorry, that was opaque 12:14 samth: with letrec inference 12:15 samth: if you have (let loop args body), then it uses the expected type as the return type for `loop` 12:15 samth: but if there's no expected type, it just doesn't do it 12:16 samth: but if you introduce odersky's system, there's more opportunity to unify tc-expr and tc-expr/check 12:16 samth: b/c the former would be the latter with ? as the expected 12:17 mithos28: Right. Thanks for the example, I couldn't really see why odersky needed the ?. 12:18 samth: another place where you get ? 12:18 samth: would be: 12:18 samth: (identity arg) 12:18 samth: you'd have an expected ? for checking `arg` 12:19 mithos28: This is why I wanted check below to return a subtype 12:19 mithos28: because then it checked with Top, arg would still return its true value 12:19 samth: yeah 12:19 mithos28: *type 12:20 samth: i think ? is actually the right solution to this problem 12:20 samth: note that there's already something like ? in the system already 12:20 mithos28: What? 12:20 samth: the NoEffect constructor 12:20 (quit) jeremyheiler: Quit: Computer has gone to sleep. 12:21 samth: is for indicating that an annotated/parsed type doesn't have an annotated proposition 12:21 samth: meaning the underlying one should be passed through 12:21 mithos28: ok, but thats a filter not a type 12:21 samth: sorry, NoObject 12:21 samth: yes 12:21 mithos28: Ah, thats why I couldn't find it 12:22 mithos28: Also why does type? include things that aren't types? 12:22 samth: yeah, see https://github.com/plt/racket/blob/master/collects/typed-racket/typecheck/check-below.rkt#L52 12:22 rudybot: http://tinyurl.com/comceb2 12:23 samth: so that they can participate in definition of the type hierarchies 12:23 samth: `type?` could be redefined to be the same as `Type/c` 12:24 mithos28: Ok. As a first pass would only allowing ? at the top level of an expected, and replacing the no check code paths with that, be a good starting approach? 12:25 (quit) djcoin: Quit: WeeChat 0.3.2 12:25 samth: mithos28: yes, that sounds reasonable 12:25 mithos28: Ok, thanks. I've got to run, day job thing. 12:26 samth: mithos28: great! 12:27 DanBurton: samth: typed racket question for you http://pastebin.com/hnkgb5GM 12:28 DanBurton: it seems that and & or under certain circumstances aren't typed correctly 12:28 (join) MayDaniel_ 12:29 samth: DanBurton: the first of those is because TR learns something about `x` with the `list?` test 12:30 samth: to work around that, just bind `x` to `y` before the test, and return `y` 12:30 samth: the second one is more surprising 12:30 DanBurton: regarding the first, shouldn't TR know that whatever it learns about x, its type should still be a subtype of its original type? 12:31 DanBurton: I suppose it learns not only about X, but about A in that case 12:31 DanBurton: or it should, rather 12:31 samth: the problem is that the knowledge can't be represented in TR's type system 12:31 DanBurton: aw 12:32 DanBurton: so yeah how 'bout the second 12:33 DanBurton: here's an example closer to the actual code I'm trying to type: http://pastebin.com/8xF50aGD 12:34 (join) jeapostrophe 12:35 samth: ok, checking it out 12:35 tim-brown: stamourv: apologies to jamesswaine - jonrafkind was raving about it last week; i made the assumtion that he'd done it 12:36 tim-brown: thereby making an ass out of me and umption 12:40 (quit) jeapostrophe: Read error: Operation timed out 12:41 tim-brown: night all -- will check the nightlies again (futures browser not in the ones i last looked at; but that was *days* ago) 12:42 (quit) tim-brown: Quit: night all 12:45 samth: DanBurton: your larger example doesn't work b/c it might produce #t if x is `null` 12:51 (join) jacius 12:53 DanBurton: oh right 12:54 DanBurton: it should be unioned with #t not #f for that particular example 12:57 samth: then it will probably typecheck 12:58 DanBurton: it still has the problem that it thinks it "got Boolean" 12:58 DanBurton: I mean sure I could tell it (U Boolean A) 12:58 samth: DanBurton: in my drracket, if I change the return type to (U #t #f A) it works 12:58 samth: or (U Boolean A) 12:59 DanBurton: right, that would make sense, given Boolean <: (U Boolean A) 13:03 (join) acarrico 13:04 DanBurton: I'm dealing with some code whose comments claim its type is "any (-> a) (exn -> a) -> a". I think I can just get away with making it "any (-> #t) (exn -> #f) -> Boolean" 13:11 (join) soegaard 13:15 DanBurton: samth: (U #t #f) should be indistinguishable from Boolean, right? 13:15 samth: DanBurton: yes 13:17 Araq: "Racket is a programming language. " now that's helpful ... 13:17 Araq: how about mentioning that it's a Scheme= 13:17 Araq: ? 13:17 DanBurton: samth: I tried both (U #t #f A) and (U Boolean A), but only the latter works. http://pastebin.com/UVTLyv2G 13:17 DanBurton: Araq: that should be pretty obvious to anyone that know what a Scheme is 13:18 DanBurton: *knows 13:18 samth: DanBurton: yes, that's a bug that's been fixed -- it'll be in the next release 13:18 Araq: well I had to browse a bit around to get it ... ;-) 13:18 DanBurton: samth: oh yay :) 13:18 Araq: I only noticed the syntax is lisp-like from the startpage 13:18 Araq: (and yes I do know what scheme is ...) 13:19 DanBurton: Racket used to be called PLT-Scheme, but then the PLT people decided that it was different enough that they should make a clean break in the name 13:20 (join) snearch 13:20 DanBurton: So even though it's probably fair to say that Racket is a Scheme, it's also somewhat fair to say that it is not. 13:20 Araq: DanBurton: now I know, but it's really missing on the main page 13:20 samth: Araq: we think that the impression you get from the code snippets on the start page is more important than the history 13:21 DanBurton: and to be fair "Racket is a programming language" should be pretty obvious to... well... anyone that finds themself at racket-lang.org so I don't really know why it even says that. 13:22 Araq: samth: I disagree; for me it was just "Lisp-like" with no obvious sign of being a scheme 13:22 (quit) gciolli: Ping timeout: 250 seconds 13:22 Araq: and there are lots of lisp dialects around 13:23 samth: Araq: what crucial information is the Scheme heritage conveying? 13:23 Araq: hygienic macros? 13:23 Araq: nicer names? (car, cdr) 13:24 Araq: oh I see you have those names too 13:24 DanBurton: ugh I'm dealing with some code that makes heavy use of those >,< 13:25 (join) RacketCommitBot 13:25 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/z-1-Cw 13:25 RacketCommitBot: [racket/master] Move racket/future/visualizer, racket/future/trace --> future-visualizer, future-visualizer/trace - James Swaine 13:25 (part) RacketCommitBot 13:25 DanBurton: does regular scheme have structs like racket does? 13:26 Araq: I don't think so, but I don't know really 13:26 Araq: it's said that scheme is much more minimalistic than common lisp 13:26 Araq: so my guess is it doesn't :-) 13:27 DanBurton: structs are *so* much better than this car/cadddadr nonsense xP 13:29 Araq: can racket be compiled to native machine code? 13:30 bitonic: DanBurton: you can easily build your own "struct" library 13:30 bitonic: with lists 13:31 (quit) soegaard: Quit: soegaard 13:31 stamourv: bitonic: That doesn't give you structs. They still answer #t to `list?'. 13:31 stamourv: Araq: Yes, Racket has a JIT compiler. 13:31 stamourv: (that compiles to native code) 13:32 bitonic: stamourv: OK, implement them with vectors then :P 13:32 (quit) MayDaniel_: 13:32 bitonic: my point is that you don't *need* them in the language 13:33 stamourv: Well, you don't *need* numbers either, lambdas are enough. 13:33 stamourv: But numbers are nice to have, and so are structs. 13:33 DanBurton: church encoding for structs would probably be good enough to satisfy me :) 13:34 bitonic: stamourv: no. you need machine numbers much more than native structs. 13:34 stamourv: Well, neither is strictly necessary. The lambda calculus manages just fine. 13:35 stamourv: My point is that, unless you're playing some mathematical games, there's no reason to avoid useful features. 13:35 Araq: stamourv: and its own GC implementation? 13:35 stamourv: Araq: Yep, custom-build generational GC. 13:36 bitonic: stamourv: no no. machine numbers are strictly necessary to do anything useful with numbers. native structs aren't strictly necessary to do anything. 13:36 Araq: stamourv: precise stack marking? 13:36 stamourv: Araq: I think so, but I'd have to check to be sure. 13:37 Araq: does it transform everything to CPS? 13:37 stamourv: bitonic: http://en.wikipedia.org/wiki/Church_encoding 13:37 bitonic: stamourv: I know, thank you. 13:37 bitonic: but machine numbers are necessary to do anything useful. structs are basically just sugar if you have vector. 13:37 bitonic: *vectors 13:38 stamourv: That's still an encoding. Vectors can't give you information hiding, whereas structs can. 13:38 asumu: No, for the reasons that stamourv already outlined. Vectors answer #t to vector?. It's not an abstraction. 13:39 DanBurton: the downside of encoding structs by using some other container is that they will still respond to operations on that container, which is rather un-struct-like 13:39 bitonic: stamourv: sure, but the gap between church numerals and machine numbers is *much* wider than the one between the one between and "fake" structs and "navtive" structs 13:39 (quit) jonrafkind: Ping timeout: 255 seconds 13:39 stamourv: And structs give you disjoint datatypes. No one can confuse your new thing with a plain old vector, and mistakenly operate on it like a vector, breaking your invariants (e.g. that the head of the vector is the special tag that tells you what it is). 13:39 tewk: Araq: precise stack marking, YES 13:39 stamourv: bitonic: Agreed, but there's no point in avoiding using structs. 13:40 Araq: tewk: how does it handle multi threading? stop the world? 13:40 bitonic: stamourv: I think there is a point in simplicity. It's always going to be a compromise, but it's not that easy - plenty of useful languages lack structs 13:41 asumu: Structs are pretty simple in the hierarchy of complication of language features... 13:41 asumu: (even C has them!) 13:41 asumu: (sort of) 13:41 stamourv: I agree, simplicity is nice, but I don't think that getting rid of structs makes things much simpler, and getting rid of them is painful. 13:41 tewk: Racket threads are user threads or green threads. 13:42 tewk: Places provide true parallelism and each place has its own garbage collector. 13:42 bitonic: asumu: that's not true, people have huge fights about how to have structs/records in the Erlang and Haskell community, where structs are just sugar (but in different ways) 13:42 (part) antithesis 13:42 Araq: tewk: I see; but somebody mentioned a "GIL" in the VM? 13:43 asumu: Haskell already has records. They're just fighting over an improved API for them. 13:43 tewk: There is a master collector that has to stop the world, but it runs very infrequently. 13:43 Araq: tewk: how do you do message passing between places? deep copy? 13:44 bitonic: asumu: haskell records are just and only sugar. 13:44 tewk: Araq: yes, there isn't a GIL. 13:44 bitonic: asumu: they're just functions and patterns over normal datatypes 13:44 asumu: bitonic: Yes, because they have a general ADT mechanism which provides about as much abstraction. 13:44 Araq: tewk: if you do deep copying, why do you even need a master collector? 13:44 bitonic: asumu: not really. it provides no notion of the record's fields 13:45 bitonic: asumu: and no structural records either 13:45 asumu: Yes... so they want more features. So how is that an argument against them? 13:45 bitonic: asumu: it's an argument about the obviousness of records as a feature 13:45 bitonic: since Haskell and Erlang are 2 widely used languages that lack them 13:46 asumu: No, that just shows it's hard to retrofit a feature onto an old language that has its own long-lasting idioms. 13:46 asumu: There have been tons of proposals for how to do "records right" in Haskell. Some even implemented (e.g. TRex in Hugs). 13:46 bitonic: asumu: it's not like everybody in Haskell wants records. Ofc the people who want it make much more noise 13:46 tewk: Araq: the master collector collects place channels and shared atomic value vectors. 13:46 bitonic: I wouldn't even say it's the majority 13:47 tewk: But if you don't kepp allocating a lot of those the master collector quickly reaches a steady state and doesn't need to collect. 13:49 Araq: I see 13:50 Araq: are race conditions completely prevented with this scheme? 13:50 (join) tonyg 13:50 (join) MayDaniel 13:51 samth: Araq: you can always implement a higher-level structure via messages, and then have races there 13:51 (join) yoklov 13:51 samth: but in the conventional sense, places can't have races b/c they don't share any locations 13:54 Araq: samth: how do the "shared atomic value vectors" work? 13:54 Araq: in particular how do you do the ownership transfer of the memory? 13:54 samth: when you send a reference to a shared vector, the other side sees it as a vector 13:54 samth: but no copying takes place 13:55 Araq: but how do you keep a local GC from freeing this memory? 13:56 samth: Araq: shared vectors are allocated in the master heap only 13:56 samth: which is not touched by local GC 13:57 (join) jonrafkind 13:57 (quit) jonrafkind: Changing host 13:57 (join) jonrafkind 13:57 Araq: say if you have N places that need to fill the same shared vector 13:58 Araq: how does that work? 13:58 Araq: say we have a vector of strings 13:58 Araq: each string is allocated per place 14:01 Araq: how is each string put into the vector then? 14:01 Araq: by copy? 14:01 (quit) nilyaK: Quit: You can put whatever you want here. 14:01 tewk: you can only have shared vectors of bytes, fixed integers and float 14:01 Araq: aha alright 14:01 (join) nilyaK 14:01 Araq: hrm, sounds water proof :-) 14:02 DanBurton: Suppose I want to create a macro that generates several (define ) statements. How would I go about doing that? 14:04 asumu: DanBurton: if you're in a top-level context, a `begin` will splice it appropriately. 14:04 Araq: tewk: isn't this too restrictive in practice? 14:04 asumu: (or in a context that allows define in general) 14:05 (join) carleastlund 14:08 (quit) snearch: Quit: Verlassend 14:11 (part) tonyg 14:11 DanBurton: ok, so suppose I want to splice together two names input into a macro. for example, for (struct foo (bar)), I want to generate (define foo-bar ...) 14:11 DanBurton: how do I go about doing that? 14:13 Araq: tewk: if you can only have shared vectors of bytes, fixed integers and floats, why do you even garbage collect these vectors? sounds low level enough to use manual memory management then ;-) 14:14 (quit) nilyaK: Ping timeout: 244 seconds 14:15 (join) nilyaK 14:15 tewk: Araq: manual memory leads to mistakes and crashes. Places maintain th VM's safety properties. 14:16 Araq: you can get memory safety with manual memory management too 14:16 Araq: you only need a per type allocator 14:16 Araq: but alright 14:18 (join) gciolli 14:19 asumu: rudybot: doc format-id 14:19 rudybot: asumu: your sandbox is ready 14:19 rudybot: asumu: no docs for a current binding, but provided by: racket/syntax 14:19 Araq: tewk: how is the "stop the world" implemented? instruction stream injection in loops and function calls? 14:19 asumu: DanBurton: see `format-id` from racket/syntax. 14:26 (quit) gciolli: Quit: Leaving. 14:35 (quit) yoklov: Quit: computer sleeping 14:39 (join) soegaard 14:44 (join) josdeha_rt 14:55 (quit) josdeha_rt: Remote host closed the connection 15:02 (join) random_malice 15:02 (join) bro_grammer 15:05 (quit) hash_table: Ping timeout: 246 seconds 15:05 (quit) getpwnam: Ping timeout: 246 seconds 15:08 (quit) mithos28: Read error: Connection reset by peer 15:08 (join) mithos28 15:10 (join) anRch 15:13 (join) josdeha_rt 15:30 (quit) soegaard: Quit: soegaard 15:38 (join) soegaard 15:40 (quit) josdeha_rt: Remote host closed the connection 15:42 (quit) mithos28: Read error: Connection reset by peer 15:42 (join) mithos28_ 15:49 (quit) mithos28_: Read error: Connection reset by peer 15:49 (join) mithos28 15:51 (quit) mithos28: Read error: Connection reset by peer 15:51 (join) mithos28_ 15:53 (quit) mithos28_: Read error: Connection reset by peer 15:53 (join) mithos28 15:55 (join) yoklov 15:59 (join) Fare 16:00 (join) rbarraud 16:01 (quit) soegaard: Quit: soegaard 16:02 (join) josdeha_rt 16:03 (join) soegaard 16:06 (quit) bitonic: Ping timeout: 246 seconds 16:07 (nick) imami|afk -> banseljaj 16:11 (quit) josdeha_rt: Remote host closed the connection 16:14 (join) getpwnam 16:15 (join) hash_table 16:15 (join) axe_wielder 16:16 (quit) bro_grammer: Ping timeout: 250 seconds 16:16 (quit) random_malice: Ping timeout: 250 seconds 16:18 (quit) getpwnam: Ping timeout: 252 seconds 16:22 (quit) soegaard: Quit: soegaard 16:23 (nick) elliottcable -> erparse 16:27 (join) elliottcable 16:28 (quit) kanak: Ping timeout: 250 seconds 16:37 (join) soegaard 16:43 (join) RacketCommitBot 16:43 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/0kz69w 16:43 RacketCommitBot: [racket/master] Use `unstable/lazy-require` to dynamically-load the compile-time of `match`. - Sam Tobin-Hochstadt 16:43 (part) RacketCommitBot 16:44 (quit) axe_wielder: Ping timeout: 248 seconds 16:45 (quit) hash_table: Ping timeout: 248 seconds 16:47 (quit) anRch: Quit: anRch 16:50 (quit) MayDaniel: Read error: Connection reset by peer 16:50 (quit) mithos28: Read error: Connection reset by peer 16:50 (join) mithos28_ 16:56 (join) snearch 16:58 (quit) DanBurton: Quit: leaving 17:01 (quit) mithos28_: Read error: Connection reset by peer 17:02 (join) mithos28 17:03 (join) untrusted 17:06 (quit) maahes: Ping timeout: 244 seconds 17:12 (quit) mithos28: Read error: Connection reset by peer 17:12 (join) mithos28_ 17:16 (quit) soegaard: Quit: soegaard 17:25 (quit) nilyaK: Quit: Leaving. 17:32 (join) getpwnam 17:33 (join) hash_table 17:37 (join) soegaard 17:42 (join) bitonic 17:47 (quit) jrslepak: Quit: This computer has gone to sleep 17:52 (quit) mceier: Quit: leaving 18:01 (quit) soegaard: Quit: soegaard 18:05 (join) soegaard 18:08 (join) jrslepak 18:11 (quit) untrusted: Remote host closed the connection 18:13 (join) jyc 18:15 (quit) yoklov: Quit: computer sleeping 18:17 (quit) snearch: Quit: Verlassend 18:24 samth: Araq: more info is available in the futures paper: http://dl.acm.org/authorize.cfm?key=389126 18:26 (quit) soegaard: Quit: soegaard 18:26 Araq: thanks; what's incremental parallelization? 18:28 Araq: never mind, got the paper 18:42 (quit) Fare: Ping timeout: 245 seconds 18:48 (part) jtpercon 18:49 (quit) jacius: Remote host closed the connection 18:53 (join) yoklov 18:54 (quit) mithos28_: Quit: mithos28_ 19:03 (quit) danl_ndi: Quit: leaving 19:09 (quit) bitonic: Read error: Connection reset by peer 19:36 (nick) samth -> samth_away 19:40 (quit) jonrafkind: Ping timeout: 265 seconds 20:02 (join) dnolen 20:26 (quit) stchang: Read error: Operation timed out 20:28 (join) stchang 20:28 Nisstyre: For mutable fields in structs, how come the guard function doesn't get called when you do set-foo-bar! ? 20:29 Nisstyre: That would be nice if it did 20:30 Nisstyre: I suppose it would have the wrong number of parameters though 20:30 Nisstyre: but it could even just be with the updated one 20:32 (quit) yoklov: Quit: computer sleeping 20:37 (quit) masm: Quit: Leaving. 20:45 (join) ski 20:50 (quit) ski: Ping timeout: 255 seconds 20:55 asumu: Nisstyre: that's what contracts are for. 20:58 asumu: rudybot: (struct point (x y) #:mutable) 20:58 rudybot: asumu: your sandbox is ready 20:58 rudybot: asumu: Done. 20:59 asumu: rudybot: (define/contract (make-pt-ctc x y) (-> integer? integer? (struct/c point integer? integer?)) (point x y)) 20:59 rudybot: asumu: Done. 20:59 asumu: rudybot: (set-point-x! (make-pt-ctc 3 2) "bad") 20:59 rudybot: asumu: error: make-pt-ctc: contract violation, expected: integer?, given: "bad" contract from: (function make-pt-ctc), blaming: program contract: (-> integer? integer? (struct/c point integer? integer?)) at: #:1.18 21:00 asumu: Nisstyre: ^ something like that 21:16 Nisstyre: asumu: makes sense, thanks 21:17 (quit) carleastlund: Quit: carleastlund 21:27 (join) RacketCommitBot 21:27 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/9ToyoQ 21:27 RacketCommitBot: [racket/master] racket/gui/init: module caching in the load handler - Matthew Flatt 21:27 RacketCommitBot: [racket/master] doc and error-message fixes for module name resolver - Matthew Flatt 21:27 RacketCommitBot: [racket/master] FFI repairs for 64-bit big-endian - Matthew Flatt 21:27 (part) RacketCommitBot 21:30 (join) DrDuck 21:32 (quit) DrDuck: Read error: Connection reset by peer 21:50 (join) yoklov 21:52 (join) bjz 22:31 (quit) dnolen: Remote host closed the connection 22:44 (quit) bjz: Ping timeout: 246 seconds 22:53 (join) bjz 22:55 (join) jacius 23:10 (join) mithos28 23:21 mithos28: Does anyone know what the benefit sam is getting with lazy-require in his recent pushes? 23:29 (join) jonrafkind 23:29 (quit) jonrafkind: Changing host 23:29 (join) jonrafkind 23:42 (quit) getpwnam: Ping timeout: 246 seconds 23:43 (quit) hash_table: Ping timeout: 246 seconds