00:02:55 I don't get it with the IMAP UIDs. Every message has a UID. You request it by its index though, not by its UID. And you use the message-id to ascertain if it's a duplicate message or not, not its UID. Do you use the UID at all? 00:07:29 *shrug* 00:07:30 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #scheme 00:09:36 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 113 (No route to host)] 00:11:28 -!- phao [n=phao@189.13.96.195] has quit [Read error: 110 (Connection timed out)] 00:11:32 peculiar at least, oh well 00:13:09 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 00:16:12 hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has joined #scheme 00:18:09 -!- Nshag [i=user@Mix-Orleans-106-3-248.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 00:18:13 underspecified_ [n=eric@softbank220043052011.bbtec.net] has joined #scheme 00:18:31 -!- underspecified [n=eric@softbank220043052011.bbtec.net] has quit [Read error: 54 (Connection reset by peer)] 00:20:25 -!- orgy` [n=ratm_@pD9FFE289.dip.t-dialin.net] has quit ["Gone."] 00:21:21 -!- kniu [n=kniu@CMU-311358.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 00:22:06 kniu [n=kniu@OLAWDYME.RES.CMU.EDU] has joined #scheme 00:28:21 peter_12 [n=peter@pool-71-105-154-91.lsanca.dsl-w.verizon.net] has joined #scheme 00:43:32 synx, the parts of a message may be fetched by index or by UID. 00:43:43 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 54 (Connection reset by peer)] 00:45:39 attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has joined #scheme 00:49:33 In plt, in imap-get-messages: "The msg-nums argument specifies a set of messages by their message positions (not their uids)" 00:49:34 eno [n=eno@nslu2-linux/eno] has joined #scheme 00:53:30 Or you mean imap in general? 00:54:26 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 00:54:40 Crap... yeah it looks like net/imap doesn't support "UID FETCH", just "FETCH". 00:55:04 raikov [n=igr@203.181.243.11] has joined #scheme 00:56:31 Be easy to generalize, but I'd have to submit a patch or something... 00:58:00 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 00:59:52 a1len [n=James@unaffiliated/a1len] has joined #scheme 01:02:36 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Nick collision from services.] 01:02:51 -!- offby1` is now known as offby1 01:04:03 -!- a1len [n=James@unaffiliated/a1len] has quit [Client Quit] 01:10:02 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 60 (Operation timed out)] 01:10:34 -!- exexex [n=chatzill@85.96.116.191] has quit [Remote closed the connection] 01:10:46 exexex [n=chatzill@85.96.116.191] has joined #scheme 01:15:00 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [] 01:15:10 okay so I can collect emails using gmail as an ad hock relay. Now all I need to do is figure out how to send them... 01:15:49 a1len [n=James@unaffiliated/a1len] has joined #scheme 01:16:07 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #scheme 01:16:34 -!- gaja [n=Gabriel@c-3481e555.017-40-6c6b7013.cust.bredbandsbolaget.se] has quit ["leaving"] 01:16:34 Did it turn out that Gmail would deliver synx@ to synx@gmail.com? 01:18:05 Riastradh: No. 01:18:24 How did you manage to use Gmail as an ad hock [sic] relay? 01:18:29 .oO("ad hock")? 01:18:53 Riastradh: synx+randomstr@gmail.com 01:19:06 (Ad hock cough hack hock hurk -- argument by spreading the influenza to one's opponent.) 01:19:06 will be delivered to synx@gmail.com 01:19:10 ad hoc , it's latin for a hack. 01:19:19 dudrenov, yes, but that doesn't help for synx@synx.com. 01:19:26 So I'm curious how synx is using Gmail as an ad hack relay. 01:19:35 A task designed specifically for this purpose. 01:19:38 he's hacking Google AdSense! 01:19:43 *offby1* alerts the authorities 01:19:49 (Not hoccing it?) 01:20:06 Riastradh: I never used synx@synx.com anyway. It was always @synx.com 01:20:35 synx, OK, but either way I'm curious how you're hoccing urp Gmail ad relay. 01:20:42 If I could get gmail to transform @mydomain to myusername+anything@gmail.com then it'd be a fully functioning relay. They won't though, obviously. 01:21:13 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 01:21:29 You send email to gmail, then gmail sends it to me. It's not a real email relay. 01:21:53 bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has joined #scheme 01:22:06 It's a half baked poor quality solution, because I have no other option, to get email to various users and aliases on my machine. 01:22:58 Extremely non-generalizable. I'm just taking something+alias@gmail.com and turning that into alias@mydomain. 01:24:58 -!- bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has quit [Client Quit] 01:25:40 -!- name [n=name@sburn/devel/name] has quit ["Lost terminal"] 01:25:42 wow... talk about email on the brain 01:25:51 bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has joined #scheme 01:26:15 I make everything overcomplicated. :( 01:26:31 Spent hours on a 10min solution I bet. Oh well. 01:27:11 meh, so didn't I 01:28:39 -!- peter_12 [n=peter@pool-71-105-154-91.lsanca.dsl-w.verizon.net] has quit [] 01:30:08 -!- bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has quit [Read error: 104 (Connection reset by peer)] 01:30:47 bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has joined #scheme 01:31:23 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [No route to host] 01:36:31 -!- Axioplase [n=Pied@watchdog.msi.co.jp] has quit ["Lost terminal"] 01:37:34 -!- bombshelter13_ [n=bombshel@209-161-228-143.dsl.look.ca] has quit [Client Quit] 01:38:27 -!- elmex [n=elmex@e180066176.adsl.alicedsl.de] has quit [Remote closed the connection] 01:38:28 not really a scheme question; but a generic question, that smart ppl know how to solve. So lagely, I've been logging everything (via irssi, and screen). Now, I've relaized that in around a week, I generate 210M of data. This is going to take up lots of space. How do you guys deal with this problem? (I need some smart system of deleting these logs; but I never know what command I want to search through them to find ...) 01:39:20 gzip 01:39:37 log rotate 01:39:38 Then archive them on a hard disk, and let it rot in your basement! 01:39:51 (or on tape) 01:40:10 Better solution, don't log everything, you'll never look at any of it again 01:40:29 Or cull it weekly 01:41:01 What are you logging, anyway, aside from IRC channels, hml? 01:41:16 dcc chat 01:41:41 Riastradh: i find it really useful to log things when i'm working through tutorials, like ruby on rails stuff 01:41:56 OK, but two hundred megabytes of that per week? 01:42:06 Riastradh: to be able to grep through commands i type at the bash prompt, in mysql command windows, and in editors all at the same time, makes searching through stuff really easily 01:42:27 Riastradh: I think part of the problem is taht when I write code, there are lots of print statements (especialy in C/C++ when I printf/cout all the time) 01:42:35 that may be why i'm generating 40MB / day sometimes 01:43:07 I can see logging the last 24 hours. But beyond that? Flush it. 01:43:12 maybe the solution is to always do ./a.out | less 01:43:44 cull it as you are logging, only save the insightful stuff 01:44:07 Daemmerung: eh, it's always stuff that's a week old; "gee, I wonder how I did that last time" ... then I just go into ~/logs/ and I grep for it; (on, all my screen sessions are named, so i know exactly which one to look for, i..e coding, misc, testing, etc ...) 01:44:15 zbigniew: culling takes time & effort 01:44:43 grepping 1 terabyte of data for the one thing you want takes more 01:44:58 maybe i can use fuse - gmail ... 01:45:01 and use google search to find stuff 01:45:09 except occasionally there are some private stuff 01:45:23 Axioplase [n=Pied@watchdog.msi.co.jp] has joined #scheme 01:45:28 you don't need to log what porn you look at 01:45:42 zbigniew: Oh, I disagree! 01:45:53 at least not in typescript format 01:45:54 i don't watch ascii porn 01:46:06 zbigniew: i hear they've moved up to images, and even movies these days 01:46:45 mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:46:47 i hear you can launch applications from the command line these days 01:47:51 cull it dude. otherwise you become like everybody else with their 8 billion photos and videos of their life only 0.01% of which will ever be looked at again 01:48:06 the longer you wait, the more difficult it is to categorize and prune 01:48:27 i dunno; I think my logs grow linearly 01:48:30 whereas HD grows exponentially 01:48:46 in ffact, I think even today, I can start carrying all my lots on a portalbe flash drive, and it'll still be fine 01:49:00 oh right, ... search time 01:50:41 well, good luck finding it when you need it 01:54:28 -!- cemerick [n=la_mer@c-71-233-165-252.hsd1.ma.comcast.net] has quit [] 01:54:33 anyone know of a scheme SMTP daemon? 01:55:04 Didn't foof have one? 01:55:08 I need to filter outgoing messages from user@localhost to thing+user@gmail.com 01:56:05 I thought he just did loops... 01:56:23 He loops over spools, too. 01:56:56 Oh, huh. 01:57:38 Or spmr in scsh. 01:58:18 (I /thought/ I remembered something in scsh.) Never looked at it myself. 01:58:36 -!- damianc [n=damian@unaffiliated/dconway] has quit [] 02:01:59 -!- hml [n=x@unaffiliated/hml] has quit ["dinner"] 02:07:20 -!- mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 02:15:40 -!- phao_ [n=phao@20158174168.user.veloxzone.com.br] has quit [Remote closed the connection] 02:15:44 phao [n=phao@20158174168.user.veloxzone.com.br] has joined #scheme 02:16:13 -!- kniu [n=kniu@OLAWDYME.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 02:16:17 postfix content filters pretty much encourage that you make your own SMTP daemon, so you can error out sanely and such. 02:20:29 Well, I know python has a smtp daemon. *sigh* 02:26:16 -!- grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has quit [] 02:52:17  02:52:52 sorry, terminal malfunction... 02:58:27 Arelius_ [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 02:58:27 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Read error: 104 (Connection reset by peer)] 03:03:03 -!- exexex [n=chatzill@85.96.116.191] has quit [Read error: 110 (Connection timed out)] 03:06:44 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 03:07:25 synx: http://synthcode.com/scheme/hato/ 03:07:52 thanks foof. 03:09:38 hml [n=x@unaffiliated/hml] has joined #scheme 03:12:33 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 03:16:54 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Read error: 60 (Operation timed out)] 03:18:08 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 03:19:05 ziggurat [n=ziggurat@pool-71-244-44-183.dllstx.fios.verizon.net] has joined #scheme 03:19:13 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 03:21:35 kniu [n=kniu@OLAWDYME.RES.CMU.EDU] has joined #scheme 03:22:50 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #scheme 03:23:16 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Nick collision from services.] 03:23:29 -!- offby1` is now known as offby1 03:24:58 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #scheme 03:43:31 echo-area [n=user@nat/yahoo/x-6e2de762823358bb] has joined #scheme 03:46:25 -!- Mr_Awesome [n=eric@isr5956.urh.uiuc.edu] has quit [Read error: 110 (Connection timed out)] 03:49:23 -!- aspect [n=aspect@li18-11.members.linode.com] has quit ["Lost terminal"] 03:52:10 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 03:52:37 -!- phao [n=phao@20158174168.user.veloxzone.com.br] has quit ["Leaving"] 03:54:26 AAACCK THPBPBPT 03:54:44 ...uh...syn ack? 03:55:02 Hullo! 03:55:07 What's next in the TCP state machine after `AAACCK THPBPBPT'? I'm not familiar with that kind of packet. 03:55:23 Pro tip: never leave your pizza unattended when your furbeast is in an inquisitive mood. 03:55:33 That's a good question, actually. 03:56:27 Another helpful tip: Don't eat a plateful of pasta with gorgonzola-based sauce if you don't want to spend the evening smelling moldy. 03:56:59 Not "mouldy"? 03:57:08 My `=' key is stck. 03:57:12 Riastradh, are you feeling OK? That's two or three typos in as many days... 03:57:14 ...`' key, I mean. 03:57:16 ...ah, that'd be why. 03:59:15 Mr_Awesome [n=eric@c-98-212-143-245.hsd1.il.comcast.net] has joined #scheme 03:59:50 P.U. 04:00:03 *offby1* gestures significantly at the mouth was bottle 04:00:06 mouthwash 04:00:20 Your mouth was a bottle...? 04:00:44 wasabi__ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 04:00:46 Not sure what you'd put on a pizza to tempt a cat. I CAN HAS ANCHOVIES? I don't think so. 04:01:02 Maybe soccer with the olives. 04:01:08 my cat wants to try _everything_ 04:01:18 only comes back for seconds for the obvious stuff (fish, dairy, fowl) 04:01:24 but he really does insist 04:01:34 offby1, mine licked the olives off my pizza, then ran away when I reacted with distress. 04:01:41 Except that she didn't *actually* run away. 04:01:41 Hee. 04:01:43 well, you scared him/her 04:01:52 She took advantage of my distraction to drink out of my water glass. 04:02:00 New flickr group: cats of #scheme 04:02:12 And when I got her to stop doing that, she *sat on my pizza* while I poured myself a fresh glass. 04:02:22 of course. 04:02:23 Whoa. Hard core. 04:02:25 you were reading it 04:02:38 Gosh, she likes olives and doesn't mind grooming pizza juices off her butt? 04:02:45 extra toppings 04:02:49 She's a very strange cat. 04:04:07 Oh, and she managed to pry the 0/) key off a laptop keyboard and chew it up a bit. 04:04:17 It was just a Dell piece of junk, though, so no big loss. 04:04:33 hml_ [n=x@unaffiliated/hml] has joined #scheme 04:04:38 -!- hml_ [n=x@unaffiliated/hml] has quit [Client Quit] 04:04:46 Wish I had a laptop. 04:07:21 Wish I had a second or third cat. 04:08:10 I'll trade you a cat for a laptop. 04:08:26 Wish I knew why my optical drive sounds like a Skilsaw. 04:09:39 Fnord! 04:10:15 What Scheme programs has she written lately, gnomon? Clearly she was fascinated by the parenthesis keys. 04:11:26 Clearly. 04:11:34 I think she wrote a web browser, but that's about it. 04:12:22 -!- wasabi_ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 110 (Connection timed out)] 04:12:43 *Riastradh* winds the clocks. 04:13:57 *eli* wonders what laptop brand would qualify as better than a "piece of junk" 04:14:27 Is `a pile of junk' better than `a piece of junk'? 04:14:44 E pluribus unum. 04:14:54 Not really; 'a piece of junk' at least implies physical cohesion. 04:15:25 Yes, a "pile of junk" sounds like a post-mortem laptop. 04:15:46 Riastradh, I'm thinking of launching into an effort to write an awk-to-scheme compiler. I intend to read over Shivers's scsh work in that area for inspiration. 04:18:51 *Riastradh* coughs. 04:19:01 I have a three-letter question for you. 04:19:02 ...yeah, I know. 04:19:30 Hee, again. 04:20:10 The main reason I want to do it is because right now the only parsers out there that actually parse awk source are either immense and unwieldy (see gawk) or incomprehensible (see busybox). 04:21:06 ...but why would you want to parse awk source? 04:22:12 Because it's the only scripting language required to be present on a basic unix-y system, and because I'm absolutely sick and tired of trying to treat bash like a reasonable programming language. 04:22:29 Once I've got a working source-to-source compiler, I can start extending the basic language to make it something reasonably useful. 04:22:59 Why don't you just use Scheme? 04:23:22 (and the reason I care about that is because I need to work on a large number of machines that are the responsibility of a group of admins that don't even care enough to install security patches, let alone make life easier for users on those machines) 04:23:35 Because during office hours I don't have that option. 04:24:21 How will it help to extend the awk language in your own implementation, then? 04:24:56 Because if I implement it as a source-to-source compiler, I can then make that compiler self-hosting and put it on the target machines. 04:25:11 *Riastradh* hiccups. 04:25:15 Yes, I know. 04:25:27 Let me paraphrase a conversation, here. 04:26:13 "This conversation has just exploded in a loud *puff*." 04:26:49 "So I can't upload any binaries to these machines?" "No, that's strictly forbidden." "But I can write scripts on them." "Sure, of course. How else will you get anything done?" "Do I have to type the scripts in on those machines, or can I scp them over?" "Copy them, of course." "So I can copy text and scripts, but not programs." "Nope." "What about if I base64-encode a program?" "Look, you're just not allowed to use a 04:27:13 (You were truncated at `not allowed to use a'.) 04:27:25 "...nything compiled." 04:27:53 a1len [n=James@unaffiliated/a1len] has joined #scheme 04:27:58 Can you copy a cluebat over? 04:28:15 I would need many, and clones to wield them. 04:28:43 There are still UNIX systems without Perl? 04:28:58 Oh, Perl is installed on these machines... for some value of "installed". 04:29:01 Yes, zbigniew. 04:29:25 Personally I'm happy to be without Perl, and never to interact with it. 04:29:30 My God. I thought HP-UX was bad... 04:29:41 The files are there, sure, but libraries are completely inconsistent across machines, and getting that problem fixed doesn't even appear on the to-do list. 04:29:47 Hey, well, Perl is a million times better than awk. 04:30:06 See, that's... no. No, it isn't, and you're wrong, and that's all there is to it. 04:30:12 Hmph. 04:30:32 Maybe I could shore up Darius Bacon's awklisp. 04:31:31 It is `better' only along the dimension of `easier for Perl programs to accidentally accrue over time without mercy killing by their creators'. But that's hardly an advantage -- it means that the horrible beasts do accrue, long after it is too late for their creators to stop the insanity. 04:32:29 *gnomon* coughs 04:32:35 *gnomon* points surreptitiously at offby1 04:33:17 ...by which I mean "present company excluded", not "offby1 is a horrible beast". 04:34:29 I still see the occasional admin who came of age in the pre-Perl era writing Awk scripts ... guys that are too inflexible to move to anything that was invented after the 70s 04:34:59 *gnomon* shrugs 04:35:09 I like plenty of modern programming languages. Perl just isn't in that list. 04:35:33 Suppose, for example, that long ago, in the distant misty pasts of Haskell at Glasgow, the creators of the GHC had decided to write their evil mangler -- a program which transforms the assembly output of GCC to fix up proper tail recursion, allocate registers better, and so on -- in awk. There is no question whether that evil mangler would have persisted through today -- it would have been redone properly long ago. 04:35:34 Who said anything about liking it? 04:35:37 There's nothing so seductive or problematic as a script that works 98% of the time. 04:35:38 I personally would expect it to be easier to change some policies with some proper social engineering than to be forced to work into something like an AWK Compiler. 04:35:39 But instead it was written in Perl. 04:35:39 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["strawberries"] 04:36:21 arcfide, you'd expect that, and that is where the majority of my effort has been put so far. 04:36:52 arcfide, but it's hard to put much organizational pressure in play while on overnights, sadly. I do what I can with what I have. 04:37:11 gnomon: How much do they want to keep you around? 04:37:11 I think you're just looking for an excuse to write another compiler. 04:37:26 If so, kudos. 04:37:33 arcfide, I'm kind of wondering about that myself. 04:38:03 gnomon: I have worked mostly in places where they want me around enough to be willing to do things for me that I feel are important enough. 04:38:14 zbigniew, that's definitely a factor, sure; but the differentiating factor here is that if and when I get this thing working, I'll have a useful tool rather than just a neat toy. 04:38:31 gnomon: If you are fortunate enough, that could work, or not. 04:38:35 Kinda the same way that a TCP-over-DNS tunnel is a useful tool. 04:39:00 Riastradh, heh. 04:39:40 *offby1* is busy freeing his DRM'd music 04:39:47 Speaking of which, I need to procrastinate, so I'll go set that up right now. 04:39:49 Requiem? 04:40:01 Brahms? What? 04:40:24 Er, once you extend the awk language into something better, won't that turn into Riastradh's nightmare of those beasts which accrue long after they be too late to stop? 04:40:47 Riastradh, Requiem is the name of a Java program that grabs your iTunes AES keys, CDRs its way through your music library, and decrypts all your legally purchased music so that you can play it with, for example, mpd. 04:41:02 ooh 04:41:03 yhara [n=yhara@raichu.netlab.jp] has joined #scheme 04:41:04 gnomon, hmm, why don't you write a Scheme->awk compiler rather than an awk->Scheme compiler? 04:41:11 I ought to send my sister that. 04:41:13 zbigniew, that depends entirely on how clean the target language becomes. 04:41:14 Then you can write Scheme programs and upload awk scripts. 04:41:31 Riastradh, that's actually a very good thought. 04:41:47 Much easier, too. 04:42:04 Not necessarily; awk does not have a full numeric tower, for starters. 04:42:30 Does it have fixnums? 04:42:55 It may be easier to surreptitiously upload a binary and take your chances rather than invest the effort into something and then have your company create a special rule banning exactly what you wrote 04:42:57 No. All numbers in awk are, by default, the system-defined floating point format. That normally gives you 53 bits of precision. 04:43:15 Good enough, gnomon. 04:43:28 I know. I've got a half-working bignum package already written. 04:43:38 ...in awk? 04:43:42 ...shaddup. 04:44:00 I was hoping you would say `Of course not; in Scheme!', because that would be sensible! 04:44:17 That library exists for a better reason, though. 04:44:50 Perl was recently included in the list of linux kernel compilation dependencies, simply because they needed to perform a bit of bignum math at compile time. 04:45:27 The original version of the script to do that work was written in bc, but it was rejected because that would add another tool to the compile dependencies. Then someone noticed that the bc version had a bug, and rather than fixing it, rewrote it in Perl. The Perl patch was accepted. 04:45:47 ... 04:45:52 Awk is already part of the compile-time dependencies, though, so a small awk bignum library would not increase the compilation footprint. 04:45:55 I know, I know. 04:45:56 (bc? Not dc?) 04:46:00 Yes. bc. 04:46:02 (What were they thinking?) 04:47:00 Probably something along the lines of "gosh, it sure would be nice to be able to multiply and then divide these two numbers without losing precision in the interim". 04:48:04 -!- gweiqi [n=greg@69.120.126.163] has left #scheme 04:48:18 Et lux perpetua luceat eis. 04:49:40 (for reference, I believe that the name Requiem was a reference to an earlier program called Hymn ("Hear Your Music aNywhere"). 04:49:44 ) 04:50:29 (no worries-- that's an earworm that I'll pay to receive.) 04:51:01 I'm afraid I don't understand what you mean..? 04:51:53 Read the backlog, and now I have the Mozart Requiem ringing though me. It is always a gift. 04:52:11 (not the Brahms, lovely though it is) 04:53:08 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit ["Leaving."] 04:53:10 I understood that you were referring to the Requiem, as I recognized the lyrics your quoted; but it's not something that I would qualify as an earworm, which is what confused me. 04:56:22 -!- yhara [n=yhara@raichu.netlab.jp] has left #scheme 05:03:11 -!- Mr_Awesome [n=eric@c-98-212-143-245.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 05:06:26 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 05:08:40 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 05:21:40 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Connection timed out] 05:34:39 MichaelRaskin_ [n=raskin@chld.ru] has joined #scheme 05:36:48 foof, are you getting at returned differences between: (define page (html->sxml my-port)) and (define (page-two) (lambda (my-port) (html->sxml my-port))) ? 05:37:17 the latter returns a () if I try to process it with a regex... but the former returns the whole tree... 05:37:47 I would like to use the latter, but currently I'm forced to use the former.... 05:38:30 s/at/any/ 05:40:20 a1len [n=James@unaffiliated/a1len] has joined #scheme 05:44:07 ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has joined #scheme 05:45:06 nevermind... I traced back the logic, my bad. 05:45:20 incubot: silly 05:45:23 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Remote closed the connection] 05:45:23 who confuse the two unrelated meanings of the word "language" are silly 05:45:34 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 05:50:19 'unrelated' 05:55:29 I suspect that line is from me. 05:55:40 At least it sounds like something I've said. 05:55:55 why do you say they're unrelated? 05:56:02 mns [n=user@c-76-119-251-7.hsd1.ma.comcast.net] has joined #scheme 05:56:36 Computer languages and human languages have more or less nothing in common 05:56:40 nothing interesting, anyway 05:56:46 So says I. I have spoken. 05:58:27 Although every now and then people try to make the former resemble the latter 05:58:28 Mr_Awesome [n=eric@isr5956.urh.uiuc.edu] has joined #scheme 05:59:24 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 06:03:10 I laugh cruelly at those people 06:03:26 Larry Wall comes the closest I've seen to being sensible about that 06:03:32 -!- echo-area [n=user@nat/yahoo/x-6e2de762823358bb] has quit [Remote closed the connection] 06:04:27 mns pasted "what's wrong with this ? " at http://paste.lisp.org/display/71787 06:05:05 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 06:05:43 "unspecified" probably just means "Yeah, OK, I defined your function for you; now what?" 06:05:53 I never use scm so I don't know for sure 06:06:15 looks like someone's doing Project Euler :) 06:07:29 What is `unspecified' is the return value of the `define' form. 06:07:40 i.e. wot offby1` said. 06:07:43 backtick and all. 06:07:56 I've given up keeping my nick clean 06:07:57 lol offby1` .. yeah I'm still working on it .. my way of relaxing 06:07:59 too many netsplits 06:08:29 mns: look on github for project euler -- lots of people have put their stuff there. (I haven't, but I do have my stuff in a git repos) 06:09:18 what's the URL for it ? github.org ? 06:09:29 yup 06:09:59 anyway, once you actually type (foo 0 1 1000) or whatever, your function will run 06:10:14 mine looks like this, but it uses PLTisms: (for/fold ([sum 0]) ((i (in-range 0 1000 ))) (+ sum (if (or (zero? (remainder i 3)) (zero? (remainder i 5))) i 0))) 06:11:32 scm doesn't define remainder or quotient 06:11:50 now I get to figure out why (foo 0 0 1000) returns a 0 .. :) 06:12:43 aha .. got it. 06:13:27 (< i limit) isn't that equal to saying i < limit ? 06:13:55 I ended up using (>= i limit) ? 06:14:26 I saw that (< i limit) and thought it looked wrong ... but didn't say anything :) 06:14:58 too much C/Perl/Javascript/Java thinking ? 06:15:16 probably. 06:15:59 looks right otherwise though. 06:16:42 I think I did 40 or so of those problems (the easiest ones :-) and cheated as much as I could -- which generally meant using a nice number-theory library. A couple of my programs wound up being like four lines, since all I really do is invoke a library function 06:18:10 I am mainly doing it to learn a few languages. Figure if there's a project like this, learn the algorithms and the languages and how each language choice influences the way the algorithm is implemeneted 06:18:18 here's my solution for problem 5 (well, OK; eli pointed it out, but anyway): #lang scheme (apply lcm (build-list 21 add1)) 06:18:30 mns: that's a great idea. 06:18:41 I did the same thing by writing the same program in lots of languages. 06:18:55 yup same here offby1` 06:19:01 rudybot: (apply lcm (build-list 21 add1)) 06:19:04 rudybot: eval (apply lcm (build-list 21 add1)) 06:19:04 offby1`: ; Value: 232792560 06:19:09 there ya go: problem 5 06:19:27 C, Javascript, Perl, Tcl, Smalltalk, Scheme 06:19:38 lol 06:19:40 languages that lack bignums are gonna make your life hard. 06:19:45 echo-area [n=user@nat/yahoo/x-5178f4ac23374d39] has joined #scheme 06:19:53 rudybot: eval 232792560 06:19:53 zbigniew: ; Value: 232792560 06:20:07 yay i solved it too 06:20:13 zbigniew: good work! 06:20:32 aspect [n=aspect@64.22.124.11] has joined #scheme 06:20:36 here's an alternate solution: 06:20:37 rudybot: eval (string->number "232792560") 06:20:37 offby1`: ; Value: 232792560 06:20:40 that one's subtle 06:20:44 nice 06:21:34 so what is the difference in using < vs >= ? 06:22:55 offby1`: I'm sure you're aware of this http://www.math.grin.edu/~stone/events/scheme-workshop/summation.html 06:24:57 mns: < is the exact opposite of >=. That's like asking "what's the difference between #t and #f" 06:25:13 I don't think I'd seen that "Summation" page before 06:26:38 ... but I certainly qualify as "an old Scheme hand" by its definition. Anything _other_ than (apply + numbers) seems silly (unless the list "numbers" is so long that it exceeds a limit in your Scheme, which can indeed happen) 06:26:50 (reduce + 0 numbers) 06:26:52 I was trying to test for "i less then limit". To me it looks like I'm using "i greater then or equal to limit". Seems counter-intuitive if you ask me. 06:27:47 offby1`: it was because you used apply in your solution for #5 that I rememebered about that page. It has some interesting stuff at that site. 06:28:09 Riastradh: yep 06:28:35 mns: but your desire to test for "i less than limit" in that context is wrong :) 06:28:46 since what you then do, if i is indeed less, is stop. 06:28:53 When what you _should_ do is continue. 06:29:01 So inverting the sense of the test gets you what you want. 06:31:10 when you put it like that, makes sense. I am still failing to see where it would stop if i was less. Maybe I'm reading the cond incorrectly. 06:32:04 The way I was reading it was 06:32:18 (cond ((< i limit) sum) 06:32:27 that says: 06:32:34 if I is less than limit, return sum. 06:32:56 rudybot: eval (< 1 2 3 4 5) 06:32:56 offby1`: ; Value: #t 06:33:05 rudybot: eval (>= 5 4 3 2 1) 06:33:06 offby1`: ; Value: #t 06:33:14 rudybot: eval (>= 5 4 3 2 2 1 1) 06:33:14 offby1`: ; Value: #t 06:33:21 rudybot: eval (>= 5 4 3 2 -1000 2 1 1) 06:33:21 offby1`: ; Value: #f 06:33:36 best pedagogical tool evar! 06:34:50 ahhh ok, for some reason I was thinking that the sum was just something being passed along, not returned. that explains it. If that wasn't there, then maybe I could have used < rather then >= ? 06:35:54 not sure what you mean, but I suspect the answer is "yes, sure" 06:36:14 but I must say: if you want to learn Scheme, I think scm is a really bad choice 06:36:22 rudybot: eval eval eval 06:36:25 geckosenator: ; Value: # 06:36:27 nice 06:36:42 offby1`: what would be a good choice ? 06:37:02 chicken 06:37:18 chicken, gambit, PLT, scheme48 06:37:23 offby1`: what would you recomend, MIT-Scheme ? 06:37:34 I dunno. Maybe scm is OK for learning and doing simple numeric stuff like this. 06:37:48 MIT-Scheme might be OK. 06:37:55 it's probably ok for a lot of stuff 06:37:58 I'm thinking more about how "vibrant" the thing is 06:38:16 i.e., is it frequently updated, does it have libraries that do useful stuff, do lots of other people use it 06:38:21 I think scm fails on each of those 06:38:49 right, but you can run a lot of scheme programs in it regardless 06:38:57 it's not like it's hard to use a different scheme 06:39:08 it is if you want to get anything real done :) 06:39:22 heh, whatever "real" means 06:39:30 but I use chicken myself 06:39:33 you know very well. 06:39:39 Of course. You can get real stuff done in chicken. 06:39:40 scm is updated regularly and uses SLIB. As for how many people use it, I can't attest to that. 06:40:01 well, don't let me put you off. It's not broken or anything. 06:40:34 I've known about scm for years. Finally getting around to scheme so I'm using it. 06:41:01 scm at one point was the only one that worked on my PowerMac (running MkLinux) 06:41:04 just don't use scm specific stuff if there is any 06:41:09 then you don't have to worry 06:41:18 or, use it; but _know_ that it's scm-specific 06:41:38 that woudl work, but it's harder when you have to switch 06:41:42 yeah, I'm avoiding those. 06:42:21 I guess I'll have to go back and have a look at my understanding of cond to see where I'm going wrong. That will be for another day. Right now, its time to catch some sleep. 06:43:40 Sleep is for the weak. 06:43:45 I'll sleep when I'm dead. 06:44:20 I did try that same function in mzscheme, and it never gave me an #, strange 06:44:53 makes sense 06:45:46 -!- Arelius_ [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 06:46:29 mns: actually, it kinda did; it just didn't display it. 06:46:38 oh ? 06:46:46 I think so. 06:46:52 I think they call it # but it's similar. 06:47:31 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:48:22 I'll try it again later. Sleep beckons. And then need to get familiar with Quack/Emacs 06:48:36 Thanks for the help and lessons. 06:49:02 sleeeeep 06:53:01 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 06:55:38 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 07:00:42 waterh [i=3ba24401@gateway/web/ajax/mibbit.com/x-3b757a923914f9df] has joined #scheme 07:08:50 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 07:13:48 -!- kniu [n=kniu@OLAWDYME.RES.CMU.EDU] has quit [Remote closed the connection] 07:19:01 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 07:19:35 geckosen1tor [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 07:22:06 tizoc_ [n=user@r190-135-0-184.dialup.adsl.anteldata.net.uy] has joined #scheme 07:22:45 noclouds [n=mhfan@61.190.36.114] has joined #scheme 07:24:13 -!- noclouds [n=mhfan@61.190.36.114] has quit [SendQ exceeded] 07:24:42 noclouds [n=mhfan@61.190.36.114] has joined #scheme 07:27:46 offby1`, that's my quote: sleep is for the weak! 07:28:02 time for a drink 07:30:24 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 07:30:50 time for a sour pickle 07:30:52 is anyone familiar with the regex libraries on plt? I haven't been able to find the solution, but I want to match a variable that is input at run-time.... everything I see is 'exact' 07:31:05 I use 'em a bit 07:31:30 eli is your man, but I assume he's long since asleep 07:32:20 how would I match say... #rx"http://[a-z0-9.]*[a-z0-9./&%$]*" "given input" ? 07:32:22 eli? 07:32:45 -!- tizoc [n=user@r190-135-48-245.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 07:33:17 regex-matcha 07:33:22 modulo typos 07:33:27 ? 07:33:41 hole on 07:34:19 you want this: http://tinyurl.com/5vlxdh 07:35:17 rudybot: eval (regexp-match #px"http(s)?(//[-a-zA-Z0-9_.]+:[0-9]*)?[-a-zA-Z0-9_=!?#$@~`%&*+\\/:;.,]+[-a-zA-Z0-9_=#$@~`%&*+\\/]" "http://foo.bar.com/baz") 07:35:17 offby1`: ; Value: ("http://foo.bar.com/baz" #f #f) 07:35:24 I've been reviewing that page offby1` ... given that I've overlooked it, are you saying the answer is definitely there? I mean, this is possible yes - what I want? 07:35:26 -!- synthasee [n=synthase@c-68-63-76-191.hsd1.al.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:35:45 I'm not _certain_ what you want, but I assume it's doable, whatever it is 07:36:30 rudybot: eval (regexp-match #rx"http://[a-z0-9.]*?(.*)[a-z0-9./&%$]*?" "http://foo.bar.com/baz") 07:36:30 offby1`: ; Value: ("http://foo.bar.com/baz" "foo.bar.com/baz") 07:36:32 oh... hmm.. you stimulated thought... I could probably be a little more detailed about the input 07:36:33 kniu [n=kniu@OLAWDYME.RES.CMU.EDU] has joined #scheme 07:36:56 I think there's code to parse URLs anyway 07:37:03 thanks! 07:37:18 rudybot: eval (require net/url) 07:37:20 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:37:31 rudybot: eval (string->url "http://foo.bar.com/baz") 07:37:31 offby1`: ; Value: #(struct:url "http" #f "foo.bar.com" #f #t (#(struct:path/param "baz" ())) () #f) 07:37:48 rudybot: eval (string->url "http://foo.bar.com/baz?snord=fnord") 07:37:49 offby1`: ; Value: #(struct:url "http" #f "foo.bar.com" #f #t (#(struct:path/param "baz" ())) ((snord . "fnord")) #f) 07:38:03 rudybot: eval (string->url "http://foo.bar.com/baz?snord=fnord;room=board") 07:38:03 offby1`: ; Value: #(struct:url "http" #f "foo.bar.com" #f #t (#(struct:path/param "baz" ())) ((snord . "fnord") (room . "board")) #f) 07:38:09 you have a love affair with our dear friend rudy 07:38:22 well, I created him for just this 07:38:29 :) 07:38:29 I gave him LIFE!! 07:38:56 CaptainMorgan: You want the `regexp' function (or `pregexp') together with `regexp-quote'. 07:39:17 thank you eli I'll look into it now, for sure. cheers 07:39:19 ha! he wakes 07:39:33 Yeah, unfortunately. 07:39:44 rudybot: eval (regexp-quote "foo.bar*") 07:39:44 eli: ; Value: "foo\\.bar\\*" 07:40:03 rudybot: eval (string-append "^http://" (regexp-quote "foo.bar*") ".com/") 07:40:03 eli: ; Value: "^http://foo\\.bar\\*.com/" 07:40:06 rudybot: eval (regexp (string-append "^http://" (regexp-quote "foo.bar*") ".com/")) 07:40:07 eli: ; Value: #rx"^http://foo\\.bar\\*.com/" 07:40:07 if I were 20 years old I'd port Olin's sres to PLT 07:40:11 and scsh while I'm at it 07:40:21 and make Arc a proper v4 language level 07:40:34 Why? 07:40:37 fun 07:40:47 SREs can be built on top of plain regexps. 07:40:53 sure 07:40:59 just a smop 07:41:10 And they usually are not too convenient. 07:41:15 I love 'em 07:41:20 use 'em in Emacs alla time 07:41:28 much more readable than raw regexes 07:41:40 eli, this example is not fun: (regexp-match (regexp-quote ".") "apple.scm") direct from plt... I wish for say, that dot ( "." ), but a variable.. a value we don't know until the user has input it 07:42:08 CaptainMorgan: huh? 07:42:10 CaptainMorgan: you need to give a concrete example; I really don't know what you want 07:42:19 what eli said :-| 07:42:31 so.. (regexp-match (regexp-quote variable) in-given-input) 07:42:36 would be an example... 07:42:56 ok,so ... what's wrong with that? 07:43:20 rudybot: eval (let ((variable "hey you")) (regexp-match (regexp-quote variable) "snord")) 07:43:21 offby1`: ; Value: #f 07:43:21 offby1`, oh.. just haven't tried it... I'm just saying the plt example threw me off, "." is known to us... 07:43:30 rudybot: eval (let ((variable "hey you")) (regexp-match (regexp-quote variable) "hey you snord!")) 07:43:30 offby1`: ; Value: ("hey you") 07:43:35 my point was I wanted a variable that is not known to be matched 07:43:55 oh shoot! thanks 07:44:04 well, one of us around here needs to sleep, and it might as well be me 07:44:25 you always go to sleep when I say something :) should I be aware of something? :)) 07:44:32 do I bore you? 07:44:41 incubot: boring 07:44:43 but lines are boring :] 07:44:45 offby1`: BTW, what's the big advantage of SREs that you use? 07:47:03 eli, can that be a little more explicit? say, regexp-quote'ing the variable surrounding regular matching? so... [a-z]variable[0-9] ? 07:47:18 surrounded by 07:48:05 rudybot: eval (define (foo str) (regexp (string-append "[a-z]" (regexp-quote str) "[0-9]"))) 07:48:14 rudybot: eval (foo "something")) 07:48:14 eli: error: eval:1:17: read: unexpected `)' 07:48:17 rudybot: eval (foo "something") 07:48:17 eli: ; Value: #rx"[a-z]something[0-9]" 07:48:25 ah... 07:48:33 mucho gracias 07:49:17 oh that's awesome 07:55:29 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 07:55:29 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 08:08:05 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 08:15:22 -!- Vaeshir [n=zane@c-66-31-28-121.hsd1.ma.comcast.net] has quit [] 08:21:11 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 08:35:01 -!- geckosen1tor [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 08:47:43 cemerick [n=la_mer@c-71-233-165-252.hsd1.ma.comcast.net] has joined #scheme 08:50:44 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 08:52:44 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #scheme 08:57:27 tjafk [n=timj@e176194146.adsl.alicedsl.de] has joined #scheme 09:02:45 -!- cemerick [n=la_mer@c-71-233-165-252.hsd1.ma.comcast.net] has quit [] 09:31:13 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 09:31:22 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Client Quit] 09:35:47 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 09:35:49 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Client Quit] 09:48:46 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 09:48:55 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Client Quit] 09:54:15 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 09:54:25 are there any window managers written in scheme or lisp? 09:55:38 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 09:55:47 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [Client Quit] 09:55:52 scwm, orion, stumpwm 09:56:21 And there's sawfish which uses a Lisp as extension language, but that's written in C I think 09:56:35 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 09:56:35 which one of these have libraries that is most easy for me to steal to write one in chicken (for the learning experience) 09:57:10 hm 09:57:53 scwm might be written in C too 09:57:56 hml: eh? 09:58:03 So that would leave only orion 09:58:19 (which uses some xlib bindings for scsh) 09:58:37 Arelius: i'm tired of hacking xmonad.hs;tried to learn haskell last summer; and don't like it now; i want to write my own in scheme (as I really don't want to grok haskell) 09:58:39 (unless you want to port whatever stumpwm uses from CL to Chicken) 09:59:14 you're own xmonad? 09:59:26 no, I didn't write xmonad 09:59:30 hml: Depends on how much you want to do with it, but you might be able to make do with wmii + wmiirc, or ask around for the wmii port someone wrote 09:59:43 err 09:59:46 I think zbigniew did, unless my memory fails me 09:59:55 you want to write an xmonad? 10:00:00 in scheme 10:00:07 actually, i just wnat to wwrite a tiling manager in scheme 10:00:19 what does xmonad do? 10:00:30 http://xmonad.org/ 10:00:38 ohh I see a window manager 10:00:43 so what do yo want to do? 10:01:25 err, i've spending the past two weeks hacking xmonad.hs; lots of changes 10:02:33 mmhm 10:02:41 and you want a window manager in scheme? 10:02:49 yep; i just want a hackable window manager 10:02:56 with xmoand i've realized how powerful a window manager can be 10:03:00 when I can reprogrma it at well 10:03:09 and since i've programmed scheme for 10x more than haskell 10:03:12 i want a wm in scheme 10:03:45 hml: iirc there's an 'xlib' egg 10:04:44 scwm? 10:06:06 xlib egg is good starting point 10:06:10 i tink i'm gooing ot go from there 10:11:22 let me know how it goes 10:11:30 did you get the naughty dog link? 10:11:50 no, still have not 10:11:59 sorry, can paste me the link one last time :-) 10:12:57 K 10:14:22 http://www.naughtydog.com/corporate/press/GDC%202008/AdventuresInDataCompilation.pdf 10:14:23 -rudybot:#scheme- http://tinyurl.com/2dzhzj 10:14:48 ejs [n=eugen@nat.ironport.com] has joined #scheme 10:14:56 got it 10:14:57 confirmed 10:15:25 btw, is game developers conference worh attending? 10:15:32 how does it compre to siggraph? 10:15:49 seems like a lot of the reall cool stuff these days are GDC related 10:16:08 but yeah, I don't think there is anyone else in the game industry using a lisp 10:16:18 Square I think did a prototype with it 10:16:24 I really like GDC 10:16:33 there was tim sweeney's presentation a while back on why functional languages, like ocamlm/haskell were going to rule the futureof game dev 10:17:09 yeah.... 10:17:28 sweeny doesn't actually want a functional langage 10:17:46 so much as a language better suited for compiler optimization. 10:18:17 jhe also wants infifnite error checking 10:18:31 infinite? 10:18:41 I must've missed that 10:18:46 not infinite, just lots of error hecking 10:18:54 on stuff like array out of bounds, at compile time, i believe 10:19:05 powerful static typing 10:19:16 and other things that in theory are halting-problem-complete but in practice can sorta half work 10:19:35 np complete 10:20:16 I believe If it's not solvable in a finate amount of time, there is a problem somewhere 10:21:33 it's perfectly reasonable to write software in a non-turning complete language. 10:22:12 Anyways, I've gotta go, I'd love to talk about this another time, perhaps I'll see o tommorow. 10:22:23 take care 10:23:53 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 10:26:33 -!- MelanomaSky [n=Melanoma@c-24-23-194-247.hsd1.ca.comcast.net] has quit ["leaving"] 10:34:55 iion_tichy [n=Bjoern@e179068166.adsl.alicedsl.de] has joined #scheme 10:47:24 ventonegro [n=user@136.166.1.3] has joined #scheme 10:57:22 anyone know if it's possible to tell DrScheme to use a different port than port 80? googling didn't return favorable results... 11:02:02 -!- echo-area [n=user@nat/yahoo/x-5178f4ac23374d39] has quit [Remote closed the connection] 11:03:22 exexex [n=chatzill@88.234.190.170] has joined #scheme 11:05:54 orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has joined #scheme 11:15:14 -!- tizoc_ is now known as tizoc 11:24:16 DrScheme doesn't use any ports. 11:32:02 eli, then why would it output an error such as tcp-connect: port 80 failed, no route to host, when there is absolutely routes to hosts 11:32:16 -!- hml [n=x@unaffiliated/hml] has quit ["leaving"] 11:33:20 eli, the fudged up thing about it is, if I leave this network and go elsewhere, it doesn't report any error s 11:35:30 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 11:36:32 tjafk1 [n=timj@e176197251.adsl.alicedsl.de] has joined #scheme 11:37:41 I've shutdown the system, turned off the router and direct connected my other system... I redirected ports, shutdown apache, it's really odd that on two systems, DrScheme is having this trouble... I take one system outside the network(which is difficult to do), and DrScheme is acting normal, downloading packages, require'ing whatever it needs, making TCP connections... but no, not inside this network... I'm not sure what else 11:37:41 I'm missing... 11:40:07 *CaptainMorgan* is gearing up to leave... 11:40:52 -!- leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 11:41:13 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 11:41:25 leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has joined #scheme 11:41:40 -!- orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has quit [Remote closed the connection] 11:42:07 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 11:43:31 CaptainMorgan: If you're using planet requires then it will, of course, make network connections. There is no way to make it use a different port though, because it's the planet server that listens on port 80. 11:44:47 jjong [n=user@203.246.179.177] has joined #scheme 11:52:17 -!- tjafk [n=timj@e176194146.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 11:54:14 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:00:09 -!- leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 12:00:47 leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has joined #scheme 12:21:25 -!- exexex [n=chatzill@88.234.190.170] has quit [Read error: 110 (Connection timed out)] 12:28:43 I can live with that eli... but I just can't figure out why DrScheme would work outside the network and not inside... even after shutting everything down... 12:31:36 -!- hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 12:40:39 attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has joined #scheme 12:43:35 athos [n=philipp@92.250.204.223] has joined #scheme 12:52:25 -!- leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 12:54:58 leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has joined #scheme 13:01:22 ejs1 [n=eugen@80.91.178.218] has joined #scheme 13:08:51 CaptainMorgan: I don't know what your specific problem is. Perhaps you're using a proxy -- and in that case you need to configure drscheme to use the proxy for planet connections too. 13:09:13 -!- mmc [n=michal@83-103-88-29.ip.fastwebnet.it] has quit [Read error: 60 (Operation timed out)] 13:11:30 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 13:14:00 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 13:14:31 phao [n=phao@189.13.219.96] has joined #scheme 13:15:19 gaja [n=Gabriel@c-3481e555.017-40-6c6b7013.cust.bredbandsbolaget.se] has joined #scheme 13:16:31 -!- MichaelRaskin_ [n=raskin@chld.ru] has quit [Read error: 110 (Connection timed out)] 13:17:31 ejs2 [n=eugen@nat.ironport.com] has joined #scheme 13:23:18 athos_ [n=philipp@92.250.204.223] has joined #scheme 13:23:36 hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has joined #scheme 13:25:06 mmc [n=michal@83-103-88-29.ip.fastwebnet.it] has joined #scheme 13:26:47 -!- ejs1 [n=eugen@80.91.178.218] has quit [Read error: 110 (Connection timed out)] 13:31:05 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Read error: 54 (Connection reset by peer)] 13:31:12 name [n=name@sburn/devel/name] has joined #scheme 13:32:41 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 13:36:26 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 13:43:29 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:52:59 a1len [n=James@unaffiliated/a1len] has joined #scheme 13:55:10 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:59:47 langmartin [n=user@75.148.111.133] has joined #scheme 14:00:51 hark [n=strider@hark.slew.org] has joined #scheme 14:03:12 Nshag [i=user@Mix-Orleans-106-1-190.w193-248.abo.wanadoo.fr] has joined #scheme 14:04:34 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 14:05:05 a1len [n=James@unaffiliated/a1len] has joined #scheme 14:05:34 -!- ziggurat [n=ziggurat@pool-71-244-44-183.dllstx.fios.verizon.net] has quit ["Leaving"] 14:06:41 benny` [n=benny@i577A1D3E.versanet.de] has joined #scheme 14:09:58 -!- benny [n=benny@i577A2869.versanet.de] has quit [Connection timed out] 14:10:01 annodomini [n=lambda@64.30.3.122] has joined #scheme 14:12:39 -!- jjong [n=user@203.246.179.177] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 14:13:52 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 14:14:08 higepon237 [n=taro@FLH1Ahv145.tky.mesh.ad.jp] has joined #scheme 14:14:41 -!- athos [n=philipp@92.250.204.223] has quit [Nick collision from services.] 14:14:47 -!- athos_ is now known as athos 14:24:54 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 14:27:04 axti [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-8e2b0500d3e95d88] has joined #scheme 14:29:35 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 14:30:21 annodomini [n=lambda@pool-70-20-48-50.man.east.verizon.net] has joined #scheme 14:31:02 -!- mns [n=user@c-76-119-251-7.hsd1.ma.comcast.net] has quit ["Yow! Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!"] 14:32:33 tizoc_ [n=user@r190-135-15-47.dialup.adsl.anteldata.net.uy] has joined #scheme 14:33:26 -!- tizoc [n=user@r190-135-0-184.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 14:33:28 -!- tizoc_ is now known as tizoc 14:37:43 -!- phao [n=phao@189.13.219.96] has quit [Read error: 110 (Connection timed out)] 14:38:27 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 14:39:42 phao [n=phao@189.13.219.96] has joined #scheme 14:41:54 -!- axti [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-8e2b0500d3e95d88] has quit ["http://www.mibbit.com ajax IRC Client"] 14:57:16 saccade_ [n=saccade@65.78.24.47] has joined #scheme 14:57:25 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 15:02:24 -!- saccade_ [n=saccade@65.78.24.47] has quit ["This computer has gone to sleep"] 15:10:42 cemerick [n=la_mer@75.147.38.122] has joined #scheme 15:14:29 annodomini [n=lambda@130.189.179.215] has joined #scheme 15:15:31 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 60 (Operation timed out)] 15:15:54 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 15:17:54 -!- waterh [i=3ba24401@gateway/web/ajax/mibbit.com/x-3b757a923914f9df] has quit ["http://www.mibbit.com ajax IRC Client"] 15:19:14 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 15:20:47 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 15:33:49 mns [n=user@c-76-119-251-7.hsd1.ma.comcast.net] has joined #scheme 15:37:19 -!- ttmrichter_ [n=ttmricht@221.235.59.60] has quit [Read error: 60 (Operation timed out)] 15:38:19 jlongster [n=user@75.148.111.133] has joined #scheme 15:47:55 -!- higepon237 [n=taro@FLH1Ahv145.tky.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 15:52:44 aneqrs [n=andreas@c83-253-104-206.bredband.comhem.se] has joined #scheme 15:55:00 -!- mns [n=user@c-76-119-251-7.hsd1.ma.comcast.net] has left #scheme 15:59:26 jewel [n=jewel@dsl-242-140-14.telkomadsl.co.za] has joined #scheme 15:59:37 phao_ [n=phao@189.13.215.84] has joined #scheme 16:00:55 wasabi___ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:03:04 -!- phao [n=phao@189.13.219.96] has quit [Nick collision from services.] 16:03:13 -!- phao_ [n=phao@189.13.215.84] has quit [Client Quit] 16:03:57 phao [n=phao@189.13.215.84] has joined #scheme 16:09:14 CaptainMorgan: It must be connecting to a different host than you think it is. One to which there is no route, on that network. That's the only explanation for it. 16:12:57 -!- wasabi__ [n=wasabi@ntoska205253.oska.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 110 (Connection timed out)] 16:15:47 Huh, chicken sure does have a lot of servers. 16:21:36 -!- phao [n=phao@189.13.215.84] has left #scheme 16:23:23 axti [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-5a53f42e5f3577a0] has joined #scheme 16:24:22 -!- CaptainMorgan [n=CaptainM@c-24-61-150-59.hsd1.ma.comcast.net] has quit [Success] 16:25:03 -!- ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has quit ["Leaving"] 16:26:11 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 16:26:24 elmex [n=elmex@e180066038.adsl.alicedsl.de] has joined #scheme 16:26:40 annodomini [n=lambda@130.189.179.215] has joined #scheme 16:29:28 axti- [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-20850a681f2e40ab] has joined #scheme 16:32:02 -!- axti [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-5a53f42e5f3577a0] has quit ["http://www.mibbit.com ajax IRC Client"] 16:32:15 Flodis [n=Christia@78.82.248.193] has joined #scheme 16:39:24 Vaeshir [n=zane@c-66-31-28-121.hsd1.ma.comcast.net] has joined #scheme 16:40:03 -!- axti- [i=5b7c96bb@gateway/web/ajax/mibbit.com/x-20850a681f2e40ab] has quit ["http://www.mibbit.com ajax IRC Client"] 16:43:46 Quadrescence [n=quad@c-24-118-118-178.hsd1.mn.comcast.net] has joined #scheme 16:50:07 Modius [n=Modius@adsl-67-67-217-250.dsl.austtx.swbell.net] has joined #scheme 16:51:47 -!- dudrenov [n=user@c-69-181-124-154.hsd1.ca.comcast.net] has quit [Remote closed the connection] 16:56:40 wtf chicken doesn't have sleep 16:59:38 karsten_ [n=karsten@dslb-088-072-232-251.pools.arcor-ip.net] has joined #scheme 17:04:05 synx: (use posix) :) 17:04:35 -!- ejs2 [n=eugen@nat.ironport.com] has quit ["This computer has gone to sleep"] 17:04:42 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 17:05:49 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit [Read error: 54 (Connection reset by peer)] 17:06:30 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 17:10:15 jonrafkind [n=jon@wireless275.wireless.utah.edu] has joined #scheme 17:10:38 yeah, just thought it was in the r5rs for a minute there. 17:11:48 There's no egg named posix... 17:16:17 synx: it's built in 17:17:12 Where are the built in um, eggs documented? 17:18:37 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 17:18:51 they're not called eggs, but units 17:19:15 the "supported language" chapter in the chicken manual will help you :-) 17:22:24 Yes that's it, thank you. 17:23:31 -!- foof [n=user@78-20-254-149.access.telenet.be] has quit [Read error: 113 (No route to host)] 17:23:32 -!- dsmith-work [n=user@66.178.229.162] has quit [Remote closed the connection] 17:24:10 huh, load can take an input port. That could be a network socket? 17:24:19 yes 17:24:32 as long as it is a textport 17:24:44 or maybe a binary port 17:26:29 there is not such distinction in Chicken, if I remember right 17:27:01 Ports are abstract 17:27:14 You can make your own port if you want 17:27:41 It could take its data from a device, or a file, encrypt or decrypt it, or whatever 17:30:26 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #scheme 17:35:49 melito [n=melito@70.99.250.82] has joined #scheme 17:37:36 Fun ideas. 17:39:33 A port is just a bunch of procedures that define what happens when you read from the port, write to it, or close it 17:44:05 exexex [n=chatzill@88.234.190.170] has joined #scheme 17:50:19 What is the easiest way to read stdin into a string? 17:52:02 (read-string), I think 17:52:56 If you have it, that is.. 17:53:24 -!- jonrafkind [n=jon@wireless275.wireless.utah.edu] has quit [Connection timed out] 17:54:34 sjamaan: but read-string needs a parameter how much to read 17:55:56 Here it's optional 17:56:16 (or #f) 17:56:20 -!- exexex [n=chatzill@88.234.190.170] has quit [Read error: 145 (Connection timed out)] 17:57:30 Leonidas pasted "wp.scm" at http://paste.lisp.org/display/71813 17:57:55 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #scheme 17:58:03 There is a small competition and I'd like to propose a scheme solution 17:58:20 the problem is, that it might need some cleanup 17:58:50 Leonidas: what problem are you solving? 17:58:57 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #scheme 17:59:33 Flodis1 [n=Christia@78.82.248.193] has joined #scheme 17:59:51 something about sorting words by frequency; but is that the general problem? 18:00:12 klutometis: here's the complete task: http://ptrace.fefe.de/wp/README.txt 18:00:26 s/task/problem/ 18:00:58 I found out that I can solve it completely with immutable structures which is kinda awesome 18:01:17 haha 18:01:26 klutometis: i already submitted a scheme solution 18:01:40 oh, no, leonidas 18:01:57 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has left #scheme 18:02:10 karsten_: so felix will get two scheme solutions, it's his problem 18:04:20 Calculating the frequencies is easy, I just wonder whether there's a better way to sort it etc. without needing to create an immediate list. 18:04:51 -!- jewel [n=jewel@dsl-242-140-14.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 18:05:21 jewel [n=jewel@41.247.200.19] has joined #scheme 18:05:23 karsten_: did you publish your soln? 18:06:13 -!- ineiros [n=ineiros@kosh.hut.fi] has quit ["leaving"] 18:06:31 karsten_ pasted "wp.ss" at http://paste.lisp.org/display/71814 18:06:35 there you go :) 18:06:45 ineiros [n=ineiros@kosh.hut.fi] has joined #scheme 18:07:50 leonidas: i couldn't think of any. besides, all other implementations create intermediate lists too. 18:10:35 -!- Flodis [n=Christia@78.82.248.193] has quit [Read error: 110 (Connection timed out)] 18:10:47 ...urgh. 18:10:53 Don't loop with STRING-APPEND like CONS. 18:11:27 And don't repeat (READ-CHAR) for a loop variable; that just looks silly. (let loop ((w ...)) (let ((c (read-char))) ...)) 18:11:47 you'd rather use read-line and substring, right? 18:12:10 Riastradh: have any tips for http://paste.lisp.org/display/71813 ? It's the same thing, but probably a more functional approach. 18:12:13 Use READ-CHAR if you wish; just don't copy the string quadratically. 18:12:24 Leonidas, don't reverse the result of SORT; that looks silly too! 18:12:51 thanks, will improve that part 18:14:35 Why a hash table, and not a tree? A tree would obviate the need to sort afterward. 18:14:39 in plt, how to get the message field of an exception? Is it just (cadr exception)? 18:14:59 No it's not that, hmm... 18:15:11 (send e message) says it's not an object either. 18:15:46 leonidas: your solution will use at least 3x the length of the input in memory 18:16:04 `Every EXN structure has a MESSAGE field that is a string.' -> Use EXN-MESSAGE. 18:16:19 more realistically something like 6x 18:16:27 Leonidas annotated #71813 with "No silly reversing" at http://paste.lisp.org/display/71813#1 18:16:48 which, given the 350mb test data, will exceeed the memory of the machine and slow down your code when swapping kicks in 18:17:44 Riastradh: because I haven't worked with Trees in Scheme. 18:18:14 riastradh: how would a tree solve the sorting problem? 18:18:22 karsten_: I hope he's not using amd64 ;) 18:19:58 -!- Flodis1 [n=Christia@78.82.248.193] has quit ["Leaving."] 18:20:02 leonidas: i actually think he is 18:20:06 karsten_, trees are typically sorted to begin with. 18:20:47 riastradh: yeah, but how do you sort a tree by key _and_ value? 18:20:47 karsten_: I'm also using unicode strings which, depending on the implementation also take up way more than the original file 18:21:31 exexex [n=chatzill@88.234.190.170] has joined #scheme 18:21:39 Ah, got it. 18:22:03 it would be smarter to iterate through the file instead of reading it in as a big chunk anyway. 18:22:13 http://docs.plt-scheme.org/guide/define-struct.html#(tech._predicate) 18:22:25 It defines the exn-message function. 18:26:35 -!- jewel [n=jewel@41.247.200.19] has quit [Read error: 110 (Connection timed out)] 18:27:00 jewel [n=jewel@dsl-242-160-122.telkomadsl.co.za] has joined #scheme 18:28:35 karsten_: did you get an answer from fefe? 18:31:14 leonidas: he's currently installing a common lisp environment 18:32:06 he even got an AppleScript solution :) 18:33:21 oh, changing from read-char to read-line speed up my implementation by a factor of 3 18:34:31 *Leonidas* considers tuning his own implementation 18:35:13 karsten_ annotated #71814 with "faster solution using read-line" at http://paste.lisp.org/display/71814#1 18:39:39 ejs [n=eugen@92-49-228-144.dynamic.peoplenet.ua] has joined #scheme 18:40:08 -!- certainty|work [n=david@hades.d-coded.de] has quit [Read error: 60 (Operation timed out)] 18:40:29 -!- Kusanagi [n=Motoko@unaffiliated/kusanagi] has quit [] 18:43:58 certainty|work [n=david@hades.d-coded.de] has joined #scheme 18:44:06 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 60 (Operation timed out)] 18:45:35 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [] 18:45:58 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 18:49:03 Kusanagi [n=Motoko@unaffiliated/kusanagi] has joined #scheme 18:49:05 -!- leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has quit [] 18:51:29 ejs1 [n=eugen@77-109-26-23.dynamic.peoplenet.ua] has joined #scheme 18:54:08 leppie [n=lolcow@dsl-243-62-141.telkomadsl.co.za] has joined #scheme 18:54:57 karsten_: the Haskell version is taking up 3.5 GB RAM 18:57:14 amoe [n=amoe@cpc3-brig3-0-0-cust346.brig.cable.ntl.com] has joined #scheme 18:59:47 jonrafkind [n=jon@wireless275.wireless.utah.edu] has joined #scheme 19:02:02 -!- ejs [n=eugen@92-49-228-144.dynamic.peoplenet.ua] has quit [Read error: 110 (Connection timed out)] 19:12:47 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Remote closed the connection] 19:18:57 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 19:23:51 -!- jewel [n=jewel@dsl-242-160-122.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 19:24:23 jewel [n=jewel@dsl-242-178-01.telkomadsl.co.za] has joined #scheme 19:29:00 T_T https://synx.us.to/feepcode/gmailAlias/gmail-alias.ss 19:31:50 -!- Kusanagi [n=Motoko@unaffiliated/kusanagi] has quit [] 19:33:45 sending emails is even more convoluted. But it seems to be working... 19:35:04 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 19:40:55 elias` [n=me@unaffiliated/elias/x-342423] has joined #scheme 19:43:42 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 19:45:04 moghar [n=user@unaffiliated/moghar] has joined #scheme 19:48:24 saccade_ [n=saccade@dhcp-18-188-72-216.dyn.mit.edu] has joined #scheme 19:52:20 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 19:58:41 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 20:08:51 -!- ventonegro [n=user@136.166.1.3] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 20:14:52 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:15:37 synx: so did you reinvent fetchmail+forwarding, or not? 20:16:33 Well yes, but most of it is filtering the email to munge the To: headers, and the envelope sender based on them. 20:16:43 -!- ejs1 [n=eugen@77-109-26-23.dynamic.peoplenet.ua] has quit [Read error: 60 (Operation timed out)] 20:17:04 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 20:17:18 I don't think fetchmail will modify the message body headers? 20:18:59 kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 20:20:09 leonidas: he stopped your implementation after waiting for 10 minutes 20:20:21 mine finished after 37 seconds ;) 20:20:55 ejs [n=eugen@77-109-26-23.dynamic.peoplenet.ua] has joined #scheme 20:22:06 -!- saccade_ [n=saccade@dhcp-18-188-72-216.dyn.mit.edu] has quit ["This computer has gone to sleep"] 20:23:58 -!- name [n=name@sburn/devel/name] has quit [Read error: 110 (Connection timed out)] 20:24:08 orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has joined #scheme 20:32:32 waterh [n=waterh@114.143.32.183] has joined #scheme 20:35:29 -!- exexex [n=chatzill@88.234.190.170] has quit [Remote closed the connection] 20:36:45 phao [n=phao@189.13.215.84] has joined #scheme 20:39:06 -!- ejs [n=eugen@77-109-26-23.dynamic.peoplenet.ua] has quit ["Leaving"] 20:40:53 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 20:41:07 choas [n=lars@p5B0DCDDD.dip.t-dialin.net] has joined #scheme 20:49:31 ecraven [n=nex@140.78.42.103] has joined #scheme 20:52:08 foof [n=user@78-20-254-149.access.telenet.be] has joined #scheme 20:53:49 jgracin [n=jgracin@82.193.208.195] has joined #scheme 20:55:12 hadronzoo [n=hadronzo@adsl-70-250-184-34.dsl.rcsntx.swbell.net] has joined #scheme 20:56:24 karsten_: I have fixed it a bit so that it parses correctly and, well, uses less ram 20:59:20 why does plt scheme throw an error creating an executable using the PrettyBig language type? 20:59:35 is there an alternate way except using the module language? 20:59:52 karsten_: do you have a file that I could use for testing? 21:00:44 leonidas: just use any webserver log 21:01:11 karsten_: Scheme (MZ 4.1.3) 89.72s user 2.16s system 99% cpu 1:31.89 total 21:01:24 that does not look like 37 seconds 21:02:21 leonidas: yeah, he complained about using char-alphabetic? instead of (or (char-alphabetic?) (char-numeric?)), because that ignores all the numbers in the log file 21:02:39 heh :) 21:02:58 hmm, what can I do with a #? 21:03:17 -!- orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has quit [Remote closed the connection] 21:03:26 leonidas: on the other hand, almost all other implementations split on white spaces instead of using character classes, so they cheat too by not splitting blog.fefe.de into "blog", "fefe" and "de" 21:03:32 it resists being 'car'ed. 21:03:57 karsten_: I split by white space too, just switched to string-tokenize 21:04:28 karsten_: But if I wanted, I could change that, SRFI 14 provides character classes. 21:04:50 tizoc_ [n=user@r190-135-36-191.dialup.adsl.anteldata.net.uy] has joined #scheme 21:05:58 -!- tizoc [n=user@r190-135-15-47.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 21:06:01 -!- tizoc_ is now known as tizoc 21:06:17 mhh 21:06:17 ich glaube ich muss da noch mal "Wort" genauer definieren 21:06:17 das geht so nicht 21:06:20 well :) 21:07:03 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 21:08:46 that's like randering most solutions useless. 21:09:07 Not that I mind, I can change my version pretty easy. 21:13:10 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 21:15:29 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 21:19:48 yeah, but the numbers you get are totally useless otherwise 21:20:23 athos [n=philipp@92.250.204.223] has joined #scheme 21:21:12 karsten_: he added some memory numbers. The Java version uses less RAM than C. 21:22:06 I'm currently at a maximum at 740 MB for a 45 MB log. 21:22:10 leonidas: that's because the c version uses a hash table with 2^16 entries 21:22:29 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 21:23:01 it builds up until 700 MB then drops 2/3 of it, calculates a bit and outputs the numbers 21:23:07 this table is created upon startup, and then entries with identical hash keys are appended using a single-linked list 21:23:43 is this "the normal way of doing things" in C-land? 21:23:56 depends 21:24:01 there are no hash tables in ansi c 21:24:15 so you can either chose to use one from a library, like glib 21:24:21 or you can just implement your own hash table 21:24:55 usually, the hardcore c guys i know use the latter approach, as they usually build special-purpose applications with very special constraints on the data 21:27:26 -!- waterh [n=waterh@114.143.32.183] has quit ["later"] 21:28:26 and run everything in the stack :) 21:28:36 Are iterators and comprehensions considered "Scheme"? They look like the only way I can access # 21:29:15 Define `"Scheme"', Leonidas. Or: What are you really concerned about? 21:31:14 Riastradh: Well, as I have no chance of building a fast solution to the problem, I would like to build a solution that can be considered as how a functional programmer would do it. 21:32:28 Oh no, now I'm thinking that I might want to do my own version of this problem.... 21:32:32 Riastradh: You have seen my code, which the conversions to be able to sort that. I am looking for more efficient ways without introducing mutable state. I suspect that building a # is faster than a proper list. 21:32:45 it not as if you had to choose between fast and functional 21:33:37 karsten_: the haskell solution is one of the slowest and is quite similar to what I do. At least as far as I understand it :) 21:33:42 Leonidas, why are you trying to avoid mutable state? Your program has state (the frequency table) which it needs to update as it proceeds. 21:33:45 orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has joined #scheme 21:34:47 Leonidas: Is it necessary to sort the words as well as the counts? It seems that you only have to sort by count. 21:35:13 Riastradh: because it sounded like a nice thing to try. Actually, I should turn on the profiler and check what takes the most time. 21:35:15 arcfide: how do you figure out the count without sorting by the words first? 21:35:46 leonidas: that's because the haskell programm reads the entire file into memory, just like you do, instead of using some streaming interface 21:35:48 karsten_: I'm just saying, the resulting output just has to be words with counts, sorted by count, right? 21:35:52 arcfide: no, the words with the same frequency don't need to be sorted in a particular order 21:36:01 Right, okay. 21:36:15 arcfide: right 21:36:37 karsten_: yep, I'm thinking how to solve it better. 21:36:53 I need a lazy file reader :D 21:36:57 Where is the sample data? 21:37:21 arcfide: you don't get the sample data 21:37:25 arcfide: there is no. I am using an apache weblog 21:37:27 i suspect the regex is the slow part 21:37:47 leppie: you don't have to use a regex. 21:38:08 basically it's up to you what you use. 21:38:18 but think about it, doing anything on a 45mbyte string is going to take ages 21:38:26 (let ((frequency-map (make-string-hash-map))) (loop ((for word (in-port port read-word))) => (hash-map->alist frequency-map) (hash-map/modify! frequency-map word 0 (lambda (count) (+ count 1] 21:38:59 Leonidas annotated #71813 with "tokenized version" at http://paste.lisp.org/display/71813#2 21:39:17 leppie: Why? I parse XML files that are much larger than that and they don't take more than maybe a couple of seconds, if that. 21:39:24 (Define READ-WORD appropriately; adjust the hash map operations according to your favourite hash map library.) 21:39:41 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 21:40:21 leppie: right. And the actual string is 350 MB, which will be quite a bit bigger as it's probably read as unicode. Agesē. 21:41:44 Leonidas: a regex of \s+ might be better 21:41:58 leppie: than the tokenizer? 21:42:08 that just \s 21:42:11 than 21:42:40 i dont know how that regex splits 21:42:55 leppie: yeah, I had some trouble with the syntax (especially pregex vs. regex) 21:43:28 Why are you using regexps, anyway, rather than just reading a word at a time? 21:44:12 you might as well just stream the input port through the regexp... 21:44:29 although i'm not sure if plt scheme support that 21:44:33 (define (read-word input-port) (loop ((for char (in-port input-port read-char)) (while (not (word-constituent? char))))) (let ((char (peek-char input-port))) (if (eof-object? char) char (collect-string (for char (in-port input-port read-char)) char] 21:44:45 (Define WORD-CONSTITUENT? appropriately.) 21:44:46 here's what i would do, open the port, read it line by line, snd use string-split on a line basis, adding to hashtable 21:45:35 riastradh: that's incredibly slow, as every call to read-char causes a system call 21:45:52 In what absurd Scheme system, karsten_? 21:46:14 riastradh: in every scheme system 21:46:20 Nope. 21:46:36 how would you implement read-char for stdin without using a system call? 21:46:55 There's a device called a `buffer'. 21:47:30 and why would any scheme system duplicate the buffering that's already performed by the os? 21:48:17 Why would C stdio duplicate buffering? Perhaps it's because, as you said, system calls are slow! 21:50:19 -!- jonrafkind [n=jon@wireless275.wireless.utah.edu] has quit ["Leaving"] 21:50:25 jonrafkind [n=jon@wireless275.wireless.utah.edu] has joined #scheme 21:50:53 touche :) 21:52:18 Before you make a claim such as `in every Scheme system, READ-CHAR causes a system call', be prepared to defend your claim. I'm actually curious now what Scheme systems you think implement READ-CHAR by a system call. 21:52:53 karsten_: I'd love to stream the input-prot through the tokenizer, that would be the solution where I'd say "yea, that's well enough". 21:53:17 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 21:53:27 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 21:53:40 Leonidas, translate my loops into PLT loops, and supply the appropriate definitions and library name substitutions; see how well that performs. 21:53:41 maybe I could find something like python generators. 21:53:53 PLT's `sequences' are like Python generators. 21:54:05 riastradh: in plt, i assume 21:54:35 karsten_, you think in PLT, each READ-CHAR incurs a system call? 21:55:05 What makes you think that? 21:55:10 riastradh: that's what i think. but guessing from your answer, that might be wrong. 21:55:42 Don't guess -- be sure! Use the source, or ktrace the MzScheme process. 21:55:50 riastradh: because reading more characters than the program requested might cause trouble 21:57:20 That is so only if the program must refer to a lower-level I/O device, such as a file descriptor, in which case it is likely that the program began with a file descriptor and created a port from that -- and if so, the program would have had the option to create a buffered port or an unbuffered port. 21:58:02 hm, but actually it reads more than that 21:58:17 so, riastradh, you are right :) 21:59:07 Odd: `reverse'-ing a 10,000 item list is no slower than `reverse!'-ing one in Scheme48 1.8. 21:59:15 Why is that odd, edw`? 21:59:33 (I'm resisting the urge to say: `Looks pretty even to me!' See? Resisting the urge.) 21:59:36 Does not `reverse' allocate space? 21:59:39 Yes. 21:59:50 Allocation cheap though? 21:59:59 GC expensive? 22:00:01 Allocation runs in amortized constant time in Scheme48. 22:00:08 The constant is very small. 22:00:09 Ach... 22:00:25 But the chickens will come home to roost at some point... 22:01:15 The constant arises from the overhead of the virtual machine, incrementing a single pointer, and writing zeros to the (constant number of) cells thereby allocated. 22:01:33 That's what the `amortized' is about, edw`. 22:01:44 -!- edw` is now known as edw 22:02:11 If the GC has to copy the list again, that takes asymptotically the same amount of time (and similar constant factors) as it took to create the list in the first place. 22:02:56 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 22:03:29 md6 [n=root@91.204.132.13] has joined #scheme 22:04:39 I'm accumulating a list. I'm considering writing the code less Schemely and preallocating a 2-d array for my results. 22:04:59 This shouldn't be surprising; it's the same reason why a queue implemented in terms of two stacks performs better than a queue implemented by a single list to the end of which one appends in order to enqueue. 22:05:57 *edw* takes the time to let that sink in. 22:06:36 You know the canonical implementation of a queue using two stacks, right? 22:07:04 *edw* shakes head in shame. 22:08:15 Call the stacks A and B for a queue Q. To enqueue x into Q, push x on A. To dequeue from Q, if B is empty, pop all of A into B (reversing its elements); then pop B. 22:08:31 Enqueueing runs in constant time. 22:10:02 And if B is not empty? 22:10:07 Pop it? 22:10:12 If B is non-empty, dequeuing runs in constant time. If B is empty, then dequeueing takes as many steps as you enqueued elements before, so although a single dequeue operation can run in linear time in the size of the queue, you already paid for that time, because for each step it takes to reverse A, you had to have taken that step by enqueueing. 22:10:28 edw, yes: `if B is empty, pop all of A into B' was a step separate from `pop B'. 22:10:57 -!- z0d [n=z0d@unaffiliated/z0d] has quit [Read error: 60 (Operation timed out)] 22:11:31 Thus, in a process involving a queue Q, the running time contributed by queue operations is linearly proportional to the number of elements you have put into and the number of elements you have taken out of Q. 22:11:52 -!- choas [n=lars@p5B0DCDDD.dip.t-dialin.net] has quit ["leaving"] 22:12:26 By contrast, suppose you implement a queue as a list, and enqueue by appending to the end (or dequeue by traversing the list and picking off the last element). Then in a process involving a queue Q, the running time contributed by queue operations is quadratically prooportional to the number of elements you have put into, or the number of elements you have taken out of, Q. 22:12:27 I'll write a version when I'm done with my current task. Very elegant. 22:12:34 Kusanagi [n=Motoko@unaffiliated/kusanagi] has joined #scheme 22:14:30 Why do C.S. instructors teach ugly, brute force solutions instead of mind-bending, elegant ones? 22:14:50 At Drexel, at least? Oh wait, the question answers itself... 22:17:22 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 22:17:43 Circa '91, at least. Maybe they've shelved the Customer Service Attitude by now. 22:19:15 edw: Amortized queues and other purely function data structures are fun. THE book (IMHO) is Okasaki. You can download his thesis but the book is one of those essentials on your bookshelf. http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504 22:19:17 -rudybot:#scheme- http://tinyurl.com/38dwc2 22:19:47 (...`proportional', even.) 22:20:07 I own the book. Never got around to reading vey far into it. 22:20:15 Thanks for the point though, GreyLensman. 22:20:44 saccade_ [n=saccade@30-6-37.wireless.csail.mit.edu] has joined #scheme 22:20:52 queues must be on pg 4 or 5 or something. So not very far must mean ... 22:20:54 :) 22:21:11 There was an intro, right? 22:21:19 It's possible to represent a queue using two stacks. It is not possible to represent a stack using two queues. 22:21:27 Discuss. 22:21:35 That has always struck me as similar to the relationship between odd and even numbers. 22:21:42 -!- iion_tichy [n=Bjoern@e179068166.adsl.alicedsl.de] has left #scheme 22:22:30 You can get an even number by adding two odd numbers, but you cannot get an odd number by adding two even numbers. 22:23:17 Symmetry is broken everywhere. Get used it or go crazy. 22:23:35 (or find a magnetic monopole) 22:23:41 S48's arrays... Each dimension must be non-negative, yet the number of elements is equal to the product of the dimensions, meaning a zero dimenion is legal but perhaps ill-advised. 22:24:30 No, each dimension must be positive. 22:24:45 "Dimensions must be a 22:24:47 list of non-negative integers," 22:24:50 The documentation is wrong. 22:24:52 Try it. 22:24:59 Yeah, just did. 22:25:15 (make-array 0 0 0 0 0) Mmm... 22:25:52 If that does not signal an error, then the implementation of arrays has changed since Scheme48 1.3. 22:26:56 Yeah, I get an error. 22:27:11 Submit a bug report. 22:27:20 On the list? 22:27:32 When you start up Scheme48, where does it tell you to report bugs? 22:27:50 LOL. Thank you. 22:28:25 -!- md6 [n=root@91.204.132.13] has quit [Remote closed the connection] 22:30:35 The bug report has left the building. 22:30:49 -!- orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has quit [Remote closed the connection] 22:31:46 dsmith [i=tzdyuztq@cpe-71-74-230-225.neo.res.rr.com] has joined #scheme 22:31:54 -!- jewel [n=jewel@dsl-242-178-01.telkomadsl.co.za] has quit [No route to host] 22:33:55 -!- aneqrs [n=andreas@c83-253-104-206.bredband.comhem.se] has quit [Read error: 110 (Connection timed out)] 22:34:32 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 22:36:50 -!- dsmith [i=tzdyuztq@cpe-71-74-230-225.neo.res.rr.com] has quit [Remote closed the connection] 22:41:22 orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has joined #scheme 22:56:39 -!- roconnor [n=roconnor@bsjrmb01dc1-246-242.dynamic.mts.net] has left #scheme 22:56:44 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:57:37 -!- saccade_ [n=saccade@30-6-37.wireless.csail.mit.edu] has quit ["This computer has gone to sleep"] 22:59:05 -!- langmartin [n=user@75.148.111.133] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:02:02 saccade_ [n=saccade@30-6-37.wireless.csail.mit.edu] has joined #scheme 23:02:40 antoszka_ [n=antoszka@unaffiliated/antoszka] has joined #scheme 23:03:01 -!- antoszka_ [n=antoszka@unaffiliated/antoszka] has quit [Client Quit] 23:05:02 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 104 (Connection reset by peer)] 23:05:21 edw, `MIT licence' is ill-defined; you should write the exact intended text in magic3.scm. 23:06:23 raikov [n=igr@203.181.243.11] has joined #scheme 23:06:23 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 23:06:52 edw: Use the WTFPL 23:07:00 you know you want to 23:09:59 -!- saccade_ [n=saccade@30-6-37.wireless.csail.mit.edu] has quit ["This computer has gone to sleep"] 23:11:18 -!- moghar [n=user@unaffiliated/moghar] has quit [Remote closed the connection] 23:14:22 -!- orgy` [n=ratm_@pD9FFF4E0.dip.t-dialin.net] has quit [Remote closed the connection] 23:15:13 mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:15:27 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 23:19:49 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 23:20:57 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 23:21:29 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 23:34:39 -!- Nshag [i=user@Mix-Orleans-106-1-190.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 23:35:21 hotblack23 [n=jh@p5B05555C.dip.t-dialin.net] has joined #scheme 23:35:23 -!- phao [n=phao@189.13.215.84] has quit ["Leaving"] 23:38:51 So, Riastradh, what would be an efficient READ-WORD procedure? 23:39:10 I'm trying to think of one, but the one I've written uses COLLECT-STRING, which I think isn't the best way it could be done. 23:40:09 -!- hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 23:40:35 Uncomment a chunk-buffering definition of COLLECT-STRING in nested-loop.scm and compare. 23:41:06 My measurements (which I have lost, and which were not very thorough) strongly favoured the LIST->STRING definition. 23:41:08 also, regarding the queue, if you use a list, store a reference to the last element, enque to the end and deque from the front, the enqeue and dequeue times are both constant and quick 23:41:27 Arelius, yes, if you have mutation. 23:41:42 indeed 23:42:07 are we talking about completelly functional data structures? 23:42:25 I brought up the two-stack queues to illustrate the meaning of amortized constant time. 23:42:31 Ahh 23:44:04 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 23:44:07 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 60 (Operation timed out)] 23:57:14 a-s [n=user@92.80.72.93] has joined #scheme 23:57:19 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Connection reset by peer]