00:00:56 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 00:01:17 photon [n=photon@unaffiliated/photon] has joined #scheme 00:13:00 -!- photon [n=photon@unaffiliated/photon] has quit [] 00:19:59 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 54 (Connection reset by peer)] 00:20:23 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 00:20:26 -!- moghar [n=user@unaffiliated/moghar] has left #scheme 00:20:31 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 00:22:51 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 00:23:05 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [] 00:28:12 -!- mbishop_ is now known as mbishop 00:44:12 parolang [n=user@keholmes.oregonrd-wifi-1261.amplex.net] has joined #scheme 01:01:41 -!- melgray [n=melgray@70.99.250.82] has quit [] 01:07:01 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 01:10:42 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 01:11:23 foof: is there a public hg repo for chibi? 01:15:34 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 01:16:43 -!- mrsolo [n=mrsolo@nat/yahoo/x-0032d1829e516adc] has quit ["Leaving"] 01:22:10 hi 01:22:27 i'm on archlinux x86_64, trying to compile mzscheme 01:22:45 i got it to compile and now there are two executables 01:23:02 one is "mzscheme3m" the other one is "mzschemecgc" 01:23:08 which one should i use? 01:26:56 http://docs.plt-scheme.org/inside/overview.html 01:27:27 thanks 01:28:02 as the saying goes if you don't know what that means than it means "who cares?" 01:28:26 by the way, it is taking about 10 seconds to start any of the executables and get the repl. (i see the banner, then 10 seconds, then repl interaction) is that normal? 01:30:21 -!- hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has quit [Remote closed the connection] 01:30:32 i'd say it's anomarmal. 01:31:56 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:32:46 incubot: rpmland is poo! 01:34:13 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Client Quit] 01:35:28 gfb [i=4c457ac2@gateway/web/freenode/x-5d9104eaa78ff417] has joined #scheme 01:36:23 why is R5RS case-insensitive? D: 01:37:05 because bsdm and BSDM is same tHiNg. 01:37:19 To satisfy old codgers. 01:38:19 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:38:22 sladegen: I presume you mean BDSM? :P 01:38:25 zbigniew: :( 01:38:37 same ThInG 01:38:38 *Elly* plots rebellion against said old codgers 01:39:31 anyone have a good tutorial of creating a type system in scheme? 01:40:22 -!- gfb [i=4c457ac2@gateway/web/freenode/x-5d9104eaa78ff417] has quit [Ping timeout: 180 seconds] 01:42:31 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 01:45:50 Hey, does R5RS allow Unicode identifiers? 01:46:07 If so, how the hell is case folding done? 01:46:30 (Case in point: Turkish "i" with/without dot, upper and lower case.) 01:48:54 Elly: Not yet. 01:48:55 foof, memo from sladegen: you may consider decoupling PREFIX from DESTDIR (if you would care adding it) in install make target... using only PREFIX may end up install.h having wrong path... it would also require smth like "mkdir -p $(DESTDIR)/$(PREFIX)" beforehand. 01:49:56 s/\/// 01:49:57 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:51:39 foof: you should make one appear :) 01:51:46 TimMc|Bahamas: you're catching on 01:52:12 gfb [i=4c457ac2@gateway/web/freenode/x-95259ab5cb9dd561] has joined #scheme 01:52:21 *arcfide* is an old codger that likes case insensitivity. 01:52:27 zbigniew: I never trusted case insensitivity to begin with. 01:52:34 And I'm just a young codger. 01:52:54 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 01:53:30 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:53:45 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 01:54:06 jimm [n=jimm@h-66-167-241-155.nycmny83.dynamic.covad.net] has joined #scheme 01:55:51 -!- arcfide [n=arcfide@h-69-3-100-36.chcgilgm.dynamic.covad.net] has left #scheme 01:55:54 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 01:58:45 underspecified [n=underspe@leopard175.naist.jp] has joined #scheme 01:59:40 arcfide [n=arcfide@h-69-3-100-36.chcgilgm.dynamic.covad.net] has joined #scheme 01:59:46 -!- arcfide [n=arcfide@h-69-3-100-36.chcgilgm.dynamic.covad.net] has quit [Remote closed the connection] 01:59:49 -!- jimm [n=jimm@h-66-167-241-155.nycmny83.dynamic.covad.net] has quit [] 01:59:51 -!- gfb [i=4c457ac2@gateway/web/freenode/x-95259ab5cb9dd561] has quit [Ping timeout: 180 seconds] 02:04:02 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 02:06:47 gfb [i=ad22383a@gateway/web/freenode/x-c42ac151179904b6] has joined #scheme 02:07:21 arthurmaciel [n=user@189.100.120.160] has joined #scheme 02:07:27 hi there, guys 02:08:19 I know this is not a totaly appropriate question for this channel, but I'm planning to learn AI, and I would like to know if anyone has read Bratko's Prolog book. Is it worthy buying? 02:10:14 not an unreasonable question. 02:10:18 bpalmer [n=user@unaffiliated/bpalmer] has joined #scheme 02:10:24 Unfortunately I have never heard of it, nor ever written a line of Prolog 02:10:30 incubot: What is *your* personal opinion on AI? 02:10:32 foof: also, you will be shot for not supporting -h :P 02:10:34 that's personal opinion 02:10:44 prolog is quite fun. 02:10:59 incubot: I won't be offended, do tell! 02:11:02 you should terminate your joke with j/k in case picard is reading and he gets offended tho 02:11:24 aw, my bad, i forgot to do setup-plt 02:11:32 picard: beam me up, j/k 02:11:35 that's why it was taking about 10 seconds to load 02:12:22 err... any opinions on Bratko's Prolog Programming for Artificial Intelligence? 02:14:57 amazon reviews are glowing... i'd p2p it! 02:15:07 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 02:15:35 sladegen: I've already done this, but I like to have books, specially to respect copyrights 02:17:20 *mbishop* likes to have books specially to respect his eyes 02:17:59 mbishop: for that too 02:18:21 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 02:19:34 hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has joined #scheme 02:19:51 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Client Quit] 02:20:08 bpalmer: stalker! 02:20:12 *offby1* makes the sign of the cross 02:20:27 bpalmer: I've forgotten, if I ever knew: what do you do with Scheme? 02:20:44 -!- Axioplase_ is now known as Axioplase 02:20:47 sicp, mostly 02:20:57 ha, d'yknow about the ##scip channel? 02:21:12 nope 02:21:26 rudybot lurks there but isn't as useful as he _could_ be, since the new sicp "language level" doesn't work in console mode (and he's a console-mode boy through and through) 02:21:40 "You can take the bot outta the console-mode, but you can't take the console-mode outta the bot" 02:22:20 Elly: -h? 02:22:29 heap-size? 02:22:33 foof: help! 02:23:22 --help 02:24:02 nope, offby1 02:25:26 *Elly* modified chibi to have a colored prompt :P 02:25:29 --egads 02:25:49 *offby1* always wanted a chibi pet 02:26:01 offby1: GET OUT OF HERE STALKER 02:26:19 the Zone must be respected 02:28:11 Adamant: wait. I'm not stalking _you_; bpalmer is stalking _me_. 02:28:24 see? M-x erc-rank-stalkers RET agrees with me. 02:28:47 offby1 pasted "quit stalking me!!" at http://paste.lisp.org/display/82389 02:28:57 offby1: I'm making a video game reference 02:28:58 Adamant: you're not even on the chart, son. 02:29:04 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:29:10 Adamant: crap, now you made me feel old :-( 02:29:22 offby1: I'M MAD AS HELL AND I'M NOT GONNA TAKE IT ANYMORE 02:29:27 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 02:29:29 feel better? bet you get that reference 02:29:37 *offby1* awards Adamant the Best Actor Oscar posthumously 02:29:44 Adamant: I do, and I did. Thank you kindly. 02:30:01 offby1: to be fair, the video game is a little obscure 02:30:07 and done by a Russian game firm 02:30:10 At least you didn't make a "Birth of a Nation" reference. 02:30:24 Adamant: that's lindsay lohan in _House of Wax_, right? 02:30:37 bpalmer: which one? 02:30:42 when she got mad 02:30:57 bpalmer: ##cinema is over there --> 02:30:58 yes but she's channeling a guy from the movie "Network" 02:31:04 *offby1* gestures vaguely Eastward 02:31:16 Eastward by the Eastwoods 02:31:23 -!- stepnem_ [i=stepnem@173-19-7-99.client.mchsi.com] has quit [Read error: 60 (Operation timed out)] 02:31:24 yum. Blue-cheese stuffed olives. 02:31:30 sound yum 02:31:38 olive garden ^-- that way 02:31:41 Elly: are you following all this? Should we slow down so that you can absorb the subtle technical points? 02:31:45 and olives are technically kind of good for you 02:31:52 offby1: I tuned out a while ago 02:31:53 *offby1* shudders ... "Olive Garden" ... 02:31:57 even though bleu cheese isn't 02:32:16 where microwaved pre-prepared meals make you feel like family! 02:32:19 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 02:32:46 Adamant: no, the endless breadsticks do that. 02:32:52 ah ok 02:32:56 stepnem [i=stepnem@173-19-7-99.client.mchsi.com] has joined #scheme 02:33:01 those breadsticks are pretty decent 02:33:06 for such a restaurant 02:33:16 *offby1* was at an Olive Garden once, probably twenty years ago. The memory of it haunts him still. 02:33:19 *offby1* shudders again 02:33:24 -!- stepnem is now known as Guest26201 02:33:41 Carrabba's bread/olive oil/spice mixture is much better though 02:35:33 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 02:35:34 the olive is our friend, as is the onion, the garlic, and the tomato. 02:35:41 yes 02:35:44 *offby1* drifts into a reverie 02:35:48 that is why we eat them alive 02:37:49 -!- timchen119 is now known as nasloc__ 02:48:57 -!- gfb [i=ad22383a@gateway/web/freenode/x-c42ac151179904b6] has quit [Ping timeout: 180 seconds] 02:50:40 ah 02:50:45 wrong channel 02:52:59 tjafk1 [n=timj@e176214201.adsl.alicedsl.de] has joined #scheme 02:56:13 -!- TimMc|Bahamas [n=timmc@aurail.ccs.neu.edu] has left #scheme 03:00:54 hmm 03:01:03 I feel like writing something 03:03:16 Thank you letters for christmas? 03:03:26 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 03:06:21 The Great American Novel! 03:06:26 *offby1* writes a grant 03:07:09 a grant proposal? :O 03:08:13 So you can finish your novel without having to work. 03:08:59 -!- tjafk2 [n=timj@e176219255.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:13:33 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 03:16:31 -!- arthurmaciel [n=user@189.100.120.160] has quit [Remote closed the connection] 03:32:31 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 03:33:42 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 03:35:10 -!- zbigniew [n=zb@3e8.org] has quit [verne.freenode.net irc.freenode.net] 03:35:11 -!- hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has quit [verne.freenode.net irc.freenode.net] 03:35:39 hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has joined #scheme 03:35:41 zbigniew [n=zb@3e8.org] has joined #scheme 03:36:14 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [verne.freenode.net irc.freenode.net] 03:36:14 -!- X-Scale [i=email@89.180.205.13] has quit [verne.freenode.net irc.freenode.net] 03:36:14 -!- dlctestnt [n=dlctestn@206.251.250.209] has quit [verne.freenode.net irc.freenode.net] 03:36:14 -!- kandinski [i=kandinsk@rowrcolo.net] has quit [verne.freenode.net irc.freenode.net] 03:36:14 -!- roderic [n=user@pinball.ccs.neu.edu] has quit [verne.freenode.net irc.freenode.net] 03:36:14 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- ASau [n=user@193.138.70.52] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- leppie [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- tarbo [n=me@unaffiliated/tarbo] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [verne.freenode.net irc.freenode.net] 03:36:15 -!- specbot [n=specbot@common-lisp.net] has quit [verne.freenode.net irc.freenode.net] 03:36:43 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:36:43 X-Scale [i=email@89.180.205.13] has joined #scheme 03:36:43 dlctestnt [n=dlctestn@206.251.250.209] has joined #scheme 03:36:43 roderic [n=user@pinball.ccs.neu.edu] has joined #scheme 03:36:43 kandinski [i=kandinsk@rowrcolo.net] has joined #scheme 03:36:43 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 03:36:44 ASau [n=user@193.138.70.52] has joined #scheme 03:36:44 leppie [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has joined #scheme 03:36:44 dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 03:36:44 specbot [n=specbot@common-lisp.net] has joined #scheme 03:36:44 sjamaan [n=sjamaan@netbsd/developer/sjamaan] has joined #scheme 03:36:47 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 03:41:14 -!- segoe [n=segoe@201.Red-79-155-84.dynamicIP.rima-tde.net] has quit ["Lost terminal"] 03:49:38 -!- parolang [n=user@keholmes.oregonrd-wifi-1261.amplex.net] has quit [Remote closed the connection] 03:52:14 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Read error: 60 (Operation timed out)] 03:56:47 proq` [n=user@38.100.211.40] has joined #scheme 03:59:26 are there any decent linear-logic theorem provers out there? 04:00:51 -!- derrida [n=jacques@unaffiliated/deleuze] has quit [Remote closed the connection] 04:02:54 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 04:04:59 Never heard of any (decent or not), indeed. 04:05:42 -!- proq [n=user@unaffiliated/proqesi] has quit [Success] 04:05:50 roderic: right channel; wrong multiverse. grab the einstein-rosen bridge in 3, 2, ... 04:06:16 Elly: yeah lean tap has a linear version 04:06:27 and you might have some fun with the various linear prologs 04:07:28 You can also persuade serious tools like Coq to prove linear propositions but that'll take a bit of work 04:10:43 *Elly* contemplates writing her own 04:18:34 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 04:20:53 *offby1* writes another grant 04:22:08 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 04:26:03 did grant write back? 04:26:10 foof: ! 04:26:43 -!- foof [n=user@dn157-046.naist.jp] has quit ["bbl"] 04:27:14 bang, he's dead? 04:28:44 it appears to have worked... 04:30:21 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:31:46 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 04:32:19 oww, look ! it's a man walking his dog under starry sky... http://bit.ly/165hKX 04:35:51 swinging it aroung by the neck :p 04:36:04 sladegen: you are detached! 04:36:16 and now you are not :) 04:38:23 per canis, ad astra 04:38:44 Elly: I think it takes more than one connection to register on the graph. 04:38:58 Oh, I guess not... 04:40:05 Old Cary Grant still fine 04:40:10 lisppaste: Hey, do you like tying sensible graphs all up in knots? 04:40:27 well, according to this graph, I am the center of the universe :O 04:40:56 according to that map, my only friend is rudybot. How sad. 04:41:13 I suspect that map was based on a two-second snippet just recently 04:41:13 offby1: we must be seeing different maps... 04:41:19 Elly: well, the bot and you. 04:41:24 I see you as having degree 5 04:41:39 keyofnight [n=key@cpe-76-171-76-175.socal.res.rr.com] has joined #scheme 04:42:09 incubot: synx: ecumenical 04:42:12 ecumenical. heh. 04:42:15 hey; it's a vaguely stellar, vaguely erotic spaghetti monster! http://www.scheme-survey.org/results-rationale.png 04:42:30 hmm, it changed after I reloaded it. 04:42:35 Elly: (curiousity) what are you doing with/interested in linear logic for? 04:42:47 cthulu! 04:42:50 *keyofnight* hides 04:42:55 soupdragon: heh ^^ I'm thinking about implementing a turn-based game in it :) 04:43:15 eww, turn based 04:43:16 that sounds interesting 04:43:23 klutometis: that is one bizarre graph. 04:43:37 it seems to me that if you have an interactive theorem prover (i.e., whenever there are multiple rules, the player chooses which rule to apply) 04:43:43 then you can model a game this way 04:44:15 scheme48 is gropping tine over an armpit, fsm save us! 04:44:18 that sounds logical 04:44:22 tiny* 04:44:22 That sounds...overly complicated. 04:44:23 :D 04:44:37 synx: why do you say? 04:44:39 sladegen: I need to address everyone by name in order to game my ranking on those graphs. You're it. 04:44:42 soupdragon: now you're it. 04:44:48 offby1: hax! 04:44:51 Unless the goal of the game is to prove a theorem? 04:44:53 synx: lookit me stuff the ballot box! woo hoo! 04:45:05 synx: no! the goal of the game is to win :) 04:45:13 offby1: yeah; to bad it's not more coherent 04:45:19 offby1: it only works if people speak to you in return 04:45:19 s/to/too/ 04:45:47 offby1: just pipe result of /names properly... 04:45:52 Elly: win what? Why not just have enemies with hit points and attacks and stuff? 04:46:04 synx: that's what the rules are for 04:46:11 I think I broke the png. 04:46:41 hit reload until stiff-fingered. 04:46:41 the rules are things like "Have red mana in pool, have Spark in hand, opponent has X hp -o opponent has X - 2 hp" 04:47:09 okay... 04:47:20 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 04:47:46 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:48:13 nice 04:48:17 synx: it seemed like a good idea at the time :) 04:48:18 So when you meet a certain set of conditions, you get a result you want. 04:48:32 synx: no; at each step, you choose which rule to apply 04:48:40 the rules, since it's linear logic, consume their premises 04:50:41 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit ["Leaving"] 04:51:00 *sladegen* steals premises, rules die, linear logic withers. 04:51:26 sladegen: it is a resource-based logic, after all 04:51:30 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 04:52:13 I would just write a bunch of if statements... 04:52:36 also generalize operations such as "anything that subtracts n hit points" 04:53:06 so all offensive stuff could use the same hit point decrementer, just with different amounts. 04:53:32 *sladegen* starts gathering seeds of predicate galore. 04:54:41 synx: I'm talking about implementing it in linear logic, though :P 04:55:57 Linear logic is when you argue with the police man when he tells you to walk along the line, right 04:56:16 not quite :P 04:56:38 linear logic is like predicate logic except it supports consumptive inference (the -o operator) which consumes all its predicates 04:58:36 example of consumptive inference: if it contains chocolate, it will be good to eat 05:01:09 oh god predicate logic makes my brain hurt 05:02:12 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 05:02:23 so how do you consume predicates, with that example? 05:03:11 thanks for reminding me about the logic test I have to take for grad school. 05:03:23 :( 05:03:43 synx: so, for example: 05:03:49 thanks for reminding me I'll never get into grad school :p 05:03:51 you might have a lightswitch, which is either on or off 05:04:01 and you would have two rules, which look like: 05:04:14 switch-on: on(switch) -o off(switch). 05:04:20 er, that one is switch-off 05:04:27 and switch-on: off(switch) -o on(switch). 05:04:41 and then you have the starting position of the switch, which is, say, off(switch). 05:04:43 um... 05:04:59 wouldn't it just be true and false? The statement "the light is on" I mean. 05:05:01 Elly, you must know Prolog? 05:05:06 soupdragon: I know a bit of prolog 05:05:22 you could rwite an interpreter easily in prolog 05:05:25 synx: those are declarative statements 05:05:37 saying off(switch) is read as "the switch is off" 05:05:56 I'm not parsing "switch-on: off(switch) -o" 05:06:00 oh 05:06:13 we have "switch-on: off(switch) -o on(switch)" 05:06:14 which is read as 05:06:26 OK so saying "a -o b" means? 05:06:28 right-o 05:06:35 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 05:06:38 "The rule switch-on can only be applied if off(switch); when applied, it consumes off(switch) and produces on(switch)." 05:07:02 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit [Remote closed the connection] 05:07:19 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 05:07:38 how do you produce "the switch is on"? It's a statement, not a candy bar. 05:08:04 yep 05:08:15 and after you run switch-on, it is in your context (i.e., it is true) 05:08:49 are you familiar with how normal predicate implication works? 05:08:53 so by "produces" what you mean is "makes true" 05:09:03 yes 05:09:13 "adds to the context", if you will 05:09:23 I studied it for a few months, but couldn't make heads or tails of it. 05:09:41 well, in normal predicate logic, you might have a rule like: A, B => A ^ B 05:09:57 which says "Given propositions "A" and "B", I can produce the new proposition "A ^ B" 05:10:03 (with ^ being the symbol for 'and') 05:10:17 of course there is two 'and's in linear logic 05:10:21 yes 05:10:24 let's not get into that 05:10:38 Yeah that's not even predicate logic, it's just basic tautology. 05:10:44 if you were to rewrite that as a consumptive implication, it would be: A, B -o A ^ B 05:10:57 Any two statements that are both true can form one statement that is true via the and operator. 05:10:59 the key insight there is that if you apply that rule, A ^ B is true, but A and B are individually *no longer true* 05:11:34 Elly: why is that so?? 05:11:37 uh... but if A is not true, and if B is not true, then A ^ B cannot be true. 05:11:40 because they were consumed by the rule! 05:11:48 synx: that's only true for stateless logics :) 05:11:58 Elly: OH! 05:12:00 what you just mentioned is known as an inversion lemma 05:12:05 I get it. 05:12:15 it's de morgan monster! 05:12:21 synx: it's like before - once you apply switch-on, off(switch) is no longer true 05:12:25 I don't get it... 05:12:27 RUN! 05:12:53 If the state changes, causing A or B to stop being true, it necessarily causes A ^ B to be false. 05:12:54 DeMorgan?! Oh no! 05:12:59 synx: no, it doesn't 05:13:08 synx: you are still thinking in terms of stateless logic 05:13:46 stateless logic would not allow A or B to change their truth value. I'm thinking in terms of state, and logic. 05:13:54 correct! 05:14:00 stateless logic does not allow A or B to change their truth value 05:14:04 Though probably not however you define "stateless logic" 05:14:05 stateful logic (like linear logic) does 05:14:19 in particular, the truth of propositions changes as they are consumed or produced by rules 05:14:19 So the only way to get the statement "A, B" back... is to apply a rule to "A ^ B"? 05:14:33 so changing the truth value of A or B to false necessarily makes the statement A ^ B false. 05:14:34 yep! 05:14:44 there's an inverse rule, which looks like: A ^ B -o A, B 05:14:51 synx: no, it doesn't 05:15:12 synx: read the rule carefully; if your context is {A, B}, you can replace it with the context {A ^ B} 05:15:24 what that means is that A and B are no longer individually in your context, and thus no longer true 05:15:38 synx: I don't think the point is that A, B change truth value... The statement is just no longer in the state. 05:15:42 yep! 05:15:50 sorry, I've been using the somewhat-fancy definition of "true" here 05:16:13 Are you saying like (let* ((a #t) (b #t) (c (and a b))) (set! a #f) c), Elly? 05:16:38 um... no 05:16:38 A stateless logic could just be considered a cluster of statements currently in the same "state," right? 05:16:48 keyofnight: er, so 05:16:58 it might be illustrative to look at the stateless ^ implemented in stateful logic 05:17:14 which looks like: "stateless-^: A, B -o A, B, A ^ B 05:17:16 " 05:17:18 I think you have to understadn what a proof is 05:17:19 synx: I think you shoulkd think more along the lines of "has no current value". 05:17:20 *keyofnight* nods. 05:17:21 to understand linear logic 05:17:28 linear implication 05:17:40 Because c in that case is A ^ B, but not the A and B after the set! operation changing state. 05:17:48 synx: oh, how about this way of thinking about it 05:18:03 you can view each thing in the context as a resource that you have with which to complete the proof 05:18:11 so when you have {A, B}, you have two resources - A and B. 05:18:13 So (eq? c #t) => #t, and (eq? (and a b) #t) => #f 05:18:15 soupdragon: I've done proofs, but they always only tried to guide us to finish a proof. It was harder to teach us what it meant, so they didn't even try. 05:18:25 when you apply stateful-^, you lose two resources, but gain one new one, namely A ^ B 05:18:29 keyofnight: In lambda calculus? 05:18:36 Yes okay, so (list a b) 05:19:00 So like letting c equal (and a b) 05:19:13 does the resource explanation make sense? 05:19:21 My expression above returned the value of c, but did not retain the values of a or b. 05:19:45 soupdragon: oh. never got that far. (; just in sentential logic. 05:19:55 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 05:20:20 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 05:20:35 heh 05:20:45 It would make sense, but you say that the example I attempted is incorrect. 05:20:52 yes, because it didn't discard b 05:21:10 you can think of ^ as a container into which you put two propositions - but once they're in the container, they are not also outside the container :P 05:21:17 that is why they go away when you apply stateful-^ 05:21:37 Once the expression finishes evaluating, neither a nor b are retained. 05:21:53 oh 05:21:54 kinda? 05:22:02 but if I invoke your expression again, I can get another copy of c 05:22:08 which is bogus in real stateful logic 05:23:10 Invoking my expression again? You mean by having two copies of it in the program? I don't really know what makes it bogus logic. 05:23:19 um, well 05:23:21 *keyofnight* goes back to lurking. 05:23:43 your expression doesn't actually *remove* a and b from the context 05:23:57 your expression creates a and b, then creates c from them, then removes them from the context it created 05:26:15 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:26:31 So for it to "consume" the "truth" of both a and b, and "produce" a ^ b, it would have to set! them both to #f, but sequentially after setting c to (and a b)? 05:27:04 I don't think it's right to think about it as being _false_ 05:27:22 if something is false then presumably you would have a proof that it's contradictory 05:27:28 -!- proq` [n=user@38.100.211.40] has quit [Connection timed out] 05:28:35 synx: here: 05:28:46 (define (stateful-and ctx a b) (cons (list 'and a b) (remove b (remove a ctx)))) 05:28:46 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Read error: 110 (Connection timed out)] 05:29:02 and then you can call it like: (stateful-and '(a b c) 'a 'b) 05:29:03 and it will return to you the new context 05:29:12 wtf. 05:29:19 whereas stateless-and does not do the removes 05:31:12 so stateless-and is just: (define (stateless-and ctx a b) (cons (list 'and a b) ctx)) 05:32:36 but for example, stateful-or is not invertible! 05:32:43 (well, neither is stateless-or, but that is neither here nor there :P) 05:33:08 neither and nor or? 05:33:10 (stateless-or doesn't really need to be, since it doesn't consume its inputs) 05:33:13 *keyofnight* explodes 05:33:20 huh? both ands are invertible 05:33:23 neither or is invertible :P 05:34:38 ejs [n=eugen@192-241-124-91.pool.ukrtel.net] has joined #scheme 05:42:39 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 05:45:01 ikaros [n=ikaros@f050238146.adsl.alicedsl.de] has joined #scheme 05:47:44 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 05:47:54 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Remote closed the connection] 05:52:08 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 05:54:19 -!- ASau [n=user@193.138.70.52] has quit ["off"] 06:13:40 -!- keyofnight [n=key@cpe-76-171-76-175.socal.res.rr.com] has quit ["Lost terminal"] 06:14:40 -!- ejs [n=eugen@192-241-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 06:17:10 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 06:18:29 IL [n=iron9lig@58x13x197x28.ap58.ftth.ucom.ne.jp] has joined #scheme 06:18:31 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 06:19:49 Hello, Can anyone translate this scheme program to erlang? http://okmij.org/ftp/Scheme/pure-oo-system.scm 06:21:38 of course. that's what #scheme is here for 06:24:36 lol 06:25:00 thank you neilv. It's not long, just show how to implement OO with pure FP. 06:27:29 basically, you create an opaque object, and any operation that would normally mutate state in the object instead produces a new object with the different state 06:28:32 it is very simple 06:33:46 you mean some loop founction with some mutate state? interact with message? 06:34:34 i could explain it in terms of scheme code, but that is the original problem 06:34:54 you could go ask on an #erlang 06:35:34 I did it. 06:37:16 ejs [n=eugen@129-236-124-91.pool.ukrtel.net] has joined #scheme 06:37:21 underspecified_ [n=eric@isa7-dhcp-116-205.naist.jp] has joined #scheme 06:39:16 -!- ikaros [n=ikaros@f050238146.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 06:47:45 Sveklo [n=user@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 06:48:37 -!- ejs [n=eugen@129-236-124-91.pool.ukrtel.net] has quit [Read error: 60 (Operation timed out)] 06:56:15 naunsins [i=charles_@120.138.100.168] has joined #scheme 06:58:28 -!- naunsins [i=charles_@120.138.100.168] has left #scheme 07:06:37 rdd [n=user@c83-250-157-93.bredband.comhem.se] has joined #scheme 07:17:21 ejs [n=eugen@77.222.151.102] has joined #scheme 07:20:48 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 07:21:41 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 07:23:58 xwl [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 07:26:05 ASau [n=user@host81-230-msk.microtest.ru] has joined #scheme 07:26:28 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 07:30:10 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #scheme 07:35:14 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 07:35:35 -!- ejs [n=eugen@77.222.151.102] has quit [Connection timed out] 07:38:24 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 07:38:52 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 07:53:28 amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has joined #scheme 07:54:48 -!- rstandy [n=rastandy@net-93-144-8-10.t2.dsl.vodafone.it] has quit [Read error: 104 (Connection reset by peer)] 07:56:12 Judofyr [n=Judofyr@77.40.165.3] has joined #scheme 07:56:19 -!- Judofyr [n=Judofyr@77.40.165.3] has quit [Remote closed the connection] 08:06:46 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 08:10:52 -!- neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit ["Leaving"] 08:23:55 blandest [n=blandest@softhouse.is.ew.ro] has joined #scheme 08:23:56 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 113 (No route to host)] 08:24:39 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 08:41:32 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit [Read error: 60 (Operation timed out)] 08:49:05 -!- xwl [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 08:49:18 xwl [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 08:50:23 blandest [n=blandest@softhouse.is.ew.ro] has joined #scheme 08:50:53 melba [n=blee@unaffiliated/lazz0] has joined #scheme 08:54:05 -!- underspecified_ [n=eric@isa7-dhcp-116-205.naist.jp] has quit [] 08:55:01 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 08:55:29 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 09:04:37 -!- xwl [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 09:04:45 xwl` [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 09:06:26 benny99 [n=benny@p5486E7AD.dip.t-dialin.net] has joined #scheme 09:43:24 levy [n=levy@apn-89-223-178-55.vodafone.hu] has joined #scheme 09:43:33 jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has joined #scheme 09:45:05 -!- jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has quit [Client Quit] 09:48:23 Edico [n=Edico@unaffiliated/edico] has joined #scheme 09:48:41 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit ["..."] 09:49:55 -!- IL [n=iron9lig@58x13x197x28.ap58.ftth.ucom.ne.jp] has quit [] 10:05:56 athos [n=philipp@92.250.250.68] has joined #scheme 10:06:12 -!- thesnowdog [i=thesnowd@114.73.37.115] has quit [Read error: 110 (Connection timed out)] 10:06:53 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 10:19:12 Deformative [n=joe@c-71-238-44-239.hsd1.mi.comcast.net] has joined #scheme 10:19:50 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 10:20:17 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 10:21:53 -!- alaricsp [n=alaricsp@88-202-202-163.rdns.as8401.net] has quit [Read error: 104 (Connection reset by peer)] 10:27:01 alaricsp [n=alaricsp@88-202-202-163.rdns.as8401.net] has joined #scheme 10:31:20 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 10:38:40 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 60 (Operation timed out)] 10:41:18 thesnowdog [i=thesnowd@114.73.30.9] has joined #scheme 10:42:19 jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has joined #scheme 10:45:33 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 10:53:29 foof [n=user@dn157-046.naist.jp] has joined #scheme 11:01:49 ikaros [n=ikaros@g226150163.adsl.alicedsl.de] has joined #scheme 11:17:55 cracki [n=cracki@46-029.eduroam.RWTH-Aachen.DE] has joined #scheme 11:22:54 etate [n=etate@bb-87-81-97-91.ukonline.co.uk] has joined #scheme 11:23:14 hallo people, anyone here have some experience with lazy scheme in plt? 11:23:17 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:24:06 might interest somebody, i was trying to create a solution for the hamming problem, and found a lazy variant of it.. but the merge i think takes up too much space 11:24:47 however, every implementation that i try of merge with an accumulator which is supposed to be o(1) space, recurrs into infinitiy 11:25:02 *etate* cries 11:25:14 any idea? 11:26:02 *pbusser2* has a huge experience with laziness. 11:28:18 etate: if you are not afraid of losing your Intellectual Property you could lisppaste your code... and wait for the best. it's not the best time as most of #scheme is on USA time. 11:28:53 sladegen: not afraid of that at all, i will paste 11:29:15 *ecraven* is not on USA time 11:29:30 just a friendly suggestion as i never touched plt's lazy scheme... 11:29:55 incubot: who is hamming? 11:29:58 (Oh, I meant to ask xerox whether he meant Hamming, not Hemming, I wasn't asking about who Hamming is) 11:30:18 etate pasted "slow variant" at http://paste.lisp.org/display/82411 11:30:51 ecraven: i'd think eli is ;() 11:31:09 this is the solution that works but takes too much memory 11:31:28 in haskell this same implementation I think takes O(1) space 11:32:39 hugo [n=hugo@123.230.52.26] has joined #scheme 11:36:51 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 11:36:57 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:40:55 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:44:48 etate: i can't even test it as i don't have version 4.x PLT, but just wild guessing it could be effect of what srfi-45 talks about... anyway(tm). 11:46:08 thought i doubt the implementors of #lang lazy would be that "silly". 11:46:55 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 60 (Operation timed out)] 11:49:48 *sladegen* <3 xkcd. 11:49:55 -!- xwl` [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 11:50:07 xwl` [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 11:50:57 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:53:02 sladegen: interesting 11:53:09 -!- hugo [n=hugo@123.230.52.26] has quit [Nick collision from services.] 11:54:07 eli annotated #82411 "working version" at http://paste.lisp.org/display/82411#1 11:55:21 etate: there. 11:55:27 voila! 11:56:00 eli: wow, thank you... you use the same algorithm but mine takes lots more space/time wt ?? 11:57:06 tricksy different algo... 11:57:16 hugo_ [n=hugo@123.230.52.26.er.eaccess.ne.jp] has joined #scheme 11:58:17 aaah maybe the function calling in the hamming fn created recursive spacetime 11:58:24 -!- levy [n=levy@apn-89-223-178-55.vodafone.hu] has quit ["..."] 11:59:44 attila_lendvai [n=ati@apn-89-223-153-133.vodafone.hu] has joined #scheme 12:00:20 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [verne.freenode.net irc.freenode.net] 12:00:20 -!- roderic [n=user@pinball.ccs.neu.edu] has quit [verne.freenode.net irc.freenode.net] 12:00:20 -!- kandinski [i=kandinsk@rowrcolo.net] has quit [verne.freenode.net irc.freenode.net] 12:00:20 -!- X-Scale [i=email@89.180.205.13] has quit [verne.freenode.net irc.freenode.net] 12:00:20 -!- dlctestnt [n=dlctestn@206.251.250.209] has quit [verne.freenode.net irc.freenode.net] 12:00:20 Nshag [i=user@Mix-Orleans-106-4-106.w193-248.abo.wanadoo.fr] has joined #scheme 12:00:41 X-Scale [i=email@89.180.205.13] has joined #scheme 12:00:41 dlctestnt [n=dlctestn@206.251.250.209] has joined #scheme 12:00:41 roderic [n=user@pinball.ccs.neu.edu] has joined #scheme 12:00:41 kandinski [i=kandinsk@rowrcolo.net] has joined #scheme 12:00:41 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 12:02:55 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 12:06:26 -!- hugo_ [n=hugo@123.230.52.26.er.eaccess.ne.jp] has left #scheme 12:08:28 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 12:09:02 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:13:53 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [verne.freenode.net irc.freenode.net] 12:13:53 -!- roderic [n=user@pinball.ccs.neu.edu] has quit [verne.freenode.net irc.freenode.net] 12:13:53 -!- kandinski [i=kandinsk@rowrcolo.net] has quit [verne.freenode.net irc.freenode.net] 12:13:53 -!- X-Scale [i=email@89.180.205.13] has quit [verne.freenode.net irc.freenode.net] 12:13:53 -!- dlctestnt [n=dlctestn@206.251.250.209] has quit [verne.freenode.net irc.freenode.net] 12:14:07 X-Scale [i=email@89.180.205.13] has joined #scheme 12:14:07 dlctestnt [n=dlctestn@206.251.250.209] has joined #scheme 12:14:07 roderic [n=user@pinball.ccs.neu.edu] has joined #scheme 12:14:07 kandinski [i=kandinsk@rowrcolo.net] has joined #scheme 12:14:07 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 12:17:18 forcer [n=forcer@c194248.adsl.hansenet.de] has joined #scheme 12:17:52 lazz0 [n=blee@unaffiliated/lazz0] has joined #scheme 12:17:53 etate: Haskell does not have a "function with no arguments". I'm not sure if it would perform well if you'd force it to use a function. 12:18:09 etate: In any case, that's the only change I did to your code. 12:18:25 (turning the argument-less function into a plain value.) 12:18:26 -!- melba [n=blee@unaffiliated/lazz0] has quit [Read error: 104 (Connection reset by peer)] 12:30:25 luz [n=davids@139.82.89.70] has joined #scheme 12:36:03 underspecified_ [n=eric@softbank220043052007.bbtec.net] has joined #scheme 12:39:53 MrFahrenheit [n=RageOfTh@SE400.PPPoE-6850.sa.bih.net.ba] has joined #scheme 12:42:20 eli: thanks alot, this helps me understand lazyness :) 12:46:07 eli: actually no, it helps remind me that you can have recursive values without them having to be functions, i think this is where my mind borked. :> 12:46:34 -!- xwl` [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 12:46:41 xwl`` [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 12:46:42 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 12:49:45 pantsd [n=hkarau@69-196-186-7.dsl.teksavvy.com] has joined #scheme 12:53:11 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 12:53:45 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 12:53:45 I'm following this tutorial (step 1): http://docs.plt-scheme.org/continue/index.html, but my webserver does not start on Windows XP (32 bit). Is there something that needs to be configured (like browser or tcp port) ? 13:00:42 -!- leppie [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 13:01:09 -!- xwl`` [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 13:01:16 leppie [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has joined #scheme 13:01:19 xwl``` [n=user@a91-155-188-169.elisa-laajakaista.fi] has joined #scheme 13:02:33 blandest: did you copy the example exactly? 13:03:53 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:04:03 yes 13:04:23 the first step 13:04:30 blandest: which plt version do you have? 13:05:11 dr Scheme 4.2 (downloaded today) 13:05:19 how do I see the plt scheme version ? 13:05:21 -!- Deformati [n=joe@c-71-238-44-239.hsd1.mi.comcast.net] has quit [SendQ exceeded] 13:05:31 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:05:42 rudybot: eval (version) 13:05:42 sladegen: ; Value: "4.2" 13:06:08 (version) returns 4.2 13:06:48 -!- pantsd [n=hkarau@69-196-186-7.dsl.teksavvy.com] has quit [Read error: 110 (Connection timed out)] 13:06:53 I only defined the start function, how does Dr Scheme know to launch the webserver ?:) 13:07:37 Probably by the language selection 13:07:38 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 104 (Connection reset by peer)] 13:07:44 #lang web-server/insta 13:07:45 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 13:07:50 I have that too 13:08:29 If you are using tcp port 80, you will probably need administrator privileges 13:08:54 that's right, let me see if I can change it 13:09:29 I checked all open ports using netstat, so I'm sure the server didn't start 13:10:01 it opens a site http://localhost:8000/servlets/standalone.ss for me 13:11:04 sjamaan: it would be pretty stupid if it required root privileges to try that tutorial... 13:11:53 good point ;) 13:12:22 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:12:57 blandest: put it in a file andf run it with "mzscheme .ss" and paste the terminal output somewhere. 13:13:33 zhoujingrui [n=zhoujing@58.245.230.205] has joined #scheme 13:14:04 *sladegen* bets on whitespace in filename... 13:14:18 hkBst: it worked, thanks. Now I have to see what's wrong with Dr Scheme .. 13:14:29 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:17:45 -!- xwl``` [n=user@a91-155-188-169.elisa-laajakaista.fi] has quit [Read error: 104 (Connection reset by peer)] 13:19:48 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 13:20:15 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 13:22:13 found the problem: the language "Module" should have been selected :) 13:22:38 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 13:22:51 Hey people! 13:22:54 -!- elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has quit [Client Quit] 13:23:24 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 13:23:33 metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 13:27:04 bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has joined #scheme 13:44:34 dzhus [n=sphinx@95-24-74-54.broadband.corbina.ru] has joined #scheme 13:49:44 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 13:53:00 annodomini [n=lambda@130.189.179.215] has joined #scheme 13:55:46 dudleyf [n=dudleyf@65.243.31.107] has joined #scheme 13:57:58 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Client Quit] 13:58:14 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:03:30 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 104 (Connection reset by peer)] 14:03:44 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:08:55 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 54 (Connection reset by peer)] 14:09:09 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:12:49 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 60 (Operation timed out)] 14:14:21 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 104 (Connection reset by peer)] 14:14:34 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:15:51 Tysonz [n=mtao@CPE0017f2d420f8-CM000a739c5671.cpe.net.cable.rogers.com] has joined #scheme 14:16:30 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 14:17:12 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Client Quit] 14:19:05 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 14:19:07 -!- zhoujingrui [n=zhoujing@58.245.230.205] has quit [Client Quit] 14:20:48 -!- Sveklo [n=user@a88-115-8-123.elisa-laajakaista.fi] has quit [Read error: 110 (Connection timed out)] 14:23:31 -!- benny99 [n=benny@p5486E7AD.dip.t-dialin.net] has quit [Client Quit] 14:23:45 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 14:30:08 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 14:32:35 -!- bpalmer [n=user@unaffiliated/bpalmer] has left #scheme 14:36:53 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Client Quit] 14:39:57 gfb [i=4c455486@gateway/web/freenode/x-fb3908cd57c15423] has joined #scheme 14:41:19 gfb_ [i=4c455486@gateway/web/freenode/x-54929c4be9320f74] has joined #scheme 14:41:35 -!- gfb_ [i=4c455486@gateway/web/freenode/x-54929c4be9320f74] has quit [Client Quit] 14:41:55 gfb_ [i=4c455486@gateway/web/freenode/x-ec25677cd84f498e] has joined #scheme 14:43:05 -!- gfb [i=4c455486@gateway/web/freenode/x-fb3908cd57c15423] has quit [Ping timeout: 180 seconds] 14:45:47 -!- gfb_ [i=4c455486@gateway/web/freenode/x-ec25677cd84f498e] has quit [Client Quit] 14:47:33 codermattie [n=user@74-60-0-165.sea.clearwire-dns.net] has joined #scheme 14:51:19 -!- cracki [n=cracki@46-029.eduroam.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 14:53:22 -!- dzhus [n=sphinx@95-24-74-54.broadband.corbina.ru] has quit [Read error: 60 (Operation timed out)] 14:54:29 -!- jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 14:56:20 -!- rdd [n=user@c83-250-157-93.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 14:57:41 gfb [i=4c455486@gateway/web/freenode/x-370352494299ea12] has joined #scheme 14:59:55 -!- attila_lendvai [n=ati@apn-89-223-153-133.vodafone.hu] has quit [Read error: 104 (Connection reset by peer)] 15:11:16 sepult [n=user@xdsl-87-78-25-27.netcologne.de] has joined #scheme 15:13:29 rmorris [n=user@67.110.140.180.ptr.us.xo.net] has joined #scheme 15:28:38 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit ["Leaving."] 15:33:21 -!- elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has quit [] 15:34:36 blandest [n=blandest@softhouse.is.ew.ro] has joined #scheme 15:36:02 foof: Ping! 15:39:13 proq [n=user@38.100.211.40] has joined #scheme 15:42:11 reprore [n=reprore@EM114-48-166-188.pool.e-mobile.ne.jp] has joined #scheme 15:42:44 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 15:47:43 cornucopic [n=r00t@115.184.141.243] has joined #scheme 15:47:58 pbusser2: pong 15:48:53 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 15:51:53 segoe [n=segoe@201.Red-79-155-84.dynamicIP.rima-tde.net] has joined #scheme 15:51:56 hi 15:53:19 foof: Chibi Scheme 0.2 didn't link on my machine. The -fPIC was failing in the commandline for the .o files. 15:53:32 foof: I'm running Debian on AMD64. 15:53:43 that's fixed, but for now you can run: make CFLAGS=-fPIC 15:53:45 foof: CPPFLAGS=-fPIC fixed it. 15:53:48 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 15:53:56 Ok. 15:54:09 And the gc doesn't work on 64-bit machines, so you'll need USE_BOEHM=1. 15:54:15 ?? 15:54:17 Why doesn't it, foof? 15:54:19 Ah ok. 15:55:28 foof: public hg repo! :D 15:55:38 s/hg/git/ :-P 15:56:04 foof is already using hg, I think 15:56:05 Riastradh: Presumably because the minimum free-link size is larger than the alignment guarantees. 15:56:43 Elly: hg is written in Python, isn't it? 15:56:43 I haven't tested on any 64 bit machines myself yet though. 15:56:48 foof: which implementation? 15:56:51 pbusser2: it is, I think 15:57:03 Yes, I'm using hg. 15:57:09 pbusser2: I don't see how that can be considered a point against it, given that git is written in C :P 15:57:55 Elly: Python itself is written in C. So that can't be agains Git. :-) 15:58:12 let's all use darcs then! 15:58:17 Elly: I have nothing against Python as such. It is just rather big. 15:58:32 Elly: And it has many dependencies. 15:58:51 I prefer darcs in theory, and it has the nicest interface. It's also unusably slow, even for some of my smaller projects. 15:58:52 all of which are installed on essentially every system on which people do development :P 15:59:33 foof: ? We're using darcs for some ~25kloc projects and a checkout takes a couple of seconds 15:59:36 Elly: Oh sure! 15:59:51 foof: on the 64 bit gc, what scheme were you talking about? 15:59:59 chibi-scheme 16:00:10 ah, ok 16:00:11 segoe: Written by foof. 16:00:12 Elly: Put a copy of /usr/share/dict/words in the repo and change a few lines. 16:00:28 Wait a few minutes for the record to complete. 16:00:41 i can test it on 64 bit if you want 16:00:51 my /usr/share/dict/words is only 53k lines 16:01:29 And the dict I'm using is 58k lines. 16:03:00 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 16:03:07 Anyway, I need sleep. Night all. 16:03:12 foof: I tried removing a few of the words, and adding a few new ones 16:03:17 the record still took less than one second 16:06:03 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:08:53 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit ["Leaving..."] 16:11:29 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 16:12:08 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 104 (Connection reset by peer)] 16:12:28 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 16:12:53 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Connection reset by peer] 16:13:14 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 16:13:27 Edico [n=Edico@unaffiliated/edico] has joined #scheme 16:14:55 exexex [n=chatzill@85.96.117.251] has joined #scheme 16:19:19 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 16:19:48 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 16:20:04 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 16:20:13 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 16:20:46 rjack [n=rjack@93-42-25-237.ip84.fastwebnet.it] has joined #scheme 16:21:00 -!- rjack [n=rjack@93-42-25-237.ip84.fastwebnet.it] has quit [Client Quit] 16:23:40 -!- alaricsp [n=alaricsp@88-202-202-163.rdns.as8401.net] has quit [Remote closed the connection] 16:31:02 foof : if you still there... compiles cleanly on 64bit, but fails all tests on r5rs-test.scm saying "undefined variable test". If trying to use #define USE_BOEHM 0, does not compile, gives some error about a struct. 16:31:33 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 16:31:36 masm [n=masm@213.22.191.93] has joined #scheme 16:35:56 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 16:39:53 Lectus [n=Lectus@189.105.42.131] has joined #scheme 16:41:20 -!- ASau [n=user@host81-230-msk.microtest.ru] has quit ["off"] 16:42:09 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [Remote closed the connection] 16:42:28 -!- segoe [n=segoe@201.Red-79-155-84.dynamicIP.rima-tde.net] has quit ["quit"] 16:44:30 I need help with Swindle. How do I use slot options in class definitions? 16:44:51 Symbols don't work, neither do keywords. 16:48:10 karme [n=user@dslb-088-064-147-059.pools.arcor-ip.net] has joined #scheme 16:48:29 why does round, round to the closest even integer in the .5 case? 16:48:48 The few examples I found with google use :initarg, for example. But that does not work for me. 16:48:50 it's the law 16:51:10 uhh: _Rationale:_ `Round' rounds to even for consistency with the default rounding mode specified by the IEEE floating point standard. 16:51:15 didn't know that 16:52:00 most languages does that type of rounding 16:52:28 perhaps it's easier/faster to implement 16:52:39 *karme* is quite surprised he didn't know that 16:53:04 i only found out a year or so back too :) 16:53:13 2 being even... perhaps. 16:59:53 akiross [n=akiross@dynamic-adsl-94-36-248-31.clienti.tiscali.it] has joined #scheme 16:59:57 hi! 17:00:22 I've got just a (hope) quick question about quotation: why (list 'asd) results in '(asd) and not ('asd)? 17:02:02 (list 'asd) results in (asd), as does '(asd) 17:02:28 Whereas ('asd) will give an error because you are quoting a symbol, and trying to apply that as if it were a procedure (which it isn't, of course - it is a symbol) 17:02:59 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit ["Leaving..."] 17:03:17 ok. I didn't tought about the procedure! thanks very much 17:03:26 I hope it helps :) 17:03:51 -!- cornucopic [n=r00t@115.184.141.243] has quit [Read error: 110 (Connection timed out)] 17:03:59 sure :) i founded the form '(asd) a little misleading (it seems like "(quote (list asd))", but of course it isn't) but now it's clearer 17:04:34 -!- proq [n=user@38.100.211.40] has quit [Remote closed the connection] 17:04:36 '(list asd) is (quote (list asd)) 17:05:41 -!- Modius [n=Modius@24.174.112.56] has quit [Read error: 60 (Operation timed out)] 17:06:03 sure, but I'm also tempted to read '(asd) as "quote a list containing symbol asd", that's why i found it misleading. But thinking about procedures changes everything 17:06:26 -!- codermattie [n=user@74-60-0-165.sea.clearwire-dns.net] has quit [Remote closed the connection] 17:06:31 Reading it like that is correct 17:06:45 '(asd) is a list with the symbol asd in it, which is quoted to prevent evaluation 17:07:38 ok 17:07:49 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 17:08:13 sorry, I'm new to quotation and I need to get used to it :) very interesting concept anyway. 17:08:23 That's fine, we're here to help :) 17:08:35 yes, it's interesting and useful too 17:09:15 yep! I just saw the implementation of quine in scheme and it's wonderfully elegant :D 17:09:24 :) 17:09:31 thanks! back to reading! 17:09:39 You're welcome 17:10:01 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 17:10:09 melgray [n=melgray@70.99.250.82] has joined #scheme 17:10:43 cornucopic [n=r00t@115.184.136.126] has joined #scheme 17:13:51 proq [n=user@unaffiliated/proqesi] has joined #scheme 17:14:43 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 17:20:55 hi. Searching for lstat in docs.plt-scheme.org doesn't return anything. 17:21:18 What's the right way to search for syscall interfaces for PLT ? 17:21:31 Have you tried searching for a less terse name? 17:21:40 Scheme names usually don't map right to C names 17:21:57 Chicken, for example, has FILE-STAT 17:22:22 well, the C name is standard -- even if that's not the name of the scheme function, it ought to be in the index. 17:22:47 Does it have a section on a POSIX or OS interface? 17:23:07 search for posix yields POSIX character classes only :( 17:23:13 :/ 17:23:49 *Fare* summons the spirit of eli... 17:24:20 eli eli, lama sabachthani? 17:25:20 Fare: "Shakhakhtani". 17:25:26 Fare: http://docs.plt-scheme.org/foreign/ 17:26:01 do I have to write my own wrappers, or is there already something? 17:26:36 I don't think there are. 17:26:48 maybe already something automatically generated from gcc-xml or some other thing. 17:27:31 how do the Chicken guys do? 17:27:34 No, I don't think so; and I never heard about gcc-xml before. 17:27:48 What do you need from it? 17:28:11 it can help you automatically parse .h files and produce FFIs 17:28:25 there's also SWIG, FFI-GEN, and other such projects 17:28:25 easyffi can do that in chicken 17:28:29 And SWIG probably too 17:28:30 yeah 17:28:55 it would be nice to not have to redo the same crap all over N scheme implementations. 17:29:22 At least, the CL guys have CFFI, IOLib, etc., to handle these things semi-portably. 17:29:33 Tough luck; I think all (or at least most) of the scheme implementations have their own unique FFI 17:30:06 same used to be the case for CL -- but CFFI unifies them and does some more. 17:30:20 The foreing interface is generally much easier than conventional stuff. The mzscheme interface in SWIG is antique, and I don't don't think anyone revised it which would be easy. 17:30:52 "conventional stuff" ? 17:30:55 The PLT foreign interface is all pure Scheme -- if all schemes at least had settled on a pure Scheme ffi, then macros could do the rest. 17:31:21 "conventional" -- things that you usually find in Scheme, which means a static tool. 17:34:04 SWIG is definitely such a tool, and easyffi looks like it's also in this category. 17:34:20 eli: have you looked at CFFI ? 17:34:33 including notably things like CFFI-grovel 17:35:10 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 17:37:53 Fare: My impression is that the CL world is generally better in this area, since most tools (and cffi looks like it) are dynamic. 17:38:19 Fare: I actually started by looking at the Allegro interface which I liked when I used it ages ago. 17:38:28 well, the groveller may dynamically invoke gcc on some specially crafted file so as to extract values of constants, enums, etc. 17:38:33 (But obviously the PLT ffi is much better than that.) 17:38:52 Yeah, SWIG is a glorified *that*. 17:39:22 I've used the allegro interface of some years ago (or rather, the horror of a compatibility layer that was devised for it years ago at ITA) - it works but sucks a lot 17:40:00 sucks in what way? 17:40:00 how can you get values of constants without grovelling (or worse, grovelling manually) -- I don't know. 17:40:15 certainly you can cache the results per OS/architecture/versions 17:40:25 Yes, we certainly need a way to do that. 17:40:30 but at some point, the value has to be extracted. 17:40:50 what's the value of AF_INET ? That of O_RDWR ? 17:40:55 A plan that I have is to be able to pull out foreign information by generating C code, then calling it to get the info (types, sizes, offsets). 17:41:13 that's what CFFI-grovel (and other things) do. 17:41:29 ... and do all of that in a macro, so there's no need to cache, it simply becomes part of the byte compiled file. 17:42:04 I'm starting a simple script where I need to readdir/stat/lstat, and I'd like to use mzscheme, but I may fallback to using SBCL. 17:42:25 And that (generating a C file, running GCC, then running the resulting executable) tends to make people who are not used to a *good* macro system twitch in horror. 17:42:37 -!- exexex [n=chatzill@85.96.117.251] has quit [Remote closed the connection] 17:42:50 What is it that you need to do, exactly? 17:43:02 even if you have a good macro system, you may twitch in horror. 17:43:32 for now, just a few filesystem syscalls: opendir, readdir, stat, lstat, rename, unlink 17:43:44 I see no reason to twitch. (Beyond the usual C mess, but that's inherent.) 17:43:55 But what is it exactly that you want to do? 17:44:33 `directory-list' is more or less a direct call to opendir/readdir, etc. 17:44:39 current exercise: a cron job to eliminate old obsolete files from a hundred-gigabyte archive that is filling up unnecessary disk space. 17:44:52 Define obsolete. 17:45:28 "older than X days and has fewer than Y hardlinks" where X and Y are parametrized per directory. 17:46:22 OK, so the only thing that you don't get inside plt is the number of hard links. 17:46:29 or "older than X days and isn't hardlinked in one of the "higher" directories in the promotion hierarchy" 17:46:41 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 17:47:03 So what I'd do is check age in scheme, then if it's old, check the number of links by invoking the stat executable. 17:47:33 ... which can easily be made in batches, so you don't run it too many times. 17:47:41 Would you like an example? 17:48:08 the stat executable? ouch. 17:48:32 Why ouch? 17:48:33 better than nothing (and what I'd do if writing a shell script, which I'm trying to not do ever again) 17:49:16 Yes, but Scheme *still* makes things much easier. 17:49:27 Let me sketch something quick. 17:49:30 probably, in the long run 17:49:44 *Fare* whines some more. Whine whine. 17:49:55 (Actually I need to do something first, so a few more minutes.) 17:50:14 For PLT there is a "C Metaprogramming" library: http://planet.plt-scheme.org/display.ss?package=c.plt&owner=dherman 17:50:17 hey, thanks for your time -- take your time. 17:50:46 gfb: Yeah, that does some gcc-related stuff. 17:53:16 Yes, and much more that's gcc indepdenent: "Tools for manipulating C, including header extraction for the FFI." 17:55:19 -!- masm [n=masm@213.22.191.93] has quit ["Leaving."] 17:55:47 ASau [n=user@193.138.70.52] has joined #scheme 18:01:50 reprore__ [n=reprore@EM114-48-46-204.pool.e-mobile.ne.jp] has joined #scheme 18:05:39 What I want is a CPP parser, that extracts the various definitions in a header file. 18:06:34 -!- reprore [n=reprore@EM114-48-166-188.pool.e-mobile.ne.jp] has quit [Read error: 110 (Connection timed out)] 18:06:36 It's a pretty simple language... wonder if it would be difficult to accomplish. 18:06:55 synx: Look at easyffi, it does that 18:07:03 Not sure how much of CPP it implements though 18:08:02 -!- gfb [i=4c455486@gateway/web/freenode/x-370352494299ea12] has quit ["Page closed"] 18:08:04 synx: it's actually a pretty complex language. 18:08:12 Yeah, but I mean without any of the C language at all, which is entirely independant from the CPP macro language. 18:08:19 mrsolo [n=mrsolo@nat/yahoo/x-890406b40a0dfc8f] has joined #scheme 18:08:40 I still want to know how to pass flags to gcc to pass a C file through a filter besides CPP before compiling it. 18:08:55 expanding macros is one thing, understanding the intricacies of calling conventions, struct padding, etc., is another. 18:08:57 Fare: How so? Besides the conditional statements, it seems pretty simple to me. 18:09:38 and then there is the joy of FD_SET 18:10:14 uh...no... 18:10:20 CPP doesn't do any of that. 18:10:35 oh, FD_SET... that one I'm not sure about. 18:10:54 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:11:17 well, what good is it to know that some struct has fields a and b if you don't know where a starts and where b starts? 18:11:39 unless you're going to generate C code to actually access a and/or b everytime 18:11:59 jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has joined #scheme 18:12:11 CPP can't identify anything about structs 18:12:41 copumpkin [n=pumpkin@dhcp-212-202.cs.dartmouth.edu] has joined #scheme 18:13:18 exactly -- whereas your FFI must 18:13:43 Yeah, FD_SET is a really simple macro. It just wraps some opaque syntax around the set passed to it. 18:13:52 I'm not talking about a FFI. 18:13:59 I'm talking about a CPP language parser. 18:15:03 sure, it's simple to do -- but why would you want to re-write CPP? 18:15:22 stdarg.h might be tricky, hmm... 18:15:51 (and have to support a zillion platform-dependent extensions) 18:16:06 Well, in most FFIs I see a handful of functions, usually with useful information wrapped around them, then 2 pages of defines for integer constants. 18:16:56 Or they just ignore the definition step at all, and just use hardcoded integers... 18:17:06 Fare: http://tmp.barzilay.org/x.ss 18:17:37 eli: thanks! 18:20:24 I'd like to say something like (dict-ref (cpp:parse "/usr/include/sqlite3.h") 'SQLITE_ERROR) 18:20:34 btw, is there a standard #! invocation for mzscheme? 18:20:38 rdd [n=user@c83-250-157-93.bredband.comhem.se] has joined #scheme 18:23:03 what is the "correct" mode to code for mzscheme in emacs? 18:24:37 arcfide [n=arcfide@h-69-3-100-36.chcgilgm.dynamic.covad.net] has joined #scheme 18:25:50 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 18:26:11 Fare: Something like `#!/bin/env mzscheme' should work, I think. 18:26:32 (The mode is `scheme-mode', of course.) 18:26:52 I set my Emacs to use scheme mode whenever there's a `#lang' line. 18:28:29 -!- reprore__ [n=reprore@EM114-48-46-204.pool.e-mobile.ne.jp] has quit [Remote closed the connection] 18:31:16 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 18:31:43 eli: is there an interface to shell globbing? 18:31:52 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:31:59 otherwise, I suppose I'll use regexps 18:33:36 the guide page for regexp doesn't tell me obviously what (require ...) statement to use... 18:35:01 or don't I need any? 18:40:17 -!- sepult [n=user@xdsl-87-78-25-27.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 18:41:52 -!- lazz0 [n=blee@unaffiliated/lazz0] has quit [Read error: 104 (Connection reset by peer)] 18:42:07 lazz0 [n=blee@unaffiliated/lazz0] has joined #scheme 18:42:44 Fare: http://docs.plt-scheme.org/search/?q=glob 18:43:14 (Or http://tinyurl.com/lpv8d4) 18:43:25 and you don't need any requires. 18:44:31 xwl [n=user@62.237.32.162] has joined #scheme 18:44:58 rstandy [n=rastandy@net-93-144-243-56.t2.dsl.vodafone.it] has joined #scheme 18:50:37 sepult [n=buggarag@xdsl-87-78-25-27.netcologne.de] has joined #scheme 18:52:24 -!- ikaros [n=ikaros@g226150163.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 18:55:58 -!- copumpkin [n=pumpkin@dhcp-212-202.cs.dartmouth.edu] has quit ["Leaving..."] 18:56:48 foof: ping :) 18:57:37 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 19:05:35 -!- cornucopic [n=r00t@115.184.136.126] has quit [Read error: 60 (Operation timed out)] 19:11:45 later tell foof i have packaged chibi-scheme-0.2 for arch linux, and found that in your Makefile you do not check for the presence of ${BINDIR}. archlinux builds install into a sandbox, would you mind adding mkdir -p ${BINDIR} to your Makefile? 19:12:01 is there a dolist equivalent? something such that (dolist (x l) body...) => (map (lambda (x) body...) l) 19:12:21 FOR-EACH 19:12:33 (for-each (lambda (x) body) l) 19:17:13 ok, for-each instead of map 19:17:54 FOR-EACH does not return or accumulate a value, if you don't need the result of the BODY expressions, use that 19:18:05 you can easily write a macro DO-LIST 19:20:09 -!- george__ [n=george@189.107.167.96] has quit [Connection timed out] 19:21:37 -!- xwl [n=user@62.237.32.162] has quit [Remote closed the connection] 19:22:06 Fare: See the for loops in the source that I wrote. 19:22:22 oh, nice 19:25:15 -!- rdd [n=user@c83-250-157-93.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 19:27:45 how do you return or exit from a for loop? 19:28:24 (or what's the equivalent for CL's block/return) 19:28:35 (least I have to do it manually with continuations, yuck) 19:30:18 Fare: Usually, you use `call/cc', but in plt (a) we have escape continuations (`call/ec') that are cheaper, and (b) there's a more convenient `let/ec' (and `let/cc'). 19:30:30 rudybot: eval (let/ec abort (+ 1 2 3 (abort 9))) 19:30:31 eli: ; Value: 9 19:31:00 Fare: But I don't think that I ever needed that inside a for loop so far. 19:31:36 well, I'm searching for something in a list, and want to return when it's found 19:33:15 Fare: There's `ormap' and `for/or' 19:33:24 rudybot: eval (ormap even? '(1 2 3 4)) 19:33:25 eli: ; Value: #t 19:33:43 rudybot: eval (for/or ([x '(1 2 3 4)]) (and (even? x) (/ x 2))) 19:33:44 eli: ; Value: 1 19:38:36 ... or you could just do it yourself with a named let, which might be slightly easier to parse for those not familiar with PLT. 19:39:17 chandler: at this point, I don't care about portability to non-PLT 19:39:42 unless you're going to provide me with reasonably portable access to regexp, filesystem primitives, etc. 19:41:47 *eli* avoids an obvious flame 19:41:59 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 19:44:11 nun0 [n=pierre@69.172.71.220] has joined #scheme 19:44:27 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [Read error: 60 (Operation timed out)] 19:45:05 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 19:45:09 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 19:45:13 exexex [n=chatzill@85.96.117.251] has joined #scheme 19:45:20 gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 19:45:55 Any gambit schemers here? 19:46:33 gfb [i=4c455486@gateway/web/freenode/x-107da91d82d2f64d] has joined #scheme 19:47:31 is there a PLT convention for using [] vs () ? 19:47:35 Is {} allowed? 19:49:38 how to get SRFI-1 enabled in gambit? 19:49:59 Fare: they and r6rs recomend it for stuff like cond clauses, its the same as () though. {} is not allowed 19:50:31 PLT allows {} 19:50:48 Fare: plt allows braces, but there is not convention for them. 19:51:10 As for brackets, the idea is to use them in places where they're only used to group things in a macro. 19:51:32 For example wrapping each id-expr pair in a `let' and clauses in a `cond'. 19:58:05 -!- gfb [i=4c455486@gateway/web/freenode/x-107da91d82d2f64d] has quit [Ping timeout: 180 seconds] 19:59:15 so (let [[foo bar] [baz quux]] (blah foo baz)) ? 19:59:32 hard to read with the []'s 20:00:14 (lambda [x] x) ? 20:00:54 Fare: These would be the logical thing, but they're not used in these places, only in the binding body, and not in arguments. 20:01:03 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 20:01:16 maybe the list syntax should be [] and () be a short for [@call ...] 20:01:24 meh 20:01:54 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 20:02:31 That would be easy... 20:03:48 i still prefer () and proper indentation to [] 20:04:52 is there a syntax 20:05:02 to specify "proper indentation" for macros? 20:05:36 -!- karme [n=user@dslb-088-064-147-059.pools.arcor-ip.net] has quit [Remote closed the connection] 20:05:59 Brackets are obviously not a substitute for indentation. 20:06:58 what are brackets a substitute for? 20:07:04 But it does raise another point that makes (lambda [x] ...) not needed -- these brakcets never span more than a screenful, so you can't lose your context. 20:07:10 peering at the code and counting parens more carefully? 20:07:21 (Or if you have more than a screen of arguments, then you're already in hell.) 20:07:43 Fare: Visual cue, and less errors. 20:08:23 i find (let ((foo bar)\n(baz quux)) (blah foo baz)) easier to read than (let [[foo bar] [baz quux]] (blah foo baz)) (with proper indentation after \n) 20:08:49 eli: what if in the long run, I want a FFI for lstat, etc., etc. -- what's the proper way to go at it? 20:09:11 Fare: With the foreign interface. 20:09:31 But the code that I wrote should be very negligibly slower. 20:09:39 eli: "obvious flame"? 20:09:46 I find it important, when using square brackets, to not use them twice in a row. So (let [(a b) (c d)] ...) is easier to read than (let [[a b] [c d]] ...). 20:10:14 not about speed, but about ease of accessing many fields (time, links, inode, etc.) 20:10:14 I advocate using brackets everwhere, just to confuse the people who think that Scheme is all parentheses. 20:10:38 The point is to allow our pattern recognition abilities prevent us from needing to count parentheses. 20:10:54 I would rather that software prevent us from needing that. 20:10:55 I can recognize a ] much faster than I can count which ) is the right ) in )))) 20:11:06 Fare: That would be a trivial extension... 20:11:17 my editor obviates the need to count parentheses 20:11:29 C-M-f jumps to the right one :) 20:11:45 I don't like to depend on software if possible. 20:12:31 i depend on emacs so much anyway :) 20:12:33 My editor requires me to go to each parentheses and press a key sequence just to see if it's the "right" one, fiddling around with parentheses until I "find" it. 20:12:38 chandler: The obvious flame is that "do it yourself with a named let" is the disease of Scheme, which means that many people prefer to stick to the basic. This is similar in a way to sticking with an assembly language; and it counters the whole point of having macros in the language. Also, it's a (justified) source of scorn from CLers towards Scheme. 20:13:00 eli: I'll extend your current code for now -- just to make sure I grok it 20:13:00 Truthfully I kind of like how lisppaste highlights parentheses. Giving each pair a unique color works just as well as making it a unique type of paren. 20:13:04 synx: switch editors? 20:13:25 i think someone wrote an emacs mode to differently colour paren-pairs 20:13:41 ecraven: well it's the same with drscheme, emacs, and vim. :> 20:13:48 Oh I don't have that mode. 20:13:55 variables named t -- whoa, I'm not in CL land anymore :) 20:14:41 synx: do you have (show-paren-mode t) in emacs? 20:15:12 then emacs should automatically highlight the matching opening/closing parenthesis. no counting necessary at all 20:15:12 eli: Which is somewhat odd, given that I am a CLer. But I'm not necessarily sold on having a bunch of different utility macros, either. 20:15:19 synx: Not the same -- drschem has a mode with different colors for matching parens at different levels. (Emacs has something fancy too, which I dorget.) 20:15:44 eli: interestingly, I may need to use xargs, because there are too many files to fit in a command-line argument. Sigh. 20:16:03 Fare: The code is not complicated at all, just parses an output string with \0 delimiters, and a colon in each "field". 20:16:27 yes... which will be "interesting" if there's a colon in the file name 20:16:34 Fare: Why xargs -- that part can definitely be done easily within Scheme -- just split the list, then run my function on each chunk and collect the results. 20:17:00 eli: I will probably do that... where do you close the port? 20:17:21 Fare: No, there's no problem with colons in the file name -- because the code looks only at a colon-number-NUL, so asl long as you don't have NUL characters in a name (which you can't), it's perfectly safe. 20:17:36 Fare: It's a string port, you don't need to close it. 20:18:33 Why doesn't DrScheme have paredit, or a true structure editor? 20:19:11 chandler: Right, that *is* the problem that CLers hate Scheme for -- nobody agrees on a common loop syntax, so the CL (and PLT) solution is "just decide on something". But the "Scheme" (as a family) solution is "we'll just not have one, until some time in the future in which a specific syntax will shine on us as the One True Way". 20:19:54 chandler: http://www.cs.brown.edu/research/plt/software/divascheme/ 20:20:30 That looks interesting. 20:20:44 ecraven: Well even then, I have to direct my cursor to one of the parentheses, whereas with square brackets I only have to look. 20:21:02 Nothing in the text of that page would let me find that through an obvious Google search. 20:21:34 eli: what about the current-output-port ? 20:21:36 I only use square brackets for stuff like let and cond anyway. Mostly I use () all the time. 20:21:56 Fare: It diverts the command output into the collected string. 20:23:22 do you have readlink? parsing stat -c %N looks like a headache 20:25:28 eli: is there something like Divascheme for emacs (ie chordless and vim-like)? 20:25:30 Fare: http://docs.plt-scheme.org/reference/Manipulating_Paths.html#(def._((quote._~23~25kernel)._resolve-path)) 20:25:44 datkin: vi-mode? 20:25:46 viper? 20:25:54 Whateverer... 20:26:29 does resolve-path resolve just one level of symlinking, or all of them (a la TRUENAME) ? 20:26:36 but can I get viper-mode to do all that nice sexp stuff? 20:26:50 You could try running viper-mode with paredit. I don't know how well that will work. 20:28:13 woulnd't I be still using M-x or emacs chords to do the paredit mode stuff? I don't know much about viper-mode, I assume I could map the keys to paredit functions. 20:28:44 Fare: one level. 20:33:28 -!- lazz0 [n=blee@unaffiliated/lazz0] has quit ["put the word fuck before everything, you got a lazy rebellion"] 20:33:34 the_unmaker [n=g@w005.z209031033.sjc-ca.dsl.cnc.net] has joined #scheme 20:33:43 uh how do i quit out of scheme 48? 20:33:48 (quit) wont work 20:33:53 nor ('quit) 20:33:56 ,exit 20:34:13 where in the manual is that! 20:34:16 or ^D 20:34:17 it worked btw 20:34:25 I thought i tried ^d 20:35:29 I can't imagine why you'd think ('quit) would work. 20:35:46 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 20:36:05 http://s48.org/1.8/manual/manual-Z-H-4.html#node_sec_3.3 20:37:09 it's also in the ,help or ,? output 20:37:58 ah 20:38:11 google had me on the 0,57 s48 manual at mit lol 20:38:24 0.57 < 1.8 20:38:25 lol 20:38:51 eli: how do I get the length in bytes of a string's external representation? (I presume you're using utf-8 by default, or maybe something locale-dependent) 20:38:58 do you guys run a large heap size when you use s48? 20:39:02 *sladegen* facepalms. 20:39:48 I see string-utf-8-length -- is that what I should be using? 20:40:07 (if so, how do I ensure you are indeed using utf-8 by default ?) 20:42:15 rudybot: eval (let ((... 42)) (let-syntax ((foo (syntax-rules () ((_ a ...) (list a ...))))) (foo 1 2 3))) 20:42:17 chandler: your sandbox is ready 20:42:17 chandler: error: eval:1:79: foo: bad syntax in: (foo 1 2 3) 20:42:50 I'm not sure I understand this. For what it's worth, this works in Scheme48. 20:43:10 shadowing of the macro system's ... ? 20:43:48 No, it evaluates to (1 2 3) in Scheme48. 20:44:18 I don't see any language in either R5RS or R6RS that would indicate that the meaning of the ellipsis is dependent on the environment. 20:44:30 -!- jewel [n=jewel@dsl-242-129-65.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 20:44:56 This is what I'd expect if syntax-rules was implemented as a syntax-case macro, where ... was a literal. 20:46:53 what's the colloquialism for loops that collect arguments in lists? 20:47:36 pantsd [n=hkarau@206-248-153-252.dsl.teksavvy.com] has joined #scheme 20:49:43 the_unmaker: you can use "-h 0" for heap to grow automatically... 20:50:29 chandler: "An identifier that appears in the pattern of a is a patern variable unless it is the keyword that begins the pattern, is listed in , or is the identifier "..."." 20:50:51 I'm not sure why you're quoting that to me. 20:51:06 so, ... is dependent on the environment, eh? 20:51:35 On the contrary, that says that the identifier "..." is *always* treated as an ellipsis, regardless of the environment. 20:51:52 ya, other way i meant, heh 20:52:11 My argument is that PLT is in the wrong in this instance. 20:53:29 ah ok, i agree then, heh. 20:54:16 why is scheme so complicated? 20:54:31 It is? 20:54:35 why not make it really simple so even someone like me can know the whole language? 20:54:45 yeah like all this stuff about ellipsis or numerics etc 20:55:20 I'm not sure why you think you can't know the whole language. 20:56:42 Interestingly, Petit has this problem as well. 20:57:19 I'm not turning up anything relevant on Google, but perhaps Riastradh knows of some discussion about this. 20:57:24 *Fare* tries for/list 20:57:56 is there the equivalent of CL:POP ? 20:58:22 Fare: Perhaps you're looking for `append-map' and `append-map!'? 20:58:34 chandler, NO! 20:58:40 that's way too low-level 20:59:01 What's the CL idiom you're searching for an equivalent to? 20:59:09 -!- sepult [n=buggarag@xdsl-87-78-25-27.netcologne.de] has quit ["leaving"] 20:59:25 (loop for ... for ... collect ... into ... finally ...) 20:59:48 Fare I think you can do that with foof-loop 20:59:53 If you're looking for LOOP, have you looked at foof-loop? 21:00:08 minion: tell Fare about foof-loop 21:00:09 sepult [n=user@xdsl-87-78-25-27.netcologne.de] has joined #scheme 21:00:09 Fare: please look at foof-loop: Taylor R. Campbell's extensible looping macros, at , documented at 21:00:31 not sure I want them if they are not in PLaneT 21:00:53 it's worth it 21:01:33 -!- dudleyf [n=dudleyf@65.243.31.107] has quit [] 21:01:56 I don't think it will work without mutable pairs. 21:02:14 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 21:02:47 -!- sepult [n=user@xdsl-87-78-25-27.netcologne.de] has quit [Client Quit] 21:02:56 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 21:04:09 doesn't look like it will help me much, either 21:04:17 sepult [n=user@xdsl-87-78-25-27.netcologne.de] has joined #scheme 21:04:42 I want to both accumulate values in a list, all the while removing some values from another, and returning both at the end. 21:04:58 (end reached when some condition is met) 21:06:03 and yes, I know how to do that with named lets 21:06:04 -!- sepult [n=user@xdsl-87-78-25-27.netcologne.de] has quit [Client Quit] 21:06:08 or in assembly 21:06:18 or in C++ 21:06:40 I think your analogy is way off, but whatever. 21:06:56 Fare: There's also #:when in the `for/*' syntax. 21:07:11 sepult [n=user@xdsl-87-78-25-27.netcologne.de] has joined #scheme 21:07:12 chandler: I have to run now, but the short version is that PLT is right. 21:07:13 Since you are using PLT, you are probably out of luck on finding answers about the PLT way of doing things unless eli is around to answer questions. 21:07:14 eli: yes, but how do I return the second list with for/list ? 21:07:30 Fare: I'll be back later. 21:07:31 eli: Can you point to chapter and verse in R5RS or R6RS? 21:07:51 eli: I could side-effect the binding to said list -- but I don't see a pop (though I could have a macro for that, I suppose) 21:07:53 chandler: No, I have to run. But the same holds for the `else' in a `cond'. 21:08:11 *eli* *poof*s 21:09:10 OK. I will try to find the language indicating that. I wouldn't be displeased if this was in fact the right behavior. 21:09:31 Faire: Sorry, I'm in late on this conversation, do you have an example of what you are trying to do? 21:09:35 Fare: ^^^ 21:09:42 (Though I'm slightly displeased that PLT does not implement SRFI-46.) 21:10:01 More than slightly, in fact. 21:10:45 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 21:11:30 -!- leppie [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 21:12:51 -!- rmorris [n=user@67.110.140.180.ptr.us.xo.net] has quit [Remote closed the connection] 21:13:33 in CL: (loop :for (first . rest) :on args :summing (1+ (length first)) :into length :while (< length 32000) :collect first :into head :finally (return (values head rest))) 21:14:02 HG` [n=wells@xdsley199.osnanet.de] has joined #scheme 21:15:14 e.g. (let ((args '("abc" "de" "fgh" "" "ijkl" "mnopq" "rst" "uv" "wxyz"))) (loop :for (first . \ 21:15:14 rest) :on args :summing (1+ (length first)) :into length :while (< length 13) :collect first :into h\ 21:15:14 ead :finally (return (values head rest)))) 21:15:23 gah for copy-pasting from a console emacs 21:17:09 segoe [i=3e164621@gateway/web/freenode/x-d57698bc16c6aec5] has joined #scheme 21:17:13 good night 21:17:54 Fare: Let me see if I get you. 21:18:51 running clisp or sbcl with let you get me 21:19:21 You want to collect the elements of args up to the point where their combined length exceeds a given value, and then return this list and the rest of the items? 21:20:22 jonrafkind [n=jon@204.99.164.101] has joined #scheme 21:20:23 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 21:21:48 eli: (when you get back) At least in R5RS, the "else" and "=>" identifiers in cond are explicitly established to be hygienic at beginning of section 4.2, but there is no general language I can find which would establish this for transformers themselves. 21:22:22 Fare: In Foof Loop this would be (loop ([for e rest (in-list args)] [for head (listing e)] [for length (summing (string-length e))] [while (< length 32000)]) => (values head (cdr rest))), I believe. 21:23:35 Fare: give or take, the above is untested. 21:27:57 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 21:28:04 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:28:15 Nichibutsu [n=myfabse@wikipedia/Track-n-Field] has joined #scheme 21:29:31 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 21:29:33 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 21:30:18 I did it with a named let 21:31:52 -!- jao [n=jao@249.Red-88-18-102.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 21:32:05 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [] 21:32:18 I wish I had Olin's LOOP... is it in PLaneT ? 21:32:21 ASau [n=user@193.138.70.52] has joined #scheme 21:33:13 R6RS is hurting my brain, so I'm going to quit looking for this language there. 21:35:17 SharkBra1n [n=gerard@210.48.104.34] has joined #scheme 21:37:45 Fare: I don't think Olin's LOOP actually exists in the wild, to my understanding. 21:37:59 Fare: Was there something unsatisfactory about foof loop in this case? 21:45:02 -!- bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has quit [] 21:45:02 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 21:45:38 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 21:46:10 -!- Nichibutsu [n=myfabse@wikipedia/Track-n-Field] has quit [] 21:48:05 rdd [n=user@c83-250-157-93.bredband.comhem.se] has joined #scheme 21:48:08 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 21:51:32 Nichibutsu [n=myfabse@wikipedia/Track-n-Field] has joined #scheme 21:51:47 chandler: For what are you looking? 21:55:18 An explication of the hygienic properties of identifiers used as literals in the base syntax of the language. 21:57:01 Heh. Did I do something to my DrScheme, or does it always think that #!r6rs is important enough that it should be visible even as I scroll down the editor window? 21:58:19 dysinger [n=tim@71.20.231.3] has joined #scheme 22:01:28 Kusanagi [n=Lernaean@24-107-112-153.dhcp.stls.mo.charter.com] has joined #scheme 22:07:05 chandler pasted "continuing confusion with syntax-case" at http://paste.lisp.org/display/82461 22:07:35 That's based on the definition given in 12.8 of the R6RS standard libraries. 22:07:57 In (let-syntax ((foo (syntax-rules* () ((_ a ...) (list 'a ...))))) (foo a b c)) PLT gives me: 22:08:04 _: wildcard not allowed as an expression in: (_ a ...) 22:10:04 -!- elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has quit [] 22:11:10 -!- ejs1 [n=eugen@nat.ironport.com] has quit ["This computer has gone to sleep"] 22:11:39 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 22:13:01 Heya guys 22:17:35 ikaros [n=ikaros@g226150163.adsl.alicedsl.de] has joined #scheme 22:19:43 -!- gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 22:20:20 -!- ikaros [n=ikaros@g226150163.adsl.alicedsl.de] has quit [Remote closed the connection] 22:21:00 chandler: What are you trying to do? 22:21:15 Mostly just plonking around at the moment. 22:21:27 Perhaps that didn't answer your question. 22:22:15 I'm trying to define syntax-rules via expansion to syntax-case, as in the expansion given in 12.8 of r6rs-lib 22:22:23 snowfarthing [n=alpheus@75-169-52-18.slkc.qwest.net] has joined #scheme 22:22:35 arcfide annotated #82461 "In Chez" at http://paste.lisp.org/display/82461#1 22:23:07 -!- snowfarthing [n=alpheus@75-169-52-18.slkc.qwest.net] has left #scheme 22:23:22 Allthoug, chandler, shouldn't that FOR-ALL be an ANDMAP? 22:23:48 Don't blame me, it was in r6rs-lib that way. 22:24:20 *arcfide* shrugs. 22:24:27 Okay, well, it seems to work alright for me. 22:25:31 On the other hand, wasn't there some kind of change to the handling of _ in R6RS? 22:26:05 Yes, _ is now a wildcard pattern. 22:26:17 Okay. 22:26:26 -!- jonrafkind [n=jon@204.99.164.101] has quit [Success] 22:26:36 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 22:26:46 I wonder why it isn't working in PLT? I can't seem to find anything wrong with that expansion that would get you what you have experienced. 22:27:02 (let-syntax ((foo (syntax-rules* () ((foo a ...) (list 'a ...))))) (foo a b c)) gives me an error about ellipses not allowed as an expression. 22:27:45 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:28:34 I tried that expression as well, and it worked out just fine for me. 22:28:54 chandler: Are you sure that 'a ... expands how you think it does in PLT? 22:29:15 luz [n=davids@189.122.121.232] has joined #scheme 22:29:34 ... I don't see how it couldn't. 22:29:51 That's the only place where I could see you getting an error like that, unless I'm missing something. 22:30:06 It's specifically highlighting the ... in the pattern, not in the template. 22:30:38 Oh. Apparently this is a bozo error. Eliminating the ellipses gives me an error about syntax-rules* not being defined at all. 22:30:38 In the (foo a ...)? 22:30:49 Right, that's what I was about to guess. :-) 22:31:03 I was thinking that you haven't defined syntax-rules* in the right phase. 22:31:06 Because it isn't defined in the expansion phase. 22:31:07 Yes. 22:31:13 :-) 22:31:21 Grr. 22:31:23 Well that's PLT for you. :-) 22:31:35 Well, that's R6RS, coupled with undefined REPL semantics. 22:31:45 There is some way to get the normal REPL style interaction, but I don't know how. 22:32:04 I would call PLT's default semantics unnatural, but that's just me. 22:32:51 I'm not sure I understand why syntax-rules* isn't defined in the expansion phase of the REPL, but a regular old syntax-rules define would be. 22:33:50 I'm not opposed to phasing, but this is just baffling to me. 22:34:45 IIUC, you used DEFINE-SYNTAX, which will define something in the run-time phase, and if you want to define anything in the expansion phase, you need to use something like META or the like. 22:35:02 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #scheme 22:35:16 It can't be about DEFINE-SYNTAX, since a regular (define-syntax foo (syntax-rules ...)) in the same file is available at the REPL. 22:36:07 Can you demonstrate? I'm pretty sure that's it, but I'm likely wrong. 22:36:21 Hey guys, when I create a function - to reify something, 22:36:27 say, to provide hte semantics of a pointer, 22:36:29 what would I call it? 22:36:31 What's a good name for it? 22:37:04 elderK: Are you talking about Boxes? 22:37:12 I'm not at all sure. 22:37:13 :) 22:37:40 I just, have a function that closes over a certain definition at a point in time, so that I can manipulate it later - as if it was a pointer. 22:37:40 :) 22:37:48 arcfide: I'm not sure what you want in a demonstration. Immediately following the (define-syntax syntax-rules* ...) form in the definitions window, I have (define-syntax foo (syntax-rules () ((_ a) 'a))) 22:38:14 chandler: And you can access FOO in the right hand side of a DEFINE-SYNTAX form? 22:38:15 ... Oh. I need syntax-rules* available at the expansion phase of the REPL. 22:38:17 Duh. 22:38:19 Sorry :-) 22:38:23 :-) 22:38:24 Yes. 22:38:33 I am not used to thinking like this. 22:38:37 Hehe. 22:38:57 At least not about the REPL. It makes total sense in the context of file compilation. 22:39:04 Yes. 22:39:05 :-) 22:39:24 I'm not exactly used to it either, but whenever I enter PLT macroland, I have to flip that switch. 22:40:02 elderK: Boxes are like that. 22:40:23 hm. 22:40:29 elderK: Another term that's commonly used for this concept is "locative". 22:40:37 elderK: (define x (box y)) (let ([z x]) (set-box! z 5)) (unbox x) => 5. 22:41:45 -!- akiross [n=akiross@dynamic-adsl-94-36-248-31.clienti.tiscali.it] has quit ["Leaving"] 22:43:04 elderK: You may also have created parameters. 22:44:26 hm. 22:44:28 thanks arc. 22:45:15 -!- dysinger [n=tim@71.20.231.3] has quit [] 22:55:50 -!- HG` [n=wells@xdsley199.osnanet.de] has quit [Client Quit] 22:57:32 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 22:59:57 joast [n=rick@76.178.184.231] has joined #scheme 23:04:36 -!- etate [n=etate@bb-87-81-97-91.ukonline.co.uk] has quit ["Bersirc 2.2, for external use only. [ http://www.bersirc.org/ - Open Source IRC ]"] 23:10:53 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit [Read error: 113 (No route to host)] 23:11:07 -!- Nichibutsu [n=myfabse@wikipedia/Track-n-Field] has quit [] 23:13:31 Riastradh: ping for parscheme 23:25:15 poing? 23:27:42 kuribas [i=kristof@d54C434F4.access.telenet.be] has joined #scheme 23:30:31 heya Riastradh 23:31:48 chandler, that Scheme48 doesn't treat `...' hygienically is probably an unintended bug, due to the use of EQ? rather than a hygienic name comparator. 23:32:42 Riastradh: I meant something similar to this :) The BST thing :) http://paste.lisp.org/+1RIZ#2 23:32:46 Very simple to insert. 23:33:06 not persistent though. 23:33:19 chandler, but I suspect what was really going on is that nobody thought about hygiene and `...' until SRFI 46. 23:33:40 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 23:35:42 *Riastradh* twitches. 23:35:46 joast [n=rick@76.178.184.231] has joined #scheme 23:35:57 why twitch? 23:36:02 Where you wrote, `(. new-link)' I suspect you meant to write simply `new-link'. 23:36:08 The former makes no sense in Scheme. 23:36:37 it works in Guile? 23:36:41 That's a bug. 23:36:43 new-link is optional. 23:37:29 ah, I wasnt aware it was a bug. 23:37:30 :/ 23:37:31 What does the notation (A B C . D) mean? 23:38:14 (cons a (cons b (cons c . d))) 23:38:42 Not quite. 23:38:58 The expression (CONS 'A (CONS 'B (CONS 'C 'D))) yields an object whose external representation is (A B C . D). 23:39:33 :/ 23:39:40 so, if I wanted to achieve something like this, 23:39:45 I'd have to use a message type thing? 23:39:50 like, (lambda (msg . opt) ....) 23:39:58 This is shorthand for (A . (B . (C . D))); more generally, the notation (A ... Y . Z) is shorthand for (A . (... . (Y . Z))). 23:40:24 If you strip off the conses one by one, you get (A . (B . (C . D))) => (B . (C . D)) => (C . D) => D. 23:41:08 aye. 23:41:12 So a procedure that accepts any number of arguments is written (LAMBDA X ...). 23:41:30 :) thanks. 23:41:56 :) Fixed. 23:42:13 Anywho, that shows you what I was talking about last time :) 23:42:18 what I was wanting to achieve. 23:42:58 I must say I don't understand what your TRAVERSE procedure is supposed to be doing. 23:42:58 -!- exexex [n=chatzill@85.96.117.251] has quit [Remote closed the connection] 23:43:15 attila_lendvai [n=ati@apn-89-223-208-211.vodafone.hu] has joined #scheme 23:43:26 It would be helpful to give meaningful names, such as `key', `datum', `left', and `right', to the various parts of your vectors, which I presume are meant to represent nodes in a tree. 23:43:38 well, aye. 23:43:41 I had them originally. 23:43:52 I pruned it because the definitions were so damned small :P 23:43:52 ie, 23:44:17 (define (bst-key? node) (vector-ref node 0)) 23:44:41 should start using some kind of struct thing. 23:44:41 :) 23:44:45 Usually one does not put a question mark at the end of a name unless it is the name of a variable whose value is a boolean, or whose value is a procedure that returns booleans. 23:45:12 Alrighty. For predicates only, gotcha. 23:47:36 Riastradh: How could I make such code look cleaner? 23:47:40 Why is MAKE-BOX a macro? 23:47:46 (Im guessing oyu are going to say "By not writing code like that) 23:48:16 Im not sure if I could get the same effect as a normal lambda. 23:48:24 and I didnt want to keep repeating the lambas... 23:49:07 could. 23:51:05 The general rule is: Don't use macros until you understand why not to use them. 23:51:09 (The same goes for EVAL.) 23:51:22 Could you help me understand why I shouldn't have here? 23:51:34 I mean, I know I abused it - Im not adding syntactic stuff. 23:51:55 why not to use macros? 23:52:02 when to not use htem 23:52:03 :) 23:52:07 What you have done by the use of macros is to cause several expressions to be evaluated repeatedly. 23:52:46 eval is GREAT in PHP... it lets me implement (dog slow, runtime) macros 23:52:58 *Riastradh* hiccups. 23:53:15 I'm going to pretend I didn't hear that. 23:53:25 *Riastradh* hiccups again. 23:55:45 The repeated evaluation of several expressions makes the program harder to understand, particularly because the program is also full of side effects. 23:56:26 For each expression that is repeated, I must carefully consider all of the times at which it may be evaluated, because it may yield a different result at each of those times, depending on what side effects happened between them. 23:56:44 gfb [i=806405c6@gateway/web/freenode/x-18b9df394ff52aca] has joined #scheme 23:57:15 -!- gfb [i=806405c6@gateway/web/freenode/x-18b9df394ff52aca] has quit [Client Quit] 23:57:20 attila_lendvai_ [n=ati@apn-89-223-230-139.vodafone.hu] has joined #scheme 23:57:21 wouldn't it be better if Scheme evaluated arguments in order? 23:57:30 No. 23:57:32 Next question? 23:57:40 why not? 23:57:55 (That is, I assume you meant `in left-to-right order' or `in right-to-left order'; of course it evaluates arguments in *some* order.) 23:58:24 left to right 23:58:26 gfb [i=806405c6@gateway/web/freenode/x-b0ecc5c8d8352335] has joined #scheme 23:59:00 on some archetectures it would have to eval the say 4 arguments then reverse the top 4 objects on the stack? 23:59:05 If it evaluated arguments in left-to-right order, then the expression of a procedure call would carry much more meaning, concealed in the evaluation order, than it does currently. 23:59:09 how do I get scheme to print a number out as hex 23:59:17 say 10000 and it spits out the hex value 23:59:26 r5rs number->string 23:59:27 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_350 23:59:29 -rudybot:#scheme- http://tinyurl.com/ku6zyr 23:59:30 (format "~x" 10000) ? 23:59:36 Riastradh: what you just said, I think is very good for use of refied continuations