00:00 (join) hussaibi 00:21 eli: offby1: The `racket-textual' is actually a kind of a minimal core racket. 00:22 offby1: pff 00:23 offby1: poor name, then; perhaps it should be called "racket-minimal" 00:31 (quit) rekahsoft: Ping timeout: 240 seconds 00:35 eli: offby1: Yeah, it will be. It will turn into the main distribution, which will be minimal-ish, and will ask you which additional packages you want to install. 00:42 (join) mithos28 01:06 (quit) mithos28: Quit: mithos28 01:29 (join) realitygrill 01:52 (join) rekahsoft 01:53 (quit) jonrafkind: Read error: Operation timed out 02:36 (quit) wtetzner: Ping timeout: 246 seconds 02:42 (join) wtetzner 02:53 (quit) realitygrill: Quit: realitygrill 03:07 (join) hkBst 03:48 (quit) rekahsoft: Ping timeout: 255 seconds 03:49 (join) rekahsoft 04:00 (join) leo2007 04:02 (join) misterncw 04:22 (quit) hkBst: Ping timeout: 260 seconds 05:09 (join) hkBst 05:14 (join) masm 05:21 (join) hkBst_ 05:21 (quit) hkBst: Ping timeout: 248 seconds 05:30 (join) vu3rdd 05:30 (quit) vu3rdd: Changing host 05:30 (join) vu3rdd 05:45 (quit) hkBst_: Ping timeout: 248 seconds 05:54 (join) hkBst 05:54 (quit) hkBst: Changing host 05:54 (join) hkBst 06:05 (join) hkBst_ 06:07 (quit) hkBst: Ping timeout: 246 seconds 06:12 (quit) hussaibi: Quit: Ex-Chat 06:18 (quit) leo2007: Ping timeout: 244 seconds 06:27 hkBst_: I'm trying to implement a toy graphical program to get a feel for GUI programming in racket. Basic idea is a graphical representation of a list with text-field%s alternated with buttons to insert items and on the side of each text-field% a button to remove that item. When the program is destroyed it should print the constructed list on the console (when started from one). My understanding so far calls for a doubly-linked list to hold the items (and 06:27 hkBst_: their graphical manifestation), although this seems very unlispy... Is there a better way? 06:47 (join) twem2 06:49 (quit) rekahsoft: Ping timeout: 246 seconds 06:51 (join) rekahsoft 06:55 eli: hkBst_: That sounds like a bad solution. 06:56 eli: The buttons could simply work by position, so hitting the 3rd remove button removes the third input and the *last* remove button. (And it can be used to remove the new third.) 07:02 (quit) vu3rdd: Read error: Operation timed out 07:20 (join) MayDaniel 07:37 hkBst_: eli: thanks for that fresh perspective; I hadn't thought about it that way :) 07:39 (quit) MayDaniel: Read error: Connection reset by peer 07:40 eli: hkBst_: My guess is that your instinct was to make the callback a closure that is aware of the gui object it belongs to. 07:40 eli: But the problem is that the interface is not really good at accomodating that. 07:40 eli: (A result of the gui system it's built on...) 07:41 (join) dnolen 07:41 hkBst_: eli: yes, indeed that was my instinct 07:46 hkBst_: eli: current code is here http://pastebin.ca/2067540 07:47 hkBst_ goes back to the drawingboard 07:50 (join) jeapostrophe 07:54 (join) lucian 07:55 hkBst_: eli: for representing the data in memory a doubly linked list still seems like the best solution. Then it could be updated according to user input and the values of all text-fields could be updated from its list of values... How does that sound? 08:18 (join) tim-brown 08:20 eli: hkBst_: I don't see much difference... 08:20 eli: But it's likely that you'll get better opinions if you ask on the list. 08:21 eli: (I'm not doing much gui.) 08:21 hkBst_: ok thanks eli 08:23 tim-brown: is anyone out there using a vim syntax for scribble? 08:25 eli: tim-brown: jonranfkind is, but he's rarely in this early. 08:25 eli: s/rarely/never/ 08:27 tim-brown: eli: thanks, i'll look out for him 08:29 (quit) jeapostrophe: Quit: jeapostrophe 08:39 (join) jeapostrophe 08:39 (quit) jeapostrophe: Client Quit 09:01 tim-brown: when I make install -- raco setup keeps growing to about 300MB then 09:01 tim-brown: " Racket virtual machine has run out of memory; aborting" 09:01 tim-brown: is there any way to make install in parts, so that raco doesn't grow so large? 09:03 eli: tim-brown: Compilation tends to be intense -- it would be easier to increase the limit for that. 09:03 eli: Otherwise, you can just try to run it a few times, and let it compile more files in each step... 09:03 eli: Also, there's a useful `-D' flag to avoid building the docs, if you don't need them. 09:04 tim-brown: when i break and restart make install, it starts from scratch. 09:04 bremner_: tim-brown: are you on some BSD system? it sometimes has some low ulimits. Also systems with very low swap can make racket think it is out of memory rather early. 09:05 (join) jeapostrophe 09:05 (quit) jeapostrophe: Client Quit 09:05 tim-brown: ah... the limit is a ulimit? -- makes sense... 09:05 tim-brown: i'm monitoring swap, and it seems to be available 09:06 bremner_: what is "ulimit -d" 09:06 tim-brown: only seems to be limited on stack=10240k and nofiles=409 09:07 bremner_: hmm. that's not it then. Which garbage collector are you using (3m is the default, but some systems fall back to boehm cgc) 09:07 bremner_: raco setup -D should get you a usable system without docs as eli says. 09:08 bremner_: ah, except the invocation is a bit weird from make install. perhaps 'export PLT_SETUP_OPTIONS="-j1 -D"' 09:09 bremner_: darn, should be "-j 1 -D" 09:09 tim-brown: what's the -j ? 09:09 eli: tim-brown: There's a largish chunk in the beginning, when it says "bootstrapping from source" -- that compiles the things that are needed for the compiler. If you run out of memory during that stage, then you'll have to increase the memory limit. 09:09 bremner_: tim-brown: -j 1 means use one worker thread 09:09 bremner_: instead of maxing the machine out 09:11 tim-brown: right... rerunning... fingers crossed and all thatl 09:17 tim-brown: nah... out of memory 09:17 tim-brown: eli suggested running setup a number of times. 09:17 tim-brown: i have a /usr/local/bim/racket 09:17 tim-brown: and i have a source directory 09:17 tim-brown: AFAICT i have no "raco" 09:17 tim-brown: how do i perform a "raco setup"? 09:24 eli: tim-brown: But only if it goes beyond the bootstrap step. Otherwise it doesn't get to compile any file. 09:24 eli: If you paste the output I can say more. 09:25 eli: As for running raco setup, you can use this instead: racket -N raco -l- raco setup -j 1 -D 09:25 eli: (where the stuff after "raco setup" are the flags to pass it.) 09:36 (quit) misterncw: Read error: Connection reset by peer 09:36 (join) misterncw 09:37 (join) jeapostrophe 09:37 (quit) jeapostrophe: Client Quit 09:53 (quit) dnolen: Quit: dnolen 09:57 tim-brown: i'm in a zone (on solaris) and might be further limited in my resource usage than I'd have first thought. 09:58 tim-brown: fyi: 09:58 tim-brown: env CFLAGS="-g -O2 -Wall " LDFLAGS="" racket/racket3m -X "/usr/local/lib/racket/collects" -N "raco setup" -l- setup --no-user 09:58 tim-brown: raco setup: bootstrapping from source... 09:58 tim-brown: raco setup: version: 5.1 [3m] 09:58 tim-brown: raco setup: variants: 3m 09:58 tim-brown: raco setup: main collects: /usr/local/lib/racket/collects 09:58 tim-brown: raco setup: collects paths: 09:58 tim-brown: raco setup: /usr/local/lib/racket/collects 09:58 tim-brown: raco setup: --- pre-installing collections --- 09:58 tim-brown: raco setup: --- compiling collections --- 09:58 tim-brown: raco setup: making: 2htdp (HtDP/2e Teachpacks) 09:58 tim-brown: raco setup: in 2htdp 09:58 tim-brown: raco setup: in racket/gui/lang 09:58 tim-brown: ... 09:58 tim-brown: raco setup: in r5rs 09:58 tim-brown: raco setup: in r5rs/private 09:58 tim-brown: Racket virtual machine has run out of memory; aborting 09:59 tim-brown: Abort - core dumped 09:59 tim-brown: gmake[1]: *** [install-3m] Error 134 09:59 tim-brown: gmake[1]: Leaving directory `/home/tim/racket-5.1/src/SunOS-5.10-i386' 09:59 tim-brown: gmake: *** [install] Error 2 09:59 tim-brown: # pstack core | head 09:59 tim-brown: core 'core' of 22870: racket/racket3m -X /usr/local/lib/racket/collects -N raco setup -l- se 09:59 tim-brown: fecf9315 _lwp_kill (1, 6) + 15 09:59 tim-brown: feca1d73 raise (6) + 1f 09:59 tim-brown: fec81bbd abort (4000, ffffc000, 80349fc, 81e6922, 44000, 1) + cd 09:59 tim-brown: 0806b281 scheme_out_of_memory_abort (44000, 1, 8034a2c, 81eaa63, 3fff, 0) + 21 09:59 tim-brown: 081e6922 out_of_memory (3fff, 0, 44000, 0, 8465ca4, 8473148) + 2a 09:59 tim-brown: 081eaa63 malloc_pages (4000, 1, 0, 1, 86345d8, 86344c8) + 16f 09:59 tim-brown: 081eb624 GC_mark2 (c11bd5a0, 8264af0, 5, 8783fe4, 8660370, 8660394) + 508 09:59 tim-brown: 081d5a6f bucket_table_val_MARK (8660370, 8264af0, 8047c20, 0) + 17 09:59 tim-brown: 081eb90e propagate_marks (8264af0, 8264af0, 8034afc, 0, 8264af0, 8264af0) + 82 09:59 tim-brown: deffo out of memory 10:02 (quit) hkBst_: Read error: Connection reset by peer 10:07 (quit) tomku: Ping timeout: 260 seconds 10:08 eli: tim-brown: (I meant paste on some page... But pstack is nice -- I didn't know about it!) 10:08 eli: tim-brown: In any case, it does make some progress, so just run the setup part again as I showed you earlier. 10:09 ohwow: hello 10:09 bremner_: it could be the racket out of memory heuristic is confused by Solaris. 10:11 eli: Bah. pstack doesn't work on a core file on linux. 10:11 eli: bremner_: In any case he's getting some progress, so just running raco setup instead of restarting a build can lead to actually getting practical results. 10:12 (join) bmp 10:12 bremner_: right. Might be worth a question to the list, maybe mflatt has an idea how to fix that. 10:13 bremner_: at least, I couldn't stump him with these kind of questions yet ;) 10:14 (quit) ckrailo: Quit: Computer has gone to sleep. 10:15 tim-brown: sorry bout that... bit of an IRC noob 10:15 (join) tomku 10:20 (join) anRch 10:22 tim-brown: running the "racket... raco setup" and seems to be getting some traction now! 10:24 tim-brown: Ooh, this racket seems to return memory to the OS? 10:24 tim-brown: I didn't see the one from "make install" shrinking; and that was a 3m racket, too. 10:27 (quit) tomku: Ping timeout: 240 seconds 10:30 (quit) lisppaste: Remote host closed the connection 10:32 tim-brown: yay! it's built 5.1 -- that is. thanks for all the help guys 10:34 (join) lisppaste 10:39 (join) jeapostrophe 10:47 (join) ckrailo 10:51 (quit) misterncw: Read error: Connection reset by peer 10:52 (join) dnolen 11:08 (join) martinhex 11:18 (quit) martinhex: Ping timeout: 246 seconds 11:35 (join) mithos28 11:39 (join) vu3rdd 11:39 (quit) vu3rdd: Changing host 11:39 (join) vu3rdd 11:41 (join) BufferUnderpants 11:41 BufferUnderpants: Hello folks 11:42 BufferUnderpants: I'm having a weird problem with floating point numbers (and Dr Racket, I presume?) 11:43 BufferUnderpants: Racket seems to just truncate them 11:43 BufferUnderpants: e.g if I input 0.5 in the REPL, it prints 0 11:43 BufferUnderpants: Ditto for the debugger 11:44 BufferUnderpants: This is on Ubuntu 11.04, with Racket 5.1 11:44 bremner_: BufferUnderpants: what locale? 11:45 BufferUnderpants: Spanish 11:45 BufferUnderpants: I'll change it and try again... 11:45 ohwow: Is MrSpidey still around? 11:46 ohwow: Is it some sort of type-evaluation system? 11:49 BufferUnderpants: I changed it from Dr Racket, and the problem persists. 11:49 BufferUnderpants: I'll try to download a fresh copy from racket-lang.org 11:49 BufferUnderpants: I think I built this one myself, but I don't think that should happen either... 11:50 (quit) jeapostrophe: Quit: jeapostrophe 11:52 eli: BufferUnderpants: Are you using a teaching language? Maybe post a screen shot? 11:52 eli: ohwow: MrSpidey is *very* dead. 11:53 ohwow: heh okay 11:53 ohwow: i was just reading some ancient talk 11:53 ohwow: The Swine Before Perl 11:54 ohwow: and they mentioned it, but I didn't understand the puprose of it 11:54 eli: That has references to mrspidey? 11:54 ohwow: yea 11:54 (quit) BufferUnderpants: Ping timeout: 252 seconds 11:54 ohwow: Shriram Krishnamurthi 11:54 ohwow: Brown University and PLT 11:54 (quit) anRch: Quit: anRch 11:54 eli: ohwow: (Yeah, I know who Shriram is very well...) 11:55 eli: ohwow: Oh, right, I forgot about the part before the meat of that talk. 11:56 ohwow: :) 11:56 eli: MrSpidey was followed by MrFlow and that died too -- and now we have typed racket. 11:57 ohwow: It's crazy how much you guys did 11:57 ohwow: a great deal of work 11:57 (join) realitygrill 12:09 (quit) tim-brown: Quit: ChatZilla 0.9.86.1 [SeaMonkey 2.1/20110511133425] 12:12 (join) martinhex 12:17 eli: ohwow: Soft typing etc were kind of a major theme in the project since very early on. 12:21 (quit) martinhex: Read error: Connection reset by peer 12:22 (join) martinhex 12:23 (join) tomku 12:26 (quit) twem2: Quit: leaving 12:28 (quit) asumu: Read error: Operation timed out 12:31 (join) anRch 12:41 (join) sstrickl 13:10 (join) tauntaun 13:23 (join) leo2007 13:23 (join) asumu 13:29 (join) jonrafkind 13:30 (quit) evhan: Quit: leaving 13:30 (join) evhan 13:32 (join) dnolen_ 13:33 (quit) dnolen: Ping timeout: 252 seconds 13:37 (join) realitygrill_ 13:38 (quit) realitygrill: Read error: Connection reset by peer 13:38 (nick) realitygrill_ -> realitygrill 13:44 (quit) realitygrill: Quit: realitygrill 13:59 (join) PLT_Notify 13:59 PLT_Notify: racket: master Vincent St-Amour * 7b0f64d (1 files in 1 dirs): Don't run TR integration tests during nightly builds. - http://bit.ly/jaztMW 13:59 (part) PLT_Notify 14:02 (quit) anRch: Quit: anRch 14:04 (quit) bmp: Quit: bmp 14:05 (join) PLT_Notify 14:05 PLT_Notify: racket: master Eli Barzilay * 7f6733b (1 files in 1 dirs): Go down boxes too. 14:05 PLT_Notify: racket: master Eli Barzilay * 3100916 (1 files in 1 dirs): Make it possible to hook up a "newsflash" below the left blurb. 14:05 PLT_Notify: racket: master commits 7b0f64d...3100916 - http://bit.ly/maRjUM 14:05 (part) PLT_Notify 14:11 (join) jeapostrophe 14:11 eli: samth: ping 14:30 (join) RPR` 14:32 (quit) poindont`: Ping timeout: 246 seconds 14:38 (quit) tauntaun: Ping timeout: 250 seconds 14:57 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 15:12 (quit) masm: Quit: Leaving. 15:23 (quit) martinhex: Ping timeout: 255 seconds 15:24 (join) martinhex 15:29 (quit) martinhex: Ping timeout: 258 seconds 15:32 (join) superjudge 15:32 (join) martinhex 15:37 (quit) martinhex: Read error: Connection reset by peer 15:37 (join) martinhex 15:39 (quit) martinhex: Excess Flood 15:41 (join) martinhex 15:46 (quit) martinhex: Ping timeout: 244 seconds 15:47 (join) martinhex 15:49 (join) masm 15:49 (quit) masm: Client Quit 15:51 (quit) martinhex: Excess Flood 15:51 (join) martinhex 16:03 (quit) martinhex: Ping timeout: 260 seconds 16:05 jonrafkind: can functions defined with `define/contract' not have default arguments? 16:24 jonrafkind: clklein, ping 16:24 clklein: jonrafkind: pong 16:25 jonrafkind: i get a contract violation that points at a file, but i wanted the line number that called my function 16:25 jonrafkind: how can I get that 16:26 clklein: jonrafkind: I don't think you can. This bothers me too. 16:27 jonrafkind: ok well uh.. some function in my 2000 line program is calling this other function wrong, i have no idea which function 16:28 jonrafkind: ffffffffffffffffff stack traces... 16:28 clklein: I've asked Robby about it. If I remember his response correctly, one contract wrapper is created for each importing module. You'd need to create a distinct wrapper for each place the function appears in the source to do better. 16:29 clklein: I don't know if there's some kind of performance problem with that or if it just doesn't work for some reason. It seems pretty useful to me, though. 16:29 (quit) superjudge: Quit: superjudge 16:30 jonrafkind: yea i mean im willing to sacrifice basically 100x performance loss if I can get better debug information 16:31 clklein: Might be worth asking on the list. FWIW, I'll chime in saying I've wanted a better error too. 16:31 clklein: bbl 16:33 RPR`: typed/racket would probably pickup the error 16:34 jonrafkind: unlikely 16:35 RPR`: how would you know that? I would think typed/racket would pickup pretty much 100% anything which caused a contract violation. 16:36 jonrafkind: because typed/racket doesn't play nicely with phase 1 16:37 RPR`: I'm rusty. You're getting a contract violation during syntax expansion? 16:37 jonrafkind: yes 17:01 (join) martinhex 17:17 (join) masm 18:19 (quit) jeapostrophe: Quit: jeapostrophe 18:21 (quit) asumu: Ping timeout: 246 seconds 18:27 (nick) elliottcable -> ec|detached 18:38 (quit) rekahsoft: Ping timeout: 240 seconds 18:38 (join) rekahsoft 18:49 (quit) dnolen_: Ping timeout: 252 seconds 19:05 (quit) ckrailo: Quit: Computer has gone to sleep. 19:16 (quit) sstrickl: Quit: sstrickl 19:17 (quit) Quetzalcoatl_: Read error: Connection reset by peer 19:31 (quit) lucian: Quit: good night 19:48 (join) asumu 19:53 (join) dnolen 20:02 (join) Quetzalcoatl_ 20:15 (quit) masm: Quit: Leaving. 20:41 (nick) ec|detached -> elliottcable 20:41 (quit) vu3rdd: Ping timeout: 246 seconds 20:55 (join) sstrickl_ 20:56 (nick) sstrickl_ -> sstrickl 20:59 (join) geoffhill 21:17 (join) realitygrill 21:20 (quit) jonrafkind: Ping timeout: 248 seconds 21:35 (quit) realitygrill: Ping timeout: 248 seconds 21:36 (join) realitygrill 21:54 eli: samth: Did you get the email? 21:56 (join) jeapostrophe 22:00 (nick) elliottcable -> ec|detached 22:05 (quit) jeapostrophe: Quit: jeapostrophe 22:07 (join) jeapostrophe 23:31 (quit) realitygrill: Ping timeout: 240 seconds 23:32 (join) realitygrill 23:35 (join) realitygrill_ 23:35 (join) jonrafkind 23:37 (quit) realitygrill: Ping timeout: 258 seconds 23:37 (nick) realitygrill_ -> realitygrill 23:41 (quit) jeapostrophe: Quit: jeapostrophe