00:00:35 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Ping timeout: 260 seconds] 00:01:30 shimshambo [~kvirc@70-37-215-26.nntc.net] has joined #scheme 00:10:22 lcc [~user@unaffiliated/lcc] has joined #scheme 00:10:25 -!- lcc [~user@unaffiliated/lcc] has left #scheme 00:12:14 -!- samth is now known as samth_away 00:12:21 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 00:13:21 estevocastro [~estevocas@184.152.55.252] has joined #scheme 00:14:58 realitygrill [~realitygr@adsl-76-226-122-31.dsl.sfldmi.sbcglobal.net] has joined #scheme 00:16:11 dnolen [~user@pool-71-183-182-64.nycmny.east.verizon.net] has joined #scheme 00:19:54 airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has joined #scheme 00:26:07 -!- shimshambo [~kvirc@70-37-215-26.nntc.net] has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/] 00:27:25 -!- ssbr_ [~ssbr@python/site-packages/ssbr] has quit [Ping timeout: 260 seconds] 00:30:04 shimshambo [~kvirc@70-37-215-26.nntc.net] has joined #scheme 00:36:57 -!- realitygrill [~realitygr@adsl-76-226-122-31.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 00:37:37 brcrth [~user@unaffiliated/brcrth] has joined #scheme 00:37:45 -!- brcrth [~user@unaffiliated/brcrth] has left #scheme 00:41:46 realitygrill [~realitygr@adsl-76-226-126-104.dsl.sfldmi.sbcglobal.net] has joined #scheme 00:44:02 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 246 seconds] 00:44:20 -!- pinged [~joe@86-46-141-57-dynamic.b-ras1.rtd.sligo.eircom.net] has quit [Ping timeout: 265 seconds] 00:48:43 -!- cdidd [~cdidd@37-144-56-245.broadband.corbina.ru] has quit [Remote host closed the connection] 00:53:49 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 00:54:05 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:00:19 -!- daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has quit [Ping timeout: 260 seconds] 01:01:55 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:02:06 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:02:18 -!- confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Ping timeout: 244 seconds] 01:02:45 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:03:03 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:04:21 confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 01:06:07 -!- jrslepak [~jrslepak@nomad.ccs.neu.edu] has quit [Quit: This computer has gone to sleep] 01:11:18 -!- wingo [~wingo@50-0-91-176.dsl.dynamic.sonic.net] has quit [Ping timeout: 245 seconds] 01:11:25 jhemann_ [~Jason@adsl-99-137-201-46.dsl.bltnin.sbcglobal.net] has joined #scheme 01:12:40 -!- snits [~snits@75-167-15-187.phnx.qwest.net] has quit [Quit: leaving] 01:26:02 -!- Inode [~inode@time.uk.chromedpork.net] has quit [Ping timeout: 246 seconds] 01:27:33 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 01:27:36 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:27:47 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:28:01 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:30:53 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:31:07 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:31:43 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:31:57 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 01:33:17 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 01:42:19 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 01:44:00 soveran [~soveran@186.19.214.247] has joined #scheme 01:52:46 -!- toekutr [~user@50-0-51-2.dsl.static.sonic.net] has quit [Read error: Connection reset by peer] 01:56:23 _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has joined #scheme 02:02:42 daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has joined #scheme 02:06:04 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 02:07:17 wingo [~wingo@50-0-91-176.dsl.dynamic.sonic.net] has joined #scheme 02:07:33 -!- bfgun is now known as bfig 02:08:08 -!- ASau` [~user@128-72-117-212.broadband.corbina.ru] has quit [Read error: Connection reset by peer] 02:08:54 ASau [~user@128-72-117-212.broadband.corbina.ru] has joined #scheme 02:11:09 -!- bfig is now known as richard 02:11:14 -!- richard is now known as bfig 02:16:19 -!- wingo [~wingo@50-0-91-176.dsl.dynamic.sonic.net] has quit [Ping timeout: 264 seconds] 02:28:01 Myk267 [~myk@71.149.249.146] has joined #scheme 02:32:37 -!- airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has quit [] 02:34:16 -!- namidark [~joshrende@c-98-230-1-143.hsd1.fl.comcast.net] has quit [Ping timeout: 244 seconds] 02:52:02 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 02:56:48 -!- shimshambo [~kvirc@70-37-215-26.nntc.net] has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/] 02:57:53 -!- daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has quit [Read error: Operation timed out] 03:08:44 daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has joined #scheme 03:10:59 -!- _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has quit [Ping timeout: 260 seconds] 03:11:43 -!- turbofail [~user@c-24-5-89-172.hsd1.ca.comcast.net] has quit [Ping timeout: 245 seconds] 03:12:56 wingo [~wingo@50-0-91-176.dsl.dynamic.sonic.net] has joined #scheme 03:17:33 -!- daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has quit [Ping timeout: 245 seconds] 03:20:13 daedric [~daedric@2a01:e0b:1000:21:baac:6fff:fe99:7ada] has joined #scheme 03:26:37 -!- realitygrill [~realitygr@adsl-76-226-126-104.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 276 seconds] 03:27:44 realitygrill [~realitygr@76.226.123.70] has joined #scheme 03:30:22 -!- amoe [~amoe@host-78-147-173-220.as13285.net] has quit [Ping timeout: 272 seconds] 03:34:52 -!- MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has left #scheme 03:47:56 kilimanjaro [~kilimanja@ip70-162-88-143.ph.ph.cox.net] has joined #scheme 03:48:00 -!- kilimanjaro [~kilimanja@ip70-162-88-143.ph.ph.cox.net] has quit [Changing host] 03:48:01 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:53:08 arcfide [~arcfide@c-98-223-204-153.hsd1.in.comcast.net] has joined #scheme 03:56:02 s3rhart [~even@65.35.253.91] has joined #scheme 04:10:56 MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has joined #scheme 04:12:33 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 04:15:17 _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has joined #scheme 04:28:54 -!- MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has quit [Ping timeout: 245 seconds] 04:29:11 -!- kniu [~kniu@pool-74-98-44-132.pitbpa.east.verizon.net] has quit [Read error: Connection reset by peer] 04:41:14 mario-go` [~user@wkit.com.br] has joined #scheme 04:41:38 -!- mario-goulart [~user@wkit.com.br] has quit [Ping timeout: 240 seconds] 04:50:39 -!- DGASAU [~user@91.218.144.129] has quit [Remote host closed the connection] 04:51:11 DGASAU [~user@91.218.144.129] has joined #scheme 04:51:38 -!- estevocastro [~estevocas@184.152.55.252] has quit [Ping timeout: 240 seconds] 04:56:33 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 05:00:14 -!- forcer [~forcer@hmbg-5f7647f2.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 05:00:28 homie` [~levgue@xdsl-78-35-175-251.netcologne.de] has joined #scheme 05:01:31 -!- dnolen [~user@pool-71-183-182-64.nycmny.east.verizon.net] has quit [Ping timeout: 244 seconds] 05:01:35 -!- snarkyboojum [~snarkyboo@67-23-4-190.static.slicehost.net] has quit [Read error: Operation timed out] 05:03:06 snarkyboojum [~snarkyboo@67-23-4-190.static.slicehost.net] has joined #scheme 05:03:28 -!- homie [~levgue@xdsl-78-35-174-200.netcologne.de] has quit [Ping timeout: 276 seconds] 05:06:07 -!- realitygrill [~realitygr@76.226.123.70] has quit [Ping timeout: 264 seconds] 05:07:30 realitygrill [~realitygr@adsl-76-226-126-123.dsl.sfldmi.sbcglobal.net] has joined #scheme 05:07:39 -!- jhemann_ [~Jason@adsl-99-137-201-46.dsl.bltnin.sbcglobal.net] has quit [Ping timeout: 245 seconds] 05:08:31 didi [~user@unaffiliated/didi/x-1022147] has joined #scheme 05:15:33 -!- rvchangue [~rvchangue@unaffiliated/rvchangue] has quit [Ping timeout: 252 seconds] 05:16:29 antithesis [~antithesi@81.71.110.7] has joined #scheme 05:17:18 -!- realitygrill [~realitygr@adsl-76-226-126-123.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 260 seconds] 05:18:50 rvchangue [~rvchangue@unaffiliated/rvchangue] has joined #scheme 05:18:57 realitygrill [~realitygr@adsl-76-226-134-175.dsl.sfldmi.sbcglobal.net] has joined #scheme 05:27:27 Is it possible to keep the value of a variable from being change? For example: (define pi 3.14159), (define (area r) (* r r pi)), (area 1) => 3.14159, (define pi 0), (area 1) => 3.14159. 05:27:32 -!- _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has quit [Ping timeout: 252 seconds] 05:28:49 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Quit: WeeChat 0.3.7] 05:30:46 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 276 seconds] 05:32:13 visar [~visar@77.29.156.83] has joined #scheme 05:34:11 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 246 seconds] 05:35:07 -!- visar [~visar@77.29.156.83] has left #scheme 05:35:52 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Remote host closed the connection] 05:36:51 didi [~user@unaffiliated/didi/x-1022147] has joined #scheme 05:53:07 attila_lendvai [~attila_le@176.222.158.66] has joined #scheme 05:53:08 -!- attila_lendvai [~attila_le@176.222.158.66] has quit [Changing host] 05:53:08 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 05:53:35 lcc [~user@unaffiliated/lcc] has joined #scheme 05:54:19 -!- confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 05:55:06 es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has joined #scheme 05:55:36 -!- es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 05:55:50 didi: you could do (define area (let ((pi pi)) (lambda (r) (* r r pi)))) 05:56:13 didi: that will make a local copy of 'pi' within 'area' at the time that 'area' is defined. 05:56:20 confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 05:57:12 -!- lcc [~user@unaffiliated/lcc] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:58:22 mark_weaver: I've try it. But the value has changed. At least with Racket. 05:58:50 No. I've lied. 05:58:54 hehe 05:58:58 mark_weaver: I see what you did there. ;^) 05:59:11 Nice. 05:59:17 mark_weaver: Thank you. 05:59:25 didi: you're welcome :) 06:01:02 local variables have an advantage: if they are never 'set!' within their lexical scope, then the compiler knows that they can never be mutated, and this enables more optimization in many cases. 06:01:23 mark_weaver: Uh, great. Good to know. 06:01:49 for example, if you computed (* pi pi) within that local scope, the compiler could compute pi^2 only once and save that value. 06:02:34 it cannot do that with a top-level variable, because any top-level variable can be mutated at any time. 06:03:39 At least in standard scheme. I don't know the details of Racket, so maybe it's possible to make immutable top-level variables within a module in Racket. 06:10:00 anyone has an idea of which opengl version chicken scheme egg has? 06:10:13 if i do (gl:GetString gl:VERSION) i get #f 06:18:58 didi: The body of a module in Racket *is* a unit of lexical scope, so there's no need for the bad hack that mark_weaver suggested. 06:19:28 That is, if your code does not `set!' a variable, then the compiler will consider it a constant, and will not allow changing it. 06:19:51 (The hack is unfortunately idiomatic in old implementations, because all they had is the toplevel.) 06:20:53 eli: excellent! fwiw, I wouldn't use that hack myself; I was just explaining how to do what didi asked for. 06:21:16 Is it a bad hack? It look clever to me. 06:21:34 s/look/looks 06:23:22 mark_weaver: These days it's rare to find new code that does it... 06:23:48 didi: Yes, it's clever, but when you think about it, the fact that it's needed points at a deficiency of the language. 06:24:17 I see. 06:24:26 There were two main reasons for using it: one is to protect values from changes -- exactly what you were describing. 06:24:58 For example, the SLIB code was (maybe still is) full of these things. Things like (define 1+ (let ((+ +)) (lambda (n) (+ n 1)))) 06:25:00 -!- antithesis [~antithesi@81.71.110.7] has quit [Quit: yes leaving] 06:25:01 eli: agreed. the compiler can't do much when almost every variable binding can be mutated at any time. I admire Racket's moves toward immutability, though I've been unable to convince the Guile devs to follow a similar path. 06:25:23 This would protect `1+' from being broken when `+' is redefined for whatever reason. 06:26:15 That, of course, is still fragile -- it depends on loading the file with that definition while a good definition of `+' is in effect; change the load order, and you get fun. 06:26:30 Yay, fun! 06:26:46 The other popular use of these things is for optimizations, to allow the compiler to inline stuff. 06:27:17 -!- MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has left #scheme 06:27:31 In both cases, if you do this *consistently* then you end up with each and every function definition starting with a long preamble naming all of the identifiers it needs to use -- 06:27:49 -- and *that* is obviously insane, since a module system is supposed to do just that for you... 06:28:36 mark_weaver: Well, in that sense it has *looked* pretty static for a long time, but there are all kinds of escape hatches to make the same kind of dynamism possible. 06:28:44 eli: how does Racket handle reloading of modules? 06:28:58 And I happen to be on the side of making sure that they're kept in... 06:29:15 eli: I see. Well, I wouldn't do it as I like to work with the REPL and locking stuff up defeats some of its purpose, but still, it's a nice tool to know. 06:29:39 mark_weaver: Well, when you reload a module it will complain that the bindings are immutable, and it will refuse to do so -- at this point the compiler already made its assumptions and inlined stuff. 06:30:10 In DrRacket, or a similar system, that's not a problem because it basically recompiles a new module on every execution. 06:30:41 In plain Racket, there's a parameter that you can turn off, which tells the compiler to avoid these assumptions, 06:31:01 which makes it possible to reload modules and to use reflection to mutate things -- but at an obvious cost of performance. 06:31:13 rudybot: (compile-enforce-module-constants) 06:31:14 eli: your sandbox is ready 06:31:14 eli: ; Value: #t 06:31:17 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 248 seconds] 06:31:19 That. 06:31:48 didi: Are you working with a plain racket repl, or in drracket? 06:32:08 eli: geiser, actually. 06:32:29 In that case it should do whatever is needed behind your back. 06:32:43 (Like turning that flag off.) 06:32:48 :^) 06:33:25 eli: In Guile, I have advocated a mechanism to mark bindings as "rarely-mutated", such that the compiler can integrate their current bindings, but if the variable is later 'set!' it will invalidate any compiled code that integrated the binding. So "rarely-mutated" makes mutation very expensive but still possible. 06:34:13 mark_weaver: Getting that kind of recompilation is extremely expensive in terms of effort of implementing it... 06:35:32 You're dealing with changing code while its running, which is extremely hard to get right (with issues like the stack, registers, GC, etc) -- and even if you get all the bits to fit in nicely, the cost is so big that nobody would ever use it. 06:36:13 So IMO it's nice to have such a feature, but I don't see any practical use for it -- for what I've needed, the single compiler flag worked just fine. 06:36:22 eli: it requires "on stack replacement", yes. V8 does that iirc. 06:36:25 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 06:37:05 Yeah, well, v8 doesn't have the benifit of improving the language... 06:37:26 And OTOH, it has the benefit of lots of people and money poured onto it. 06:38:01 I think that there are/were a number of lisps that do that too, but I'm not sure. 06:39:06 eli: one of the major strengths of lisps is their dynamism; being able to make arbitrary changes to the code while it's running. it's a shame to give that up. 06:40:05 mark_weaver: On one hand, I completely agree -- it improves development by a huge factor. 06:40:21 -!- wingo [~wingo@50-0-91-176.dsl.dynamic.sonic.net] has quit [Ping timeout: 250 seconds] 06:40:27 On the other hand, I've never seen any *real* code that does that. 06:40:44 eli: emacs makes good use of it. 06:40:46 Real in the sense of invoking the compiler etc to change a function. 06:40:57 Where? 06:41:33 The closest thing I can think of in Emacs would be `defadvice'. But that can be dealt with in better ways. 06:42:25 eli: no, I just mean that emacs users tend to make use of the ability to change the code while its running. 06:43:44 there is a plan to replace elisp with guile in emacs, and we'd like to support both optimized compilation in emacs, while retaining the ability to change code arbitrarily without restarting emacs. 06:43:54 -!- teiresias [~teiresias@archlinux/trusteduser/teiresias] has quit [Ping timeout: 260 seconds] 06:44:48 mark_weaver: In that case you're talking about development again... Which is the one area where I think that it's an essential feature. 06:44:59 if it's a choice between integration of top-level bindings or dynamism, dynamism will win in the guile-emacs community. however, I'd like to enable better code generation in that context. 06:45:57 But that's just for development -- and even with something like Racket's module system you can just re-instantiate a module. (Even without changing that flag.) 06:46:29 gabot: demonstrate 06:46:29 *gabot* stares blankly 06:46:31 gabot: demonstrate 06:46:31 *gabot* glances around nervously 06:46:32 gabot: demonstrate 06:46:33 eli: What? 06:46:45 the problem is that emacs users tend to have long-running sessions, and it's very inconvenient to restart emacs to go into the slow development mode, and then restart again to go into the faster mode. 06:47:20 gabot: demonstrate 06:47:21 eli: This is a demonstration for mark_weaver 06:47:24 gabot: demonstrate 06:47:24 eli: This is a demonstration for mark_weaver 06:47:25 gabot: demonstrate 06:47:25 eli: This is a demonstration for mark_weaver 06:47:33 gabot: demonstrate 06:47:33 eli: I'll have the chicken, please. 06:47:34 gabot: demonstrate 06:47:34 eli: I'll have the chicken, please. 06:47:35 gabot: demonstrate 06:47:35 *gabot* pretends to be busy with ... stuff 06:47:36 gabot: demonstrate 06:47:36 *gabot* glances around nervously 06:47:45 mark_weaver: There... 06:48:01 The delays were because I waited for the bot to notice the changed file. 06:48:49 So it's perfectly possible to debug it while it's running -- when a file changes, it just reloads the new module, making a new instance so it's not redefining the old version. 06:49:04 forcer [~forcer@hmbg-5f77e694.pool.mediaWays.net] has joined #scheme 06:50:34 teiresias [~teiresias@archlinux/trusteduser/teiresias] has joined #scheme 06:51:18 sure, but when a user redefines a procedure, they presumably want all users of that procedure to refer to the new version automatically. certainly in emacs that is the expectation. 06:52:01 -!- realitygrill [~realitygr@adsl-76-226-134-175.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 276 seconds] 06:52:08 don't get me wrong, I can understand and respect the implementation choices that Racket developers have made. 06:52:33 Racket is certainly a top-notch system :) 06:52:35 Then you run the whole code in a no-inlining mode... 06:53:01 Ultimately, the number of people who don't modify their code while it's running is far bigger than the number of people who do. 06:53:04 realitygrill [~realitygr@adsl-76-226-128-22.dsl.sfldmi.sbcglobal.net] has joined #scheme 06:53:46 Not only because only experts do that -- I do it extremely rarely now, because I know that I'm risking killing it, and I'd like for my Emacs to just keep on running forever. 06:54:28 (I probably restart my main Emacs session no more than twice a year.) 06:54:31 cdidd [~cdidd@95-27-132-166.broadband.corbina.ru] has joined #scheme 06:56:29 I want to make emacs much faster, without forcing users to run it in a restricted mode in order to benefit from those speed increases. 06:57:59 *kudkudyak* finds emacs acceptably fast for normal usage 06:58:31 kudkudyak: the problem is that the slowness of emacs very much restricts what can be done with it. consider the W3 web browser for example. 06:58:35 I waste more time thinking in what should I do to fix/solve something than waiting for emacs to do some work. :) 06:59:10 heck, even emacs-w3m (my preferred browser when I don't need something fancier) takes a very long time to render big pages. 06:59:22 well, that's true 07:01:42 btw, i've had a great time browsing the sicp book in emacs and copying&paste examples ^^ 07:02:27 mark_weaver: What I'm saying is that making it possible to reload code at the module level is much easier, since if you give up on inlining at these boundaries (much less important anyway) then you have a system that can be dynamic and fast enough; but if you want to shoot at the whole hotspot thing, then I won't stand in your way... 07:03:42 And re racket, there's no major philosophy against doing that kind of thing: if you came in tomorrow with a contributed patch that recompiles hot code nobody would complain... 07:05:08 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 07:09:04 fair enough. in most cases, it suffices to inline only within a module. the one major exception is higher-order procedures such as 'map', 'fold', etc. you need those to be inlined across module boundaries, and certainly most users will not need to change those bindings within a session. 07:09:34 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 260 seconds] 07:10:18 Right -- those, and small core-ish functions. 07:10:37 indeed. 07:10:38 IIRC, these kind of things won't really work if you redefine them in Emacs anyway. 07:10:52 (Ie, functions that are defined in C.) 07:11:02 I don't remember if they can be advised though. 07:13:37 eli: can racket be run in a mode where some, but not all bindings are integrated across module boundaries? e.g. the small core functions like arithmetic ops and commonly-used higher-order procedures are integrated, but most everything else is not? 07:14:20 No, but two things: 07:14:54 (1) we have units, which are implemented in a way that "links dynamically" so it's doing essentially that. 07:15:34 (2) we actually have had cross-module inlining for a very short time; IIRC, it's not even in 5.2.1. 07:15:52 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 246 seconds] 07:16:12 I think that the improvement that we've had wasn't as dramatic as you'd think it would be. 07:16:36 so previously, you weren't integrating things like 'map' and 'fold'? 07:16:39 kvda [~kvda@124-169-131-183.dyn.iinet.net.au] has joined #scheme 07:17:19 you must have been integrating the arithmetic operators though. how did that work? 07:17:57 Ah, no -- we actually had it in 5.2.1. 07:18:21 -!- realitygrill [~realitygr@adsl-76-226-128-22.dsl.sfldmi.sbcglobal.net] has quit [Quit: Computer has gone to sleep] 07:19:05 The arithmetic operations etc are implemented in the core, and of course they're compiled differently than everything else. 07:20:55 can bindings such as '+' be rebound within a module? 07:21:15 mgodshall [~quassel@pool-108-36-207-226.phlapa.fios.verizon.net] has joined #scheme 07:21:29 Sure, in a module you can always rebind whatever you want. 07:21:45 But those are new bindings, so that's unrelated to compilation. 07:22:16 IOW, the compiler knows that your redefinition is a different identifier than the built-in addition, so it's compiled as the plain function that it is. 07:22:19 attila_lendvai [~attila_le@87.247.56.213] has joined #scheme 07:22:19 -!- attila_lendvai [~attila_le@87.247.56.213] has quit [Changing host] 07:22:19 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 07:23:43 This is a case where you benefit greatly from immutable module bindings. 07:25:16 anyway, I must go to sleep (03:25 local time here). Thanks for the info! 07:25:28 I'm in the same local time. 07:25:33 hehe 07:25:37 Therefore I must go to the office. 07:25:48 eli: oh yes, you're in the Boston too, aren't you? 07:25:55 Yes. 07:26:38 is it common for you to go the office so early? :) 07:27:07 So late... And yes, sleep is a fluid concept... 07:27:30 hehe. okay, thanks again, and happy hacking! 07:27:34 *mark_weaver* --> zzzz 07:27:41 *eli* --> car 07:27:57 -!- mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:35:34 -!- kudkudyak [~user@94.72.150.209] has quit [Ping timeout: 245 seconds] 07:37:49 tom_i [~thomasing@cmc.beaming.biz] has joined #scheme 07:44:13 -!- s3rhart [~even@65.35.253.91] has quit [Quit: Leaving.] 07:47:54 lucasaiu [~lucasaiu@176.31.156.98] has joined #scheme 07:50:25 Arafangion` [~Arafangio@220-244-108-23.static.tpgi.com.au] has joined #scheme 07:52:36 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #scheme 08:10:38 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Quit: Leaving] 08:10:45 ahinki [~chatzilla@212.99.10.150] has joined #scheme 08:11:50 -!- arcfide [~arcfide@c-98-223-204-153.hsd1.in.comcast.net] has quit [Quit: Leaving] 08:17:48 -!- dan64 [~dan64@dannyadam.com] has quit [Quit: ZNC - http://znc.in] 08:21:42 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 08:22:19 -!- lucasaiu [~lucasaiu@176.31.156.98] has left #scheme 08:28:56 Inode [~inode@time.uk.chromedpork.net] has joined #scheme 08:30:13 amoe [~amoe@host-89-243-12-226.as13285.net] has joined #scheme 08:35:26 dan64 [~dan64@dannyadam.com] has joined #scheme 08:35:26 -!- dan64 [~dan64@dannyadam.com] has quit [Excess Flood] 08:50:20 -!- kvda [~kvda@124-169-131-183.dyn.iinet.net.au] has quit [Quit: Computer has gone to sleep.] 08:51:42 -!- Myk267 [~myk@71.149.249.146] has quit [Quit: leaving] 08:55:02 -!- simathur [~simathur@192.100.106.9] has quit [Quit: ChatZilla 0.9.88.2 [Firefox 11.0/20120310010316]] 08:56:11 dan64 [~dan64@dannyadam.com] has joined #scheme 08:56:12 -!- dan64 [~dan64@dannyadam.com] has quit [Excess Flood] 08:58:22 -!- homie` [~levgue@xdsl-78-35-175-251.netcologne.de] has quit [Read error: Connection reset by peer] 09:00:00 homie` [~levgue@xdsl-78-35-175-251.netcologne.de] has joined #scheme 09:00:11 dan64 [~dan64@dannyadam.com] has joined #scheme 09:00:12 -!- dan64 [~dan64@dannyadam.com] has quit [Excess Flood] 09:01:35 -!- homie` [~levgue@xdsl-78-35-175-251.netcologne.de] has quit [Remote host closed the connection] 09:01:49 keenbug [~daniel@p4FE38CEC.dip.t-dialin.net] has joined #scheme 09:04:00 homie [~levgue@xdsl-78-35-175-251.netcologne.de] has joined #scheme 09:06:56 dan64 [~dan64@dannyadam.com] has joined #scheme 09:07:20 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Ping timeout: 246 seconds] 09:07:48 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 09:09:38 -!- Arafangion` [~Arafangio@220-244-108-23.static.tpgi.com.au] has quit [Ping timeout: 240 seconds] 09:11:31 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 09:16:28 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 260 seconds] 09:23:27 snizzo [~Claudio@iglu.cc.uniud.it] has joined #scheme 09:25:29 attila_lendvai [~attila_le@87.247.13.15] has joined #scheme 09:25:29 -!- attila_lendvai [~attila_le@87.247.13.15] has quit [Changing host] 09:25:29 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 09:44:11 Skola [~Skola@89.184.179.185] has joined #scheme 09:46:57 gravicappa [~gravicapp@ppp91-77-217-143.pppoe.mtu-net.ru] has joined #scheme 09:48:33 -!- LeoNerd [~leo@cel.leonerd.org.uk] has quit [Ping timeout: 260 seconds] 09:56:02 Arafangion` [~Arafangio@115.128.11.209] has joined #scheme 09:59:17 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 248 seconds] 10:15:04 masm [~masm@bl17-201-211.dsl.telepac.pt] has joined #scheme 10:20:06 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 10:20:42 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 10:20:52 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [Remote host closed the connection] 10:22:38 kuribas [~user@d54C43316.access.telenet.be] has joined #scheme 10:23:01 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 10:26:17 -!- ecraven [~nex@www.nexoid.at] has quit [Quit: brb] 10:26:18 -!- ahinki [~chatzilla@212.99.10.150] has quit [Quit: ChatZilla 0.9.88.2 [Firefox 12.0/20120403211507]] 10:31:36 kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #scheme 10:33:24 ecraven [~user@www.nexoid.at] has joined #scheme 10:36:50 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 244 seconds] 10:39:53 add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has joined #scheme 10:54:26 -!- Radium [~carbon@117.203.9.127] has quit [Ping timeout: 246 seconds] 11:20:28 jmd [~user@cellform.com] has joined #scheme 11:21:22 soveran [~soveran@186.19.214.247] has joined #scheme 11:21:42 How can I efficiently maintain a list which has no duplicate members? 11:22:19 What is "efficiently"? 11:22:42 You must give the time and space complexities of your data structure and of the different operations on it. 11:23:29 -!- snizzo [~Claudio@iglu.cc.uniud.it] has quit [Ping timeout: 245 seconds] 11:24:05 LeoNerd [~leo@2001:8b0:3f7::2] has joined #scheme 11:26:48 pjb: O(1) 11:27:19 O(1) in time 11:28:36 _danb_ [~user@124-168-46-173.dyn.iinet.net.au] has joined #scheme 11:29:53 -!- cswords_ [~cswords@c-98-223-234-80.hsd1.in.comcast.net] has quit [Read error: Connection reset by peer] 11:30:25 You cannot remove an element from a list in O(1). 11:30:36 I told you OPERATIONS! 11:33:29 fortunately I won't be removing any. Only adding them. 11:35:11 pjb, with *just* a list maybe... :) 11:35:19 Ok, so keep a structure (or just a pair) with the list and a hash-table, and insert the elements in both (on the head in the list). 11:35:27 -!- mario-go` is now known as mario-goulart 11:35:31 *bfig* was thinking about exactly that 11:35:34 Before inserting you can check the element is not in the hash-table in O(1). 11:35:35 -!- wtetzner [~wtetzner@c-24-218-217-69.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 11:36:22 Also, depends on the elements. If they're small integers, you could just use a bitmap. 11:36:32 a bit vector rather. 11:44:20 kvda [~kvda@124-169-131-183.dyn.iinet.net.au] has joined #scheme 11:46:01 -!- kvda [~kvda@124-169-131-183.dyn.iinet.net.au] has quit [Client Quit] 11:47:29 kudkudyak [~user@94.72.150.209] has joined #scheme 11:55:36 adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has joined #scheme 11:55:43 ahinki [~chatzilla@212.99.10.150] has joined #scheme 11:56:15 -!- adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has quit [Remote host closed the connection] 11:56:34 pjb: They are symbols. Do they count as small integers? 11:56:43 adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has joined #scheme 11:56:49 xwl [~user@123.108.223.115] has joined #scheme 11:59:17 visar [~visar@77.29.222.240] has joined #scheme 12:01:04 snizzo [~Claudio@iglu.cc.uniud.it] has joined #scheme 12:01:38 -!- visar [~visar@77.29.222.240] has left #scheme 12:02:08 visar [~visar@77.29.222.240] has joined #scheme 12:05:16 -!- jakky [~jokk@2001:470:33:2::1ce] has quit [Ping timeout: 272 seconds] 12:06:48 jakky [jokk@2001:470:33:2::1ce] has joined #scheme 12:10:23 -!- snizzo [~Claudio@iglu.cc.uniud.it] has quit [Remote host closed the connection] 12:13:20 jmd: depends. If you have only a limited set of different symbols, you could put them in a vector, and use the indices as small integers. Therefore you'd just need a bit-vector to know if they're present in the list or not. 12:18:53 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 12:22:39 -!- jakky [jokk@2001:470:33:2::1ce] has quit [Ping timeout: 250 seconds] 12:26:07 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has left #scheme 12:30:06 jao [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 12:30:07 -!- stepnem [~stepnem@176.119.broadband10.iol.cz] has quit [Ping timeout: 260 seconds] 12:30:20 -!- jao [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Changing host] 12:30:20 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 12:31:42 jakky [jokk@2001:470:33:2::1ce] has joined #scheme 12:32:32 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 12:39:53 -!- pygospa [~Pygosceli@kiel-d9bfd4c2.pool.mediaWays.net] has quit [Disconnected by services] 12:40:05 pygospa [~Pygosceli@kiel-5f77beeb.pool.mediaWays.net] has joined #scheme 12:40:54 stepnem [~stepnem@176.119.broadband10.iol.cz] has joined #scheme 12:45:10 tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has joined #scheme 13:04:14 -!- tomobrien [~tomobrien@host-92-2-79-163.as43234.net] has quit [Ping timeout: 260 seconds] 13:07:11 jrslepak [~jrslepak@129.10.228.250] has joined #scheme 13:25:13 MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has joined #scheme 13:31:01 -!- jrslepak [~jrslepak@129.10.228.250] has quit [Quit: This computer has gone to sleep] 13:36:49 dzhus [~sphinx@176.14.94.92] has joined #scheme 13:39:00 jrslepak [~jrslepak@129.10.228.250] has joined #scheme 13:41:43 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Quit: WeeChat 0.3.7] 13:43:50 -!- pygospa [~Pygosceli@kiel-5f77beeb.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 13:46:05 pygospa [~Pygosceli@kiel-5f77bf98.pool.mediaWays.net] has joined #scheme 13:46:42 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 13:56:18 -!- add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has quit [Quit: add^_] 13:57:43 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 264 seconds] 13:58:15 mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 14:01:04 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 14:02:02 -!- pygospa [~Pygosceli@kiel-5f77bf98.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 14:04:13 pygospa [~Pygosceli@kiel-4d0664ec.pool.mediaWays.net] has joined #scheme 14:05:13 add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has joined #scheme 14:12:43 -!- add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has quit [Quit: add^_] 14:14:41 -!- jmd [~user@cellform.com] has quit [Remote host closed the connection] 14:16:58 add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has joined #scheme 14:17:00 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Ping timeout: 272 seconds] 14:19:05 mmalorni [~mmalorni@modemcable026.84-70-69.static.videotron.ca] has joined #scheme 14:20:28 -!- samth_away is now known as samth 14:22:10 _ruud_ [~ruud@123.125.0.179] has joined #scheme 14:22:38 attila_lendvai [~attila_le@176.222.148.102] has joined #scheme 14:22:38 -!- attila_lendvai [~attila_le@176.222.148.102] has quit [Changing host] 14:22:38 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 14:25:15 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 14:32:20 amgarching [~matveev@theo1.theochem.tu-muenchen.de] has joined #scheme 14:32:24 tupi [~david@139.82.89.24] has joined #scheme 14:38:07 _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has joined #scheme 14:42:26 -!- _ruud_ [~ruud@123.125.0.179] has quit [Quit: leaving] 14:42:37 X-Scale [name@2001:470:1f14:135b::2] has joined #scheme 14:50:31 Aperculum [lauri@unaffiliated/aperculum] has joined #scheme 14:51:44 -!- ahinki [~chatzilla@212.99.10.150] has quit [Quit: ChatZilla 0.9.88.2 [Firefox 12.0/20120403211507]] 14:54:39 -!- Arafangion` [~Arafangio@115.128.11.209] has quit [Read error: Connection reset by peer] 14:56:53 icrazyhack [~horieyui@115.173.241.77] has joined #scheme 14:58:52 -!- jrslepak [~jrslepak@129.10.228.250] has quit [Quit: This computer has gone to sleep] 15:00:10 -!- Skola [~Skola@89.184.179.185] has quit [Quit: Lost terminal] 15:00:38 -!- _danb_ [~user@124-168-46-173.dyn.iinet.net.au] has quit [Remote host closed the connection] 15:01:37 estevocastro [estevocast@nat/hackerschool.com/x-wpldvszafmqtcwhm] has joined #scheme 15:15:47 lolcow [~lolcow@196-210-179-107.dynamic.isadsl.co.za] has joined #scheme 15:16:38 -!- leppie [~lolcow@196.215.142.236] has quit [Ping timeout: 240 seconds] 15:17:18 -!- lolcow is now known as leppie 15:18:29 -!- icrazyhack [~horieyui@115.173.241.77] has quit [Ping timeout: 245 seconds] 15:22:25 rageous [~Adium@nat-portal-160-94-47-16.uofm.wireless.umn.edu] has joined #scheme 15:22:36 -!- visar [~visar@77.29.222.240] has left #scheme 15:23:20 icrazyhack [~horieyui@115.173.241.77] has joined #scheme 15:23:22 -!- mmc [~michal@sams-office-nat.tomtomgroup.com] has quit [Ping timeout: 252 seconds] 15:31:26 jhemann [~Jason@adsl-99-137-201-46.dsl.bltnin.sbcglobal.net] has joined #scheme 15:32:37 realitygrill [~realitygr@adsl-76-226-128-22.dsl.sfldmi.sbcglobal.net] has joined #scheme 15:33:40 -!- keenbug [~daniel@p4FE38CEC.dip.t-dialin.net] has quit [Ping timeout: 265 seconds] 15:34:47 -!- tom_i [~thomasing@cmc.beaming.biz] has quit [Ping timeout: 246 seconds] 15:37:42 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 15:40:52 -!- leppie [~lolcow@196-210-179-107.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 15:42:30 dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has joined #scheme 15:42:45 ssbr_ [~ssbr@python/site-packages/ssbr] has joined #scheme 15:45:39 leppie [~lolcow@196.215.142.236] has joined #scheme 15:48:54 -!- icrazyhack [~horieyui@115.173.241.77] has quit [Ping timeout: 244 seconds] 15:52:08 -!- xwl [~user@123.108.223.115] has quit [Ping timeout: 240 seconds] 15:52:31 FreeArtMan [~fam@213.175.106.134] has joined #scheme 15:54:59 -!- jakky [jokk@2001:470:33:2::1ce] has quit [Read error: Operation timed out] 15:59:07 Shozan [~shozan@c-2cb4e253.011-86-73746f30.cust.bredbandsbolaget.se] has joined #scheme 16:01:51 tomodo [~tomodo@gateway/tor-sasl/tomodo] has joined #scheme 16:07:49 choas [~lars@p5795CCFC.dip.t-dialin.net] has joined #scheme 16:07:50 -!- add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has quit [Quit: add^_] 16:09:28 -!- choas [~lars@p5795CCFC.dip.t-dialin.net] has quit [Client Quit] 16:14:07 -!- FreeArtMan [~fam@213.175.106.134] has quit [Remote host closed the connection] 16:14:25 CarterL [~Carter@adsl-75-13-226-26.dsl.spfdmo.sbcglobal.net] has joined #scheme 16:14:25 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #scheme 16:14:32 add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has joined #scheme 16:14:33 what do you guys think of 'the little schemer' 16:14:42 FUcking AWESOME!!! 16:15:10 think that would be a good intro before SICP? 16:16:27 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Read error: Connection reset by peer] 16:19:39 -!- add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has quit [Quit: add^_] 16:20:12 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Quit: Must not waste too much time here...] 16:20:28 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #scheme 16:22:17 wingo [~wingo@70-36-234-111.dsl.dynamic.sonic.net] has joined #scheme 16:23:10 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 16:24:11 add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has joined #scheme 16:26:43 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Ping timeout: 245 seconds] 16:27:15 Kucuq [b201bc26@gateway/web/freenode/ip.178.1.188.38] has joined #scheme 16:29:42 CarterL: definitely dude little schemer then SICP is super 16:31:07 -!- kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [Read error: Connection reset by peer] 16:35:04 ok cool :) 16:37:01 edw [~user@ec2-107-20-72-203.compute-1.amazonaws.com] has joined #scheme 16:37:11 -!- kuribas [~user@d54C43316.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:41:06 Radium [~carbon@117.203.16.56] has joined #scheme 16:46:17 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 16:52:37 snits [~snits@75-167-15-187.phnx.qwest.net] has joined #scheme 16:53:07 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 16:53:38 -!- jhemann [~Jason@adsl-99-137-201-46.dsl.bltnin.sbcglobal.net] has quit [Ping timeout: 240 seconds] 16:54:34 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 16:55:16 -!- levi [~user@c-174-52-219-147.hsd1.ut.comcast.net] has quit [Read error: Connection reset by peer] 16:55:35 levi [~user@c-174-52-219-147.hsd1.ut.comcast.net] has joined #scheme 16:55:49 Skola [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #scheme 16:55:49 -!- Skola [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Client Quit] 16:56:36 http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/ <-- looks pretty 16:56:47 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 17:05:21 indeed 17:18:04 gcartier [~gcartier@modemcable034.210-160-184.mc.videotron.ca] has joined #scheme 17:18:20 tom_i_ [~thomasing@ingserv.demon.co.uk] has joined #scheme 17:19:06 homie` [~levgue@xdsl-78-35-151-245.netcologne.de] has joined #scheme 17:20:38 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 240 seconds] 17:21:28 -!- homie [~levgue@xdsl-78-35-175-251.netcologne.de] has quit [Ping timeout: 265 seconds] 17:29:30 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 17:31:26 -!- confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 17:35:00 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 17:35:13 -!- Nisstyre [~yours@c-208-90-102-250.netflash.net] has quit [Quit: Leaving] 17:35:57 Nisstyre [~yours@c-208-90-102-250.netflash.net] has joined #scheme 17:41:25 -!- mark_weaver [~user@209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:45:01 so, is it really important to know car, cdr, cons? 17:45:20 hm? 17:45:37 in little schemer, first chapter teaches you those things 17:45:41 in a nutshell? yes it's impossible to do anything without understanding them. on the upside, they are trivial. 17:45:58 ok, thankfully i was able to grok it 17:46:03 cool. 17:46:08 if not, please ask 17:46:14 thanks much :) 17:46:23 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Ping timeout: 246 seconds] 17:54:14 the only thing you can do without understanding the list operators is to make a pretty calculator with functions of fixed amount of variables 17:54:47 bfig: so, i'm laying the foundation for greater things 17:55:23 don't take it as evil criticism, i am just telling what you're missing 17:55:39 consider for example the function average which takes a list of an arbitrary amount of elements, how would you do that? 17:55:55 -!- realitygrill [~realitygr@adsl-76-226-128-22.dsl.sfldmi.sbcglobal.net] has quit [Quit: Computer has gone to sleep] 17:56:04 or even better, a function average which takes an arbitrary amount of elements itself 17:56:22 (the difference would be like (average '(a b c d...)) vs (average a b c d ...) 17:56:24 ) 17:57:11 ok 17:58:28 -!- Radium [~carbon@117.203.16.56] has quit [Ping timeout: 252 seconds] 18:02:27 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 18:03:04 keenbug_ [~daniel@p5B2DBF17.dip.t-dialin.net] has joined #scheme 18:03:06 -!- keenbug_ is now known as keenbug 18:03:13 CarterL: yes. they are foundational. 18:03:29 didi [~user@unaffiliated/didi/x-1022147] has joined #scheme 18:07:38 turbofail [~user@c-24-5-89-172.hsd1.ca.comcast.net] has joined #scheme 18:12:06 You might as well give up the parenthesis too, if you give up cons car cdr 18:12:16 -!- cdidd [~cdidd@95-27-132-166.broadband.corbina.ru] has quit [Remote host closed the connection] 18:14:56 and we shall call it SCREEEM! 18:17:52 soveran [~soveran@186.19.214.247] has joined #scheme 18:21:06 -!- rageous [~Adium@nat-portal-160-94-47-16.uofm.wireless.umn.edu] has quit [Quit: Leaving.] 18:26:32 jhemann [Jason@140-182-145-52.dhcp-bl.indiana.edu] has joined #scheme 18:28:20 -!- gcartier [~gcartier@modemcable034.210-160-184.mc.videotron.ca] has quit [Remote host closed the connection] 18:28:52 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 18:33:23 samth_ [~samth@nomad.ccs.neu.edu] has joined #scheme 18:34:24 rageous [~Adium@x-134-84-255-249.uofm-secure.wireless.umn.edu] has joined #scheme 18:37:05 -!- jhemann [Jason@140-182-145-52.dhcp-bl.indiana.edu] has quit [Ping timeout: 252 seconds] 18:37:21 Radium [~carbon@117.203.2.40] has joined #scheme 18:39:45 eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 18:48:04 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 18:49:16 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 18:52:33 -!- keenbug [~daniel@p5B2DBF17.dip.t-dialin.net] has quit [Ping timeout: 245 seconds] 18:53:35 keenbug [~daniel@p5B2DBF17.dip.t-dialin.net] has joined #scheme 18:58:38 -!- keenbug [~daniel@p5B2DBF17.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 19:04:18 -!- rageous [~Adium@x-134-84-255-249.uofm-secure.wireless.umn.edu] has quit [Quit: Leaving.] 19:18:27 -!- eni [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Quit: .] 19:24:26 rageous [~Adium@2607:ea00:104:3800:216:cbff:fec0:54cb] has joined #scheme 19:29:15 CarterL: SICP first, by the way; don't spoil your appetite on chips: masterfully wrought chips; but chips, nonetheless. 19:30:41 klutometis: ok dad 19:32:23 klutometis: lol 19:32:44 alraedy in chapter 3 of little schemer, it's making me want to have a PBJ 19:33:16 -!- adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 19:33:56 adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has joined #scheme 19:36:25 CarterL: You'll be even hungrier after the Seasoned Schemer. Also Reasoned Schemer. 19:37:34 hehe 19:37:48 will the finale be 'Fat schemer' ? 19:38:14 asumu: i've been interested in the Reasoned Schemer for a while. worth getting then ? capsule review? 19:41:31 -!- leppie [~lolcow@196.215.142.236] has quit [Ping timeout: 264 seconds] 19:42:40 qu1j0t3: I haven't read enough of it to give a fair assessment. The parts I've read I have enjoyed. 19:42:49 If you like the idea of miniKanren, it's worth a read. 19:44:00 ok thanks 19:44:18 CarterL: the final is 'Pensioned Schemer' 19:44:24 lol 19:44:47 (( eq? (car lat) a) (cdr lat)) with something like this. (cdr lat) isn't executed until the first part is true, correct? 19:45:30 leppie [~lolcow@196-215-79-201.dynamic.isadsl.co.za] has joined #scheme 19:46:18 CarterL: no; for conditional execution you need (IF, (AND etc 19:46:42 CarterL: do you mean (if (eq? (car lat) a) (cdr lat) ...) 19:46:56 (else (cond 19:46:57 (( eq? (car lat) a) (cdr lat)) 19:47:07 oh right. 19:47:28 sorry hehe 19:47:28 CarterL: right, the 2nd part won't be evaluated unless the clause is true 19:47:35 groovy, thanks 19:49:38 -!- leppie [~lolcow@196-215-79-201.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 19:57:00 leppie [~lolcow@196.215.142.236] has joined #scheme 20:00:17 amgarchIn9 [~amgarchin@p4FD61967.dip0.t-ipconnect.de] has joined #scheme 20:01:21 mmc [~michal@178-85-63-71.dynamic.upc.nl] has joined #scheme 20:02:34 -!- Radium [~carbon@117.203.2.40] has quit [] 20:02:35 antithesis [~antithesi@81.71.110.7] has joined #scheme 20:03:04 -!- tom_i_ [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 260 seconds] 20:09:31 Radium [~carbon@117.203.2.40] has joined #scheme 20:10:28 -!- dzhus [~sphinx@176.14.94.92] has quit [Ping timeout: 245 seconds] 20:12:49 jhemann [Jason@140-182-145-52.dhcp-bl.indiana.edu] has joined #scheme 20:16:40 -!- rageous [~Adium@2607:ea00:104:3800:216:cbff:fec0:54cb] has quit [Quit: Leaving.] 20:22:19 -!- jhemann [Jason@140-182-145-52.dhcp-bl.indiana.edu] has quit [Ping timeout: 260 seconds] 20:22:40 chupish [182c5af4@gateway/web/freenode/ip.24.44.90.244] has joined #scheme 20:23:00 -!- Radium [~carbon@117.203.2.40] has quit [] 20:27:22 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 20:30:59 -!- masm [~masm@bl17-201-211.dsl.telepac.pt] has quit [Quit: Leaving.] 20:32:55 jhemann [Jason@2001:18e8:2:28a2:cc6a:eeb1:df66:ccbc] has joined #scheme 20:32:59 rageous [~Adium@x-134-84-228-77.uofm-secure.wireless.umn.edu] has joined #scheme 20:37:09 -!- rageous [~Adium@x-134-84-228-77.uofm-secure.wireless.umn.edu] has quit [Ping timeout: 248 seconds] 20:39:30 rageous [~Adium@x-134-84-228-77.uofm-secure.wireless.umn.edu] has joined #scheme 20:40:16 -!- dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has quit [Quit: Page closed] 20:44:05 -!- rageous [~Adium@x-134-84-228-77.uofm-secure.wireless.umn.edu] has quit [Ping timeout: 248 seconds] 20:46:53 -!- estevocastro [estevocast@nat/hackerschool.com/x-wpldvszafmqtcwhm] has quit [Ping timeout: 252 seconds] 20:49:20 es [estevocast@nat/hackerschool.com/x-bapaoajoalzvesau] has joined #scheme 20:58:28 Radium [~carbon@117.203.2.40] has joined #scheme 21:01:41 -!- mmalorni [~mmalorni@modemcable026.84-70-69.static.videotron.ca] has quit [Ping timeout: 272 seconds] 21:06:40 -!- Radium [~carbon@117.203.2.40] has quit [] 21:06:49 -!- es [estevocast@nat/hackerschool.com/x-bapaoajoalzvesau] has quit [Ping timeout: 245 seconds] 21:06:59 es [estevocast@nat/hackerschool.com/x-eyzupkkqbtxoqkjl] has joined #scheme 21:07:32 realitygrill [~realitygr@204.38.191.149] has joined #scheme 21:08:53 -!- realitygrill [~realitygr@204.38.191.149] has quit [Client Quit] 21:13:56 Radium_ [~carbon@117.203.2.40] has joined #scheme 21:14:56 -!- Radium_ [~carbon@117.203.2.40] has quit [Client Quit] 21:17:39 Radium_ [~carbon@117.203.2.40] has joined #scheme 21:32:38 -!- mmc [~michal@178-85-63-71.dynamic.upc.nl] has quit [Ping timeout: 240 seconds] 21:38:21 zanes [~zane@12.130.118.17] has joined #scheme 21:42:35 -!- zanes [~zane@12.130.118.17] has left #scheme 21:42:47 -!- antithesis [~antithesi@81.71.110.7] has quit [Quit: yes leaving] 21:45:21 -!- gravicappa [~gravicapp@ppp91-77-217-143.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:47:11 -!- es [estevocast@nat/hackerschool.com/x-eyzupkkqbtxoqkjl] has quit [Ping timeout: 246 seconds] 21:47:26 es [estevocast@nat/hackerschool.com/x-kiosdeyietqhsghp] has joined #scheme 21:47:28 -!- Radium_ [~carbon@117.203.2.40] has quit [] 21:48:01 Radium_ [~carbon@117.203.2.40] has joined #scheme 21:48:55 -!- add^_ [~add^_^@m83-185-142-102.cust.tele2.se] has quit [Quit: add^_] 21:49:50 -!- jhemann [Jason@2001:18e8:2:28a2:cc6a:eeb1:df66:ccbc] has quit [Ping timeout: 250 seconds] 21:52:10 -!- adu [~ajr@pool-71-241-252-15.washdc.fios.verizon.net] has quit [Quit: adu] 21:56:59 -!- es [estevocast@nat/hackerschool.com/x-kiosdeyietqhsghp] has quit [Ping timeout: 246 seconds] 22:01:21 jhemann [~Jason@adsl-99-137-201-46.dsl.bltnin.sbcglobal.net] has joined #scheme 22:01:44 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 22:24:39 adu [~ajr@64.134.42.181] has joined #scheme 22:26:29 -!- adu [~ajr@64.134.42.181] has quit [Client Quit] 22:29:05 -!- leppie [~lolcow@196.215.142.236] has quit [Ping timeout: 265 seconds] 22:32:34 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Ping timeout: 276 seconds] 22:32:41 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 246 seconds] 22:33:30 leppie [~lolcow@196-215-11-60.dynamic.isadsl.co.za] has joined #scheme 22:45:03 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 22:47:08 -!- wingo [~wingo@70-36-234-111.dsl.dynamic.sonic.net] has quit [Ping timeout: 240 seconds] 22:52:07 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 22:53:59 ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has joined #scheme 22:54:20 -!- leppie [~lolcow@196-215-11-60.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 22:54:27 dnolen [~user@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 22:59:44 leppie [~lolcow@196.215.142.236] has joined #scheme 23:00:14 confab [~confab@public-nat2.arc.losrios.edu] has joined #scheme 23:00:46 -!- aehrisch [~aehrisch@vhost.knauel.org] has quit [Ping timeout: 265 seconds] 23:02:10 -!- chupish [182c5af4@gateway/web/freenode/ip.24.44.90.244] has quit [] 23:02:13 -!- xian_ [xian@we-are-the-b.org] has quit [Ping timeout: 265 seconds] 23:02:18 xian [xian@we-are-the-b.org] has joined #scheme 23:02:22 CarterL1 [~Carter@adsl-75-13-226-26.dsl.spfdmo.sbcglobal.net] has joined #scheme 23:02:57 -!- CarterL [~Carter@adsl-75-13-226-26.dsl.spfdmo.sbcglobal.net] has quit [Ping timeout: 252 seconds] 23:04:54 jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 23:05:05 -!- jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Changing host] 23:05:05 jao` [~user@pdpc/supporter/professional/jao] has joined #scheme 23:07:59 aehrisch [~aehrisch@vhost.knauel.org] has joined #scheme 23:09:16 preflex_ [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 23:09:35 Euthydemus` [~euthydemu@unaffiliated/euthydemus] has joined #scheme 23:10:25 bzzbzz_ [~franco@modemcable151.155-57-74.mc.videotron.ca] has joined #scheme 23:12:10 ijp [~user@host86-182-156-174.range86-182.btcentralplus.com] has joined #scheme 23:12:46 -!- CarterL1 [~Carter@adsl-75-13-226-26.dsl.spfdmo.sbcglobal.net] has quit [Quit: Leaving.] 23:15:57 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Disconnected by services] 23:16:07 -!- preflex_ is now known as preflex 23:16:50 -!- jao [~user@pdpc/supporter/professional/jao] has quit [*.net *.split] 23:16:50 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [*.net *.split] 23:16:50 -!- snorble_ [~snorble@c193-14-18-68.cust.tele2.se] has quit [*.net *.split] 23:16:50 -!- bzzbzz [~franco@modemcable151.155-57-74.mc.videotron.ca] has quit [*.net *.split] 23:18:47 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 23:31:29 -!- chturne [~chturne@host86-136-158-113.range86-136.btcentralplus.com] has quit [Ping timeout: 246 seconds] 23:38:21 schemenewb [8e01f581@gateway/web/freenode/ip.142.1.245.129] has joined #scheme 23:38:34 Hi, how can I disable garbage collection in racket? 23:39:04 schemenewb: What do you mean by that? 23:39:27 schemenewb: Many systems allow you to disable _explicit_ gc; no system I know of allows disabling implicit gc. 23:39:35 -!- _schulte_ [~eschulte@c-174-56-50-60.hsd1.nm.comcast.net] has quit [Quit: leaving] 23:40:06 cky: "implicit gc"? 23:40:23 automatic 23:40:37 What other kind of garbage collection is there? 23:40:54 explicit. e.g. gc() 23:41:06 or whatever your scheme impl uses ) 23:41:11 to call for a gc 23:41:13 I tried this http://docs.racket-lang.org/reference/garbagecollection.html but it did not work. I don't know much about gc, I just want to optimize my performance and right now (time (program)) spits out a gc-time of 1606, which is pretty large in comparison to the cpu time 3900 23:41:18 qu1j0t3: So, like, explicitly asking the garbage collector to free all unused references? 23:41:31 ssbr_: pretty much. many runtimes off this. 23:41:33 offer* 23:41:51 But there's no implementation of scheme that pauses the garbage collector and keeps it from managing memory? 23:41:53 schemenewb: the key is not to turn off gc. change the way you use memory might help. 23:42:56 qu1jqt3: right now I'm using a tail recurisve implementation of the function executed in the inner loop, which is usually very shallow. will rewriting it as an iterative algorithm help? 23:43:29 schemenewb: wanna paste your code? 23:43:53 ssbr_: according to cky. it seems that such a feature would have very little use. 23:43:59 http://pastebin.com/JUqS8SHr 23:44:11 airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has joined #scheme 23:44:32 qu1j0t3: Perhaps. I mostly see it when people are testing the performance of minor bits of code. Disabling gc helps get a little more consistency in runs. 23:45:04 I'm mostly only surprised that this isn't common. I've spent most of my programming time in an environment where this is exposed (Python has cyclic+refcounting gc, can disable cyclic gc via the gc module) 23:45:50 ssbr_: true, for µ-benchmarks it might be handy. 23:47:15 -!- confab [~confab@public-nat2.arc.losrios.edu] has quit [Quit: Lost terminal] 23:49:55 schemenewb: Just run `(collect-garbage)' 3 times before you start measuring. 23:50:09 Then GC is less likely to kick in while you measure. 23:51:50 there might be a tunable, too, i guess, but no hablo Racket. 23:51:53 stamourv: I think you've confused us 23:52:05 a first resort should be to audit the code too 23:52:07 schemenewb said he wanted to optimize his performance 23:52:08 ssbr_: How so? 23:52:23 I was the one that said that microbenchmarks are a valid use of disabling gc 23:52:23 Oh, I thought he wanted more accurate timings. 23:52:48 But yeah, for microbenchmarks, you do want to run the GC ahead of time. 23:53:01 qu1j0t3 its very simple code, i posted it above. but i guess you're right. 23:54:56 Anyone else doing the Google Code Jam in Scheme? 23:58:05 if I finish this other thing first...