00:06:37 -!- moonfart [n=moonfart@199.2.121.90] has quit [Read error: 110 (Connection timed out)] 00:06:46 -!- jewel [n=jewel@dsl-242-171-245.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 00:06:59 -!- name [n=name@sburn/devel/name] has quit ["Lost terminal"] 00:07:06 moonfart [n=moonfart@199.2.121.90] has joined #scheme 00:26:19 -!- benny [n=benny@i577A0DC7.versanet.de] has quit [Read error: 104 (Connection reset by peer)] 00:28:13 mbishop [n=bishop@unaffiliated/mbishop] has joined #scheme 00:32:04 cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has joined #scheme 00:32:17 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 00:34:29 gweiqi [n=greg@69.120.126.163] has joined #scheme 00:38:46 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 00:39:23 -!- melito [n=melito@70.99.250.82] has quit ["Leaving..."] 00:43:11 -!- fschwidom [n=fschwido@dslb-088-068-098-079.pools.arcor-ip.net] has quit [Remote closed the connection] 00:47:47 -!- cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has quit [] 00:52:03 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 00:54:14 -!- mbishop [n=bishop@unaffiliated/mbishop] has quit ["leaving"] 01:07:29 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 01:23:24 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 01:25:17 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 01:26:03 -!- underspecified [n=eric@softbank220043052011.bbtec.net] has quit [] 01:30:36 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 01:37:27 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 01:39:17 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 01:39:30 incubot [n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com] has joined #scheme 01:40:34 incubot: if you had to choose between heart-attack and cancer, what would it be? 01:40:36 semicolon cancer! 01:40:40 sehr nice 01:40:48 annodomini [n=lambda@c-75-69-95-99.hsd1.nh.comcast.net] has joined #scheme 01:42:06 incubot: Should I first learn Perl, or should I learn Python? 01:42:09 I don't know any Python, so I can't comment on that part. 01:42:33 learn python and then dont learn perl 01:43:44 eli: ping (if you haven't passed out from eating your kids' Hallowe'en candy) 01:46:21 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 01:46:29 hey, man; does incubot pass the turing test? 01:46:55 Let's watch him on hidden camera and see. 01:47:17 incubot: Can you help me with a homework problem? 01:47:19 sorry, I misunderstood your problem :/ 01:48:08 incubot: are you better than rudybot_ ? 01:48:10 Not much better, really. ;-) 01:48:28 incubot: How can I write high performance web apps in Scheme? 01:48:29 incubot: you sound suspiciously human. 01:48:31 bigloo also compiles via C, but it doesn't support call/cc unless you ask it to, because it then goes and uses heap allocated frames and the performance dies as a result 01:48:33 i can make up things that sound vaguely important but are obvious about numbers. 01:48:36 I think you're flunking your Turing test. 01:50:11 incubot: Scheme is a stupid language that I have to use in school. 01:50:13 hmm. Damn, I feel stupid. 01:51:35 scheme == awesome. 01:53:03 incubot: I wonder if you could put a macro in a closure, or vice versa. 01:53:06 yeah, but they are equivalent, so it does not only go one way. one is a case of the other and visa versa. 01:53:14 deep; deep 01:53:16 heh 01:53:30 though incorrect 01:53:48 klutometis: you need to prime him with the complete works of brucio and gavino. 01:54:03 Daemmerung: that would be classic 01:54:32 A-lack-of-I 01:57:03 incubot, I wonder if you could put a kongoglorf in a betfffaz, or vice versa. 01:57:05 Well, a whole group of words where 'a' is used instead of 'e'. Since a while, uses of "its" instead of "it's" (and vice versa) belong to that class too. 01:58:22 incubot you are awesome! 01:58:32 ok, ok; not quite turing: but it holds a mirror up to #scheme, as it were 01:58:36 incubot: you are awesome! 01:58:38 really? that's awesome 01:58:51 incubot: who wrote you? 01:58:53 we wrote a crapload of code 01:58:55 incubot: 01:59:47 incubot: will you please curse at me? 01:59:49 the 'national curse' 02:03:25 incubot: the ball is blue. 02:03:27 blue, sarahbot 02:03:41 incubot: who is sarah conner? 02:03:43 O'Conner? 02:03:51 incubot: who is John Galt? 02:03:53 Oink is John Galt. 02:04:43 incubot: ((lambda (x) (x x)) (lambda (x) (x x))) 02:04:45 Eval 21979 timed out. 02:04:49 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 02:05:03 rudybot_: eval ((lambda (x) (x x)) (lambda (x) (x x))) 02:05:06 offby1: error: with-limit: out of time 02:05:08 I wonder if they're related 02:07:20 offby1: rudybot definitely has seniority; i just needed a little chicken-toy for sicp vagrants 02:07:37 .oO("sicp vagrants"?) 02:07:39 don't know the library invocations for plt 02:07:50 those 1st-chapter sicp cats that wander through 02:08:00 with questions on (good-enough? x) etc. 02:08:15 oh, so it's a pure R5RS bot? 02:08:33 I wonder if there's a way to get rudybot_ to eval stuff in R5RS without changing his code 02:08:34 by default, since there are no libraries in the chroot 02:08:39 *offby1* looks meaningfully at eli 02:08:57 klutometis: some day I'd like to run rudybot_'s eval in a separate process. Too lazy though 02:08:58 not even srfi-1; but there there may be chicken-specific stuff 02:09:12 offby1: it was a pain; but using threads was too unstable 02:09:26 ha 02:09:43 using separate processes lets you chroot the dispatcher, though; and relinquish root 02:09:45 a previous version of rudybot had threads up the yin-yang; I nixed 'em all 02:09:54 they were all Riastradh's idea; I blame him 02:10:09 yeah; a simple (thread-sleep! 2) would flummox it 02:11:13 *eli* returns a meaningful look at offby1 02:11:18 incubot: ((lambda (x) (x x)) (lambda (x) (cons (x x) (x x)))) 02:11:21 Eval 21991 timed out. 02:11:29 offby1: That kind of look? 02:11:35 Daemmerung: pong 02:11:56 (And no, he's too young to get enough candy to make me pass out...) 02:12:28 incubot: '|foo bar| 02:12:34 incubot: (begin '|foo bar|) 02:12:34 foo bar 02:12:50 incubot: (begin '|rudybot_: eval "blah"|) 02:12:51 rudybot_: eval "blah" 02:13:06 *eli* slaps rudybot_ 02:13:36 *klutometis* invokes the third law of convodynamics ;) 02:14:51 *eli* un-invokes the second law of robotics 02:15:05 eli: I'd like to sanity-check with you a potential scheme/foreign usage for loading OpenGL extensions. 02:15:30 ok, hopefully nothing that requires knowing GL. 02:15:53 OpenGL has the notion of "extensions." Many of them are procedures, dynamically loaded. My example here is Windows, but X works pretty similarly. 02:16:10 incubot: (begin '|rudybot_: eval "(+ 1 1)"|) 02:16:10 rudybot_: eval "(+ 1 1)" 02:16:40 On Windows, (get-ffi-obj 'wglGetProcAddress (ffi-lib "opengl32") (_fun #:abi 'stdcall _string -> _fpointer)) 02:17:08 Ooh. 02:17:15 That is a routine that returns an address for an extension valid in the current GL context. 02:17:23 (Again, X works similarly.) 02:17:51 I could - catch me if I err - ptr-ref the result of that with a type and get a useful _cprocedure, right? 02:18:13 Probably. Why don't you try a (_fun ...) as the return type? 02:18:18 eli: he ignores anything from someone whose nick ends with "bot" 02:18:28 _fpointer is really weird. 02:18:44 I first thought that I'd have to hack ffi-lib to return some magic cookie that get-ffi-obj would recognize. From reading foreign.ss, appears it ain't so. I think I can do all of this in Scheme. 02:18:46 *Daemmerung* marvels 02:18:46 offby1: yes, looked like you had something like that. 02:18:56 eli: man, you must carry a wireless-enabled laptop around with you everywhere. 02:19:10 offby1: naturally. 02:19:36 naturally 02:19:37 Daemmerung: did you try a `_fun' return type? 02:19:48 offby1: good idea 02:19:49 Havne't tried anything yet. Wanted to run this past you first. 02:20:04 Been reading foreign.ss in the meantime. 02:20:31 Well, _fpointer has something weird, I don't remember exactly what, but it's related to how C expects functions to always be pointers. 02:20:40 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [] 02:21:03 At the C level it has some nasty code that I barely understand... (And I wrote that code...) 02:21:05 So maybe ptr-ref knows not to dereference a _fpointer. 02:21:16 That's roughly the idea, IIRC. 02:21:25 (I have code like that.) 02:21:42 In any case, using a _fun (or a _cprocedure) builds on top of an _fpointer. 02:22:22 At present sgl/gl looks for all of its procs in the standard GL place. I'll be hacking it to back off of that, and try (on Win) the extension names. 02:22:40 rudybot_: eval '|incubot: do something really crazy| 02:22:40 offby1: ; Value: |incubot: do something really crazy| 02:22:40 incubot: (begin '|incubot: (+ 1 2)|) 02:22:41 incubot: (+ 1 2) 02:22:51 One worry: a loaded GL extension is valid only in the current gl context. (with-gl-context) in canvas%. 02:23:46 I'm not sure how I'm going to handle that. Maybe leave it up to the app to invalidate its loaded _fpointer thingies when the canvas dies. Or each canvas caches its own set of extension procs. ick. 02:24:30 Well, with that you went over what I know about GL... 02:24:36 Yeah. 02:24:52 Can't you pull these functions from their own DLLs? 02:25:04 I don't know the DLL, or its name in that DLL. 02:25:12 incubot: (string->symbol "x\ny") 02:25:13 y 02:25:36 The function is provided by an aux lib of the video device driver. nVidia has one, ATI another, Intel yet another, etc. 02:25:50 They standardize through the wglGetProcAddress mechanism. 02:25:52 Daemmerung: So GL is in charge of pulling the function out, hiding those details from you? 02:25:57 eli: correct. 02:26:15 And so I can't use ffi-lib. Gotta roll my own. 02:26:19 Hm. 02:26:27 Though it looks like there is little rolling. 02:27:26 Well, if it is working just like the usual dlsym/GetProcAddress, then a _fun return type (or the others) should work fine. 02:27:45 _fpointer too, but then you need to deal with the result more explicitly. 02:28:00 incubot: (define a 123) 02:28:00 # 02:28:03 incubot: a 02:28:06 incubot: (begin a) 02:28:07 Error: unbound variable: a 02:28:33 incubot: (make-string 600 #\a) 02:28:34 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 02:28:44 incubot: (make-string 600 #\newline) 02:28:56 *eli* listens to the crickets 02:29:10 incubot: (make-string 600000000 #\newline) 02:29:13 Eval 22032 timed out. 02:29:23 That's the sound of 600,000,000 crickets dying. 02:29:30 klutometis: be afraid. Be very afraid. 02:29:32 Eli is a bot-killer 02:29:47 vorpal [n=rhunter@pdpc/supporter/student/vorpal] has joined #scheme 02:29:57 ...or very few of them dying from shame, given that the rest were not even born. 02:30:37 incubot: (list->string (map integer->char '(65 66 67))) 02:30:38 ABC 02:30:56 incubot: (list->string (map integer->char '(65 66 67 1 65 1 65))) 02:30:56 ABCAA 02:31:17 *eli* wonders if it's time to pull out an IRC manual... 02:32:11 Daemmerung: When you get there, tell me if/how it worked, it would be interesting. 02:32:23 I will. I wonder if this is a more general need? 02:32:36 (Given that it's one of the very few instances of a HO function in C that are practical.) 02:32:46 Should there be a way to generalize/extend ffi-lib? 02:33:21 I'm not sure that there's a need for an extension. 02:33:42 BTW, see collects/tests/mzscheme/foreign-test.ss for the tests, many of them deal with higher order functions. 02:34:01 Any time I have a mapping lib x name x type -> fun, and want to change the domain of lib.... 02:34:03 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 02:34:29 I didn't follow that... 02:35:49 underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has joined #scheme 02:35:51 Daemmerung: Just to be sure I'm not missing something -- you're not talking about the fact that `wglGetProcAddress' needs to have different types, right? 02:36:35 That's because I was unclear. At present, FFI supports library name + "name of function" + "type" and gives you a function dynloaded from the library of that name via a particular mechanism. I want to introduce a new library name that doesn't dynload the same way. 02:37:14 "opengl32" + 'wglGetProcAddress + (_fun blah blah) -> one particular _cproc 02:38:05 I think that I'm more confused now. 02:38:08 (special-opengl-extension-place_ + 'glMultiTexCoord1dvARB + (_fun _uint32 _float -> _void) -> another _cproc, gen'd differently 02:38:41 that underscore is sposed to be a ) 02:38:50 But as far as the ffi is concerened, you're just calling a C function, and getting back a value, which happens to be a C function itself. 02:39:25 Right. Well, the tools are all there for me to roll my own. 02:39:38 incubot: (make-string 600 (integer->char 0)) 02:39:51 (more crickets) 02:40:02 incubot: (make-string 600000 (integer->char 0)) 02:40:06 incubot: (make-string 60000000 (integer->char 0)) 02:40:15 -!- jonrafkind [n=jon@wireless212.wireless.utah.edu] has quit [Read error: 110 (Connection timed out)] 02:40:16 nooooo! 02:40:18 incubot: (+ 1 2) 02:40:19 3 02:40:19 don't keeel him 02:40:29 Some bots just need killin'. 02:40:43 Daemmerung: well, I think that I'm missing the problem. 02:40:54 incubot: (make-string 600 (integer->char 1)) 02:40:54 ... 02:40:59 *gasp* 02:41:03 make the pain stop 02:41:33 incubot: (list->string (map integer->char '(65 66 67 13 10 65 66 67))) 02:41:34 ABC 02:41:42 eli: It's not really a problem. I'm merely overreacting to the general name of "get-ffi-obj" vs the specificity of its mechanism. 02:41:44 incubot: (list->string (map integer->char '(65 66 67 13 10 65 66 67 68))) 02:41:45 ABCD 02:41:51 -!- aspect [i=aspect@burns.dreamhost.com] has left #scheme 02:42:27 Not that I want to type get-ffi-obj-from-ffi-lib-right-now-plz-kthxbye 02:42:56 Anyway, let me implement it and report back. Thanks for listening. 02:43:07 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 02:44:04 (Ugh, I have chocolate in my hair.) 02:44:19 so... https://synx.us.to/feepcode/hexdiff/diff3thing.ss 02:44:25 It seems to be working... 02:44:51 Daemmerung: Bottom line, I think -- sounds to me like you can create that wrapper around the GL thing, 02:44:53 It only reports the difference in byte 3, in the test case. 02:45:09 where the thing that you'll need to do is make it work with different types. 02:45:31 Which is sort of like the cprintf glue, which works with different input types. 02:45:41 (collects/ffi/c-printf.ss) 02:46:00 -!- eli [n=eli@winooski.ccs.neu.edu] has left #scheme 02:46:11 But of course I have 6 memory images. 3 "before" and 3 "after", and running it on those produces nothing in common at all between before and after. 02:46:27 eli [n=eli@winooski.ccs.neu.edu] has joined #scheme 02:46:56 It's decrementing a freaking integer, there's gotta be a byte in there that changes when you decrement, but otherwise stays the same! 02:47:05 -!- eli [n=eli@winooski.ccs.neu.edu] has left #scheme 02:47:05 is there a way to grab the arguments of a calling list if the function isn't the first function in the list? 02:47:09 eli [n=eli@winooski.ccs.neu.edu] has joined #scheme 02:47:14 How could there not be any common bytes at all? 02:47:19 *eli* slaps Emacs 02:48:47 JohnnyL: example? What do you mean by "grab"? 02:49:54 such as (function1 function2 function3 function4) then inside function2 execute the symbol for function3. 02:50:59 How do you execute a symbol? 02:51:38 If "function1" is not a procedure but rather is syntax, then you can do this. 02:52:04 (Or function1 could be a procedure, too.) 02:52:15 how? 02:53:09 No, I take it back. I have no idea what you want to do, really. 02:53:32 Provide a concrete example. And be precise. 02:54:32 Daemmerung I can't get any more simplier or exact than I already have. 02:55:16 Daemmerung is the calling functions arguments seen by within the function? 02:58:22 No, not at all. 02:58:27 Not in the slightest. 02:58:50 I don't even know if you can predict what order the arguments will be evaluated in... 02:59:50 synx, yeah thats what I thought too. 02:59:54 just checking. 03:00:22 The rules of Scheme are very simple: (a b c) evaluates a, b, and c, then applies a (as a procedure) to b and c. If a is syntax, Scheme will rewrite (a b c) per that syntax into some other form, then eval the results. 03:01:29 The procedure that was the value of a will receive two parameters: the value of b, and the value of c. What it does with those two parameters are its own business. Perhaps it applies b in turn to c. 03:02:32 If a was syntax, and rewrote (a b c) to (b 'ziggy 'foobar c), then b would be applied (as a procedure) to three values. Perhaps that's what you want. /wild-assed guess 03:03:35 Daemmerung Ok 03:03:37 thanks guys. 03:13:16 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 03:15:11 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [] 03:21:03 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 03:21:13 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 03:30:47 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 03:40:14 jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has joined #scheme 03:40:46 *jcowan* unvanishes yet again. How boring. 03:46:01 -!- jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has left #scheme 03:52:20 grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has joined #scheme 04:03:02 elmex_ [n=elmex@e180064208.adsl.alicedsl.de] has joined #scheme 04:06:19 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:09:23 Daemmeru` [n=goetter@64.146.161.228] has joined #scheme 04:09:23 -!- Daemmerung [n=goetter@64.146.161.228] has quit [Read error: 104 (Connection reset by peer)] 04:11:55 BW^- [i=Miranda@94.191.142.70.bredband.tre.se] has joined #scheme 04:12:49 i have a function in inlined C in a scheme file in gambit, and i want inlined C code in another scheme file in gambit to be able to access the first. any idea how? :) 04:14:50 -!- Daemmeru` is now known as Daemmerung 04:15:22 so basically it's a general C question. unresolved external symbol "int __cdecl release_WindowStruct_star(void *)" (?release_WindowStruct_star@@YAHPAX@Z). hm. 04:17:39 -!- elmex [n=elmex@e180066111.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 04:17:43 -!- elmex_ is now known as elmex 04:39:26 ccl-logbot [n=ccl-logb@master.clozure.com] has joined #scheme 04:39:26 04:39:26 -!- names: ccl-logbot BW^- Daemmerung elmex grettke jeremiah errordeveloper eli jonrafkind underspecified vorpal peter_12 incubot wastrel dfeuer moonfart kniu synx AtnNn hemulen leppie synthasee papermachine tizoc specbot minion lisppaste Cale kilimanjaro borism pitui cracki hiyuh replor sm Nshag foof sad0ur ttmrichter rdd araujo leppie_work zbigniew Kusanagi Kinks pchrist brandelune tjafk2 sladegen eno bpt Wardje Poeir ggbbgg Modius schme_ z0d grnman 04:39:26 -!- names: offby1 vkm elf ski_ ricky mornfall kazzmir_ certainty|work Mr_Awesome samth Debolaz bsmntbombdood pjdelport aquanaut pchrist|univ levi sjamaan tarbo CaptainMorgan proq a-s jdev seth keyofnight saccade merlincorey tessier p1dzkl elias` sphex xz felipe ineiros rudybot_ tabe Khisanth Axioplase_ duncanm r0bby travisbemann bascule tltstc ctsprsrcl viocizgd djjack_ Elly nasloc__ agemo rmrfchik Riastradh dlouhy Leonidas Paraselene_ gnomon qebab xian 04:39:26 -!- names: michaelw XTL Adrinael klutometis clog bunz mqt ski maskd heat kalven chandler j4cbo pbusser2 Deformative vincenz Arelius emma 04:46:05 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["bedtime"] 04:46:53 offby1: i witnessed eli fearsomely dispatch sarahbot with a single y-combinator 04:49:03 la la la 04:50:40 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 04:54:39 -!- grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has quit [] 05:00:26 klutometis: that sounds like dialog from an XKCD panel 05:09:20 what's the nice way to extend a monad? 05:10:24 tjafk1 [n=timj@e176217015.adsl.alicedsl.de] has joined #scheme 05:11:58 -!- tjafk2 [n=timj@e176221057.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 05:14:18 bread crumbs 05:14:39 or if you want to get fancy: Hamburger Helper 05:15:38 Daemmeru` [n=goetter@64.146.161.228] has joined #scheme 05:15:38 -!- Daemmerung [n=goetter@64.146.161.228] has quit [Read error: 104 (Connection reset by peer)] 05:20:30 tizoc_ [n=user@r190-135-2-41.dialup.adsl.anteldata.net.uy] has joined #scheme 05:26:12 r2q2 [n=user@c-71-228-37-14.hsd1.il.comcast.net] has joined #scheme 05:28:44 how the hell does Action Replay do it... 05:29:25 I've got the memory dump from one instant to the next, nothing in common at all. Are they bulk moving their memory around? 05:30:16 ok one more time 05:36:43 -!- tizoc [n=user@r190-135-62-173.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 05:41:17 ? 05:45:28 I'm trying to find similarities in ROM dumps at different times. 05:46:30 Like "before I use a move, after I use a move" to find where the counters for that move are in memory. 05:46:43 Then I guess hack the emulator to block writes to that location. 05:48:22 -!- r2q2 [n=user@c-71-228-37-14.hsd1.il.comcast.net] has quit [Remote closed the connection] 05:49:15 well that's a great howd'youdo. Hope I didn't scare 'em away. 05:52:39 how do i mutate a list so that its last entry is removed? 05:54:02 ah, apparently (set! thelist (reverse (cdr (reverse thelist))) 05:54:20 that generates an entirely new list. 05:54:27 -!- Daemmeru` is now known as Daemmerung 05:55:37 right. is there any straightforward way (except writing an own loop) to remove the last entry? 05:55:52 i suppose just overwriting the next-last pair's cdr with '() would do 05:56:00 that's how you'd do it. 05:56:28 me, i'd reverse-cdr-reverse like you first proposed. 05:56:46 right. same here. small list in any case. 06:01:28 tizoc [n=user@r190-135-11-216.dialup.adsl.anteldata.net.uy] has joined #scheme 06:02:28 MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has joined #scheme 06:03:11 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["foobar"] 06:06:52 -!- Nshag [i=user@Mix-Orleans-106-3-199.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 06:18:34 -!- Kinks [n=Kinks@uc087.housing.umanitoba.ca] has quit [Read error: 113 (No route to host)] 06:19:14 -!- tizoc_ [n=user@r190-135-2-41.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 06:27:29 -!- papermachine is now known as meryrus 06:29:10 -!- underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has quit [] 06:42:56 sili [n=sili@222.127.230.225] has joined #scheme 06:47:17 underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has joined #scheme 07:06:52 heheh I think it's putting the memory image through zlib before saving it to disk. 07:07:45 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 07:15:41 synx: what are you up to? 07:15:51 eeevil things 07:16:02 haxor? 07:16:10 https://synx.us.to/feepcode/hexdiff/diff3thing.ss 07:16:52 what about it? 07:16:56 My idea was you compare save states before, then save states after doing something useful. Then you can find what memory it uses, only for that useful thing. 07:17:04 ...when emulating zee games 07:17:19 ok 07:17:24 -!- Daemmerung [n=goetter@64.146.161.228] has quit ["Smoove out."] 07:17:55 I didn't anticipate it got piped through zlib when saving a state though. Two identical states were 99.6% different after that. xp 07:18:59 change one timestamp in the beginning, and the differences cascade through the rest of the compressed data. 07:20:45 -!- sm [n=sm@pool-71-107-249-113.lsanca.dsl-w.verizon.net] has quit [] 07:23:07 Bzek [n=SK_sj@mcc-dyn-19-195.kosnet.ru] has joined #scheme 07:25:52 yosh. without compression there's only a 0.3% difference between save states. That I can work with. 07:27:44 saccade_ [n=saccade@209-6-23-56.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 07:42:01 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 07:42:25 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 07:47:42 AshyIsMe [n=User@202.176.4.21] has joined #scheme 07:55:48 -!- AshyIsMe [n=User@202.176.4.21] has quit ["Leaving"] 07:57:20 cajetanus [n=cajetanu@aapo120.neoplus.adsl.tpnet.pl] has joined #scheme 07:57:51 -!- meryrus [n=ahoman@61.152.106.169] has left #scheme 08:06:27 -!- synthasee [n=synthase@68.63.20.12] has quit [Read error: 60 (Operation timed out)] 08:10:48 meryrus [n=ahoman@61.152.106.169] has joined #scheme 08:11:04 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 08:14:35 cajetanus_ [n=cajetanu@aapq121.neoplus.adsl.tpnet.pl] has joined #scheme 08:16:18 -!- MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has quit [Remote closed the connection] 08:18:20 -!- cajetanus [n=cajetanu@aapo120.neoplus.adsl.tpnet.pl] has quit [Read error: 60 (Operation timed out)] 08:18:27 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 08:24:48 -!- meryrus is now known as papermachine 08:26:50 mike___ [n=mike@dslb-088-067-043-148.pools.arcor-ip.net] has joined #scheme 08:29:12 benny [n=benny@i577A0F35.versanet.de] has joined #scheme 08:36:34 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 08:44:14 Kinks [n=Kinks@uc087.housing.umanitoba.ca] has joined #scheme 08:45:08 -!- papermachine is now known as meryrus 09:10:55 -!- underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has quit [] 09:35:43 hotblack23 [n=jh@p5B053AA5.dip.t-dialin.net] has joined #scheme 09:50:34 kib2_ [n=chatzill@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 09:55:54 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 54 (Connection reset by peer)] 09:56:08 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 10:04:32 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 10:22:06 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 10:36:18 underspecified [n=eric@softbank220043052011.bbtec.net] has joined #scheme 10:50:33 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 10:53:09 mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 10:59:02 -!- mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 11:07:31 mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 11:14:18 choas_ [n=lars@p5B0DC8BD.dip.t-dialin.net] has joined #scheme 11:17:02 -!- choas_ is now known as choas 11:23:13 -!- mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has left #scheme 11:27:53 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 11:34:41 ejs [n=eugen@80.91.178.218] has joined #scheme 11:52:25 jewel [n=jewel@dsl-242-171-245.telkomadsl.co.za] has joined #scheme 11:52:42 mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 11:56:21 -!- Paraselene_ [n=Not@79-68-228-157.dynamic.dsl.as9105.com] has quit [Read error: 104 (Connection reset by peer)] 11:59:18 -!- sili [n=sili@222.127.230.225] has quit [Read error: 60 (Operation timed out)] 12:03:34 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 12:15:34 -!- choas [n=lars@p5B0DC8BD.dip.t-dialin.net] has quit ["leaving"] 12:16:19 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 12:20:09 synthasee [n=synthase@68.63.20.12] has joined #scheme 12:25:59 cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has joined #scheme 12:39:31 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 12:50:53 -!- cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has quit [] 12:58:31 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 12:59:38 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Connection reset by peer] 13:06:29 MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has joined #scheme 13:17:39 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 13:20:05 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Connection reset by peer] 13:29:00 -!- Deformative [n=joe@c-68-62-76-160.hsd1.mi.comcast.net] has quit [Remote closed the connection] 13:37:09 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 13:37:33 rmns [n=ramunas@88.222.137.30] has joined #scheme 13:46:45 -!- jewel [n=jewel@dsl-242-171-245.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 13:51:43 gweiqi [n=greg@69.120.126.163] has joined #scheme 13:59:42 -!- travisbemann is now known as travis|awau 14:00:48 Are there any Scheme implementations that do the full R6RS? Are there any that will be doing so in the near-ish future? 14:01:37 plt? 14:03:19 ikarus? 14:03:34 ypsilon? 14:05:21 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 14:10:44 fschwidom [n=fschwido@dslb-084-059-253-120.pools.arcor-ip.net] has joined #scheme 14:16:40 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 14:18:28 -!- grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has quit [Remote closed the connection] 14:18:52 grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has joined #scheme 14:20:04 -!- ejs [n=eugen@80.91.178.218] has quit [Read error: 110 (Connection timed out)] 14:22:31 Thanks for the pointers. 14:22:51 sili [n=sili@222.127.230.225] has joined #scheme 14:23:33 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 14:26:02 no pointers in scheme. leave it to C 14:30:36 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 14:30:55 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 14:39:09 Deformative [n=joe@c-68-62-76-160.hsd1.mi.comcast.net] has joined #scheme 14:44:16 ttmrichter, you won't want to use the R6RS in full; it doesn't work very well. 14:44:37 Riastradh: Why is this? 14:45:18 -!- benny [n=benny@i577A0F35.versanet.de] has quit [Remote closed the connection] 14:47:00 benny [n=benny@i577A0F35.versanet.de] has joined #scheme 14:52:39 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 15:10:53 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 15:21:50 besiria [n=user@ppp083212084218.dsl.uom.gr] has joined #scheme 15:23:08 goedel [i=steffen@pdpc/supporter/professional/goedel] has joined #scheme 15:24:44 v-to [n=v-to@3e44b9b7.adsl.enternet.hu] has joined #scheme 15:28:12 TheBase [n=thebase@87.113.208.114] has joined #scheme 15:28:14 hello 15:28:51 I don't believeyou 15:29:15 -!- v-to [n=v-to@3e44b9b7.adsl.enternet.hu] has left #scheme 15:30:52 choas [n=lars@p5B0DC8BD.dip.t-dialin.net] has joined #scheme 15:35:38 Nshag [i=user@Mix-Orleans-106-4-133.w193-248.abo.wanadoo.fr] has joined #scheme 15:55:26 -!- cajetanus_ [n=cajetanu@aapq121.neoplus.adsl.tpnet.pl] has left #scheme 15:58:42 Modius_ [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has joined #scheme 16:03:03 -!- besiria [n=user@ppp083212084218.dsl.uom.gr] has quit [Read error: 113 (No route to host)] 16:14:20 how can I change an '(a) to a '(b) by dealing with the char as a number and incresing it by 1? 16:14:39 like char 'a'; a++; in C/C++ 16:18:54 rudybot_: eval (integer->char (+ 1 (char->integer #\a))) 16:18:54 sladegen: ; Value: #\b 16:19:55 a is a symbol, so you'd probably need ->char or ->string, first. 16:20:56 TheBase, a better question is: `Why do you want to do this? What are you trying to accomplish?' 16:21:21 -!- Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has quit [Connection timed out] 16:21:46 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 16:22:05 wow... it was 4 hours ago... 16:22:27 no "traffic" at all in the meantime. 16:22:36 minion: impossible! 16:22:37 you speak nonsense 16:22:50 -!- p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has quit [Read error: 104 (Connection reset by peer)] 16:23:29 oops. 16:23:36 *sladegen* silly. 16:24:19 minion: kick me! 16:24:20 why do i have to do your dirty work? kick you yourself. 16:24:22 -!- sili [n=sili@222.127.230.225] has quit [Read error: 110 (Connection timed out)] 16:24:50 minion: how is the weather in Atlanta? 16:24:50 fine i'm sure 16:25:23 p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has joined #scheme 16:26:05 Riastradh, that's not a better question. Right now I want to learn but I'm sure there are other use for it. 16:27:50 What you want to do never comes up in any sensible Scheme program. 16:29:03 rudybot_: eval (let ((++ (lambda (foo) (if (char? foo) (integer->char (+ 1 (char->integer foo)))))) (values (++ #\a) (++ #\b) (++ #\c))) 16:29:03 sladegen: error: eval:1:0: read: expected a `)' to close `(' 16:29:28 o_O 16:29:58 rudybot_: eval (let ((++ (lambda (foo) (if (char? foo) (integer->char (+ 1 (char->integer foo))))))) (values (++ #\a) (++ #\b) (++ #\c))) 16:29:58 sladegen: error: eval:1:24: if: bad syntax (must have an "else" expression) in: (if (char? foo) (integer->char (+ 1 (char->integer foo)))) 16:30:00 sladegen, do note that the isomorphism between integers and characters does not require that the integers be consecutive. Also, `++' is not a valid readable symbol. 16:30:24 rudybot_; are you trying to do the same as me? 16:30:26 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 16:30:40 Riastradh: i know... i'm just fooling. 16:31:54 TheBase, so, what are you trying to accomplish? Symbols are objects without any internal structure, objects that represent themselves. Perhaps you're trying to process some sort of text, in which case you would be using strings, not lists of symbols. 16:33:56 minion: advice for TheBase 16:33:56 TheBase: #11961: How should I know what is wrong when I haven't even seen the code? I am not clairvoyant. 16:35:43 lol 16:36:53 I avoid pasting the code so that I can learn more about the problem. 16:37:01 Damn. I got to go now. 16:37:22 Laters. 16:37:43 -!- TheBase [n=thebase@87.113.208.114] has quit [] 16:39:36 -!- vincenz [n=arli@li23-146.members.linode.com] has quit [Remote closed the connection] 16:40:12 -!- rudybot_ [n=luser@li11-10.members.linode.com] has quit [Remote closed the connection] 16:40:24 Modius__ [n=Modius@adsl-69-149-119-195.dsl.austtx.swbell.net] has joined #scheme 16:42:43 rudybot_ [n=luser@li11-10.members.linode.com] has joined #scheme 16:44:56 -!- MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has left #scheme 16:45:30 vorpal [n=rhunter@pdpc/supporter/student/vorpal] has joined #scheme 16:46:55 Axioplase [n=Pied@79.248.206-77.rev.gaoland.net] has joined #scheme 16:49:13 vincenz [n=arli@li23-146.members.linode.com] has joined #scheme 16:51:20 name [n=name@sburn/devel/name] has joined #scheme 16:52:18 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 16:53:13 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 16:53:25 Daemmerung [n=goetter@64.146.161.228] has joined #scheme 16:56:38 sm [n=sm@pool-71-165-166-169.lsanca.dsl-w.verizon.net] has joined #scheme 16:57:02 Just wrote my first explicit `loop' (actually, the PLT `for') ever. I don't feel nearly as dirty as I thought I might. 16:58:24 For working with vectors-- not a bad thing, really. Maybe I'll regret this move someday. 16:58:25 you don't use let loops? 16:58:33 I do use let loops. 16:58:39 I think that counts 16:58:58 let loops and explicit letrecs both. But never the sugar-coated LOOP. 16:59:24 I would say let loop is sugar =P But I get what you mean 17:00:03 Anything that hides the i := i + 1; -- now THAT'S sugar. 17:00:10 -!- travis|awau is now known as travisbemann 17:00:26 sreeram [n=sreeram@122.164.8.143] has joined #scheme 17:03:12 -!- Modius_ [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has quit [Read error: 110 (Connection timed out)] 17:04:11 plt's iterations are pretty nice. They're kinda like foof-loop, if I recall correctly. 17:04:22 They don't make as much sense, though. 17:05:46 foof-loop I remember as way too keywordy for my taste. 17:06:04 Could be that I'm the frog in the pot of boiling water, though. 17:06:15 Too keywordy? 17:07:32 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 17:07:35 That was the feeling upon examining code in it. I can't be more precise-- this is a recollection. Could be that if I reviewed it today (havingt taken that first horrible step) I'd feel differently. 17:10:03 I don't think plt or foof-loop hides assignment of counters 17:10:07 they don't assign 17:10:27 See, foof-loop has no keywords at all, while PLT's FOR has things like `#:when mumble'! 17:10:40 xz: They don't assign, they bind. Right. That was as close as I could get in Pascal. 17:10:40 foof loop has plenty of auxiliary keywords 17:14:26 On a more serious note, the alternative to the keywords chosen by foof-loop is guessing at what the programmer might mean, allowing easier foot-shooting, and assuming a complex (or probably inflexible) generic dispatch system. 17:15:05 -!- choas [n=lars@p5B0DC8BD.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 17:18:22 Earlier versions of foof-loop had slightly fewer keywords, at the expense of clarity. For example, there was an IN-NUMBERS iterator, and an IN-RANGE iterator, as in PLT's library; after long discussions about it, I decided that the useful modes of numerical iteration were better expressed with foof-loop's ({UP,DOWN}-FROM [(TO ) (BY )]) than by IN-RANGE or IN-NATURALS. 17:18:29 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 17:18:47 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 17:18:52 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 17:21:43 While for me, the PLT (actually SRFI 42 I think) sequences feel more, well, natural. I'm not looking at a #:by 'jove or #:to 'morrow and trying to match that against something else. 17:22:12 Which sequences in particular? 17:22:24 They're all sequences. That's the charming thing. 17:22:47 I'm not aware of any in foof-loop or PLT FOR (which is very different from SRFI 42, which in turn is useless) that involve anything remotely resembling `#:BY JOVE #:TO MORROW'. 17:22:57 Suppose, on the other hand, I write the following: 17:23:07 (for ((x (in-range 0 -10 1/2))) ...) 17:24:35 This could mean that I want to iterate over ascending or descending integers, which is not clear to begin with. 17:24:45 The frog sitting in the slowly heating soup pot - "Hey guys! Hop in, the water's nice and warm! Don't mind the bay leaves!" 17:24:46 Sorry, not quite integers, but real numbers anyway. 17:24:56 Special demi-integers. 17:26:24 First of all it's not clear what the positions mean. Forgetting that for a moment, however, the programmer will almost certainly, in most cases, want an inclusive lower bound and an exclusive upper bound, regardless of what direction the iteration is in. (Consider, for instance, iterating from the end to the beginning of a vector.) 17:27:04 I don't know how you'd reverse a sequence in PLT for. 17:27:10 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 17:27:17 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 17:27:27 Unfortunately, the structure of a loop over ascending numbers is different from the structure of a loop over descending numbers when the lower bound is inclusive and the upper bound is exclusive. Switching between them (sensibly) requires non-trivially changing the loop. 17:27:53 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 17:28:22 Furthermore, it is very rare that the decision of the direction of the iteration is not intended to be made until run-time. 17:28:27 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [Read error: 60 (Operation timed out)] 17:29:06 On the other hand, the difference between iteration between two bounds and iteration from one bound arbitrarily far in one direction is very small. 17:29:21 -!- kib2_ [n=chatzill@bd137-1-82-228-159-28.fbx.proxad.net] has quit ["ChatZilla 0.9.83 [Firefox 3.0.3/2008092417]"] 17:30:03 So it is more sensible to group ascending iteration separately from descending iteration, than it is to group unbounded iteration separately from bounded iteration. 17:30:51 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 17:31:35 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 17:31:46 Were foof-loop to have used positional parameters rather than named parameters, there would be one fixed order for the parameters start, end, and step, with some of them optional. The only sensible order, though, in order for that to work, is start, step, end, while on the other hand I find that bounded iteration is more common than unbounded iteration with a step other than 1. 17:32:33 That last point suggests that the step ought to be the `most optional' parameter, putting it last -- which prohibits unbounded iteration with steps other than 1. 17:33:55 [Also, IN-NATURALS is a silly choice of name. Since there is no bound based on an ordering relation, there is no reason for IN-NATURALS not to accept even complex numbers.] 17:34:01 PLT is positional, which works for me. Named arguments with only 3 parameters is verbose. If I find myself reverse-iterating often, I'll call make-do-sequence to make a sequence generator with better positionality. 17:38:59 Actually, IN-RANGE dynamically chooses the sense of the conditional based on the sign of the step. This leads to easy foot-shooting, because it won't adapt the structure of the loop to what makes most sense for descending from an exclusive upper bound to an inclusive lower bound. 17:41:10 foof-loop makes it much easier not to shoot oneself in the foot with fence posts, and named parameters were the concisest way I could find to manage that. One possibility I considered, and decided against, was a pair of IN-ASCENDING-RANGE and IN-DESCENDING-RANGE. 17:41:31 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 17:42:56 choas [n=lars@p5B0DC8BD.dip.t-dialin.net] has joined #scheme 17:45:41 (And using a hand-written iterator for each reverse iteration is even more elaborate and prone to error!) 17:47:51 Agree with you on in-range with a negative step. It is quite awkward for indexing sequences. 17:48:17 rudybot_: eval (for ((e (in-vector (vector 'a 'b 'c 'd 'e) 4 -1 -1))) (display e)) 17:48:18 Daemmerung: ; stdout: "edcba" 17:48:22 ick. 17:49:38 If I ever need to do that I'll write an in-reverse-vector. 17:51:25 what is a good scheme to C compiler which observes Revised(5) Scheme Report? 17:51:28 ...oh, I forgot to add: the IN-ASCENDING-RANGE and IN-DESCENDING-RANGE I considered would have had all positional parameters. In fact, if you want them, you can straightforwardly make them in terms of UP-FROM and DOWN-FROM (without futzing with the loop structure yourself). But I found that (UP-FROM ... (TO mumble)) looked clearer and read much better as an English phrase. 17:51:38 goedel: Gambit. 17:51:49 Daemmerung: thank you 17:56:07 -!- synthasee [n=synthase@68.63.20.12] has quit [Read error: 110 (Connection timed out)] 18:01:06 tizoc_ [n=user@r190-135-49-145.dialup.adsl.anteldata.net.uy] has joined #scheme 18:01:27 -!- kilimanjaro is now known as mark-tizzle 18:01:33 -!- tizoc [n=user@r190-135-11-216.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 18:01:37 -!- tizoc_ is now known as tioc 18:10:16 -!- sm [n=sm@pool-71-165-166-169.lsanca.dsl-w.verizon.net] has quit [] 18:16:16 wingo-tp [n=wingo@232.Red-81-38-182.dynamicIP.rima-tde.net] has joined #scheme 18:16:19 greets. 18:16:22 -!- mark-tizzle is now known as kilimanjaro 18:16:42 q: when r6rs says: "The continuations of all non-final expressions within a sequence of expressions, such as in lambda, begin, let, let*, letrec, letrec*, let-values, let*-values, case, and cond forms, usually take an arbitrary number of values." 18:16:50 what the hell does it mean by "usually"? 18:17:47 Not a clue. 18:19:09 me neither. 18:19:16 -!- offby1` is now known as offby1 18:21:39 Ask Sperber, he wrote it. Meant to take the following paragraph in account, I suppose. 18:21:53 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 18:23:08 -!- travisbemann is now known as travis|away\ 18:23:15 -!- travis|away\ is now known as travis|away 18:24:18 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 60 (Operation timed out)] 18:24:48 heh 18:25:19 Time to pull the plug to see how my code fails /this/ time. 18:25:25 -!- Daemmerung [n=goetter@64.146.161.228] has quit ["Smoove out."] 18:26:55 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 18:27:00 -!- travis|away is now known as travisbemann 18:28:42 -!- fschwidom [n=fschwido@dslb-084-059-253-120.pools.arcor-ip.net] has quit [Remote closed the connection] 18:29:51 This time for sure! 18:29:56 -!- offby1` is now known as offby1 18:31:56 offby1, did you have a costume yesterday? 18:32:03 -!- travisbemann is now known as travis|away 18:33:18 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 18:36:15 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 18:36:48 synthasee [n=synthase@68.63.20.12] has joined #scheme 18:46:26 besiria [n=user@ppp083212086100.dsl.uom.gr] has joined #scheme 18:49:20 no sir 18:49:39 don't do Halloween. It's ... beneath me 18:49:40 *offby1* makes fart sounds with his armpit 18:49:43 does anyone know of a scheme out there that represents multiple values as one compound object? 18:49:52 *offby1* stares blankly 18:50:02 e.g. guile 1.8 and scm do. do any of the more serious compilers do that? 18:50:14 There are some. 18:50:51 here's what I'm really getting at, which is more the opposite of what i was asking: 18:51:02 IronScheme uses a compound object too, well just a record with a vector (if thats compound) 18:51:10 (begin (values) 1) 18:51:18 sm [n=sm@pool-71-165-166-169.lsanca.dsl-w.verizon.net] has joined #scheme 18:51:19 does this error for any of your schemes 18:51:21 thanks leppie 18:51:40 (values) => unspecified 18:51:48 I am not aware of any Scheme system in which that is an error, wingo-tp. 18:51:59 leppie, if `unspecified' means `an unspecified value', then that is a bug. 18:52:17 (VALUES) returns zero values; (CALL-WITH-VALUES VALUES (LAMBDA (X) ...)) is an error. 18:52:19 Riastradh: R5RS: Except for 18:52:19 continuations created by the `call-with-values' procedure, all 18:52:19 continuations take exactly one value. 18:52:30 so it would seem to be invalid R5 scheme 18:52:30 wingo-tp, yep. I'm not aware of any Scheme system that detects this, however. 18:52:43 although most good compilers would optimize out the (values) 18:53:12 well, damn then. have to redo some of the things i was hacking on. 18:53:24 (call-with-values values (lambda () #t)) => #t 18:53:55 in IRonScheme 18:54:08 i do handle the case with 0 values specially 18:54:31 but i try to expand the call if i can 18:54:57 ((lambda () (call-with-values values (lambda vals (apply values vals))) 1)) 18:55:09 what about that one, avoids the most direct optimizations 18:55:16 ? 18:55:22 that works, result is 1 18:55:39 errors on my compiler, because a non-final expression takes one value in it. 18:55:48 hence the need for me to rewrite stuff, yargg 18:56:11 i used to use just a vector (i think ypsilon does this still) 18:56:30 but it interferred with my 'apply' calling convention 18:56:47 i guess that's the right way to do it on the clr 18:57:00 -!- tioc is now known as tizoc 18:57:05 but ideally you shouldn't have to allocate anything to return multiple values 18:57:22 you also need to make sure that values is just returned, and not stored in some intermediatary object, but that is more tricky 18:59:22 Riastradh: a bit contorted, but just trying to fool the compiler into not optimizing away what i'm trying to test ;) 19:19:59 Separately (define (f) (values)) and (begin (f) 0). 19:20:02 ...separately compile. 19:22:14 Riastradh: yes, you are right. 19:23:10 as usual ;) 19:23:12 he's pretty much always right 19:23:15 sucks 19:23:16 heh 19:23:21 Except when he's wrong. 19:23:45 ok so, other topic: why do we not have a portable slime yet for scheme, hmm? 19:24:13 Because getting Scheme implementors to agree on anything is liking herding deranged cats with caffeine addiction problems. 19:24:19 hehe 19:24:24 (1) SLIME is not very well engineered and intentionally undocumented. 19:24:39 but.. slime is beautiful to use! 19:24:40 ;) 19:25:08 (2) What SLIME requires from the Lisp side is not sensibly portable, even in Common Lisp. It needs to know, for example, how to read frames from the stack. 19:25:21 wingo-tp: I think there's a slime server for Clojure, fwiw 19:25:59 offby1: yes, so that's the infuriating thing 19:26:10 offby1: clojure is like in its diapers still 19:26:14 and has slime integration 19:26:23 scheme is long in the tooth and does not 19:26:43 guile has GDS, which is wonderful, but i would like to push some of the maintainance burden off onto others 19:26:54 You can't, wingo-tp. 19:27:04 The maintenance burden will lie just as much upon you if you make your own SLIME back end. 19:27:23 yeah. 19:27:24 The interface between Emacs and Lisp in SLIME is just as dynamic as either side is. 19:28:06 Changes to any one of the three usually require corresponding changes in the other. 19:28:45 You can't say that "Scheme is old and has no SLIME integration"; the assertion has no meaning. At least one Scheme implementation exists which has SLIME integration; but that integration is dependent on the implementation, not the language, and there are many young Scheme systems. 19:28:50 And then these changes have to be propagated to all back ends -- not to mention any other front ends that might have made the mistake of existing. 19:29:02 (I know of at least one other front end that has made that mistake.) 19:29:44 gnomon: But, there is swank, iirc, which is +/- portable 19:29:56 the CL side of the emacs <-> CL link 19:30:10 Swank is precisely the `interface between Emacs and Lisp' that I have been talking about, wingo-tp. 19:30:23 Riastradh: ah. perhaps here I show my ignorance again. 19:30:37 -!- mike___ [n=mike@dslb-088-067-043-148.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 19:31:29 -!- borism [n=boris@195-50-212-207-dsl.krw.estpak.ee] has quit [Client Quit] 19:31:35 None of this is documented, and it all frequently changes. 19:31:59 This makes SLIME more flexible for its authors but less useful (or useless) to most others. 19:32:34 it sure is useful if it works, tho. 19:33:00 That could be said of many things. 19:33:13 i love the culture of slime too: "this could be the beginning of a beautiful hack" ! 19:33:13 Flying cars, for example, or unicorn tears, or fusion power. 19:33:17 `If it works', yes. That's a big `if'. I thought that it wouldn't be too much effort to make it work for Scheme48, but then both SLIME and Scheme48 changed and I wasn't happy with either of them. 19:33:39 does s48 do r6rs now? 19:33:40 eli says it wouldn't be hard to write "swank" (the server part of slime) in PLT, and I mostly believe him ... but not enough to get off my lazy ass and actually do it 19:33:53 hehe 19:33:55 Sort of, wingo-tp. 19:33:59 Some of it. 19:34:11 ok 19:34:16 offby1, that reminds me: how did your plan of donning a gorilla suit and huiding in the bushes with a garden hose work out last night? 19:34:25 -1s/huid/hid/ 19:34:41 pretty well; they were furious, and happily couldn't tell who I was 19:34:48 at least, nobody's firebombed my house yet 19:34:50 Brilliant! Top drawer, sir. 19:34:56 that's pretty cantankerous ;) 19:35:00 what's funny is that one of them was still in her work clothes. 19:35:23 One of the firebombers, or one of the gorillas? 19:35:32 Not by any chance your wife in her work clothes, was it, offby1? 19:35:39 oh heck no 19:35:54 Heh. 19:36:44 I don't think anyone got the "gorilla" joke though. 19:37:09 where are you, offby1 ? 19:37:15 Seattle, WA 19:37:44 *eli* doesn't know what "swank" is 19:38:23 Swank is the language that the Lisp system has to speak in order for SLIME's Emacs front end to talk with it. 19:39:00 vasa [n=vasa@mm-218-88-84-93.dynamic.pppoe.mgts.by] has joined #scheme 19:39:01 *gnomon* didn't get the joke 19:39:52 Riastradh: I'm assuming that it's the features exposed by that language (like a stack trace) that are important, not the language itself. 19:40:06 eli, `important' for what? 19:40:20 For getting slime to work with plt. 19:40:31 s/plt/an implementation/ 19:40:33 If you want SLIME to work, you need to implement the network protocol that it talks. If what you want is a debugger, then SLIME's network protocol is unimportant. 19:40:51 (`Language' here may have been too strong a word. I was referring to the messages passed back and forth between Emacs and the Lisp system.) 19:41:47 That's news to me: so slime is somehow a package that has a debugger and also is doing "something else" with network protocol? 19:42:34 Huh? 19:43:43 rephrase: what *is* "slime"? 19:44:35 `SLIME' has several parts: an Emacs client and a Lisp server that talk a network protocol over a socket to communicate information about the state of the Lisp system and expressions to evaluate or actions to perform in the Lisp system. To be perfectly precise, I think that the SLIME developers call the Lisp server `Swank', and have no name for the network protocol; much of the server is written in portable Common Lisp, and a `Swa 19:45:00 jgracin [n=jgracin@82.193.208.195] has joined #scheme 19:45:18 [cuts off at "and a `Swa"] 19:45:31 ...and a `Swank back end' is an implementation of a collection of non-portable routines used by the portable part. 19:45:38 Loosely, I have just called the whole network protocol `Swank', and the Lisp server side of the interaction a `Swank server'. 19:46:37 OK. I didn't know that the separation was so physical (= via a network protocol). 19:47:04 How did you think Emacs and the Lisp system communicated? 19:47:43 Through the facility that is very natural to Emacs: a subprocess. 19:48:18 At least that was the case with the other packages I've dealt with, including ilisp and that Allegro thing whose name I can't remember. 19:48:20 Well, usually Emacs does run the Lisp system as a subprocess (in which it starts the Swank server), but this isn't necessary. 19:48:23 -!- sm [n=sm@pool-71-165-166-169.lsanca.dsl-w.verizon.net] has quit [] 19:48:59 IIRC, it's only recently that dealing with a network connection became easy enough to do inside Emacs without some proxy process. 19:49:12 [For a possibly large value of "recently".] 19:49:28 Large enough that SLIME has always used sockets. 19:50:07 Yes, Slime is completely post the time I gave up on using these things. 19:50:56 These days I don't even use any of the inferior lisps, I just run a shell. 19:51:19 In any case, none of this is documented, and there is nothing remotely worth even thinking about considering calling a `specification'. So my terminology is half made-up (e.g., `Swank' being the network protocol), and might not exactly match what Eller and company have in mind. 19:51:59 But the most salient consequence of the non-documentation is that any back end for SLIME requires non-trivial amounts of guesswork about intent, and occasional random breakage from changing intent or misunderstood intent. 19:52:33 Sounds like offby1's laziness re imlpementing it is fully justified then. 19:53:05 besiria` [n=user@ppp083212086203.dsl.uom.gr] has joined #scheme 19:54:44 eli: btw! have read a bit of swindle code while working on compiling goops, guile's object system. 19:54:47 is nice stuff! 19:54:49 -!- choas [n=lars@p5B0DC8BD.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 19:55:19 wingo-tp: I hope you had one of these gas masks on. 19:55:25 hehe 19:55:36 The amount of dust there can be dangerous. 19:55:51 i decided to go with runtime recompilation rather than passing call-next-method as a procedural argument 19:56:01 but am unsure as to the worth of that decision. 19:56:06 *Riastradh* blinks. 19:56:12 Run-time recompilation? 19:56:41 Riastradh: e.g. compute-method-lambda in the AMOB 19:56:43 er 19:56:43 wingo-tp: Same question as Riastradh. I hope that you don't mean some "slap some stuff together and pass it through `eval'". 19:56:44 AMOP 19:56:50 eli: no. 19:57:09 So..? 19:57:14 My copy of the AMOP right now is a whole twenty feet from me, and I don't remember what COMPUTE-METHOD-LAMBDA does. 19:57:18 well... 19:57:32 the effective method to call depends on the types being dispatched 19:57:41 Types? 19:57:52 Riastradh: (map class-of args) 19:57:56 Types are difficult beasts. Are you sure that's what you meant? 19:58:05 Ah. You meant `classes'. 19:58:19 Riastradh: how do you see them as distinct? 19:58:27 Oh, dear. 19:58:31 eli: looking for a link. 19:58:55 Riastradh: my guess is that he's probably referring to `compute-apply-method' 19:59:14 http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=module/oop/goops/compile.scm;h=856d41a706d024a2f684cad17c3332b1577d41d9;hb=refs/heads/vm#l117 19:59:15 -rudybot_:#scheme- http://tinyurl.com/6q3fet 19:59:34 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 19:59:36 wingo-tp: Types in general are not the same as classes, even though some object systems will make the distinction obscure (in documentation etc). 20:00:14 eli: so, on that point, i am unclear; perhaps you refer to types existing outside an object system (e.g. vs ) ? 20:00:23 wingo-tp: I'll pretend I didn't see that URL... 20:00:45 um. 20:00:46 ok? 20:01:08 You *are* in fact doing what I said... Only you didn't use `eval' explicitly -- `compile' is probably doing the exact same thing. 20:01:53 eli: heh 20:02:14 do you see it as being incorrect? 20:02:31 I see it as being silly. 20:02:35 compile is +/- the same as eval for these purposes 20:03:02 I don't know. I didn't look that's closely. But I definitely see it as much too fragile (which some people will label "silly")... 20:03:06 Riastradh: yeah perhaps -- though it is beautiful to be able to recompile a procedure, knowing *exactly* which types passing through 20:03:21 *Riastradh* blinks. 20:03:26 wingo-tp: A much better solution for these problems is to use a macro. 20:03:33 it's the standard self PIC optimizations 20:03:45 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 20:04:00 eli: passing call-next-method as a procedural argument, no? 20:04:13 *wingo-tp* uses strange terminology 20:04:15 Although as it stands, I'm pretty sure that your macro will be one of these things that depend on runtime values, which means that you will not be able to use it in several scheme systems. 20:04:22 First of all, `type' is still not quite the right word, although in this case I suspect that it works in the context. Second, you already know that when you make the method in the first place. Or do you mean that you are duplicating the body of each possible next method for each method you make? 20:04:30 eli: yeah definitely, it's not portable. 20:04:39 eli: a portable scheme object system would be nie. 20:04:42 *nice 20:04:56 Riastradh: the point is 20:04:57 (`Portable' is not relevant here -- that can be a matter of the details of names in an API --; whether it even makes *sense* is at issue.) 20:05:04 you *don't* know that when you make the method 20:05:09 because of subtyping 20:05:25 you don't know e.g. at which index a slot will be allocated 20:05:57 *wingo-tp* abuses the word "type" again 20:07:10 I should be getting my own work done, so I can't help to explain types and classes at the moment, but you should be very clear on the difference between types and classes before you design and implement a system for programming generically over {types, classes}. 20:08:01 so, my irreverent perpective is: i'm just compiling what has existed and worked for years now 20:08:21 i'm sure there are problems with it but it is useful 20:08:22 (Pop quiz: Which word should that sentence end with if the system in question is CLOS? Note that in Common Lisp, both `type' and `class' have specific meaning, and there are different functions TYPE-OF and CLASS-OF, one of which is well-defined and the other of which is fuzzy.) 20:08:43 wierd question! 20:08:50 i would like to know tho ;) 20:09:13 wasn't stklos portable? 20:09:29 -!- besiria [n=user@ppp083212086100.dsl.uom.gr] has quit [Connection timed out] 20:09:55 Here's a hint: methods in CLOS actually have `specializers', not (just) either `classes' or `types', associated with their parameters. 20:13:41 eli: have been blogging about this stuff recently, e.g. http://wingolog.org/archives/2008/10/17/dispatch-strategies-in-dynamic-languages 20:13:42 -rudybot_:#scheme- http://tinyurl.com/5f5tta 20:13:50 if you feel like reading at some point 20:14:11 from my ignorant perspective, none of these techniques are common knowledge 20:19:25 You have read Kizcales and Rodriguez, `Efficient Method Dispatch in PCL', right? 20:19:27 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [Read error: 60 (Operation timed out)] 20:20:28 Riastradh: yes i did! but only after writing that article, unfortunately. 20:20:47 http://wingolog.org/archives/2008/10/19/dynamic-dispatch-a-followup 20:21:01 have you read the pic paper? http://research.sun.com/self/papers/pics.html 20:21:10 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 20:21:11 it is fantastic 20:22:23 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 20:23:14 wingo-tp: There's also some related work in Dylan, IIRC. (Which might be very little -- it's been a long time since I was interested in all of this.) 20:23:44 eli: ack, will poke. 20:30:03 So how does recompiling the CALL-NEXT-METHOD procedure during ADD-METHOD help your cache? 20:31:12 Adamant [n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net] has joined #scheme 20:31:29 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 20:31:41 Riastradh: well, given that the exact method ordering depends on the exact set of types (where (type obj) := (class-of obj)) being dispatched, it helps you to avoid runtime next-methd resolution 20:31:59 you resolve the next-method this first time the particular set of types is dispatched 20:32:07 and afterwards it's all local variable references 20:32:22 Run-time next-method resolution? 20:32:25 and the cache is invaldated when something changes: a new method is defined, etc 20:32:39 I assume by `run-time' you mean `APPLY-time', rather than `ADD-METHOD-time'. 20:32:49 Riastradh: yes, apply-time 20:33:03 the thing is, you can add a method 20:33:18 Why would you need to do any next-method resolution at APPLY-time, and not at ADD-METHOD-time; and what does this have to do with run-time compilation? 20:33:19 then define a class that subclasses two classes 20:33:30 thus making the class-precedence-list different 20:33:47 so you can't tell at add-method time what the next-method will be 20:33:55 (or, at most, `first-APPLY-after-ADD-METHOD-time') 20:34:03 Riastradh: exactly 20:34:06 that's what you do 20:34:18 on the first apply-after-add-method, recompile 20:34:33 What does compilation have to do with it? 20:35:09 Riastradh: to hard-code in the dispatched procedures what is the next method 20:35:17 so you don't have to do any more apply-time lookup 20:35:32 also, ideally, since you know the *specific* classes 20:35:43 you can jit, knowing the *specific* arg types 20:35:51 which has loads of optimization possibilities. 20:36:19 as the PIC paper says: 20:36:23 "a PIC-based recompiling system has a veritable wealth of type information: every message has a set of likely receiver types associated with it derived from the previously compiled versions PICs. The compilers heuristics and perhaps even its fundamental design should be reconsidered once the information in PICs becomes available" 20:36:36 JIT specialization of procedures is very different from method dispatch. 20:36:43 it's what all the JS compilers are doing these days 20:36:57 After the first APPLY after ADD-METHODs, why do you need to do any more dispatch or lookup for the next method? 20:36:59 blah2345 [i=a@c-67-185-17-84.hsd1.wa.comcast.net] has joined #scheme 20:37:27 Riastradh: so you have two options: 20:37:42 after add-method, you can recompute *all* of the method orders 20:37:53 for all of the type combinations that you know about / are possible; 20:37:54 or 20:38:09 at the first application of a particular set of types, 20:38:18 memoize the method order of that combination of types, 20:38:29 and use that memoized / compiled order for that set of types in the future. 20:38:41 PCL takes the latter approach AFAIK. 20:38:45 GOOPS does as well. 20:39:47 there is the nasty third option of course 20:39:56 to do much more lookups at apply-time 20:39:59 but that's woeful. 20:41:19 i think the PIC approach has been ignored, incredibly, from the lisp languages. 20:41:42 we should be moving more in that direction IMO. 20:42:41 Perhaps I ought to ask for clarification: Are you discussing the GOOPS code you pointed at earlier, which is trying to implement `PIC'; or is what you have written in GOOPS not supposed to be PIC, and are you discussing PIC as something different? 20:43:57 the GOOPS stuff is similar to PIC but uses a table lookup instead of compiling the dispatch directly into code 20:44:33 but what I mean by "the PIC approach" is: less static analysis, more run-time recompilation using run-time type information. 20:45:39 the stuff i pointed to was actually what happened after dispatch; the dispatch process is just like in Kiczales' PCL paper 20:45:49 (but allowing for varying arities on methods) 20:46:32 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 20:48:06 -!- blah2345 [i=a@c-67-185-17-84.hsd1.wa.comcast.net] has quit [] 20:55:27 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 21:07:17 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 21:08:10 -!- besiria` [n=user@ppp083212086203.dsl.uom.gr] has quit [Remote closed the connection] 21:10:30 -!- Kinks [n=Kinks@uc087.housing.umanitoba.ca] has quit [No route to host] 21:10:38 -!- saccade_ [n=saccade@209-6-23-56.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 21:12:16 wingo-tp: "So it seems that Mikael Djurfeldt, the GOOPS implementor, appears to have known about CLOS implementation strategies" 21:13:08 wingo-tp: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/oop/sos/ 21:14:01 Kinks [n=Kinks@uc087.housing.umanitoba.ca] has joined #scheme 21:15:25 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 21:18:18 vorpal [n=rhunter@pdpc/supporter/student/vorpal] has joined #scheme 21:19:24 sm [n=sm@pool-71-107-254-205.lsanca.dsl-w.verizon.net] has joined #scheme 21:19:35 mejja: interesting 21:19:40 i'll poke at that, thanks 21:19:51 (so much of scheme is archaeology :) 21:22:33 jonrafkind [n=jon@c-67-186-250-110.hsd1.co.comcast.net] has joined #scheme 21:23:34 rain, rain, rain. 21:26:24 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [] 21:26:54 (call/cc (lambda (k) (call-some-other-day k))) 21:29:40 You may wish to look at the version of SOS that people actually use, in MIT Scheme's CVS repository at Savannah. 21:30:52 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 21:35:34 *mejja* knows that goops is derived from cph's first sos release 21:36:41 lelf [n=lelf@217.118.90.106] has joined #scheme 21:38:52 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 21:38:57 mejja: as i understood things stklos was the direct ancestor 21:39:05 but i could of course be wrong about that. 21:39:33 *mejja* was once a student at the same school as mr djurfeldt... 21:39:54 wingo-tp: archeology? 21:40:09 mejja: djurfelt? what country? 21:40:34 hey, yo swedish, nice. :) 21:48:42 borism [n=boris@195-50-212-207-dsl.krw.estpak.ee] has joined #scheme 21:51:47 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 21:53:07 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 21:53:16 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 21:56:07 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 21:56:12 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 22:01:11 -!- lelf [n=lelf@217.118.90.106] has quit ["used jmIrc"] 22:02:09 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["quitting"] 22:13:50 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:17:22 eli: around? 22:18:40 Yes, usually. 22:18:45 cool! 22:19:02 i happened to notice you had some issue or solution about running OpenSSHD on Cygwin on their mailing list :) 22:19:27 I did? 22:19:32 Must have been years ago. 22:19:36 http://www.mail-archive.com/cygwin@cygwin.com/msg57638.html ? 22:19:53 it says lambda, Eli Barziay and your web page. might be you. 22:20:07 -!- travis|away is now known as travisbemann 22:20:08 :) 22:20:32 well in any case, i ran into exactly that prob, just wondered if you had any wisdom to share 22:20:43 Yes, it's me, but I don't really remember what the issue was. 22:20:48 ko 22:20:56 What I certainly *do* remember is that sshd on cygwin is a mess. 22:21:00 And that's still true. 22:21:11 What are you trying to do with it? 22:21:41 my very limited expertise on git tells me i should always git pull, never git push, and i have some code on a cygwin i want to pull out from there. 22:21:54 though perhaps i should just push it, and it'll work, i suppose. 22:21:55 And that uses ssh? 22:22:02 yes, ssh://user@host/path 22:22:07 (I know almost nothing on git.) 22:22:14 yes, git uses sftp 22:22:22 For that purpose, the default setup should be fine, I think. 22:22:40 I am using sftp a lot (indirectly, throught sshfs), and it works fine. 22:22:57 There is one major PITA, which I think was somehow related to that post. 22:23:01 well i didn't get opensshd up on cygwin at all, starting it terminates with "Logon error" 22:23:27 In that case you're more stuck than the issue I was about to describe. 22:23:37 hehe. 22:23:39 > cygrunsrv: Error starting a service: StartService: Win32 error 1069: 22:23:39 > The service did not start due to a logon failure. 22:23:43 If it's for infrequent uses, you can just run sshd manually. 22:23:47 just like the mailing post says. well. 22:23:52 i can? 22:24:00 how just open it wide-open to any user for any access? 22:24:02 Yes, in fact, I do that all the time. 22:24:24 I should use the usual credentials for getting in, so you should be fine. 22:24:37 I'll describe the issue, just in case... 22:24:37 aha? what sshd params you use? 22:24:49 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 22:25:02 The way that sshd is setup on cygwin by default (?) is that it starts as the administrative user. 22:25:22 ssh runs in cygwin?? 22:25:26 (I don't remember if it's actually Administrator or not, might be your user with administrative priviliges, somehow.) 22:25:30 jonrafkind: yes. 22:25:31 Yay! I logged in! 22:25:42 jonrafkind: That's how we have a Windows build. 22:25:44 wow, and here I thought windows was the most worthless os ever created 22:25:52 I've been using vnc which is a pain 22:26:05 BW^-: Anyway, the thing is that this means that it has some weird properties. 22:26:13 aha? 22:26:23 jonrafkind: VNC is a completely different thing, not much in common. 22:26:34 its a way to use the machine 22:26:41 so its closer to ssh than say, IMAP is 22:26:47 BW^-: For example, running DevStudio, or whatever it's called, will fail in a *very* obscure way. 22:27:49 BW^-: One way to notice that is when you ssh into the machine and run `ps auxw' -- if you don't see the sshd process, then that means that you're in the twilight zone. 22:28:39 On my machine this is the usual case when it starts up -- and my routine is to get on the machine (via vnc or remote terminal), kill sshd, and start it manually from a shell (as I told you). 22:29:40 (Note that all that is too close to dealing with voodoo dolls than dealing with a computer, but I couldn't spend more cycles tackling a problem that I shouldn't have in the first place.) 22:30:18 hehe. 22:30:24 jonrafkind: If all you need is access to files, then running sshd on Windows, and getting in through sshd (from fuse) on linux is like black magic. 22:31:00 why is it black magic, its not straight-forward? 22:31:06 I have some wrappers around sshd/fuse that get me an automount directory, so on my machine I just need to look at /ssh/whatever -- extremely useful. 22:31:13 yea, I have the same junk 22:31:18 fuse rules 22:31:28 just not for windows, just between my lunix boxen 22:31:33 Well, just the fact that I can get Windows mounted on Linux *without* dealing with the usual samba crap. 22:31:53 *eli* google lunix 22:32:03 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 22:32:07 Oooh, Commodore 64! 22:32:17 :) 22:32:36 thats a good mascot 22:32:39 no scheme for c64, is there? 22:32:43 *eli* POKES 54296 with 0 22:32:58 quick, port mzscheme to this thing 22:33:21 *eli* runs off to hack 22:33:48 *eli* remembers that his C64 box was given away in 1993 22:34:45 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:35:32 hehe 22:35:46 eli: if you desperately need one, you can borrow mine. 22:36:02 BW^-: Somehow, I doubt that I'll need one... 22:36:08 :) 22:36:27 btw you remember that "second reality" or what it was called demo that was released for 80486 in 1994? 22:36:45 it had a famous 3D world flight scene in it 22:36:50 there was a wrap to C64 for it, 22:36:54 though of course full of hacks. 22:37:05 but they actually simulated the fullscreen 3D video. 22:37:15 though prerecorded of course, not realtime rendered. 22:37:19 Not by name, but I remember lots of very nice demos -- and I do remember vaguely one with a 3d flying scene. 22:37:27 though just getting that out on the screen on 4.7Mhz was strong, it hink 22:37:42 They were usually hand-coded assembly code, IIRC, with impressivly small footprints. 22:37:57 i remember second reality. from the future crew 22:38:03 right! 22:38:11 Ah -- "future crew" -- that does ring a bell. 22:38:14 BW^-, I remember Second Reality quite well. I still have the S3M files that made up the soundtrack. 22:38:20 from where were they? 22:38:23 cool! 22:38:25 can you send? 22:38:34 most of those songs are on modarchive.org 22:38:36 The Future Crew later split up to form FutureMark and Bitboys Oi, among other companies. 22:38:40 search for purple motion and skaven 22:38:46 jonrafkind, and on the Hornet Archive, I believe. 22:38:54 *eli* risks youtubing 22:39:06 panic is another good future crew demo 22:39:12 http://www.youtube.com/watch?v=8G_aUxbbqWU 22:39:35 panic is there too, and the c64 version. 22:39:38 jonrafkind: was purple motion made by them?? 22:39:41 jonrafkind, Panic was a bastard about how much conventional RAM you needed to run it. It would throw a hissy fit if you had MSCDEX.EXE, HIMEM.SYS and a mouse driver loaded. 22:39:45 purple motion is an artist 22:39:53 he did most of the good songs 22:40:00 i bought his cd! 22:40:09 and then subsequently lost it 22:40:12 ARGH 22:40:51 I used purple motion's aqua.s3m as the song in the title screen of my game, http://paintown.sf.net 22:40:53 hehe. 22:42:52 *mejja* Manic Miner > "the rest". Speccy for ever! 22:43:25 then skaven, is that a person too? 22:43:31 yea 22:43:37 ok. 22:43:44 i remember i saw a cool demo on win32 ~8 years ago 22:43:48 with some an amazing music in it. 22:44:00 thought its name was "purple motion", though never found it again 22:44:44 had a 3d scene with a purple bar and light effects.. think it was 64 or 128k. well. 22:45:25 astral blur is a good demo, http://www.pouet.net/prod.php?which=1 22:45:53 brb 22:45:54 goedel: Gambit doesn't play well with R5RS SYNTAX-RULES. 22:46:01 Chicken is better for that. 22:46:01 not? 22:46:06 even with (declare (r5rs)) or sth? 22:46:12 and (include "~~/syntax-rules.scm") ? 22:46:27 perhaps i'm thinking about something else. 22:46:34 BW^-: it's "~~syntax-case.scm" and it has issues 22:46:40 aha ok 22:47:46 tell the mailing list or bug reports 22:48:05 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 22:48:11 It's more Gambit's philosophy. 22:48:23 foof: thank you 22:48:45 goedel: In Chicken you also need to (use numbers) to get the full 22:48:49 numeric tower. 22:49:47 i'm having access to windows 32bit API:s in a REPL here 22:49:53 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 22:49:59 -!- jonrafkind [n=jon@c-67-186-250-110.hsd1.co.comcast.net] has quit [Read error: 60 (Operation timed out)] 22:50:05 it's like playing with a plasma gun when used to a hammer. 22:52:33 i'm very grateful for scheme. 22:52:46 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 22:58:52 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 23:01:42 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 23:10:00 *gnomon* watches Heaven 7 again, just because 23:11:26 BW^-: That's should be the case with most FFIs. 23:12:42 yes 23:12:50 I think there is an error In Greenspun's 10th rule of programming, wouldn't it make more sense to say Bug Laden than Bug-Ridden? 23:13:27 i'm absolutely amazed by how scheme releases one from the need of "event driven" programming style 23:13:53 as an American, Greenspun doesn't support Bug Laden 23:14:18 by event driven programming, i mean, requirement to write redefinitions of how you want the flow to be all over the place 23:17:30 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 23:20:21 BW^-: for that, you really need to see reactive programming stuffs. 23:20:31 aha? 23:21:04 If you have PLT installed, I can tell you how to get a very click lightbulb click. 23:21:55 s/very click/very quick/, of course. 23:22:24 not have plt here. 23:23:28 BW^-: Which OS? 23:23:39 win & linux 23:24:02 is there description on any web page? show via VNC? 23:24:08 So you can install it quickly, and then uninstall. 23:24:17 can keep it as well 23:24:26 does it involve GUI stuf? 23:24:30 or console? 23:24:42 Well, I don't want to be blamed for being a pusher... 23:24:53 hehe right. 23:25:04 There's GUI stuff, which makes much more sense than seeing just the text version. 23:25:11 everything will be better if i have it on the disk. daily exposed to its icon. :-) 23:25:19 ok 23:25:33 If you really want, I can have you connect to my VNC and do the quick demonstration there. 23:25:40 sure! 23:25:52 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 23:25:57 realvnc ok? ip, port, pass? 23:26:15 ok, let me deal with some baby-stuff, I'll ping you in a few minutes. 23:26:20 k! 23:34:36 jonrafkind [n=jon@wireless21.wireless.utah.edu] has joined #scheme 23:40:07 BW^-: ping 23:40:20 yep 23:40:49 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [Read error: 60 (Operation timed out)] 23:47:12 -!- vasa [n=vasa@mm-218-88-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 23:56:35 BW^-4376 [i=Miranda@79.138.203.248.bredband.tre.se] has joined #scheme