00:02:45 -!- luz_ [~david@186.205.37.15] has quit [Quit: Leaving] 00:05:38 -!- abstractj [~shadow_wa@189-47-226-111.dsl.telesp.net.br] has quit [Remote host closed the connection] 00:05:45 -!- ldunn [~ldunn@unaffiliated/baddog144] has quit [Read error: Connection reset by peer] 00:06:10 -!- fradgers- [~fradgers-@5e065b44.bb.sky.com] has quit [Remote host closed the connection] 00:09:32 -!- aisa [~aisa@c-68-35-167-179.hsd1.nm.comcast.net] has quit [Ping timeout: 255 seconds] 00:15:30 somnium [~user@adsl-65-187-133.dab.bellsouth.net] has joined #scheme 00:16:11 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 00:16:48 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 00:35:42 aisa [~aisa@c-68-35-167-179.hsd1.nm.comcast.net] has joined #scheme 00:44:09 pumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has joined #scheme 00:48:35 -!- Libet [~Libet@83.33.151.140] has quit [] 00:55:46 -!- jao [~user@81.39.213.106] has quit [Read error: Connection reset by peer] 00:58:30 wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has joined #scheme 01:10:35 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Read error: Connection reset by peer] 01:10:59 Quadrescence [~Quad@unaffiliated/quadrescence] has joined #scheme 01:12:46 adu [~ajr@pool-173-66-10-221.washdc.fios.verizon.net] has joined #scheme 01:18:52 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Ping timeout: 252 seconds] 01:24:19 -!- PurplePanda [~pyro@unaffiliated/purplepanda] has quit [Read error: Connection reset by peer] 01:27:46 RageOfThou [~RageOfTho@users-55-230.vinet.ba] has joined #scheme 01:31:35 -!- MrFahrenheit [~RageOfTho@users-33-131.vinet.ba] has quit [Ping timeout: 255 seconds] 01:39:44 foof` [~user@li126-140.members.linode.com] has joined #scheme 01:40:26 -!- masm [~masm@bl16-196-13.dsl.telepac.pt] has quit [Ping timeout: 255 seconds] 01:42:13 -!- Crito [crito@unaffiliated/crito] has quit [Ping timeout: 245 seconds] 01:43:06 Crito_ [crito@cohomology.org] has joined #scheme 01:44:10 -!- foof [~user@li126-140.members.linode.com] has quit [Ping timeout: 252 seconds] 01:54:38 -!- wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has quit [Ping timeout: 252 seconds] 01:55:03 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 01:55:29 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 01:55:31 wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has joined #scheme 02:19:55 SadPanda [~pyro@unaffiliated/purplepanda] has joined #scheme 02:22:37 githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has joined #scheme 02:24:33 -!- lusory [~bart@bb119-74-155-71.singnet.com.sg] has quit [Ping timeout: 250 seconds] 02:25:22 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 272 seconds] 02:26:53 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 02:30:32 -!- acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has quit [Ping timeout: 276 seconds] 02:31:10 SirNick [~nick@c-67-160-151-16.hsd1.wa.comcast.net] has joined #scheme 02:46:41 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 02:47:21 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 02:51:20 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 02:52:09 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 02:52:15 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 02:52:45 timj__ [~timj@e176193030.adsl.alicedsl.de] has joined #scheme 02:53:46 blue_feint [~glazkyano@cm145.delta25.maxonline.com.sg] has joined #scheme 02:55:58 -!- timj_ [~timj@e176195252.adsl.alicedsl.de] has quit [Ping timeout: 245 seconds] 02:56:09 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 03:01:28 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 272 seconds] 03:02:14 Hey peeps, 03:02:23 any chance anyone who's keen to talk compilation, is around? 03:02:27 or, put in another way, 03:02:37 the almighty fantastigasmic mystery of efficient scheme compilation! 03:02:39 *elderK* throws confetti 03:02:41 anyone game? 03:02:41 :) 03:04:47 Heh. 03:05:00 I'm no expert on this, but I'm happy to display my ignorance of the topic in 1,001 ways. 03:05:06 Sweet. 03:05:06 :D 03:05:23 See, I'm pondering on how I could create a useful scheme->baremetal code generator. 03:05:29 like, assembly. 03:05:49 one thing that bugs me - is the environments. 03:06:09 if we have a lambda say, ((lambda (a b c) (do stuff with them)) 1 2 3) 03:06:20 and within the body of that lambda, abc are used - but no free variables are used, 03:06:33 then it's an easy thing to convert into offsets - no environment lookup needed. 03:06:48 but then there are problems with say, the calling convention - how do we specify parameters? 03:07:05 do we push them on the stack? do we pass them as a list allocated on some heap (maybe the heap is the stack) 03:07:29 a constraint I'm working to here, is that the language would be executable without the support of a GC - and htat the language's GC itself, could be written in... the language. 03:07:37 so, you could implement the scheme implementations GC, baremetal, using scheme itself. 03:07:44 provided you didn't use any crazy constructs. 03:07:53 If you insist on compiling each lambda as a static function, that's possible, though I think a JIT system that compiles the function when it's called is probably more flexible. 03:08:01 Aye, agreed. 03:08:05 Then you don't have to think about, in this obvious case, how to pass the 1 2 3 in. 03:08:19 Since one of the cool things about scheme and lisp in general, is their dynamic-ness. 03:08:27 if you can't redefine a function - then, that's lame - and it'd be no cooler than C. 03:08:32 ski [~slj@c-8911e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 03:08:34 Indeed. 03:09:02 So, how would the fact that the GC be written in Scheme preclude the use of a GC? 03:09:20 but the question still remains - the mechanism in which functions are compiled to machien code (at runtime, if needed - or beforrehand), you'd have to have a pretty good understanding or... set of rules, that could say: 03:09:35 In these cases, these functions generate standard procedural code, without needing allocations on the heap, etc. 03:09:52 that way, you could build the GC - even using standard lispish constructs like lists and vectors - provided they didnt ahve indefinite extent. 03:09:55 Sure, that's what escape analysis is for, right? 03:10:05 Yeah - but I need to find papers to read on that :) 03:10:13 :-) 03:10:20 AAnnnd, I'm not having a great deal of luck. 03:10:29 Any chance you have any pointers? 03:10:45 Not at the moment, but I'll let you know if I come across anything. 03:10:46 Some other ideas I had were indirect tables, for stuff already compiled. 03:11:01 that way, even stuff that was "free" but used in some lambda, could be offset into that table - 03:11:10 I'm trying to borrow techniques used in other mainstream JIT implementations, like OpenJDK's. But I don't know if they have implemented escape analysis yet. 03:11:16 and, the values to which those symbols were bound, could be redefiend - since it'dbe double indirection. 03:11:51 Um, you know, because Scheme is hygienic, the free variables have fixed locations. :-) 03:12:18 there'd be little reason not to be able to say, have functions that were compiled, call interpreted functions and back again - and you'd want the generator/assembler to be usable at runtime, but that'd be after the core system strapped itself up. 03:12:24 aye. 03:12:56 that's why if I define a bunch of stuff, then lambdas using those things, and redefine the things that it used - the ocmpiled function continues to use the values it saw in the free variables, when that function was defined, right? 03:13:03 that wasn't said very well, but you get the point :) 03:13:10 I'm trying to. :-) 03:13:50 It uses the the locations that were in effect at the time the function was defined, yes. 03:13:53 (define a 'zug) (define b (lambda () (display a))) (define a 'fudge) (b) 03:13:58 == zug 03:14:01 afaik ? 03:14:04 Well, the top-level is something else. 03:14:25 MonononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:14:37 how do yo umean? 03:14:56 (unfortunately, I don't have a repl handy, either :(() 03:15:12 I think for top-level, redefining would have the same effect as set!ting. But, like, don't quote me on this. 03:16:06 -!- MonononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Client Quit] 03:16:18 which would rebind the symbol or, simply alter the contents of the location to which the symbol was bound? 03:16:25 the semantics throw me sometimes :) 03:16:33 rudybot: eval (define a 42) (define (b) a) 03:16:33 cky: your sandbox is ready 03:16:39 rubybot: eval (b) 03:16:44 rudybot: eval (b) 03:16:44 cky: ; Value: 42 03:16:52 rudybot: (define a 43) (b) 03:16:52 cky: I submit for your consideration the following demonstration of EQV?: (define a #t) (define b #t) (eqv? a b) 03:16:57 rudybot: eval (define a 43) (b) 03:16:57 cky: ; Value: 43 03:17:02 elderK: ^^--- 03:17:15 hmm 03:17:27 chicken doesn't seem to follow that? 03:17:40 I don't have Chicken installed. Oh well. 03:17:55 crap, that screws up my entire plan :P :P 03:18:13 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Ping timeout: 252 seconds] 03:18:28 elderK: Maybe it's not specified by the standard. I don't know. 03:18:35 elderK: If that's the case, you can still win. 03:18:41 rudybot: (define a (lambda () (display 'foo))) (define b (lambda () (a))) 03:18:41 elderK: but when I insert it,dmesg display usb 1-4:reset high speed USB device using ehci_hcd and address 3 03:18:47 In the R5RS, a top-level redefinition is tantamount to an assignment. 03:18:53 rudybot: eval (define a (lambda () (display 'foo))) (define b (lambda () (a))) 03:18:55 elderK: your sandbox is ready 03:19:05 rudybot: eval (b) 03:19:06 elderK: ; stdout: "foo" 03:19:27 rudybot: eval (define a (lambda () (diplay 'zug))) 03:19:36 Riastradh: I thought so, too, so thanks for confirming. 03:19:38 rudybot: eval (b) 03:19:38 elderK: error: reference to undefined identifier: diplay 03:19:46 *elderK* nods 03:19:51 interesting. 03:19:52 Chicken, as far as I know, does implement this semantics. 03:19:55 incubot: eval (begin (define a 5) (define (b) a) (define a 3) (b)) 03:19:55 3 03:20:08 Thanks Riastradh. 03:20:11 and hey, long time no see, dude. 03:20:22 Hi. 03:20:48 Might be prudent to comb over the orbit, rabbit and hare papers again. 03:21:48 cky: depending on the structure of the function, you could still do relative offsetting. 03:22:16 Riastradh: About CPS conversion - what is it's primary purpose? Some people I've spoken to, say it's useful because it is equivalent to SSA, so, optimization-coolness. 03:22:20 Well, or else you can treat the top-level as "special". 03:22:25 Other people say, that it's neat because you can implement continuations for free. 03:22:43 Others, say it's simply because it works well with Cheney's algorithm. 03:22:57 For example, you may choose to implement the top-level as a hash table, then if a name resolves to a top-level binding, just do the hashtable lookup. 03:23:15 aye - but then you'd have to deal with collisions. 03:23:19 Its primary purpose is to represent the program in a more uniform format, in order to make the compiler simpler to write. 03:23:43 elderK: What collisions? Especially if you have a decent module system. 03:23:50 good point. 03:24:06 and if you have a good hash :) 03:24:40 Riastradh: Do you know of any handy tool, that converts arbitrary (Basic) scheme functions - to CPS? 03:24:48 If you have a module system, the only sensible interpretation of `the top level' is within a module; putting anything outside your module system is asking for trouble. 03:24:49 elderK: For the modules that contains all the built-in stuff (can't remember its name, sorry), you can even implement perfect hashing, since the space of defined names is known a priori. 03:25:07 Aye 03:25:32 03:26:50 cheers, Riastradh. 03:26:55 A trivial CPS converter is easy to implement; this one is harder, because it is not so trivial -- it is redex-free, and supports some things that you probably don't care about at first. 03:27:07 :( I keep meaning to buy Appel's "Compiling with Continuations" but... money... it's a very expensive book here in NZ. 03:27:28 May not care now - but I'm more than keen to learn, so that I can be. 03:27:44 :) The more information I can find on these things, that can help elucidate the entire process, the happier I'll be. 03:28:09 -!- foof` is now known as foof 03:28:17 An issue I keep coming across is that in many papers on this subject, the notation they use for their Lambda calculus examples, changes, it makes following them kind of hard - especially when my skills with LC are still pretty novice. 03:31:52 -!- ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has quit [Ping timeout: 272 seconds] 03:31:58 -!- Kerrick [~Kerrick@kerrick.student.iastate.edu] has quit [Ping timeout: 252 seconds] 03:32:19 elderK: You can buy books from Amazon, right? Should be much cheaper. 03:32:30 -!- ray [ray@xkcd-sucks.org] has quit [Ping timeout: 272 seconds] 03:32:32 Still around 140$ though :/ 03:33:39 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 03:33:55 elderK: Amazon is selling it for US$72 ATM. 03:35:57 :) Just ordered it 03:36:25 :-) 03:36:32 ray [ray@xkcd-sucks.org] has joined #scheme 03:37:22 ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has joined #scheme 03:37:36 elderK: As an expat Kiwi, I know how hard it can be to get some things into NZ, so if you need any assistance getting something ordered/sent, I can try to help. 03:37:40 *cky* is currently living in the US. 03:37:45 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 03:38:55 *jcowan* unvanishes and all that. 03:39:54 * jcowan unvanishes and telefrags half of the channel's members. 03:40:04 Sometimes it seems that way. 03:40:10 Hehehe. 03:40:27 Hi. 03:40:29 I say something, and a promising conversation goes silent. So I say a few more things, and bam, it's dead for *hours*. 03:40:51 Hey ho, Riastradh. Are you still high above Cayuga's ditches, or have you returned to the Hub? 03:41:04 No, I'm on the wrong coast. 03:41:21 Oh dear, how distressing. 03:41:44 done 03:41:45 :) 03:42:08 :) and cky, I didn't know that. 03:42:10 -!- blue_feint [~glazkyano@cm145.delta25.maxonline.com.sg] has quit [Remote host closed the connection] 03:42:21 and thank you, too. 03:42:47 :P jcowan: you didn't telefragify me - I'm just studying papers now :P 03:43:12 I'm trying to get a better bead on efficiently compiling Scheme - or at least being able to know enough to make a useful, compiling scheme implementation. 03:43:13 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 03:43:20 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Night all] 03:43:23 bonzobo [~user@d173-183-138-200.abhsia.telus.net] has joined #scheme 03:43:24 mayhap not the best, but i'd be stoked with "pretty decent" 03:43:27 or at least "useful" 03:43:27 :) 03:46:25 elderK: When you say bare metal, are you talking about running at kernel level? Or are you targeting specific operating systems? 03:46:51 kernel level. 03:46:53 :) 03:46:55 Excellent. 03:47:00 Now we're talking. 03:47:08 I want something I can use, to develop my kernel projects. 03:47:16 but - I am sick of C, and I like scheme a great deal. 03:47:30 Indeed, I feel the same way myself. 03:47:31 I think it'd be awesome if the implementation could be used to implement both the kernel and who knows, even the bootloader. 03:47:41 I have lots of ideas about an OS I want to implement, but haven't got to coding it yet. 03:47:53 but that means it has to be very... predictable in what things make it do allocations, what optimizations are made, when. 03:48:00 :) we should share ideas sometime :D 03:48:03 Yes, you can do the bootloader in Scheme too. Just have an AOT to persist it to disk for bootstrapping. 03:48:23 AOT? 03:48:32 My friend Daeken is doing something similar, only using Boo instead of Scheme. (And the main reason I didn't participate in that project was because I wanted to use Scheme.) 03:48:37 AOT == ahead-of-time (compiler). 03:48:50 Kerrick [~Kerrick@e40-1.nat.iastate.edu] has joined #scheme 03:48:50 aye, exactly. 03:49:04 compiled scheme is still useful scheme :) 03:49:27 obviously, once the kernel started - you'd have a repl if you wished - and a runtime assembler available. 03:49:29 Yep. But really, my idea is that the AOT should write objects using the same in-memory format as the "real" system. 03:49:40 Then, once the system finishes bootstrapping, the bootloader code can just be GC'd away. 03:49:48 aye :D 03:50:21 One of the big aims I have is to make a reboot-free system, so that even upgrading the kernel doesn't require a reboot. 03:50:22 the bootloader code, should be no different really, than the normal scheme code - except for maybe a couple of constraints on what it does - for obvious reasons. 03:50:32 (I'm also strongly in favour of a microkernel-based architecture.) 03:50:38 You'd liked my Amethyst project. 03:50:46 Oh, yes? 03:50:48 er, 'dve 03:50:48 aye. 03:51:00 It started as a microkernel - but it became a weird mutant. 03:51:05 -!- RageOfThou [~RageOfTho@users-55-230.vinet.ba] has quit [Ping timeout: 255 seconds] 03:51:05 Hahahahahaha. 03:51:13 but the entire thing was designed for flexibility, to the point where you could redefine parts of the system at any time. 03:51:22 from the kernels ISRs, to it's MM subsystem. 03:51:41 the thing I was proud of, you see, 03:51:51 was that you could do those operations - with the system still running and switching tasks and whatnot. 03:51:59 replace an audiocard driver would it was playing music, for example. 03:52:11 the difficult part was being able to do this on a multicore system. 03:52:34 :) my favourite part was writing the linker - that was basically the heart of the whole thing. 03:52:43 *nods* 03:52:51 the linker had to link itself before it could run - the bootloader really only grabbed a bit of that - enough so it could strap itself. 03:52:56 Well, in a Scheme-based OS, the heart of the whole thing would be the JIT compiler and memory manager, right? :-P 03:53:11 as soon as it's image was in RAM, it used relative addressing and indirection to link itself properly - then it just ran normal. 03:53:20 to a large extent, yeah. 03:53:24 MM would be a major thing, 03:53:29 the jit/compiler would be for performance. 03:53:36 but there are other things to consider too - 03:53:51 do you err on the side of letting the user modify and inspect everything, at the potential cost of security and stability? 03:53:52 Well, to me, the JIT is central because I wanted to establish a security model where _only_ the JIT compiler could generate native code. 03:54:03 aye 03:54:54 As for inspection abilities: I think limited access could be useful, but if you wanted global access, you'd need certain privileges. 03:55:11 So, like, kernel-side code might be able to do more inspection than user-side code. 03:55:35 So, here, kernel-side and user-side are not necessarily ring levels or anything like that, but rather what the code's origin is. 03:56:28 aye. 03:56:28 wbooze` [~user@xdsl-84-44-142-131.netcologne.de] has joined #scheme 03:56:33 and again, simply the level of trust it has. 03:56:35 If, for example, the call frame contained some metadata---that _cannot_ be modified (or perhaps even accessed) by user code---you can efficiently implement some kind of code privilege system. 03:56:37 homie` [~user@xdsl-84-44-142-131.netcologne.de] has joined #scheme 03:56:39 Yep. 03:56:41 one thing I had planned for amethyst, but never got to doing fully, 03:56:46 was that you could develop some driver in userspace, 03:56:48 test it, etc. 03:56:53 then when you felt self, promote it to kernel space. 03:57:04 without rewriting it at all, or changing it's interfaces. 03:57:14 if the driver was unstable - you could just bring it back down to userspace and use it there. 03:57:22 I do want to allow some user-specified native code to be run, perhaps to accommodate third-party software, but it would be done in a ring-3 jail/sandbox. 03:57:23 if you were actualyl worried about corruption or whatever. 03:57:45 There would be full data marshalling/unmarshalling so that the sandboxed code can't mess with anything directly. 03:58:22 Yep, that's a good idea. 03:58:34 Though, of course, with a microkernel, those drivers would run as servers anyway. 03:58:42 And could probably be ring 1 or ring 2 (depending). 03:58:50 aye - but even then, some servers are needed as privileged - and if they are privileged, they can cause harm. 03:58:53 -!- homie [~user@xdsl-84-44-252-95.netcologne.de] has quit [Ping timeout: 245 seconds] 03:58:55 -!- wbooze [~user@xdsl-84-44-252-95.netcologne.de] has quit [Ping timeout: 252 seconds] 03:58:57 Yep. 03:58:58 evenin microkernel systems, you can't entirely sidestep that. 03:59:04 Indeed. 03:59:32 for that reason, and portability concerns - I tend to stick to the supervisor/user division 03:59:56 more so now that AMD64 discards basically all vestiges of segmentation at all. 04:00:15 which I find a little sad - I kind of like dsegmentation, especially in 32bit mode! 04:00:20 people always think of segmentation as MSDOS days. 04:00:34 *nods* 04:00:43 It's like dynamic linking for example, 04:00:48 Segmentation, to me, is just a way to provide a "view" of memory. 04:00:54 Like EMS, you know? :-P 04:00:54 parts of linux are warming up to it's full coolness, but there is a LOT more that could be done. 04:01:06 There's no reason why all components cannot be dynamic - at a tiny cost, too. 04:01:21 Indeed, totally agree. 04:01:45 ie; the modules in amethyst composed the system - they were nicknamed shards - every object knew what functions it exported - and knew precisely what functions it was using - but unlike generci ELF, etc, 04:01:53 when you reloaded some module that another depended on, 04:02:17 you only had to scan through / update the links in the "victim" module, that it relied upon being linked to the target you changed. 04:02:25 it was very, very optimizedin that respect. 04:02:25 Yep. 04:02:30 and it added zero overhead to the ELF binary, too :D 04:02:35 :-) 04:02:58 Of course, in a JIT-based system, you simply deoptimise those functions and continue from there. The JIT will take care of recompiling the code when it's called next time. 04:03:05 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 04:03:08 aye - exactly. 04:03:10 Ooh, another Kiwi! 04:03:11 and a cool thing too, 04:03:19 is that you could provide the bytecode images for the system, 04:03:24 and JIT it all on first boot - precisely for the target. 04:03:31 so, SSE, MMX, AVX, whatever. 04:03:34 or on PPC64, whatever, etc. 04:03:50 My personal fetish processor is the old 68K 04:03:52 JIT, or AOT? :-P 04:03:55 I'm too young to have ever got to play with them :( 04:03:59 I'd say support both. 04:04:07 Just ebcause we support AOT, doesnt mean we shouldn't support JIT 04:04:09 and the same with JIT. 04:04:23 some programs for high performance may prefer AOT. 04:04:23 I agree we need both, but was commenting on your "JIT it all on first boot" comment. 04:04:32 Oh, right :) my bad. 04:04:32 AOT. 04:04:33 I think you meant "AOT it all on first boot", unless I misunderstood you. 04:04:37 for the bootloader/bootstrap. 04:04:40 then JIT 04:04:43 Yep. 04:04:55 :P then when the higher level system is jitted and happy, 04:05:01 recompile the lower-level 04:05:01 :P 04:05:05 I want to make sure any persisted AOT code is easily GCable when the JIT fires up though, so there's no "sacred" code lying around anywhere. 04:05:15 aye. 04:05:37 generally though, teh approach I take with the systems I've built is - the stuff that's created by the bootstrap - isn't jus crap that's thrown away. 04:05:48 Also, for a reboot-free system, there needs to be support for doing graceful transitions if the memory layout/system ever changes. 04:05:49 I figure if you're going to do any kind of work, kernel or bootwise, it's best to not waste it. 04:05:56 felipe [~felipe@my.nada.kth.se] has joined #scheme 04:05:56 aye. 04:06:03 So there'd probably be a need for some sort of versioning system for specifying what format a given block is, etc. 04:06:06 that was my main research interestwith Amethyst :) 04:06:20 I bet. :-) 04:06:29 how do you transparently change the kernel's core memory allocator, without negatively impacting the system - or, causing a massive amount of tracking-data copying? 04:06:57 Well, with a versioned system, you can do a copy-on-write deal. 04:07:09 likewise - how do you say, move some userspace to another, updated version of the same userspace - and giving all those dependant apps, the new functions - without exporting the interfaces in some IDL format? 04:07:13 aye. 04:07:25 that being said though - at the kernel level, say... 04:07:27 oy uhave allocator A and B. 04:07:37 A and B both manage memory in vastly different ways, from tracking to everything. 04:07:43 you remove A, replace it with B, at runtime. 04:07:54 Then, you need a protocol whereby A can claim some space and B claims some other space. 04:08:06 The copy-on-write mechanism ensures that when a page in A is updated, it gets sent into B's space. 04:08:13 A tracks all the pages in use, etc, everything - for PCI, for IO...the whole shebang. B needs to get that data intact - without any loss - and translate it to it's internal format - also, without loss. And without a huge impact on performance. 04:08:38 Aye - this si the problem - I wasn't so much thinking of allocators owning subsets of memory. 04:08:43 but a total transition. 04:08:50 Ah, that's a huge ask. 04:08:52 I did come up with a few lameish ideas :) 04:09:02 and the ywould work -except for a couple annoying cases. 04:09:03 See, I was inspired by the idea of Java's current collectors (G1, IIRC). 04:09:16 Which work on different regions that can be reclaimed at certain points in various ways. 04:09:22 -!- Kerrick [~Kerrick@e40-1.nat.iastate.edu] has quit [Ping timeout: 252 seconds] 04:09:28 :) have any papers to fling? 04:09:33 I'd be interested in reading them :D 04:09:35 So, each generation (young, old, etc.) can grow and shrink as needed, by claiming more or fewer regions. 04:09:49 I don't have a URL off the top of my head, but read about G1 if you can Google them up. 04:11:14 the best I got my transitions to, 04:11:26 was when replacing the system's core allocator, 04:11:39 the two - the original and the older - would work in tandem. 04:11:50 all new allocations would be served by the new allocator. 04:11:56 all old deallocations would be done through the older one. 04:12:29 when a certain threshold of pages were released (ie, everything userspace except for maybe a couple stragglers that we could easily copy or retrace), the old allocator would be entirely thrown away and disconnected. 04:12:33 and the new one would fully take over. 04:12:51 Yep, that sounds very sensible. 04:13:00 Of course, replace 2 with N. 04:13:07 There may be N different allocators active at any given time. 04:13:20 aye - but in taht case, each would probably have certain clients. 04:13:25 And when there are no regions handled by a given allocator, maybe it can be collected away. 04:13:27 it all depends on which "domain" they hold and run in. 04:13:32 Yep. 04:13:35 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 04:13:43 :) my interests were always kernel level. 04:13:53 And maybe there needs to be a protocol where you can advise a running process that it's no longer needed, so shut down soon. 04:14:02 there's no reason userspace or, specific parts of kernelspace, cannot use allocator chains, for example. 04:14:04 Awesome, me too. :-) 04:14:08 allocators for specific purposes. 04:14:12 copumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has joined #scheme 04:14:30 Indeed, and that's how C++ was designed, so you can have a small-object allocator running independently of a large-object allocator, for example. 04:14:35 in which case, they probably would subdivide memory into certain zones - claim territory, as it were. Life becomes a lot easier that way, too. 04:14:42 The small-object allocator can afford to fragment more, align less, etc. 04:15:09 So, I would probably adopt a multiple-allocator strategy with my system too. 04:15:23 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 04:15:23 And then people who need hard realtime can presumably slot in a hard-realtime-capable allocator. 04:15:36 other ideas are context switching and it's costs - especially to do with various levels of caches. 04:15:39 like, the TLBs and stuff. 04:15:56 L4's "small spaces" was a cool idea - but it's highly dependent on segmentation to work. 04:16:09 *nods* 04:16:32 which, is a shame - but dynamic linking can greatly help there - and with the ubiquity of 64bit systems now, there is so much virtual address space, that you could give each driver 128M of working room say, and be fine. 04:16:41 (virtual that is) 04:16:56 Yep. 04:17:08 I intend to target only 64-bit systems, anyway. 04:17:12 aye. 04:17:16 Because then I can use 64-bit words from the get go. 04:17:32 I'd like to target 32bit embedded, too. Mostly because its cool. But 64bit... it'd be silly not to aim for that now. 04:17:49 That same can be said for the use of APICs and multiprocessor stuff now, since both are also commonplace. 04:17:53 SSE, etc, that's all standard now. 04:18:00 Initially I want to target MMIX, for two reasons: 1. it's more of an "ideal" architecture, requiring less kluges, and 2. because I'm very x86-centric in my assembly programming thus far, and targeting MMIX will break me of x86-isms. 04:18:09 can basically forget ISA support. 04:18:15 Indeed. 04:18:30 MMIX, Knuths VM? 04:18:56 Well, not VM. It's a real instruction set architecture. 04:19:06 People have actually implemented it in FPGAs. 04:19:38 I have half a mind to grab an FPGA dev kit so I can play with it. :-P 04:19:52 :P I was wanting to do the same, I was hoping for a 68K opencore. 04:19:56 :( twasn't around really though, 04:19:58 at least not something with an mMU 04:20:21 But yes, the architecture that Knuth promulgates. :-) 04:20:24 and coldfire chips are horrendously expensive :( 04:20:39 must devkits are :( which is why I was going to build a 68K simulator :) 04:20:46 Hahahahaha. 04:20:54 seriously - I go to sleep reading the manuals :D 04:20:55 Thankfully, in my case, there's already a very good MMIX simulator. 04:21:01 it's how I learned the intel architecture. 04:21:05 With full pipelining and caching simulation. 04:21:09 :D sweet 04:21:22 because I was hoping in mine, that Icould be able to look at the state of the Address translation caches and such. 04:21:31 also, I wanted to be able to open up a window and say, see the signal waveforms :D 04:21:34 I just thought that'd be neat. 04:21:47 Hehehehehe. :-) 04:22:21 PowerPC, too - even though it's not really popular on desktops - hardware can be had quite easily - and there are various emulators around. 04:22:21 Anyway, I think it'll be interesting to see where we will each go with our projects. :-P 04:22:27 aye :) 04:22:43 who knows, maybe we can both explore slightly different areas, and thus, help eachother in the research. 04:22:46 In my case, I'll be borrowing lots of ideas from various GPL'd projects (especially OpenJDK), so it'll have to be licensed under GPL, but I don't mind this. 04:22:50 Yep, indeed. 04:22:56 one thing that annoys me is Barrelfish. 04:23:02 when Barrelfish came out, I was BUGGED. 04:23:06 because I had a very similar idea. 04:23:21 and I was talking about implementing it with the people I worked for then, on Sun niagara processors. 04:23:22 well, "ROCK" 04:23:33 UltraSPARC T1 or something. 04:24:01 :/ before I left that company, I bought myself an old SUN Enterprise so I could tinker .Downside was it has no harddrive and I never managed to source one cheaply. 04:24:16 :( and WindRiver now own Virtutech - who produced Simics. 04:24:24 they used to let students use simics for free - not any more :/ 04:24:40 Yeah, basically you need deep pockets to get started. 04:24:53 ;) that is, unless you're insane like us and build your own tools :P 04:25:02 Hehehehehe. 04:25:08 for 68K stuff so far, I'm running basilisk II with system 7.6.1 and the MPW. 04:25:09 :P 04:25:18 One day, I hope I can come across an old Mac LC3 or something. 04:25:30 so I can mutilate it horribly. 04:25:30 :) 04:25:37 :-) 04:25:51 :/ apple stuff though, man. 04:26:00 trademe for example, wants 150$ for an old G3/G4. 04:26:10 some people was upwards of 500$ for a G4. 04:26:15 That's because NZ is a small market with no competition. 04:26:17 and it's just like .... come on, people, have some sense. 04:26:33 For the record, I wish TradeMe gets acquired by eBay. That would be sweet music to my ears. 04:26:42 heh, whyfore? 04:26:49 I'd just like more neat stuff to hit our shores. 04:27:10 :/ not that much cool stuff happens technically where I am (Dunedin) 04:27:20 -!- wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has quit [Ping timeout: 265 seconds] 04:27:25 Finding people to discuss things like with, is evne harder. 04:27:40 Eh, personal vendetta. Also, because I think auto-extend sucks, and <3 bid sniping. 04:28:15 Do you have any wish/ability to move to another town? 04:28:31 *cky* is an ex-Aucklander, though, I'm not proud of the Aucklander part. :-P 04:29:40 heh. 04:29:45 I hope to move to the US at some point, 04:29:48 that or Russia (yes, Russia) 04:29:54 (I've always had a thing for Russia, don't know why :)) 04:30:07 Awesome. :-) 04:30:13 But, it's hard as it is just to make ends meet - I don't have any formal qualifications to "back" my skills. 04:30:13 I hope you can get cheap gear in Russia, right? 04:30:19 you can 04:30:24 provided you don't get your legs broken :P 04:30:26 Qualifications are overrated, seriously. 04:30:34 I'm glad to hear that man. 04:31:04 At some point, I intend to venture to Christchurch or something to look for opportunities - but I'm pretty sure my future is in the US. 04:31:10 that or somewhere in europe. 04:31:33 If I start a software company of my own, I would not require any specific qualifications for applicants. If they are kickass at coding and can get along with workmates, that's good enough for me. 04:32:15 (Say I who has a degree and certification. :-P) 04:32:15 aye, same here. 04:32:36 if they're skilled, passionate/enthusiastic, and get along well with workmates/are friendly, I'm happy with that. 04:32:41 and provided they are happy to learn, too. 04:32:43 What part of the US do you want to be in, out of curiosity? 04:32:53 tbh cky, I haven't realyl thought of that. 04:33:00 I have family in Pennsylvania, so I guess somewhere around there. 04:33:05 I think happy to learn goes hand in hand with passionate/enthusiastic, really. 04:33:11 Oh, good fun. 04:33:26 :P if only so if things go bad, they can help bail my ass out of trouble. 04:33:26 lol 04:33:26 :) 04:34:05 but in all honesty, it entirely depends on where the work is - since, simply getting setup would be the priority. 04:34:05 dnm [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #scheme 04:34:10 I currently live in the Triangle (Raleigh/Durham, NC area). But work would only be too happy for me to move to the SF Bay Area. 04:34:19 and in that cas,e where I work or what job I have, really isn't that important - provided I make enough to be reasonably happy and do my usual tinkering. 04:35:04 -!- aisa [~aisa@c-68-35-167-179.hsd1.nm.comcast.net] has quit [Quit: leaving] 04:35:12 You know, if you are happy to move to the Bay Area and can do kickass Rails coding, I believe my current work is still hiring. I know I know, it's not Scheme, but. :-P 04:35:37 :) would have to learn ruby, but I have no problems with that. 04:35:42 certainly a wealth of material around. 04:36:11 Well, when I started my role (2 years ago), I had 0% Ruby knowledge (I did code a lot of Perl, but anyway). All my Ruby and Rails skills were learnt on the job. 04:36:13 Must look into the embedded stuff around the US, too - I've started learning Forth - and my main languages (Assembly, C) are pretty well tailored to that area - same with my general expertise. 04:36:17 it's mostly all systems level. 04:36:55 :D man, you've made me all excited. 04:37:11 It's not "if I go to the US" but simply "when". 04:37:12 Hehehehe. :-) 04:37:41 which is an issue, becuase the job market around here isn't so hot, especially not for tech. at least, not in dunedin. 04:37:54 :P Maybe as a stoketaker or a burger flipper. 04:37:57 Since when is Dunedin hot for anything? *grins, ducks, and runs* 04:38:03 which, really, if it pays my way to the US or for a neat book or embedded board, that's cool ^_^ 04:38:08 LOL 04:38:13 :P low man, low. 04:38:14 :P 04:38:18 Hehehehehehe. 04:38:20 We did have some grunge rock scene some time ago ;) 04:38:25 Even in a JIT system, the linker is still the key to everything: it's the point where mere data actually becomes executable. 04:39:03 jcowan: True. I saw it as part of the JIT compiler, but, I think now that you've mentioned it, a distinction is useful. 04:40:00 man. 04:40:03 my mind is firing with so many ideas now. 04:40:05 it's awesome. 04:40:10 Yay! 04:40:18 apart from Appel's book, I registered a domain, too. So, that means sometime, I need to setup a server to host. 04:40:27 Start a blog on this low-level lisp (3L) stuff. 04:40:39 On the first system I ever used, the loader was "absolute"; it did not relocate code, so it was up to you to do that in the assembler. 04:40:43 You know, in my CV, when I mention my assembly knowledge, it wasn't really about embedded or anything. Instead, I talked about reverse-engineering skills. :-P 04:40:45 Finally have an outlet for my mad-scientist-like-experiments 04:41:08 :D 04:41:35 I haven't written assembly in a large way, in a pretty long time - disassembly can be fun, but I'm not brilliant at reverse engineering - always wanted to /get/ good though :P 04:41:42 seriously, reverse-engineering types are just,cool. 04:41:45 What tools do you use? 04:41:51 ? 04:42:03 I had a friend who basically wrote ballads and poems about ollydbg. 04:42:07 For Linux stuff, I use objdump; Windows stuff, IDA (or WinDbg). Java stuff, javap. :-P 04:42:09 and yo, dnm :) 04:42:16 [00:42:23] seriously, reverse-engineering types are just,cool. 04:42:20 Out of curiosity, why? 04:42:30 dnm: Because they understand computers more than non-RE types do. 04:42:34 aye. 04:42:39 that, and depending on the tools available, 04:42:40 But the way in which it made executables was cool. It wrote the executable into all of memory not occupied by the loader itself, and wrote *that* part onto the swap. Then it returned to the (top-level) debugger, and you instructed the debugger to save memory onto a core file -- which was the executable. 04:42:44 there are no stubs, no call addresses, nothing. 04:42:45 I've been hearing this more frequently lately (or, at least, it seems like I have been), and I'm always kinda puzzled by it. 04:42:47 at least, just straight addresses. 04:42:49 no symbols... 04:43:02 it takes a lot of time, knowledge and experience to get the hang of that. 04:43:30 Well, I largely agree wiht the last statement anyway. 04:43:44 elderK: Good disassemblers let you annotate code with symbols, etc. 04:44:01 jcowan: My brain is spinning. :-) 04:44:09 that and because, at least in the people I've met, the RE types are a lot more fun to speak with, and are usually more outgoing in terms of what they wish to learn about, and attempt. 04:44:11 I suppose I'd rather more people understand things to similar levels than just think reverse engineers are cool though. 04:44:32 so many people seem to just be happy with Java or C# or C++ and never learn anything else - instead, they get all nitpickity and mean when you mention new ideas or technologies. 04:44:38 dnm: But, RE is the usual vehicle to understanding things to that depth. 04:44:43 Because it becomes part of your job to. 04:44:45 agreed, dnm. 04:44:46 But maybe that's my current frustration with not having enough people around me with similar backgrounds at work. 04:44:54 Makes it hard to get certain things done well. 04:44:59 dnm: What's your background? RE? 04:45:06 and jcowan - that does sound cool - do you mind if I ask what system you are talking about? :) 04:45:12 See, when the loader terminated, the swapped-out was restored on top of it by the debugger, so now the whole program is in memory. 04:45:21 The debugger can then core-dump it. 04:45:28 No, I tell a lie. 04:45:37 The loader replaced itself by the debugger. 04:45:37 darn 04:45:58 Yeah, darn is right. 04:46:01 That's it. The debugger knows where the swap space is (and the debugger is the same size as the loader). 04:46:07 Background? I don't know. I don't have a good, concise, comprehensive answer. But, professionally, for the past ~14 years, it's been infosec. 04:46:31 So the debugger gave the illusion that the whole program was in memory -- but unless you started it, part of the program, the part that would go on top fo the debugger, was actually on the swap. 04:46:58 As for reverse engineering, yes, I RE (verb) things, both for work/job/professional reasons and for self/hobby/nonprofessional reasons. 04:47:07 cky, they don't even teach FP anymore at Otago Uni :/ 04:47:11 So to start the program, the debugger uses the disk driver (which is always resident) to load the swap over itself and then return to the start point of the program. 04:47:20 dnm: Good, good. :-) 04:47:31 dnm: I don't care about being seen as cool or whatever; I do what I do because I enjoy what I do. 04:47:36 elderK: A PDP-8/E running OS/8. 04:47:41 :D 04:47:43 Sweet 04:47:52 I was getting ready to barrage you with names until I got one right :P 04:47:58 elderK: JavaSchool? (To borrow Spolsky's word.) 04:48:05 basically, these days, yeah. 04:48:16 although, for the most part, most universities don't seem that different. 04:48:18 cky: Agreed. I'm not saying or trying to imply/insinuate otherwise. I'm just still sort of... surprised when people say things like "RE types are cool", and still somewhat puzzled by it. ;] 04:48:31 It's why I never finished the degree - because they were never teaching anything that I was really interested in. 04:48:48 They were talking about java - and I was spending my nights reading assembly, architecture manuals, hard OS theory. 04:48:55 dnm: If you want to rub shoulders with other RE types, come to #stackoverflow, my home channel. My friend Daeken is on it. :-P 04:48:56 reading through BSD and others. 04:49:05 Actually, reading the SysIII source was one of the most fun weeks I ever had :) 04:49:17 The debugger, then, serves as a shell: it can bring core images of programs into memory, start them at a standard or specified address, alter them in specified ways, and save them back to core image (executable) files. 04:49:26 cky: Does that have anything to do with the website of the same name? 04:49:32 dnm: Yes, same person. 04:49:39 In a sense, the loader is just a subroutine of the debugger that understands absolute object format files. 04:49:48 Huh. 04:50:30 stackoverflow.com? 04:50:37 Joel Spolsky and Jef Atwood's thing? 04:50:47 Yes. 04:50:48 That. 04:50:51 jcowan: What was it like back then, to actually use PDPs and stuff? 04:50:56 Was it as cool as I imagine? 04:51:06 I like to think of that time as being the AWESOME time for Hackers. 04:51:12 In some ways, it was extraordinarily primitive. 04:51:26 Free ideas, good conversations, fun - tinkering, breaking the soundbarrier of the computer world, like. 04:51:32 -!- pumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has quit [Remote host closed the connection] 04:51:35 No screen terminals, just teletypes with yellow paper and infuriated cylinders doing the printing, ka chunka chunk. 04:51:43 like to think of it as being more friendly, generally, too. 04:51:52 (Since some channels can be reaaaaaaaally nasty) 04:51:57 And the keyboard required REAL FORCE to type on, and had no Right Shift key (and to this day I don't use the right shift). 04:52:10 yikes 04:52:43 My first system had no disk drive of any type, only DECtape, which is a sort of linearized floppy -- like other tape, it had to seek by rewinding and fast-forwarding, but you could write to any block without cabbaging other blocks. 04:53:03 Cool to watch, but sloooooow to do anything. 04:53:54 [00:44:50] that and because, at least in the people I've met, the RE types are a lot more fun to speak with, and are usually more outgoing in terms of what they wish to learn about, and attempt. 04:54:05 aye, dnm? 04:54:06 That first system had 8K of 12-bit words, but we did amazing things with it, or so they seemed to us at the time. A giant non-graphical Star Trek game was the achievement of my senior year in high school, and a compiler for MFTL was what I worked on during college. 04:54:12 elderK: Well, this is good, if this is your experience. I hope this continues to be true. 04:54:19 I do too, dnm. 04:54:27 keep in mind, I've only met 4 RE types. 04:54:27 :) 04:54:33 including both of you. 04:54:54 It really depends on whether the people stay humble or not, and realize that there is always something to learn. 04:55:03 or, they become elitist assholes who think that they are gods. 04:55:10 I have no time for people like that. 04:55:26 *jcowan* started out as the former and slowly became the latter, so they are not irridemptible. 04:55:31 s/irri/irre 04:55:38 At least, when I meet people who have less skill than me - I'd rather help them get to where I am, and let them have the advantage of avoiding all the mistakes and stressful nights that I had to endure, to get to where I am now. 04:55:45 Yeah, I suppose I, at some level, fear the "RE types are cool" thing leading to some larger fostering of that latter attitude. 04:55:48 What is this `right shift key' of which you speak? 04:55:58 dnm: *nods* 04:55:59 Next you'll be telling me that there's a `right control key' too. 04:56:27 dnm: And then there'll be an "RE types are so elitist" backlash. :-P 04:56:34 aye. 04:57:19 It can be interesting to see what people's impression of what is hard is too. 04:57:36 aye. 04:57:56 Well, I don't want to sound like an old fogie, but, the new generation is likely to think of anything more low-level than, say, your browser as too hard. :-P 04:58:00 (Oops, did I just say that?) 04:58:02 Sometimes, while explaining to someone what I do to figure something out, even if they follow along and don't get lost, they see the process or steps involved as being impossibly complicated. 04:58:27 Which I usually take to mean a failure on my part to explain adequately. 04:58:40 Huh. The pictures show that there *was* a right shift key on at least some ASR-33s. Mysterious. 04:59:34 cky, browsers? Those are EXTREMELY hard (although not for (m?)any particularly good technical reasons). 04:59:46 And yet I do type S with the left shift, and I typed on typewriters both electric and manual before I ever saw a TTY. 05:00:14 Anyway, not to get too meta about the whole thing, and sorry to insert myself into the conversation, I was just interested in the sentiment. Amusing to be discussing this on #scheme, but nothing too far afield for it, I suppose. 05:00:16 Riastradh: :-) 05:00:37 :P I wonder if the 'net will ever settle on some standard, like, properly. 05:00:48 it's the main reason I've held off so long from writing a webpage or something. 05:00:53 all the annoying incompatibilities. 05:01:08 2017. 05:01:14 elderK: Stick to HTML 4.01 and you'll be safe for a while. 05:01:16 That's when HTML5 will be finished. 05:01:28 jcowan: Famous last words. 05:01:31 -!- kephas [~pierre@AStrasbourg-551-1-50-148.w83-194.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 05:01:31 I have big hopes for HTML5. 05:01:37 But due to the Mayan Catastrophe, it will no longer matter. 05:01:42 haha 05:01:50 I have big hopes for HTML5 browser bugs. 05:02:03 Delicious, client-side, remotely exploitable browser bugs. 05:02:08 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 05:02:15 mmm, good for the whole family, 05:02:15 *cky* noms on cochineal-coloured browser bugs. 05:02:19 even Aunt Jodie. 05:02:33 I remember what an upgrade it was to go from 10 cps Teletypes to 30 cps modems (300 baud) to 120 cps (so-called 1200 baud, really 1200 bps = 600 baud). 05:02:53 WebM ought to be a goldmine of idiosyncratically divergent audio and video codec code. 05:02:57 Cochineal already comes from bugs. 05:04:48 jcowan: Indeed. Maybe I should say cochineal-shaped, to make my point clearer. :-) 05:05:28 So, referring to cochineal-the-bug, as opposed to cochineal-the-colouring-agent. 05:05:37 Quite. 05:07:08 :) 05:07:18 :) Well peeps, I'm off to take a catnap. 05:07:32 Dream about commodity hardware being just as cool as a LispM. 05:07:46 elderK: Have fun! :-P 05:07:49 You can have a LispM on commodity hardware these days. 05:07:50 Yes, indeed. 05:07:53 Virtualization man. 05:07:59 aye, but it's not the same. 05:08:00 Or EC2 even. 05:08:04 True. 05:08:10 *dnm* misses his XL1200. 05:08:29 Although, apparently EFI is starting to spread out now, 05:08:31 However, VMware is a lot less heavy to move. 05:08:41 if that's true - then doing some seriously neat stuff, very very quickly - will become a lot easier. 05:08:47 Why? 05:09:01 and hopefully, compatibility woes of ye ole BIOS won't be so... amazingly annoying. 05:09:12 Oh, on that note, I want to make my system work well with Xen. i.e., will support paravirt stuff. 05:09:14 dnm, depends on your viewpoint :) 05:09:36 if you like what you can do in 16bit - and take advantage of weirdness like the A20 gate, 05:09:42 then you probably won't like EFI so much. 05:09:42 Well, I know you're off to bed, but, EFI doesn't seem to point the way to any LispM resurgence to me. If it did, OpenFirmware would have already done it decades before. ;] 05:09:44 *cky* has been irredeemably seduced by Xen's speed. 05:09:50 aye. 05:10:06 tbh dnm, I wish we had OFW on x86 instead of EFI. 05:10:21 *jcowan* has become a fan of Portable Ubuntu for Windows 05:10:30 (now that I'm stuck with Windows on my work machine) 05:11:00 elderK: coreboot! 05:11:15 :( Aye, but hten you need special motherboards :( 05:11:26 :) so far, I just boot my old SPARC up via RS232. 05:11:36 $EMPLOYER being a firm believer in the Pangloss Paradigm 05:11:38 and run it off an old SPARC Linux CD. 05:11:43 elderK: Coreboot would work with commodity motherboards if more mobo manufacturers cooperated. :-P 05:11:57 *cky* Googles up Pangloss Paradigm. 05:13:23 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 05:14:35 :) Keep cool, guys. 05:14:38 I'll see you on the flipside. 05:15:13 elderK: Have fun! 05:15:25 -!- elderK [~k@222-152-89-64.jetstream.xtra.co.nz] has quit [Quit: Naptime!] 05:15:26 REPLeffect [~REPLeffec@69.54.115.254] has joined #scheme 05:25:14 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Quit: Leaving.] 05:25:55 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Remote host closed the connection] 05:25:58 -!- bonzobo [~user@d173-183-138-200.abhsia.telus.net] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 05:43:08 -!- SirNick [~nick@c-67-160-151-16.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 05:56:25 bonzobo [~user@d173-183-138-200.abhsia.telus.net] has joined #scheme 06:02:29 -!- adu [~ajr@pool-173-66-10-221.washdc.fios.verizon.net] has quit [Quit: adu] 06:03:57 -!- bonzobo [~user@d173-183-138-200.abhsia.telus.net] has quit [Remote host closed the connection] 06:06:51 -!- Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has quit [Read error: Connection reset by peer] 06:07:43 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 06:08:13 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 06:08:53 -!- easy4 [~easy4@c-174-60-36-128.hsd1.pa.comcast.net] has quit [Ping timeout: 245 seconds] 06:10:41 -!- klovett [~klovett@c-67-180-97-38.hsd1.ca.comcast.net] has quit [Quit: klovett] 06:16:37 coolsan [~chatzilla@27.107.183.175] has joined #scheme 06:17:54 hey !!! people 06:18:08 how can i create m BOT 06:18:29 ...I think this channel has enough bots without yours. :-P 06:18:49 More seriously, let me Google up some IRC modules you might be able to use. :-P 06:20:06 Chicken has an IRC egg: http://wiki.call-cc.org/egg/irc 06:21:21 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 06:34:36 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 06:35:03 pavelludiq [~quassel@83.222.190.196] has joined #scheme 06:35:51 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 06:50:51 bawkbawk [~bawkbawk@c-98-202-101-209.hsd1.ut.comcast.net] has joined #scheme 06:59:56 -!- bawkbawk [~bawkbawk@c-98-202-101-209.hsd1.ut.comcast.net] has quit [Quit: bye for now...] 07:08:28 cky: i want to create a BOT on other channel 07:08:56 :-) 07:09:25 cky: what ?? :-) 07:09:42 plzzz 07:10:38 I've given you one possibility, if you want to write your bot in Chicken. 07:10:48 If you're using some other Scheme implementation, you'll have to do your own Googling. 07:11:02 ok 07:11:32 one thing what is chicken???:-) 07:12:32 hey if i am not owner of channel after that can i create a BOT 07:13:18 Anybody can run a bot, but if the channel's operators dislike your bot they can ban itc. 07:13:22 *it 07:13:42 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 07:13:50 ok 07:14:10 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 07:14:11 now tell me how can i do this?? 07:14:23 Aren't you asking these questions in the wrong channel? 07:14:49 This is a channel about a programming language called Scheme, and not really related to bot-writing. 07:15:20 A bot is simply an IRC client that does things automatically, without a human operator. 07:15:33 Do you know how to write an IRC client? Maybe that's the first thing to figure out. 07:16:52 ok 07:17:09 bye have a good day 07:17:10 -!- coolsan [~chatzilla@27.107.183.175] has left #scheme 07:17:52 *shrug* 07:39:23 -!- tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [Quit: tltstc] 07:41:10 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 07:46:40 EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has joined #scheme 07:49:43 -!- dfeuer [~dfeuer@wikimedia/Dfeuer] has quit [Ping timeout: 245 seconds] 07:50:55 dfeuer [~dfeuer@pool-71-178-183-35.washdc.fios.verizon.net] has joined #scheme 07:50:55 -!- dfeuer [~dfeuer@pool-71-178-183-35.washdc.fios.verizon.net] has quit [Changing host] 07:50:55 dfeuer [~dfeuer@wikimedia/Dfeuer] has joined #scheme 07:51:08 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Read error: Operation timed out] 07:53:19 gravicappa [~gravicapp@ppp85-141-164-111.pppoe.mtu-net.ru] has joined #scheme 08:01:55 jewel [~jewel@196-215-16-208.dynamic.isadsl.co.za] has joined #scheme 08:25:51 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 08:39:43 -!- Nshag [user@lns-bzn-36-82-251-15-245.adsl.proxad.net] has quit [Ping timeout: 245 seconds] 08:53:31 Nshag [user@lns-bzn-23-82-248-120-55.adsl.proxad.net] has joined #scheme 08:58:45 wingo [~wingo@AMontsouris-551-1-78-206.w90-24.abo.wanadoo.fr] has joined #scheme 09:03:52 Frobnitz! 09:04:50 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 09:05:45 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 09:09:45 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 09:10:20 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 09:11:38 will [~will@19.74.83-79.rev.gaoland.net] has joined #scheme 09:21:20 stis_ [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 09:21:26 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 09:22:53 femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #scheme 09:57:18 -!- drdo [~user@98.192.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 10:04:04 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 10:04:06 MrFahrenheit [~RageOfTho@users-33-109.vinet.ba] has joined #scheme 10:06:52 -!- jewel [~jewel@196-215-16-208.dynamic.isadsl.co.za] has quit [Ping timeout: 252 seconds] 10:06:55 masm [~masm@bl16-183-232.dsl.telepac.pt] has joined #scheme 10:08:55 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 10:19:04 ecraven [~user@140.78.42.213] has joined #scheme 10:26:47 brunt [brunt@unaffiliated/brunt] has joined #scheme 10:29:19 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 10:29:26 mmc [~michal@cs27120227.pp.htv.fi] has joined #scheme 10:29:49 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 10:33:30 drdo [~user@98.192.108.93.rev.vodafone.pt] has joined #scheme 10:35:09 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 265 seconds] 10:39:43 Ragnaroek [~chatzilla@pD9E257C1.dip.t-dialin.net] has joined #scheme 10:54:47 -!- snorble [~snorble@s83-179-14-105.cust.tele2.se] has quit [Ping timeout: 276 seconds] 11:27:10 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 11:40:53 -!- drdo [~user@98.192.108.93.rev.vodafone.pt] has quit [Ping timeout: 255 seconds] 11:43:53 d-c [~DC@58.30.13.11] has joined #scheme 11:50:26 -!- gravicappa [~gravicapp@ppp85-141-164-111.pppoe.mtu-net.ru] has quit [Ping timeout: 264 seconds] 11:53:35 -!- wingo [~wingo@AMontsouris-551-1-78-206.w90-24.abo.wanadoo.fr] has quit [Ping timeout: 265 seconds] 12:03:59 gravicappa [~gravicapp@ppp85-140-119-151.pppoe.mtu-net.ru] has joined #scheme 12:06:16 acarrico [~acarrico@pppoe-68-142-40-104.gmavt.net] has joined #scheme 12:16:42 pavelludiq_ [~quassel@83.222.190.196] has joined #scheme 12:16:51 -!- pavelludiq [~quassel@83.222.190.196] has quit [Ping timeout: 276 seconds] 12:23:21 -!- felipe [~felipe@my.nada.kth.se] has quit [Ping timeout: 276 seconds] 12:26:23 offby1` [~user@q-static-138-125.avvanta.com] has joined #scheme 12:28:34 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Ping timeout: 276 seconds] 12:36:20 jimrees_ [~jimrees@ita4fw1.itasoftware.com] has joined #scheme 12:48:03 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 12:48:31 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 12:57:08 -!- EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has quit [Ping timeout: 276 seconds] 13:15:37 -!- mmc [~michal@cs27120227.pp.htv.fi] has quit [Ping timeout: 240 seconds] 13:18:06 drdo [~drdo@98.192.108.93.rev.vodafone.pt] has joined #scheme 13:19:19 -!- drdo [~drdo@98.192.108.93.rev.vodafone.pt] has quit [Client Quit] 13:19:51 drdo [~drdo@98.192.108.93.rev.vodafone.pt] has joined #scheme 13:25:15 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 13:25:19 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Read error: Connection reset by peer] 13:48:20 jcowan_ [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 13:51:16 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 252 seconds] 13:51:51 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Ping timeout: 252 seconds] 13:51:55 jcowan__ [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 13:53:07 -!- jcowan_ [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Ping timeout: 250 seconds] 13:53:15 jcowan_ [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 13:55:04 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 13:56:17 -!- jcowan__ [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Ping timeout: 240 seconds] 13:57:52 -!- jcowan_ [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Ping timeout: 252 seconds] 14:03:06 choas [~lars@p578F65A0.dip.t-dialin.net] has joined #scheme 14:08:07 mickn [~mickn@unaffiliated/mickn] has joined #scheme 14:08:49 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 14:12:31 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit: Leaving] 14:12:59 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 14:16:07 snorble [~none@s83-179-14-105.cust.tele2.se] has joined #scheme 14:34:04 Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has joined #scheme 14:37:00 kephas [~pierre@AStrasbourg-551-1-16-156.w86-213.abo.wanadoo.fr] has joined #scheme 14:40:08 -!- drdo [~drdo@98.192.108.93.rev.vodafone.pt] has quit [Quit: Leaving] 14:50:22 femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #scheme 14:51:35 Axius [~darkstar@92.82.64.10] has joined #scheme 14:52:55 -!- homie` [~user@xdsl-84-44-142-131.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:53:08 -!- wbooze` [~user@xdsl-84-44-142-131.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:01:57 hotblack23 [~jh@p57BD6B43.dip.t-dialin.net] has joined #scheme 15:09:36 -!- Axius [~darkstar@92.82.64.10] has quit [Quit: Leaving] 15:16:43 -!- mickn [~mickn@unaffiliated/mickn] has quit [Quit: Leaving] 15:18:14 mickn [~mickn@unaffiliated/mickn] has joined #scheme 15:21:08 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 15:23:03 -!- offby1` is now known as offby1 15:23:06 -!- offby1 [~user@q-static-138-125.avvanta.com] has quit [Changing host] 15:23:06 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 15:43:20 pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has joined #scheme 15:44:45 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 15:50:50 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Quit: Leaving.] 15:50:51 jewel [~jewel@196-215-16-208.dynamic.isadsl.co.za] has joined #scheme 15:58:16 klovett [~klovett@c-67-180-97-38.hsd1.ca.comcast.net] has joined #scheme 15:58:28 -!- hotblack23 [~jh@p57BD6B43.dip.t-dialin.net] has quit [Quit: Leaving.] 16:04:13 RageOfThou [~RageOfTho@users-55-165.vinet.ba] has joined #scheme 16:04:57 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 16:05:56 kuribas [~user@d54C436E0.access.telenet.be] has joined #scheme 16:07:47 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 16:08:12 -!- MrFahrenheit [~RageOfTho@users-33-109.vinet.ba] has quit [Ping timeout: 255 seconds] 16:10:18 homie [~user@xdsl-84-44-142-131.netcologne.de] has joined #scheme 16:10:41 wbooze [~user@xdsl-84-44-142-131.netcologne.de] has joined #scheme 16:15:03 vu3rdd [~vu3rdd@122.167.76.178] has joined #scheme 16:17:36 nowhere_man [~pierre@AStrasbourg-551-1-34-84.w92-148.abo.wanadoo.fr] has joined #scheme 16:18:38 -!- kephas [~pierre@AStrasbourg-551-1-16-156.w86-213.abo.wanadoo.fr] has quit [Ping timeout: 264 seconds] 16:22:01 felipe [~felipe@my.nada.kth.se] has joined #scheme 16:27:44 debiandebian [~chatzilla@219.116.51.10] has joined #scheme 16:29:33 femtooo [~femto@95-89-197-196-dynip.superkabel.de] has joined #scheme 16:31:50 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 16:32:09 homie` [~user@xdsl-87-79-87-77.netcologne.de] has joined #scheme 16:32:19 wbooze` [~user@xdsl-87-79-87-77.netcologne.de] has joined #scheme 16:32:47 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 276 seconds] 16:34:48 -!- wbooze` [~user@xdsl-87-79-87-77.netcologne.de] has quit [Client Quit] 16:34:50 -!- homie [~user@xdsl-84-44-142-131.netcologne.de] has quit [Ping timeout: 264 seconds] 16:34:52 -!- homie` [~user@xdsl-87-79-87-77.netcologne.de] has quit [Client Quit] 16:35:23 -!- wbooze [~user@xdsl-84-44-142-131.netcologne.de] has quit [Ping timeout: 276 seconds] 16:37:28 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 16:40:50 mister_m [~matthew@c-71-201-6-9.hsd1.il.comcast.net] has joined #scheme 16:41:02 have you guys ever heard of the Io language? 16:41:11 mmc [~michal@cs27120227.pp.htv.fi] has joined #scheme 16:42:42 I hve. 16:42:43 have. 16:42:49 Long time ago. Don't remember much about it. 16:44:07 Apparently I tried writing an anagrams program in it, a long time ago, and didn't get very far: http://github.com/offby1/anagrams/tree/master/io/ 16:44:38 -!- mickn [~mickn@unaffiliated/mickn] has quit [Remote host closed the connection] 16:45:12 Lemonator [~kniu@HOHOHO.RES.CMU.EDU] has joined #scheme 16:45:55 -!- kniu [~kniu@HOHOHO.RES.CMU.EDU] has quit [Ping timeout: 240 seconds] 16:49:10 luz_ [~david@186.205.37.15] has joined #scheme 16:52:15 wbooze [~user@xdsl-87-79-87-77.netcologne.de] has joined #scheme 16:52:35 homie [~user@xdsl-87-79-87-77.netcologne.de] has joined #scheme 16:53:06 rtra [~rtra@unaffiliated/rtra] has joined #scheme 16:53:30 -!- mister_m [~matthew@c-71-201-6-9.hsd1.il.comcast.net] has quit [Quit: Leaving] 16:54:41 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 265 seconds] 17:00:18 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 17:17:42 femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #scheme 17:21:07 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 17:21:26 -!- rtra [~rtra@unaffiliated/rtra] has quit [Quit: off] 17:23:54 pumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has joined #scheme 17:33:23 molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has joined #scheme 17:33:31 -!- molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has quit [Client Quit] 17:38:17 *ski* . o O ( , ) 17:43:49 lookit them angly brackets. 17:47:08 necroforest [~jarred@pool-108-18-226-169.washdc.fios.verizon.net] has joined #scheme 17:48:45 wingo [~wingo@AMontsouris-551-1-78-206.w90-24.abo.wanadoo.fr] has joined #scheme 17:56:22 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 272 seconds] 18:14:28 atomx [~user@92.80.100.28] has joined #scheme 18:14:31 Hmm, is there a standard way to forget all user-defined variables, i.e. reset the REPL to "factory defaults"? If not, does anyone know a way to do this in MIT Scheme? 18:15:02 Restart it. 18:15:44 jao [~user@81.39.213.106] has joined #scheme 18:16:16 At the console, you can also type (disk-restore), but it won't work very well from Edwin. 18:17:25 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit: Leaving] 18:17:38 Ah ha, (disk-restore) is exactly what I was looking for! It works fine with Emacs' M-x run-scheme 18:17:44 Thanks Riastradh 18:18:16 Personally I don't trust it, actually. But if it works for you, and if you don't notice any memory leaks, well, carry on. 18:18:31 Ah, :s 18:19:31 (It's not because I have observed particular problems with it (except one that I fixed a month ago or so), but I don't usually think about it when making changes to MIT Scheme, and it is a very hairy operation, so it is probably pretty easy to break -- perhaps in ways that won't manifest themselves for a long time.) 18:20:20 Well, it's just sometimes I do silly things like redefine + and whathaveyou. And I was hoping that there was a nice way to get everything back to normal. This appears to work well, if I notice anything unusual I guess I'll let you know. :) 18:48:42 -!- will [~will@19.74.83-79.rev.gaoland.net] has quit [Quit: Quitte] 19:10:06 aDuck [~aduck@bl14-139-138.dsl.telepac.pt] has joined #scheme 19:22:05 -!- aDuck [~aduck@bl14-139-138.dsl.telepac.pt] has quit [Quit: bye] 19:24:16 -!- wingo [~wingo@AMontsouris-551-1-78-206.w90-24.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 19:26:03 schmir [~schmir@p54A91932.dip0.t-ipconnect.de] has joined #scheme 19:38:11 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 19:40:34 -!- schmir [~schmir@p54A91932.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 20:05:17 -!- debiandebian [~chatzilla@219.116.51.10] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]] 20:09:53 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 20:10:26 Can someone explain to me how Emacs filename versioning works? I know there's a convention, but I don't know what it is, not being an Emacs user. 20:11:02 something involving digits and tildes :) 20:12:02 http://www.gnu.org/software/emacs/elisp/html_node/Numbered-Backups.html is probably what you want 20:12:25 -!- jewel [~jewel@196-215-16-208.dynamic.isadsl.co.za] has quit [Ping timeout: 252 seconds] 20:15:06 Backups are numbered starting from 1. For a file named `FOO', the nth backup is named `FOO.~n~'. That's all. 20:15:26 (Backup 1 is the oldest backup.) 20:16:13 debiandebian [~chatzilla@ntszok094010.szok.nt.adsl.ppp.infoweb.ne.jp] has joined #scheme 20:20:17 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 276 seconds] 20:22:19 All good. I see that vim and some other editors use a simple trailing ~, so I'll make that part of the convention too. 20:23:15 I'm writing down a pathname proposal for WG2 Scheme, and I'm going to make it handle URIs as well as pathnames. Since "version" is a traditional part of pathnames, I thought I'd have a mode in which such files populate that field. 20:28:07 -!- vu3rdd [~vu3rdd@122.167.76.178] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:37:39 -!- Ragnaroek [~chatzilla@pD9E257C1.dip.t-dialin.net] has quit [Remote host closed the connection] 20:53:34 mejja [~user@c-14bee555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 21:00:12 wuj [~wuj@pool-74-108-204-117.nycmny.east.verizon.net] has joined #scheme 21:00:50 -!- gravicappa [~gravicapp@ppp85-140-119-151.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:12:19 -!- pumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has quit [Remote host closed the connection] 21:34:26 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 21:34:59 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 21:38:03 -!- stis_ [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 21:38:59 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 21:39:27 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 21:45:38 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 272 seconds] 21:50:16 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 21:50:49 cracraaaaa [bc520b74@gateway/web/freenode/ip.188.82.11.116] has joined #scheme 21:51:00 SICP is to mathy or not? 21:51:24 Nope. Next question? 21:52:05 really? 21:56:47 cracraaaaa: What makes you think it's "too mathy"? 21:57:07 people said it in there web blogs 21:57:20 Where web blogs? 21:57:24 cracraaaaa: They're probably high school kids. The last person who came in here saying so certainly was. 21:57:56 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 21:58:23 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 21:59:09 I'm in High School to 21:59:13 first year 21:59:29 the #lua recommend to me SICP 21:59:39 so i want to read something 21:59:43 *went 22:00:17 cracraaaaa: High-school-level maths may not be enough, but that doesn't mean the text is "too mathy". 22:00:25 Take a look at SICP and at HtDP . Both are freely available on the web. They take very different approaches; you might decide you like one better than the other. 22:00:43 *jcowan* has only high-school-level math 22:01:08 jcowan: I bet you taught yourself everything else needed for programming, though. :-) 22:01:12 when in the book, that the autor uses a lot of maths,? 22:01:50 Big-O notation, maybe. 22:02:05 in what part of the book? 22:03:58 -!- RageOfThou [~RageOfTho@users-55-165.vinet.ba] has quit [Read error: No route to host] 22:04:20 RageOfThou [~RageOfTho@users-55-165.vinet.ba] has joined #scheme 22:04:28 There's some other math. For example, there are various examples drawn from elementary calculus and electrical engineering. 22:04:49 -!- spacebat_ is now known as spacebat 22:05:43 Is "deconstructor" the right term for a procedure that takes the components of a specified X and makes something else out of it? 22:07:27 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 22:07:56 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 22:08:11 HTDP is SICP for dumps? 22:11:56 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 22:12:33 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 22:14:40 Quetzalcoatl_ [~godless@cpe-75-186-5-185.cinci.res.rr.com] has joined #scheme 22:17:37 -!- pavelludiq_ [~quassel@83.222.190.196] has quit [Remote host closed the connection] 22:17:46 -!- cracraaaaa [bc520b74@gateway/web/freenode/ip.188.82.11.116] has quit [Quit: Page closed] 22:46:39 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 22:47:14 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 22:49:46 mickn [~mickn@unaffiliated/mickn] has joined #scheme 22:51:17 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 22:51:50 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 22:54:40 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 22:55:13 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 22:55:47 -!- choas [~lars@p578F65A0.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 23:03:33 -!- mejja [~user@c-14bee555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.11/20101012113537]] 23:11:24 -!- rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 23:13:42 rbarraud [~rbarraud@118-93-187-24.dsl.dyn.ihug.co.nz] has joined #scheme 23:17:55 bonzobo [~user@d173-183-138-200.abhsia.telus.net] has joined #scheme 23:18:16 -!- Nshag [user@lns-bzn-23-82-248-120-55.adsl.proxad.net] has quit [Ping timeout: 240 seconds] 23:18:34 Nshag [user@lns-bzn-43-82-249-150-253.adsl.proxad.net] has joined #scheme 23:38:23 -!- kuribas [~user@d54C436E0.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:42:21 pumpkin [~copumpkin@user-142hbak.cable.mindspring.com] has joined #scheme