00:06:22 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 00:06:39 synx: re `delay' -- yes, it does deal fine with multiple values. The extra price is there, but `delay' doesn't need to be fast like `lazy'. 00:07:12 synx: re your thread question, I don't understand "continue from one thread to another". 00:07:29 well, um... 00:08:46 https://synx.us.to/code/scheme/thread-barrier.ss 00:08:46 heya synmx 00:08:47 That program errors out in mzscheme and mred, but oddly works in drscheme (using the "Module" language) 00:08:50 er, synx :) 00:09:19 hello ^.^ 00:09:45 :D 00:09:48 -!- elderK1 is now known as elderK 00:10:01 :) Any chance you coul dlook at something I built early this morning? :P) 00:10:06 It's about 20 lines :) 00:10:16 :) I was trying out the higher order function approach :) 00:10:25 -!- RageOfThou [n=RageOfTh@92.36.140.9] has quit [Read error: 101 (Network is unreachable)] 00:11:12 -!- jonrafkind [n=jon@wsip-70-164-250-248.tc.ph.cox.net] has quit [Read error: 60 (Operation timed out)] 00:11:41 synx: I don't know why, but it should be considered a bug. (Probably a bug in the drscheme repl.) 00:12:14 heya, eli :) 00:12:19 *elderK* sips coffee 00:12:25 elderK: re your questions from yesterday -- "Scheme" as defined by RnRS is a pretty useless language. 00:13:20 elderK: This is why you should stick with some serious implementation if you want to get real work done. Either that or be prepared to spit some blood trying to write portable code interfacing the different implementations' facilities. 00:13:23 It was interesting to talk about it all. 00:13:57 In any case, the kind of things you mentioned would be trivial in PLT, and I would guess that they wouldn't be that hard in chicken too (but that's just a guess). 00:14:25 A bootloader in pure Scheme via PLT? 00:14:49 :) In any case, I'm having fun with Scheme :D 00:15:00 No, I meant the questions about doing "real work" you asked before that. 00:15:24 And BTW, a bootloader in "pure Scheme" would most likely be much easier to write if than a bootloader in "pure C"... 00:16:26 (But I don't want to repeat that line, it'll be an unproductive deja vu.) 00:16:56 :) Oh and please, eli, please, see, that I am not trying to troll - I /like/ Scheme, a lot :) 00:18:33 elderK: Yes, I didn't say you were trolling. 00:19:14 elderK: In fact, it's really not surprising -- it's very common for people to come in, get excited about the language, then get disappointed that there's very little you can do with "pure Scheme". 00:19:45 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Read error: 60 (Operation timed out)] 00:19:53 At that point, my best suggestion is to just choose a good implementation and use whatever it gives you -- it will make you much more productive than sticking with "pure scheme". 00:20:13 This way you can get real work done -- in Scheme. I do that all the time. 00:20:20 :) 00:20:30 (I'm not a typical example though... I make my living in Scheme too.) 00:20:46 I'd like to state something though, I guess. 00:21:12 "state something"? 00:21:29 In that, with C - it is possible to actually run freestanding C - as the bootsector. Where as with Scheme, I'd figure it to be more practical to actually /generate/ the bootsector. 00:21:33 Would I be wrong in that? 00:21:49 And yes ;P The generator would be easier to understand, most probably. 00:21:49 :) 00:21:50 lol 00:22:16 i doubt if i'd find a generator easier to understand than a boot sector =) 00:23:36 elderK: Generating a bootloader in Scheme would be more readable than generating one in C for the same reason most Scheme programs would be more readable than C programs. 00:24:02 elderK: And if you really wanted to write a bootloaded *in* Scheme, then the main challenge would be in getting the runtime support for running Scheme. 00:24:09 yeah but a generator in Scheme versus 'just' a bootloader C/asm, i'd prefer C/asm ;) 00:24:25 In C the solution is simpler, because C in itself requires much less of a "runtime". 00:25:32 bughunter2: I don't know why you say that -- a bootloader in an assembly language would be just as readable in Scheme, given an assembly language implementation. 00:25:54 And given that implementing an assembler is really nearly trivial, that statement means close to nothing. 00:25:54 yeah, except Scheme != asm 00:26:20 you could of course compile 'real instructions' you represent in scheme into assembly 00:26:23 just like an assembler does 00:26:30 in that case, you may be right of course 00:26:47 bughunter2: That's why your statement has no real content. 00:27:03 it does 00:27:12 Please elaborate then. 00:27:36 The runtime requirements of scheem. 00:27:43 vs the runtime requirements of freestanding assembly/C 00:28:16 Assembly/C wins here. But then, it's not to say Scheme sucks - because it doesn't. It's just one thing that those two langauges are really, really well suited for. In fact, even /built/ for. 00:28:32 i didn't take into discussion writing a 'fake' assembly representation scheme, that's all. practically my statement had content 00:28:35 If the issue is making a Scheme program that *generates* a bootloader, then the runtime requirement is irrelevant. 00:28:38 to me at least, but that's just my opinion 00:28:44 eli, that's true. 00:28:56 but in this case, bughunter2 was saying that /directly using scheme itself/ 00:28:57 as the bootloader. 00:29:03 say, scheme->native code 00:29:06 i was 00:29:13 bughunter2: Why would it be fake and using a "real" assembler wouldn't? 00:29:18 it isn't fake 00:29:20 that's why i quoted it 00:29:58 :) It's all good. 00:30:01 In fact, this is really quite fun 00:30:02 yep 00:30:04 lol 00:30:05 :) 00:30:21 To me, being a good programmer isn't necessarily about what language you use in which case, but rather, knowing which tools to use for what jobs :) 00:30:42 and, if you understand how to make use of Scheme - and it's features for generation, then the ability to use it for vastly different problems, stands out. 00:30:43 :) 00:30:43 OK, I'll drop out of this issue. I don't think that writing a bootloader (in Scheme or anything) qualifies as getting real work done. 00:30:57 np eli :) 00:30:57 then we differ of opinions comrade 00:31:13 but hey eli, would you mind checking out something for me? I'd like some feedback - suggestions on how I could improve. 00:31:21 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 00:31:24 but i agree with elderK, it's just choosing tools 00:31:33 elderK: If it doesn't involve a bootloader, sure. 00:31:51 :) eli, it doesn't :) 00:31:53 lol 00:32:04 :) see this annotation : http://paste.lisp.org/display/77718#11. It's my attempt to improve the last annotation :) 00:32:35 (BTW, I was serious about the bootloader comment: if you really do need to write a bootloader, then your problems are most likely unrelated to this channel.) 00:33:08 (aye, eli - bughunter2 and I have done that :) many times :) We understand the problems :) you could consider it an old job we both worked together on) 00:34:04 :) Like I've said earlier, I personally at least, have spent much time on embedded systems - or working baremetal. So, this whole new world of actually NOT having to care about every tiny detail (ie, allocators, the things I must provide to say, even access disks.... etc), is new. And liberating. 00:34:18 But, it's only natural to wonder about 'hey, could I replace XYZ with Scheme, in the future?' 00:34:29 :) For us at least, thats a big compliment to Scheme. 00:34:42 Saying, "Scheme, you sexy thing, we want you here, too!" 00:34:42 :P 00:34:55 (OK, in that case I'll get back to it, but I'm looking at your code now.) 00:37:11 So, I don't see anything particularly wrong with your code, but (a) the use of a higher-order input function seems like it's a bit of an overkill for the job; (b) `provided-via' sounds like a really bad name for what it does; (c) I can't really follow the details since I don't know enough about chicken. 00:37:14 arcfide [n=arcfide@adsl-99-137-200-228.dsl.bltnin.sbcglobal.net] has joined #scheme 00:37:46 In PLT, that whole thing would be trivial, since we have `integer-bytes->integer'... 00:38:19 And re bootloaders -- if you're really in the bootloader writing business, and if you discovered Scheme, then I agree that it's natural to try and combine the two. 00:38:46 Obviously, the whole "pure C" vs "pure Scheme" argument is too theoretical to matter in this case. 00:38:56 So, with the help of some colleagues, I solved the thread issue. As it turns out, Chez Scheme's single-threaded GC does not run when any code is in the Foreign side. That is, GC blocks while waiting on a C FFI call to return. 00:39:03 it just depends on the context 00:39:09 THus, a race condition exists that Chez Scheme tries to alieviate, but can't do so entirely. 00:39:16 pure C vs. pure Scheme isn't a practical discussion really 00:39:40 For practical purposes, the C or assembly approach can win simply because of libraries and/or existing support (existing code, libc, etc). 00:39:54 bughunter2: But yes, the *discussion* is impractical. 00:40:01 The solution is to make sure that a given thread running C code that might execute for a long time has its thread disabled so that the GC can run still. 00:40:07 i'd even argue arguing in general is useless ;) 00:40:26 :) Thanks eli 00:40:27 For a *practical* approach of combining writing bootloaders and Scheme, I think that there are three approaches that can get you somewhere: 00:40:32 I am aaware that SRFIs and such can help me here :) 00:40:43 What would you think I should name the arguments? 00:41:00 It might eb overkill - but look above - it is a minor implementation of the same thing, without a higher-order procedure. 00:41:34 (1) Find some very thin Scheme (like tiny-scheme or siod) that can run in a very restricted environment. You usually don't get much of these things, since these schemes are very small and therefore limited. 00:42:43 -!- McManiaC [n=nils@vpn1216.extern.uni-tuebingen.de] has quit ["leaving"] 00:42:46 (2) Write a generator -- make Scheme code that generates the assembly/C/whatever code for the bootloader. Yes, it's not that different initially than using an assembler, but Scheme itself is flexible enough that you'll soon find all kinds of advantages for this. 00:43:05 (Sassy Scheme Assembler!) 00:43:36 (3) Perhaps as an extension of (2), you can write an intepreter for the assembly language and easyly test your code, or you can generalize your assembler to the point where it looks more like a real language. 00:43:48 *bughunter2* itches 00:43:50 Taken to an extreme, (3) would be roughly a Scheme->Assembly compiler. 00:44:15 elderK: Re your code, `integer-reader' would seem to me like a better name 00:44:19 eli, down that path lies Larceny! :) 00:44:38 gnomon: Or any native code compiler. 00:45:08 gnomon: Several Schemes -- but I guess that for a bootloader you'd want much less "stuff" in, so perhaps prescheme is a better analogy. 00:45:44 elderK: And I didn't mean use any srfi for `integer-bytes->integer' -- that's in PLT Scheme. (I'm not using srfis too much either.) 00:46:17 srfis provide it. 00:46:22 :) 00:46:23 -!- mejja [n=user@c-f6b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 00:46:24 as does PLT. 00:46:32 chikcen does, but it's versions are pretty limiting. 00:46:36 but arcfide and I spoke on this :) 00:48:14 dstorrs [n=dstorrs@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 00:48:57 -!- Khisanth [n=Khisanth@141.157.248.6] has quit [Read error: 110 (Connection timed out)] 00:50:48 'scuse me folks...I'm new to Scheme and having some trouble getting Planet to work on my OSX 10.5 Intel box. 00:51:34 when I try to run it from the command line, it does nothing, with no feedback. when I tried to put a "require...planet" line in a script, it simply doesn't work. 00:52:25 I note that the PLT Scheme v360 install I've got lacks planet.ss and setup.ss, which are being called for. should I simply reinstall, or is there something else I'm missing? 00:52:57 oh--I'm working from within emacs / bash / mzscheme, not using DrScheme 00:53:19 dstorrs: v360 is *ancient*. It would be a very good idea to upgrade. 00:53:29 huh. ok. 00:53:33 what's the latest? 00:54:01 dstorrs: 4.1.5 -- see http://plt-scheme.org/ 00:54:25 synx: Matthew's reply, as expected, was that the DrScheme repl should install a barrier in a similar way that mzscheme does. 00:55:41 dstorrs: BTW, some libraries take a really long time to install. In version 4.1.5 there is some way to get planet to tell you what it's doing, but I don't remember what it is exactly, so you'll need to ask on the list if it's a problem. 00:56:01 ok, thanks. 00:56:31 Okay well, no worries then. Doesn't make sense to have two threads running in the same context after all. 00:57:05 If I understand correctly, the planet took is much like the cpan tool for Perl--it should dump me at a planet shell where I can then proceed to type various install, search, etc commands. Right? 00:57:48 s/took/tool/ 00:58:00 dstorrs: No -- it's transparent: (require (planet ...whatever...)) will require some code from a planet library -- and it will retreive and install it if it's not already in (ie, the first time you use it). 00:58:27 that would be from a script--but it can be run from the CLI as well, right? 00:58:31 -!- bughunter2 [n=j@ip4da4427e.direct-adsl.nl] has left #scheme 00:58:48 (i.e., if I want to preinstall a bunch of stuff so that it's cached for later use) 00:58:49 npe [n=npe@softbank219039114109.bbtec.net] has joined #scheme 01:00:22 dstorrs: Yes, you can just require it from a mzscheme repl too. But if want you want is only to install it, there is also a `planet' command line tool, with various sub-commands. (I'm not sure if it existed back in v360, or if it did, how useful it was.) 01:00:56 heh. pretty borked, actually--that's why I'm here. :> 01:02:20 dstorrs: What OS are you on? 01:04:20 OS X 10.5 Intel 01:05:19 out of curiosity, do most of you work in DrScheme, or do you use something else? 01:06:14 dstorrs: In that case you shouldn't have a problem getting a new version from the plt site. 01:06:29 dstorrs: I work with plt, others here work with other schemes. 01:06:30 yep, it's downloading now. 01:07:01 being a bit slow, for some reason--my next connection has been dragging lately. 01:07:22 Not all of us use plt dstorrs. Of those who do though I'd say yes. 01:07:52 It's theoretically impossible to highlight syntax without implementing the language you're highlighting, so it makes sense to use drscheme for me. 01:07:58 -!- sphex_ is now known as sphex 01:08:21 right, sorry, wasn't thinking about this being is a general Scheme channel. 01:08:37 still getting used to how many dialects there are 01:08:37 dstorrs: Many people use PLT Scheme without using DrScheme, and many people use Scheme without using PLT Scheme. I myself use Chez Scheme + Vi. 01:08:39 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 01:08:52 A lot of people like to run Emacs + PLT Scheme. 01:09:09 emacs is still popular. 01:09:23 synx: The use of Paredit makes it even nicer. 01:09:25 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 01:09:34 I use vi when I'm not using drscheme. 01:10:19 synx: Vi or Vim? 01:10:49 vim 01:26:39 Later guys! 01:26:46 :P Going to get a haircut 01:26:47 oy. 01:26:51 And hey, I use Vim, always. 01:26:52 :) 01:26:53 ^_^ 01:26:53 :wave: 01:26:57 *elderK* waves 01:26:58 :D 01:26:59 Laters! 01:27:03 -!- elderK [n=zk@222-152-12-191.jetstream.xtra.co.nz] has quit ["HIYYYYOOOOOOO"] 01:39:44 _Pb [n=Pb@75.139.137.1] has joined #scheme 01:45:49 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 01:45:51 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 01:46:21 eno [n=eno@nslu2-linux/eno] has joined #scheme 01:47:07 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 01:47:30 the most r6rs-friendly way to do optional arguments is case-lambda, correct? 01:54:17 GreyLensman [n=ray@c-76-108-236-161.hsd1.fl.comcast.net] has joined #scheme 01:55:45 -!- bsmntbombdood_ is now known as bsmntbombdood 01:57:32 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 01:58:55 hi greylensman 02:01:05 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 02:02:10 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:04:00 -!- hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 02:05:27 hey neilv. How goes the Scheme biz? 02:06:21 ok. i finished up one contract (government stuff), and looking for the next 02:06:47 and you? 02:06:54 eno__ [n=eno@adsl-70-137-166-197.dsl.snfc21.sbcglobal.net] has joined #scheme 02:08:10 Moved onto Scala development. 02:08:21 Still play with Scheme now and again. 02:09:16 -!- Fade [i=fade@outrider.deepsky.com] has quit [Read error: 110 (Connection timed out)] 02:09:50 is there demand for scala programmers? 02:10:04 i have already worked for the one company in the u.s. that hires scheme programmers :) 02:10:28 I think there is a good chance there will be. 02:11:01 Nshag [i=user@Mix-Orleans-106-2-198.w193-248.abo.wanadoo.fr] has joined #scheme 02:11:19 Twitter is pimping Scala now 02:11:31 Two very big ROR apps switched to Scala and are encouraging the Ruby On Rails camp to look at it. 02:11:43 Twitter and Githug (just last week of so) 02:11:49 GIthub 02:11:51 they should just bite the bullet and use Haskell 02:11:59 no... 02:12:02 or Ocaml 02:12:07 GreyLensman: why? 02:12:17 Scala is a compromise-type language 02:12:17 Scala is substantially better then OCaml. 02:12:35 not from my (very limited) exposure 02:12:42 Haskell is great but very impractical for a huge slice of real world applications. 02:12:44 it has worse syntax and that's saying something 02:12:55 and Scala isn't? 02:13:23 Syntax put me off at first as well. Turns out the language is very very well thought out. 02:13:26 the JVM still can't do real TCO last I checked 02:13:40 without running a mini-interpreter 02:13:47 Anyway very OT for #scheme. 02:13:49 which kills speed 02:13:50 ok 02:14:17 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 02:14:34 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:16:09 -!- eno [n=eno@nslu2-linux/eno] has quit [Nick collision from services.] 02:16:14 -!- eno__ is now known as eno 02:17:39 -!- jao [n=jao@obfw.oblong.net] has quit [Read error: 60 (Operation timed out)] 02:19:09 geckosenator [n=sean@71.237.94.78] has joined #scheme 02:19:26 Riastradh: what schemes does riaxpander work on? 02:20:00 -!- GreyLensman [n=ray@c-76-108-236-161.hsd1.fl.comcast.net] has left #scheme 02:20:27 Faed [i=fade@outrider.deepsky.com] has joined #scheme 02:22:42 *offby1* senses his good name being disparaged 02:23:04 eli: I just thought the hack was charming. I'm always glad to accept a patch. 02:24:27 davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has joined #scheme 02:24:40 -!- davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has quit [Read error: 104 (Connection reset by peer)] 02:25:19 davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has joined #scheme 02:25:56 -!- davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has quit [Read error: 104 (Connection reset by peer)] 02:30:04 -!- luz [n=davids@189.122.117.82] has quit ["Client exiting"] 02:32:21 -!- _Pb [n=Pb@75.139.137.1] has quit ["Leaving"] 02:33:10 -!- bitwiser_ [n=fluffy@67.23.4.171] has quit [Remote closed the connection] 02:38:50 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 02:41:52 -!- Arelius_ [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 02:50:25 NNshag [i=user@Mix-Orleans-106-2-198.w193-248.abo.wanadoo.fr] has joined #scheme 02:50:35 -!- NNshag [i=user@Mix-Orleans-106-2-198.w193-248.abo.wanadoo.fr] has quit [Read error: 104 (Connection reset by peer)] 02:51:36 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 03:05:25 davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has joined #scheme 03:08:56 orgy` [n=ratm_@pD9FFEC11.dip.t-dialin.net] has joined #scheme 03:20:32 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 03:20:42 Riastradh: ping 03:20:54 Riastradh: in s48/scsh, is there a SYNTAX-WARN? 03:20:58 does anyone know a way to include a file other than "load" ? 03:21:09 load is delayed, so the macro definitions in the file don't work 03:21:14 geckosenator: use a module system 03:21:46 ok 03:28:50 -!- orgy` [n=ratm_@pD9FFEC11.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 03:35:02 hadronzoo [n=hadronzo@ppp-70-251-123-75.dsl.rcsntx.swbell.net] has joined #scheme 03:41:30 jao [n=jao@cpe-75-84-114-170.socal.res.rr.com] has joined #scheme 03:41:55 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 03:43:22 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 03:48:38 No, duncanm. 03:48:57 Riastradh: it would be useful if there were, isn't it? 03:50:02 geckosenator, I developed riaxpander on Scheme48, and have written package descriptions and compile/load scripts for MIT Scheme. It is available in Chicken as an egg (thanks, I believe, to foof), and it is straightforward to port to other Scheme systems; the information in the Scheme48 configurations will generally suffice. 03:51:00 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 03:52:46 I"m using it in chicken 03:54:21 What prompted your question about LOAD? 03:54:50 oh, I have the macro definitions in one file 03:55:05 -!- Nshag [i=user@Mix-Orleans-106-2-198.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 03:55:07 but the macro doesn't work in the file that uses it 03:55:15 since load is apparently delayed 03:56:00 Not `delayed'; it's just a procedure, so it can't take effect until run-time. 03:56:32 well by that time it's too late for macros 03:56:35 it works fine interpreted 03:57:31 Right. 03:57:52 what would you suggest to do? 03:57:57 I was trying (include "file") 03:58:13 but that isn't supported anymore, it worked in chicken 2 04:00:21 wait..so... how do you define new syntax in run-time? 04:01:57 Shouldn't include be a procedure available in the syntax phase? 04:02:19 oh, I just did that 04:02:29 Like (define-syntax module (lambda (form) ... (include "file.scm") ...)) 04:02:57 I have a third file which loads first the file that defines syntax, then the file that uses it 04:03:01 and it compiles 04:03:08 but I wonder if it's slower 04:04:01 I know in plt (include) is a syntax that uses syntax-phase procedures to load the file. 04:04:26 So (include "file.scm") will pull in syntaxes. 04:04:35 I guess I need to use moduels or something 04:04:39 I'd be really surprised if chicken didn't have that. 04:05:47 I only use include when I'm using someone else's file that isn't defined as a module in whatever scheme I'm using. 04:05:56 Like foof's HTML parser. 04:07:44 synx, you don't define syntax at run-time. 04:08:04 I get runtime errors when I try to define syntax by loading a file that does so 04:08:52 geckosenator, last I knew in Chicken, if you want to compile any of your code (which you probably do), it was necessary to put any macros in a separate file so that you can load that before compiling any other code. 04:09:14 Riastradh: oh 04:09:22 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Remote closed the connection] 04:09:38 Riastradh: you just load that file with a normal load? 04:10:20 tjafk1 [n=timj@e176221142.adsl.alicedsl.de] has joined #scheme 04:10:54 Yes. 04:11:13 This sordid state of affairs is likely to change in Chicken 4, by the way. 04:11:26 However, I know nothing about the technical details of those changes. 04:12:27 hmm ok 04:14:00 if you're going with plt-scheme, they've had nuances of syntax extension and modules figured out for years 04:14:21 -Dcompile-syntax isn't working :-/ 04:14:56 i'm glad i have a dual core processor, so i can benchmark my scheme programs and still watch youtube 04:15:09 maybe you can benchmark mine 04:15:33 but I would like to figure out how to compile it first 04:17:51 I suspect that foof is a better person to ask than I am about using riaxpander in Chicken. 04:18:01 neilv: yeah, well, you _would_ say that :) 04:18:17 offby1, have you by any chance read the most recent entry in ? 04:19:48 nossir 04:19:58 unless it's like six months old 04:20:06 No, it's a few days old, about UNWIND-PROTECT. 04:20:08 aha 04:20:23 I have attempted to make it very concise and clear, at the expense of detailed information. 04:20:38 offby1: yes, i am living large on the kickbacks that plt gives me to plug them 04:20:51 At least, everything up to `Rationale:'. 04:21:13 geckosenator: I assume your extension is not marked as (syntax) 04:21:24 in that case, why don't you just use the -X option to csc 04:21:29 I'm curious to hear what you think, offby1, if you do read it. 04:21:40 or upgrade to chicken 4 and be done with this crap 04:22:14 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:22:56 also, any time you are curious as to how to do something in chicken, just look at one of the 241234234234 available eggs--almost certainly, someone's done exactly what you want to do 04:23:05 i'm sorry 04:23:13 24123423423*5* 04:23:22 You mean concerning build processes? 04:23:34 If you're talking to me, then yes 04:23:47 Riastradh: I need more simple examples :-| 04:23:47 (Yes, I was, zbigniew.) 04:23:57 my brain just clots up after a certain amount of prose 04:23:58 offby1, examples of use? 04:24:03 yeah. 04:24:37 Like "If we use unwind-protect in the simple example of reading a file, look how things go wrong when ..." or perhaps "look how things _don't_ go wrong ..." 04:24:43 s/the simple/this simple/ 04:25:23 -!- bweaver [n=user@75.148.111.133] has quit [Remote closed the connection] 04:25:33 bweaver [n=user@75.148.111.133] has joined #scheme 04:26:53 The typical way to include macros in Chicken 3 as an egg is include your macros in a separate source file and install that, then mark your extension as (syntax) in the setup file; when you then (use) it from a program, the compiler sees the syntax designation, and loads it at compile-time 04:27:07 -!- tjafk2 [n=timj@e176198229.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 04:27:14 You can also do that manually, using the -X option to the compiler 04:27:41 (load), of course, is a runtime command, and is therefore irrelevant 04:27:52 (Now, the _next_ blag entry, about ext4, was utterly clear) 04:29:02 Also, not sure about the (include ...) issue; it works perfectly fine in Chicken 3, as far as I know 04:32:48 offby1, reload. 04:33:37 :) 04:33:44 *offby1* finds his box of .38 shells 04:35:41 Riastradh: Bravo! That's what I'm talkin' 'bout. 04:38:21 zbigniew: does include work in the interpreter? 04:41:13 offby1, any other comments? 04:43:16 -!- meanburrito920_ is now known as iBurrito 04:43:56 offby1 reloaded? 04:44:21 no more comments offhand; now I'm distracted 04:44:23 -!- iBurrito is now known as stealthburrito 04:44:52 OK. Don't let me interfere with your feline duties. 04:45:15 -!- stealthburrito is now known as yitz_ 04:45:26 -!- yitz_ is now known as zacs7_ 04:46:20 (but do let me know if you have further comments later) 04:46:22 foof: I'm now available in a boxed set 04:46:23 *Riastradh* vanishes. 04:46:27 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 04:46:50 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 04:47:28 -!- zacs7_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has left #scheme 04:58:39 -!- arcfide [n=arcfide@adsl-99-137-200-228.dsl.bltnin.sbcglobal.net] has quit ["Sleep"] 05:00:27 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 05:03:04 -!- SharkBrain [n=user@210.48.104.34] has quit [Remote closed the connection] 05:16:00 -!- Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has quit [Remote closed the connection] 05:19:32 -!- npe [n=npe@softbank219039114109.bbtec.net] has quit [] 05:30:27 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 05:37:51 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 05:45:14 geckosenator: yes, I just used it. 06:00:12 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 06:05:35 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 06:05:58 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 06:16:26 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:18:32 hornbeck [n=hornbeck@70-1-197-8.pools.spcsdns.net] has joined #scheme 06:21:15 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 06:25:45 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 06:36:30 i'm so close to getting this macro just right... 06:45:36 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 06:45:51 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 06:57:56 -!- kniu [n=kniu@CMU-328674.WV.CC.CMU.EDU] has quit [Connection timed out] 07:01:58 kniu [n=kniu@DA-YU.RES.CMU.EDU] has joined #scheme 13:36:24 ccl-logbot [n=ccl-logb@master.clozure.com] has joined #scheme 13:36:24 13:36:24 -!- names: ccl-logbot errordeveloper ejs1 Mr-Cat synx sepult Edico deat a-s` stepnem Nshag mejja jgracin jewel hkBst orgy` elias` forcer cracki thehcdreamer npe hotblack23 wrldpc mmc kniu MichaelRaskin_ bweaver tjafk1 dfeuer Faed eno dstorrs Poeir metasyntax egosh262 breily sladegen dmoerner bsmntbombdood kazzmir amoe benny milky_cereals Cale p1dzkl pitui offby1 foof underspecified sphex borism ttmrichter subversus Mr_Awesome vy pbusser2 duncanm sanguinev 13:36:24 -!- names: r0bby Kusanagi rodge clog Debolaz fean mornfall aardvarq weinholt underspecified_ specbot XTL CaptainMorgan cipher jso rdd pchrist araujo tverwaes tttsssttt zbigniew saccade kspaans eli proq nasloc__ jeremiah rudybot nome incubot REPLeffect Quadrescence mmmulani morphir peddie bkudria Elly levi tltstc felipe amazon10x Qaexl halfcore Leonidas wastrel Caesium ski__ ski_ ray ada2358 danking ineiros tizoc ski Deformative inimino elf dlouhy 13:36:24 -!- names: inhortte sjamaan tarbo mbishop qebab mookid pfo pantsd leppie lisppaste minion a-s guenther__ arphid jld lde z0d Adrinael certainty yosafbridge Riastradh elmex aquanaut tabe mmt laz0r rotty gnomon emma poucet C-Keen klutometis csmrFX0r 13:36:44 presto [n=presto@unaffiliated/aaco] has joined #scheme 13:41:22 HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has joined #scheme 13:51:27 -!- ejs1 [n=eugen@77.222.151.102] has quit ["This computer has gone to sleep"] 13:57:01 geckosenator [n=sean@71.237.94.78] has joined #scheme 13:58:26 -!- HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has quit [Client Quit] 14:01:01 weekend! 14:01:17 breily_ [n=breily@137.54.18.104] has joined #scheme 14:03:05 -!- breily [n=breily@173.15.192.254] has quit [Read error: 110 (Connection timed out)] 14:08:15 sepult_ [n=buggarag@87.78.123.168] has joined #scheme 14:09:36 annodomini [n=lambda@130.189.179.215] has joined #scheme 14:10:45 -!- sepult_ [n=buggarag@87.78.123.168] has quit [Client Quit] 14:15:57 -!- jgracin [n=jgracin@78-1-154-246.adsl.net.t-com.hr] has quit [Remote closed the connection] 14:16:00 athos [n=philipp@92.250.250.68] has joined #scheme 14:19:55 -!- sepult [n=buggarag@xdsl-87-78-72-165.netcologne.de] has quit [Read error: 110 (Connection timed out)] 14:19:58 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 14:20:05 bzzbzz [n=franco@modemcable140.105-81-70.mc.videotron.ca] has joined #scheme 14:25:17 davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has joined #scheme 14:26:23 -!- cracki [n=cracki@46-051.eduroam.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 14:26:49 -!- Faed is now known as Fade 14:28:05 leppie: Already caturday there? 14:28:32 nope 4pm on a friday :) 14:29:02 *Mr-Cat* Looks at the clocks... 6:30pm 14:29:09 Still friday 14:31:34 1/2 hour left over here... 14:33:04 i left early from work, at 3:30pm, normally 5:30pm, but I go in just after 7am, and we have a heat wave here today 14:33:28 cant work, even with aircon, just feel totally lazy 14:34:33 Same for me. Being doing nothing for last 3 days 14:43:47 sepult [n=buggarag@xdsl-87-78-123-168.netcologne.de] has joined #scheme 14:47:57 jlongster [n=user@75.148.111.133] has joined #scheme 14:49:17 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has quit ["Leaving."] 14:50:32 -!- breily_ [n=breily@137.54.18.104] has quit [] 14:56:19 luz [n=davids@139.82.89.70] has joined #scheme 15:01:33 -!- vy [n=user@213.139.194.186] has quit [Remote closed the connection] 15:02:01 breily [n=breily@173.15.192.254] has joined #scheme 15:12:53 ecraven [n=nex@140.78.42.103] has joined #scheme 15:14:07 -!- ecraven [n=nex@140.78.42.103] has quit [Client Quit] 15:14:22 McManiaC [n=nils@vpn1186.extern.uni-tuebingen.de] has joined #scheme 15:16:21 -!- McManiaC [n=nils@vpn1186.extern.uni-tuebingen.de] has quit [Client Quit] 15:16:31 McManiaC [n=nils@vpn1186.extern.uni-tuebingen.de] has joined #scheme 15:17:01 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 15:26:25 -!- sepult [n=buggarag@xdsl-87-78-123-168.netcologne.de] has quit [Remote closed the connection] 15:30:23 sepult [n=buggarag@xdsl-87-78-123-168.netcologne.de] has joined #scheme 15:30:58 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 15:31:07 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 15:35:00 well, not _religiously_; just regularly 15:40:47 dlt_ [n=dlt@201.80.181.75] has joined #scheme 15:43:35 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:44:58 RageOfThou [n=RageOfTh@92.36.185.127] has joined #scheme 15:46:14 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 15:46:52 -!- guenther__ [n=guenther@sahnehaschee.unix-ag.uni-kl.de] has quit [Read error: 104 (Connection reset by peer)] 15:46:54 guenther1_ [n=guenther@sahnehaschee.unix-ag.uni-kl.de] has joined #scheme 15:49:59 hornbeck [n=hornbeck@208.80.65.98] has joined #scheme 16:00:31 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 16:14:36 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 104 (Connection reset by peer)] 16:16:24 -!- npe [n=npe@softbank219039114109.bbtec.net] has quit [] 16:17:54 tonyg [n=tonyg@128.54.30.135] has joined #scheme 16:20:21 -!- tonyg [n=tonyg@128.54.30.135] has left #scheme 16:20:34 So my problem with channels is often I channel-get, but the thread that channel-puts dies with an exception, leaving my program hanging indefinitely. 16:20:56 I'm not sure exactly how to handle that. 16:21:06 PLT? 16:21:08 *leppie* wonders if synx is a bot 16:21:13 :) 16:21:13 yeah 16:21:19 *offby1* casts aspersions upon leppie's ancestry 16:21:32 tonyg [n=tonyg@128.54.30.135] has joined #scheme 16:21:33 How do you feel about wonders if synx is a bot leppie 16:21:34 synx: well, you can specify a timeout, so that the remaining thread gives up 16:21:50 -!- tonyg [n=tonyg@128.54.30.135] has left #scheme 16:21:51 Is it because of your family that you say wonders if synx is a bot? 16:22:06 synx: I dont understand the question. Can we talk about something else? 16:22:17 :) 16:22:31 Someone finally gets it. <3 16:22:34 lol 16:22:48 man i hate that alice bot 16:23:17 offby1: Guess so... but I could also have something monitoring the two threads that kills the one when the other dies. 16:23:46 Or I could have the dying thread on exception send that exception across the channel, and re-raise it in the getting thread. 16:24:10 So I'm not sure if those are all workable solutions, or which would be the most elegant. 16:25:29 they all sound complex. ... wouldn't it be easier to figure out why the putter is getting the exception in the first place, and fix it ? :-p 16:25:38 if you have to monitor threads, something does not sound right 16:26:14 Now, in Erlang, we'd just let the thing die, and have a "supervisor" restart it ... endlessly .... 16:26:39 and if it dies on startup, does it just keep retrying? 16:26:42 That's the second solution offby1. 16:26:53 It makes sense for things like a web server. 16:27:23 You want to isolate the error and notify an admin, without killing the whole program. 16:28:42 The third solution is kind of like chicken futures. 16:29:59 Guess it doesn't really matter. I already almost have futures hacked together. 16:30:49 leppie: yep. You can have a simple policy that says "if it dies too many times in a given time interval, give up". 16:31:12 chicken futures? Are those like collatoralized poultry obligations? 16:31:49 well that depends if you are writing a server or a client 16:32:48 I'm writing a client, sort of. 16:33:07 It has to keep a pool of persistent connections though, so not entirely different from a server. 16:33:30 1 connection per server, right? 16:33:40 2 threads per connection? 16:34:12 well connnections + 1 threads 16:39:17 No, many connections per server. 16:39:21 Or, there could be at least. 16:39:40 Not every server supports pipelining after all. 16:41:28 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 54 (Connection reset by peer)] 16:44:57 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 16:54:32 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 54 (Connection reset by peer)] 16:54:50 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 16:58:39 -!- presto [n=presto@unaffiliated/aaco] has quit [Nick collision from services.] 16:59:57 Judofyr [n=Judofyr@ti0056a341-0392.bb.online.no] has joined #scheme 17:05:05 -!- lde [n=user@184-dzi-2.acn.waw.pl] has quit [Read error: 104 (Connection reset by peer)] 17:06:51 -!- a-s` [n=user@85.9.55.98] has quit [Remote closed the connection] 17:10:25 hadronzoo [n=hadronzo@ppp-70-251-123-75.dsl.rcsntx.swbell.net] has joined #scheme 17:20:32 vy [n=user@88.227.51.34] has joined #scheme 17:27:18 offby1` [n=user@206.124.138.125] has joined #scheme 17:27:35 alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has joined #scheme 17:29:49 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 17:44:45 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [No route to host] 17:46:29 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 17:47:54 saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has joined #scheme 17:54:44 incubot: san fransisco is to palo alto what prokofiev is to schumann: loud, brash to effeminate, vain 17:54:47 sort of brash, arrogant, and childishly inane chatter ususally flies in the real word, but i forget that on the net, nobody knwos me in person. 17:55:37 for some people the "net" friends are more important 18:01:08 looking for a scheme to embed in C app on iphone. looking at gambit. any other suggestions? 18:01:22 yeah 18:01:40 the same guy who wrote gambit wrote a really small vm in 3000 lines of c 18:01:48 and also a compiler to go with it 18:01:55 and it can even run on 8 bit micros 18:02:41 marc feeley? sounds like he rocks scheme pretty hard :) 18:04:48 too many rock scheme hard, not many rock scheme hard together :| 18:05:01 ahh, I miss Palo Alto. Except for the 20 minute drive to get out of residential and the snobby college students 18:05:04 http://dynamo.iro.umontreal.ca/~gambit/wiki/images/0/03/Picobit-r2.tgz 18:22:55 jao [n=jao@obfw.oblong.net] has joined #scheme 18:37:07 -!- hornbeck [n=hornbeck@208.80.65.98] has quit [Read error: 104 (Connection reset by peer)] 18:37:15 hornbeck [n=hornbeck@208.80.65.98] has joined #scheme 18:41:33 barney [n=bernhard@p549A0C58.dip0.t-ipconnect.de] has joined #scheme 18:50:46 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 18:54:40 glogic [n=rm@5ess.net] has joined #scheme 18:54:51 -!- alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has quit [] 18:56:12 elderK [n=zk@222-152-99-8.jetstream.xtra.co.nz] has joined #scheme 18:58:02 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 18:58:45 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 19:01:11 HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has joined #scheme 19:05:31 hornbeck_ [n=hornbeck@208.80.65.98] has joined #scheme 19:05:39 -!- hornbeck [n=hornbeck@208.80.65.98] has quit [Read error: 104 (Connection reset by peer)] 19:06:17 -!- hornbeck_ is now known as hornbeck 19:06:44 -!- glogic [n=rm@5ess.net] has quit ["leaving"] 19:07:02 glogic [n=glogic@5ess.net] has joined #scheme 19:14:08 Morninight to ye all. 19:14:08 :P 19:16:50 Hey folks, is there a difference between lexical closures and syntactic closures? 19:16:55 If so, what? 19:19:04 -!- HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has quit [Client Quit] 19:19:18 Arelius_ [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 19:20:26 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 19:22:41 elderK: syntactic closures is the name of a macro system 19:23:16 lexical closures are the closures most people talk about 19:23:17 ;) 19:23:23 :) thanks amoe 19:24:09 -!- vy [n=user@88.227.51.34] has quit [Remote closed the connection] 19:24:47 I'm looking at SICP exercise 2.5 19:25:03 I don't really know where to start... 19:26:01 incubot: after that cliffhanger in the OED, I feel like I need lexical closure to move on... what the hell comes after Y, anyway 19:26:01 The ex is: represent non-negative integers (a, b) as 2^a+3^b and implement CAR and CDR 19:26:04 hell, just invoke (apply u v)and (u v ) a few times, for different values of u and v. 19:26:41 I think maybe there's a maths trick I am missing, but where should I look for it? 19:27:27 elderK, a syntactic closure is an object that represents an expression with some information about the lexical context, used by a program that reasons about programs (such as a macro expander). A `lexical closure' is usually a procedure that remembers the locations of some variables that were bound when the procedure was created, and can be applied to arguments by a program. 19:27:28 ThF [n=ThF@AAnnecy-158-1-69-71.w90-52.abo.wanadoo.fr] has joined #scheme 19:28:00 ecraven [n=nex@140.78.42.103] has joined #scheme 19:30:15 *amoe* expected to be corrected ;) 19:30:40 Riastradh: I read your Lisp style notes, :) 19:31:03 you weren't so much corrected as expounded upon 19:31:31 *zbigniew* is incorrigible 19:31:46 -!- offby1` [n=user@206.124.138.125] has quit ["too distracting"] 19:31:54 hornbeck_ [n=hornbeck@208.80.65.98] has joined #scheme 19:32:08 2^a+3^b: I accidentally read an implementation that seemed to use iterated division 19:32:22 `Syntactic closure' has one precise definition; `lexical closure' is generally understood but has no such precise definition. 19:32:42 but I'm not imaginative enough to go from there to actual working code without a clue... 19:33:22 I understand as a lexical closure, as like ... a function that returns another, but the new one, continues to be able to access bindings introduced in the containing function. 19:33:28 -!- hornbeck [n=hornbeck@208.80.65.98] has quit [Read error: 104 (Connection reset by peer)] 19:33:37 -!- hornbeck_ is now known as hornbeck 19:34:19 But, your explanation on syntactic closures was a little hard for me to ponder. but, I have downloaded a paper on Syntactic closure:) So, I will read that before I ask you to explain again. 19:34:19 :) 19:35:26 Naively, one represents expressions in programs as trees of lists and symbols. 19:36:02 Why 'naive' ? 19:36:28 But if you do that, and you write a program that generates the expression `(LET ((V ,foo)) (SET! ,foo ,bar) (SET! ,bar V)), then if either foo or bar is the symbol V, the resulting expression will probably not mean what you wanted. 19:37:01 not hygenic? 19:37:06 That's right. 19:37:53 However, if instead we make foo or bar not a symbol but a syntactic closure that contains both a symbol and the information about what that symbol *means* (i.e. to what variable the name is bound), then it can't be confused with the V that we generated. 19:39:02 exactly, the name we give it in the representation of the macro, is really only programmer convenience. 19:39:51 it only exists as a temporary identifier for whatever value, whatever the pattern variable binds. But its "name" shouldn't interfere with the input. 19:39:52 Right? 19:39:57 At least, that's how I see it in my head. 19:39:57 lol 19:40:41 Right. Specifically, the environment in which we interpret the resulting expression will be different from the environment in which we interpret foo and bar. To do this, foo and bar are objects that tell what environment we're supposed to use to interpret them. 19:41:05 like I said, convenience. 19:41:05 :P 19:41:22 Convenience is one way to put it, but I think composability is a better way. 19:41:38 :P Old habits die hard, man :) 19:43:03 To me, a variable's "name", is just convenience - a human understandible representation of the location to which it binds. 19:43:13 :P So, we type the symbolic name rather than the raw machine address. 19:43:42 HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has joined #scheme 19:43:50 To me, the pattern variables are similar - but instead of bindings to some location in memory, which stores the value of a variable - instead, they bind to the location of the 'symbol' that they match in the input. 19:44:14 so when they are 'expanded', they result in the symbol they 'represent'. Rather than that symbols actual value. 19:44:41 No? 19:44:55 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [Read error: 113 (No route to host)] 19:45:08 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 19:45:52 TTTH [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 19:51:13 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 19:54:27 -!- kniu [n=kniu@DA-YU.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 19:54:59 kniu [n=kniu@CMU-328674.WV.CC.CMU.EDU] has joined #scheme 19:58:19 -!- ThF [n=ThF@AAnnecy-158-1-69-71.w90-52.abo.wanadoo.fr] has quit [] 19:59:03 -!- jewel [n=jewel@dsl-247-201-204.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 20:04:12 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [No route to host] 20:05:47 benny` [n=benny@i577A261B.versanet.de] has joined #scheme 20:07:12 -!- HG` [n=wells@82-35-66-18.cable.ubr01.dals.blueyonder.co.uk] has quit [Client Quit] 20:10:30 -!- barney [n=bernhard@p549A0C58.dip0.t-ipconnect.de] has quit [Remote closed the connection] 20:12:18 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has left #scheme 20:21:12 -!- benny [n=benny@i577A1BC1.versanet.de] has quit [Read error: 110 (Connection timed out)] 20:30:03 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit [Remote closed the connection] 20:33:34 melgray [n=melgray@70.99.250.82] has joined #scheme 20:34:16 -!- saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has quit [Read error: 60 (Operation timed out)] 20:35:33 saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has joined #scheme 20:37:04 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 20:37:18 You can store a syntax in a variable. Is that what you mean? 20:40:50 lolcow [n=lolcow@dsl-243-50-48.telkomadsl.co.za] has joined #scheme 20:49:02 /ping leppie 20:49:04 DIE! 20:49:14 :P 20:49:15 synx: since we have runtime syntax 20:49:20 lolcow, l'im alone! 20:49:24 hey geckosenator! 20:49:26 and yo, synx1 20:49:33 hey, is sjamaan here? YO! 20:49:34 :p 20:49:35 -!- leppie [n=lolcow@196-210-177-119-wblv-esr-3.dynamic.isadsl.co.za] has quit [Read error: 60 (Operation timed out)] 20:49:35 it's my ghost! 20:49:41 *elderK* goes on a yo spree 20:49:41 -!- lolcow is now known as leppie 20:49:48 'lo leppie 20:49:48 :) 20:50:08 that connection went a bit sour 20:50:27 leppie man, can you help me with a bit of a dilemma? 20:50:32 runtime syntax isn't very useful I don't think... (eval (syntax->datum syntax)) I guess? 20:50:49 :P I can't stop thinking about it and, I'm not sure if I should build it or not ... but Scheme /needs/ it... but... 20:50:51 *elderK* ponders 20:51:11 *leppie* tries to listen 20:51:31 Also wonder what is faster: Manual piecing together bytes to make integers - or, dropping down to C - to directyl index into a blob - get the integer an dreturn it to scheme. 20:51:36 synx: when you use them we syntax transformer, they are 20:51:44 I'd say C - but I'm not sure how the stubs/scheme->c is handled. 20:51:46 s/we/as/ 20:51:53 yeah, regex, represent! :P 20:51:53 lol 20:52:09 Any of you read "Mastering Regular Expressions" ? 20:52:12 Was a pretty good book :) 20:52:43 -!- davidad [n=me@NORTHWEST-THIRTYFIVE-FOUR-TWENTY-TWO.MIT.EDU] has quit [Success] 20:53:01 I dunno elderK, I cheat by using a VM for my Scheme :) 20:53:03 leppie: Wouldn't that be the syntax phase then, not the runtime phase? 20:53:05 Leppie, what I want to do - is provide /decent/ IO stuff to Scheme. For extraction of various things from blobs - for mapping structures created in scheme, to data inside of a blob. Like, automated extraction. 20:53:36 unlike every other BIO thing I've seen - I don't want to piece together the integers - that's just stupid, when the machine itself supports that functionalitY! 20:53:37 synx: yes, but they still procedural, you could use it as a processor at runtime for pre-expanding code for example 20:53:52 That, or I'm just totally misusing Scheme. Not sure. 20:54:03 It's just I like Scheme a lot, and this one set of deficiencies, ruins it for me. 20:54:04 -!- McManiaC [n=nils@vpn1186.extern.uni-tuebingen.de] has quit ["Lost terminal"] 20:54:56 Leppie, I might set up a little webpage sometime soon - and put my ideas and goals up on there. 20:55:01 See if I can get some feedback. 20:55:14 If I get enough people who would actually find it useful, I'll buil dit. 20:55:19 Otherwise, I'll just leave it. 20:55:28 I think that is a fair and decent solution to the mental deadlock/ 20:55:29 :p 20:55:45 McManiaC [n=nils@vpn1186.extern.uni-tuebingen.de] has joined #scheme 20:55:55 elderK: have you looked at the R6RS bytevector library? I would imagine a similar API would be good for pointers 20:57:00 Well the point is, the 'pointeryness' of it all, would be obscured. 20:57:09 the IO stuff would be just like anything else schemey. 20:57:19 :) 20:57:30 I tend to use syntax->datum quite frequently, but not datum->syntax that much 20:57:34 basicalyl, we want something at LEAST like this, that ISNT DONE entirely in software. 20:57:50 int16 = *(uint16_t *)&blob[index]; 20:57:58 or s/16/32/ 20:58:02 or 64... 20:58:06 u8vector-ref is fine. 20:58:16 but, it'd be nice to be able to work on blobs directly, without having to convert first. 20:58:34 that'd also maintain the difference that this isn't just 'vectors' and shit, it's pure binary stuff. Perhaps the distinction could be useful. 20:58:47 Currently, the IO shit pieces together the integers with shifting and whatnot. That's just, slow. 20:58:49 Imagine adding ... 20:58:55 Extract, add, place back 20:59:06 Vs, doing it inplace with C. 20:59:23 that's the compilers job :) 20:59:25 *(uintXX_t *)&blob[offset] += addend 20:59:28 yeah, but it doesnt 20:59:30 dont you see that? :P 20:59:42 try stalin :p 20:59:49 *sighs* :P 21:02:29 :P 21:02:39 and hey, how do you mean VM? :) 21:02:47 You run the code in a VM? 21:04:03 What if offset is not a multiple of sizeof (uintXX_t), elderK? 21:04:53 (assuming that blob itself is something obtained, say, from malloc) 21:05:44 elderK: I'm not sure having runtime syntax is actually all that useful 21:05:56 elderK: my Scheme is compiled bytecode for the .NET runtime, I try use their native types as far as I can stay compatible 21:06:41 leppie: does that work for lists? 21:07:03 no, I made a 'Cons' class for that 21:07:18 ok 21:07:23 but that implements the basic .NET IEnumberable interface 21:07:43 so it's kinda useful both sides 21:08:01 could you use profiling feedback to convert future compiles to use lists of vectors of the appropriate size and placement to optimize performance? 21:08:15 meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has joined #scheme 21:08:21 instead of lists or vectors.. the compiler would use the right combination 21:08:33 Riastradh: that's fine. 21:08:57 Riastradh: C allows you read integers from arbitrary offsets :) 21:09:05 :P Sometimes I wonder if you guys actually use C at all. 21:09:06 :P 21:09:09 like, ever. 21:09:10 i'm not sure I understand geckosenator :) 21:09:36 Some architectures might trap on unaligned access. 21:10:01 but then, that depends soley on the width of what you are reading... 21:10:03 Would you like me to quote the C standard, elderK, or can you guess what I'm about to quote? 21:10:23 If you feel it helps you keep face, sure, go for it. 21:10:55 Remember that there is a difference between the behaviour that you happen to get with, say, GCC, and the behaviour that you are guaranteed by the C language. 21:11:19 It is a function of the /hardware/ man. 21:11:29 and the compiler 21:11:33 In this case, you are guaranteed nothing about the behaviour of the unary * operator if the address you are dereferencing is misaligned. So an implementation of C is free to make demons fly out of your nose. 21:11:37 16bit integers can be read from 0, 2, 4, offsets. If you want it to be specifically aligned. 21:11:52 Like I said, Riastradh, Some architectures will FAULT 21:11:59 Even intel with alignment check on... 21:12:07 *Riastradh* vanishes briefly. 21:12:37 But even with that in mind, scheme's IO system and indexing into blbos can be made far better. 21:13:13 how about a scheme to scheme compiler? 21:13:14 and hey, btw, Riastradh, nice style guide. 21:13:35 transforms scheme and then uses feedback to see if it makes it faster or not 21:13:47 brb guys, have to extend a lvm 21:13:50 -!- elderK [n=zk@222-152-99-8.jetstream.xtra.co.nz] has left #scheme 21:13:56 alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has joined #scheme 21:16:16 -!- Riastradh [n=rias@pool-141-154-233-226.bos.east.verizon.net] has quit [Read error: 60 (Operation timed out)] 21:17:11 yeah it is a good style guide, I started applying the 'if' rule lately :) 21:17:31 *leppie* has no scheme at all 21:17:37 *leppie* has no scheme style at all 21:17:39 oops 21:19:25 what is the if rule? 21:19:34 never use if? 21:19:36 for indentation 21:19:50 can't your text editor just reindent it? 21:19:52 Riastradh [n=rias@pool-141-154-245-43.bos.east.verizon.net] has joined #scheme 21:20:12 -!- hornbeck [n=hornbeck@208.80.65.98] has quit [Remote closed the connection] 21:20:13 my text editor is my own creation, it knows not of such stuff :) 21:20:39 well maybe you should just write that code.. 21:21:25 why? 21:21:48 then the editor would indent for you using the if rule 21:22:06 -!- alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has quit [] 21:23:29 yeah I guess I could do that, and should not be hard for simple cases 21:24:04 -!- kniu [n=kniu@CMU-328674.WV.CC.CMU.EDU] has quit ["Leaving"] 21:24:41 kniu [n=kniu@CMU-328674.WV.CC.CMU.EDU] has joined #scheme 21:26:29 -!- Nshag [i=user@Mix-Orleans-106-1-228.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 21:28:56 Riastradh: what's this style guide you've written? 21:29:07 21:29:11 (or I'm probably asking for "where") 21:29:36 cool  will check out 21:34:47 sigh... 21:35:28 I need to send a request to a thread, get a response from another thread, and return the response to the original context where the request was sent. 21:35:52 lde [n=user@184-dzi-2.acn.waw.pl] has joined #scheme 21:36:03 And if anything errors out in this process the original thread that sent the request should error out. 21:36:38 alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has joined #scheme 21:37:10 -!- lde [n=user@184-dzi-2.acn.waw.pl] has quit [Read error: 104 (Connection reset by peer)] 21:37:35 I suppose... the request gets a channel, passes it to the response...meh 21:37:37 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 21:40:00 what's the linux behavior if you exhaust vm and have no swap defined? 21:40:23 i see lots of disk activity, as if it's swapping 21:44:16 -!- alaricsp [n=alaricsp@88-202-205-114.rdns.as8401.net] has quit [] 21:49:40 Near as I can tell everything just grinds to a halt neilv. 21:49:52 If you have no swap defined it just freezes, period. With swap it just starts slowing. 21:50:14 oops, sorry, wrong channel 21:50:28 Mouse and keyboard stop responding. Sysrq keys still work though. 21:50:31 Needless to say I run into this a lot. -.- 21:50:39 :> 21:50:57 i meant to be typing that at a kernel hacker 21:51:07 -!- kniu [n=kniu@CMU-328674.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 21:54:37 kniu [n=kniu@DA-YU.RES.CMU.EDU] has joined #scheme 21:56:19 oh yes, they're the ones who deserve it. :) 21:56:42 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 21:57:49 thanks for the inspiration geckosenator, that took all of 30 mintues and about 10 lines of code to add 'if' indentation :) 21:58:28 heh great 21:58:53 maybe you could have an editor that reads your code and learns your personal style 21:59:03 then it can convert other people's code, and convert it back 21:59:12 and they won't notice as muc 21:59:19 that be nice :) 21:59:53 geckosenator: I don't think version control would like that very much 21:59:58 bombshelter13_ [n=bombshel@209-161-226-98.dsl.look.ca] has joined #scheme 22:00:39 This is alpha one to version control, do you copy? 22:01:09 negative delta charlie 22:01:10 jlongster: if you do it right, and the version control communicates with the indenting, it could be seemless 22:01:36 you could even switch indenting modes as a version control command 22:02:14 you might be able to get somewhere with indentation, true 22:04:08 arcfide [n=arcfide@adsl-99-137-200-228.dsl.bltnin.sbcglobal.net] has joined #scheme 22:04:13 *arcfide* waves. 22:04:18 'Ello, folks. 22:04:47 ejs [n=eugen@227-150-124-91.pool.ukrtel.net] has joined #scheme 22:05:03 MrFahrenheit [n=RageOfTh@92.36.157.49] has joined #scheme 22:06:59 hi arcfide 22:08:11 leppie: making trouble again on r6rs-discuss? ;P 22:08:24 Isn't he always? 22:08:25 seems so 22:08:27 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 22:09:31 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 22:10:57 -!- ejs [n=eugen@227-150-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 22:14:36 https://synx.us.to/code/scheme/safe-channel.ss 22:14:40 how about that? 22:15:09 elderK [n=zk@222-152-99-8.jetstream.xtra.co.nz] has joined #scheme 22:15:22 I'm trying to deal with not having channel-get hang when something bad occurs elsewhere. 22:15:27 I should just ask on the plt only channel :p 22:15:29 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:19:01 The with-channel thing is such a hack... don't know how else to describe it though. 22:21:48 hornbeck [n=hornbeck@173-117-49-26.pools.spcsdns.net] has joined #scheme 22:23:56 -!- RageOfThou [n=RageOfTh@92.36.185.127] has quit [Read error: 110 (Connection timed out)] 22:24:00 -!- elderK [n=zk@222-152-99-8.jetstream.xtra.co.nz] has left #scheme 22:27:13 -!- Judofyr [n=Judofyr@ti0056a341-0392.bb.online.no] has quit [Remote closed the connection] 22:29:13 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 22:40:19 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 22:45:44 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 22:47:15 -!- subversus [i=elliot@loveturtle.net] has quit [Remote closed the connection] 22:47:58 gweiqi [n=greg@69.120.126.163] has joined #scheme 22:53:17 -!- hornbeck [n=hornbeck@173-117-49-26.pools.spcsdns.net] has quit [Read error: 110 (Connection timed out)] 22:55:08 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 22:58:06 -!- saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has quit ["This computer has gone to sleep"] 22:59:45 hornbeck [n=hornbeck@72-62-109-118.pools.spcsdns.net] has joined #scheme 23:00:25 hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has joined #scheme 23:01:51 -!- MrFahrenheit [n=RageOfTh@92.36.157.49] has quit [Read error: 110 (Connection timed out)] 23:02:43 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 23:08:36 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 23:11:14 Maybe I shouldn't use handlers at all, only channels. That might work... 23:13:20 -!- Arelius_ [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 23:13:20 morning 23:15:20 klirrikassan [n=hask@h10n7c1o1097.bredband.skanova.com] has joined #scheme 23:15:26 so anyone wrote an OS in Scheme? 23:15:51 I think the PLT people got PLT running on Flux OS. 23:16:08 at one point, you could compile mzscheme for oskit 23:16:13 And there are Linux kernel bindings for Scheme (lookup schemix). 23:16:58 -!- hadronzoo [n=hadronzo@ppp-70-251-123-75.dsl.rcsntx.swbell.net] has quit [Read error: 110 (Connection timed out)] 23:19:10 sure but a kernel in scheme 23:19:22 -!- bombshelter13_ [n=bombshel@209-161-226-98.dsl.look.ca] has quit [Client Quit] 23:20:25 you could argue plt has that 23:20:42 hadronzoo [n=hadronzo@ppp-70-251-123-75.dsl.rcsntx.swbell.net] has joined #scheme 23:21:41 neilv: can it run multiple copies of itself? 23:22:02 -!- klirrikassan [n=hask@h10n7c1o1097.bredband.skanova.com] has left #scheme 23:23:36 *mejja* whispers: (define (windoz-clone) (bitblit "bsod.png") (do () (#f))) 23:23:44 look at what drscheme does to be implemented in scheme and let you run scheme programs, all in the same native process 23:24:24 it's an interesting exercise to think about what an operating system actually is, but i wouldn't get too hung up on it 23:24:38 haha drscheme is kind of a virtual machine 23:27:07 lessee... 23:28:05 For each host I have one thread handling requests, one handling responses. You pass a handler in that puts a value to a channel once the response is gathered. But if the connection dies halfway through, it'll never get to put that value, so the original thread waiting for the value will hang forever. 23:29:55 hornbeck_ [n=hornbeck@70-7-80-25.pools.spcsdns.net] has joined #scheme 23:30:35 Compound that with the request having itself a data upload handler, and I'm rather confused what to do. 23:34:04 -!- hornbeck [n=hornbeck@72-62-109-118.pools.spcsdns.net] has quit [Nick collision from services.] 23:34:09 -!- hornbeck_ is now known as hornbeck 23:40:36 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 23:40:45 -!- hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has quit [Read error: 110 (Connection timed out)] 23:50:06 *mejja* sues #scheme for not laughing at his windoz joke 23:50:54 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #scheme 23:53:57 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 23:55:03 mejja: OBJECTION! OVERRULED!