00:00:06 it happens with my stateless webservlets but not with my stateful webservlet 00:00:28 I could manually insert an if (s!=0) the line right before 00:00:29 is it reproduceable? 00:00:34 100% 00:00:39 so far 00:00:42 is the code relatively small? 00:00:53 not particularly 00:01:01 I can try and slim down a reproducing component 00:01:16 well if can package up the code somehow and get it sent to the list i guarantee it will be fixed in a day or two 00:01:45 shiney :) 00:01:57 RageOfThou [n=RageOfTh@89.146.161.128] has joined #scheme 00:02:04 plt-dev is the right list for this to go to? 00:02:12 yea 00:04:12 oh schweet 00:04:20 it comes from inside the HMAC-SHA1 stuffer 00:04:24 if I get rid of it my code works 00:05:00 that probably just means memory was shuffled around until the bug went away 00:05:21 hms 00:05:32 I suppose 00:08:36 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 00:09:14 oks 00:11:37 thanks :) 00:12:51 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 00:18:15 can you put your code online somewhere? ill try it on my amd64 machine 00:21:16 -!- MrFahrenheit [n=RageOfTh@SE400.PPPoE-504.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 00:23:34 ok ill try it out 00:23:51 pantsd_, your link is a 404 00:24:53 oops 00:24:55 I'll fix 00:25:15 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 00:25:44 jonrafkind: does http://web2.0collage.com/sl2.tar.bz2 work? 00:26:00 yea 00:26:31 kk 00:26:34 so both should work now 00:26:36 how do I run this thing 00:26:46 i get libWand.so.6.0.1 not found 00:26:46 mzscheme launcer.ss 00:26:49 ah 00:26:59 that should be necessary 00:27:13 hm 00:27:15 i have libWand.10.0.9 00:27:18 does it need to be 6.0.1? 00:27:36 not really 00:27:46 but the magick/ffi bindings just check for 6.0.1 00:27:56 oh ok, il hack it 00:28:51 you can also just comment out the require graphics.ss & the one call to composite in youuseb.ss 00:29:12 it fails well before the imagemagick stuff starts happening 00:29:12 im running it over a network connection, is it supposed to bring up a window? 00:29:17 nope 00:29:24 it will start listening on port 8085 00:29:32 so go wget http://foo:8085/app/ 00:29:34 ok so i should visit that with a browser? 00:29:35 ok 00:29:39 and it should segfault 00:30:24 it just keeps repeating this error 00:30:31 call-with-input-file: cannot open input file: "/usr/src/awesome_3/youuseweb/static/404.html" (No such file or directory; errno=2) 00:31:16 oh i see 00:31:45 ah 00:31:58 ok now i just get a 404 00:32:07 oh i needed a trailing / on app 00:32:32 i just get some html back, i guess i can't reproduce the error 00:32:41 hmm 00:32:54 sad pandas 00:33:18 i think I can find a xeon 64 machine 00:33:36 if you want I can set you up with a temporary account on the machine it is giving errors on 00:33:41 the sysadmin is my friend 00:34:24 im not sure i can fix it anyway, ill let matthew deal with it 00:34:36 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Remote closed the connection] 00:34:48 but if he can't reproduce it then I'll let him know about the account 00:35:10 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 00:36:46 cool 00:36:57 thanks :) 00:39:57 -!- Nshag [i=user@Mix-Orleans-106-3-44.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 00:40:08 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 00:40:21 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 00:44:39 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 00:46:55 pantsd_: Looks like you got on the list fine, what problems did you have before? 00:54:11 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit [Read error: 113 (No route to host)] 01:00:27 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 01:06:17 QinGW [n=wangqing@203.86.81.2] has joined #scheme 01:06:29 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:10:04 tc-rucho [n=tc-rucho@unaffiliated/tc-rucho] has joined #scheme 01:10:28 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 01:13:07 eli: it just didn't send the confirmation e-mail 01:13:09 it did this time 01:13:19 I'm going to try and subscribe the the general plt mailing list again 01:14:42 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 01:19:59 pantsd_: If you want I can subscribe you to it. 01:20:42 pantsd_: (I see that you subscribe to the announcement list, maybe that's all you wanted.) 01:25:12 eli: plt-scheme as well would be awesome 01:25:15 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 01:26:19 pantsd_: Done. Do you want me to also take you off the announcement list? (Since posts that go there go to the main list anyway.) 01:31:26 -!- mrsolo [n=mrsolo@nat/yahoo/x-a54afa2301e0c811] has quit ["Leaving"] 01:31:41 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:31:56 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 01:57:16 -!- underspecified__ [n=eric@softbank220043052007.bbtec.net] has quit [] 02:08:58 jonrafkind [n=jon@98.202.86.149] has joined #scheme 02:13:06 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 02:27:16 -!- stepnem [n=stepnem@topol.nat.praha12.net] has quit [Read error: 104 (Connection reset by peer)] 02:27:37 -!- QinGW [n=wangqing@203.86.81.2] has quit [Read error: 104 (Connection reset by peer)] 02:28:33 QinGW [n=wangqing@203.86.81.2] has joined #scheme 02:31:22 -!- cky [n=cky@h202.187.132.98.ip.windstream.net] has quit [Read error: 110 (Connection timed out)] 02:43:47 stepnem [n=stepnem@topol.nat.praha12.net] has joined #scheme 02:45:23 eno__ [n=eno@adsl-70-137-137-202.dsl.snfc21.sbcglobal.net] has joined #scheme 02:57:04 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 03:09:58 cky [n=cky@h205.172.133.98.ip.windstream.net] has joined #scheme 03:26:44 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 03:32:38 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:37:46 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 03:39:08 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 03:39:18 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 03:39:55 -!- phearle [n=phearle@c-24-63-120-211.hsd1.ma.comcast.net] has quit [] 03:40:14 -!- cky [n=cky@h205.172.133.98.ip.windstream.net] has quit [Remote closed the connection] 03:40:25 cky [n=cky@h205.172.133.98.ip.windstream.net] has joined #scheme 03:43:34 GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has joined #scheme 03:43:53 -!- GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has left #scheme 03:46:12 -!- RageOfThou [n=RageOfTh@89.146.161.128] has quit [Read error: 110 (Connection timed out)] 03:47:25 arcfide [n=arcfide@ppp-70-246-147-114.dsl.stlsmo.swbell.net] has joined #scheme 03:47:52 So, does SRFI-42 define ':do' and other generators as exports for use outside of *-ec comprehensions? 03:48:10 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 04:13:02 -!- etoxam [n=||||||||@84.79.67.254] has quit [Read error: 60 (Operation timed out)] 04:14:26 no, arcfide, those are 'meant' to be auxiliarry syntax exports 04:15:30 Quadre` [n=quad@24.118.241.200] has joined #scheme 04:22:37 leppie: Alright, that makes sense, but those are not auxilary keywords, but actual syntax definitions and macro transformers. 04:24:04 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 104 (Connection reset by peer)] 04:24:40 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:29:24 etoxam [n=||||||||@84.79.67.254] has joined #scheme 04:38:05 but you still use them only within macro's, not? 04:40:22 you could use them alone, but it probably wont work, you would have to guess what the 'cc' is 04:41:38 -!- eno__ is now known as eno 04:44:13 personally i tend to prefer literal syntax keywords, instead of these hygienic ones 04:46:27 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 04:46:56 What do you mean by that? 04:47:18 napum [n=napum@c-76-113-43-248.hsd1.nm.comcast.net] has joined #scheme 04:47:21 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 04:47:40 As in: (syntax-case x () [(_ (k x)) (eq? 'keyword (syntax->datum #'k)) ...])? 04:48:05 leppie: They are just macros that are used within the comprehensions, but for my purposes, it is important to differentiate the two. 04:48:21 -!- napum [n=napum@c-76-113-43-248.hsd1.nm.comcast.net] has quit [Client Quit] 04:48:23 Since ':do' is an auxilary keyword in 'do-ec' and also one of these other macros. 05:09:51 leppie|work [i=52d2e3c8@gateway/web/freenode/x-ae1d0bd7dcbf89d8] has joined #scheme 05:14:50 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 05:15:01 -!- Axioplase_ is now known as Axioplase 05:16:30 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 05:20:56 -!- qebab [n=finnrobi@unicorn.nnordmark.com] has quit [Read error: 110 (Connection timed out)] 05:22:22 elmex_ [i=elmex@ist.m8geil.de] has joined #scheme 05:23:22 -!- elmex [i=elmex@ist.m8geil.de] has quit [Read error: 104 (Connection reset by peer)] 05:23:38 -!- elmex_ is now known as elmex 05:42:39 -!- ASau [n=user@193.138.70.52] has quit ["off"] 05:42:56 -!- ASau` [n=user@193.138.70.52] has quit ["off"] 05:46:40 yes, that's what I mean (with literal keywords), and there is no way to differentiate, I need that facility too :( 05:46:48 arcfide: ^^^ 05:47:54 I think there needs to be a way to export just auxilliary syntax 05:48:14 leppie: Well, I remember having a discussion about the problems with literal keywords, but there are also problems with the normal hygienic keywords. 05:48:31 leppie: I don't think that users should have to normally think about the auxilary keywords as being exported. 05:48:37 yeah, both have problems, im still undecided 05:49:12 leppie: One nice thing I saw about the auxilary keywords was the ability to remap them to foreign languages or other names when necessary. 05:49:29 and a PITA when you have to! 05:49:41 It's not that painful to do. 05:50:20 how about my super library that you are aching to use, exports another version of 'else' \ 05:50:35 not the R6RS one 05:50:42 Huh? 05:51:19 nataraj [n=natarajs@122.174.89.25] has joined #scheme 05:51:20 Normally, even if two libraries have the same auxilary keywords, you should not get conflicts. 05:51:30 you can't mix the 2, one will need to be renamed 05:51:43 arcfide: only if they export the same bindings 05:51:53 leppie: Do you have a demonstration? 05:51:58 If I recall this works fine. 05:52:15 let me make one 05:52:18 You don't export the 'else' keyword explicitly. 05:52:30 So they are just implicitly resolved as appropriate. 05:56:46 but if you have to ? 05:57:26 say my 'else' is completely different to R6RS's 'else' 05:57:31 -!- Pegazus [n=awefawe@host122.190-31-41.telecom.net.ar] has left #scheme 05:58:12 in most cases, I agree, just reexporting the R6RS binding is good\ 05:58:25 but some cases not 05:59:55 imagine a cond library that just exports 'cond' and not 'else' , now what happens when you rename the imported R6RS binding, will 'else' still work, or do you have to use the other one, or what is it suppose to do? 06:00:16 or what am I suppose to do, rather :p 06:01:15 and that's where the PITA happens 06:04:33 but I do still end up writing all my library in that hygienic way, just not sure if I like it 06:04:38 leppie|work: Oh, I see your complaint. 06:05:20 with literal keywords, this will not happen, but then other things may happen, tough choices 06:08:23 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 06:08:41 leppie: Well, if I have (library (my-one) (export one) (import (rnrs)) (define-syntax one (syntax-rules (true) [(_ true) #t] [(_ x) #f]))), and then I use that in (library (test) (export blah) (import (rnrs) (my-one)) (define blah (lambda () (one true)))), this will work just fine and (blah) => #t. 06:08:51 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 06:10:38 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 06:17:22 now define true before you define blah 06:17:55 leppie: Obviously that won't work. 06:19:09 but that's not up to you as the library writer, the library consumer has that choice, and it should work either way 06:19:58 What do you mean that's not up to me? 06:24:39 foof [n=user@dn157-046.naist.jp] has joined #scheme 06:36:50 borism [n=boris@195-50-204-57-dsl.krw.estpak.ee] has joined #scheme 06:39:15 arcfide: how can you control whether your library's user will not define true before using the one macro? 06:41:19 leppie: I can't, and in R6RS, that's his prerogative. 06:41:41 ASau [n=user@host215-231-msk.microtest.ru] has joined #scheme 06:42:20 -!- borism_ [n=boris@195-50-205-98-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 06:45:25 but exporting the auxiliary syntax should not hurt then, only if the person makes a mistake, if you didnt export, the error will probably be very obscure 06:47:24 Not exporting anything or exporting the keywords explicitly are both valid. 06:48:55 leppie|work: Are you suggesting that the keywords should be exported? 06:49:28 yes, for hygiene purposes, it must 06:50:21 im not supporting it, but that's the correct way from what I can see 06:50:32 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 06:51:08 and it allows you to rename the auxiliary syntax, which is pretty cool :) 06:51:25 Yes, that's all fine, but I personally think that we should be able to choose whether or not to do that. 06:52:05 i guess 06:52:12 I'm not sure I like the way the R6RS describes hygienic auxilary keywords, but if they are going to do it that way, then they should make sure that we don't have to export them if we don't want to. 06:52:14 either way will fail, if it needs to 06:52:29 They all break in one way or another. 06:52:37 Or at least, that is the impression I have. 06:52:40 Anyways, I"m off. 06:52:44 but with export, you at least can tell the user why his keyword is not free-identifier=? 06:52:50 cheers arcfide :) 06:59:18 Sveklo [n=user@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 07:03:11 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 54 (Connection reset by peer)] 07:03:52 nataraj [n=natarajs@122.174.89.25] has joined #scheme 07:12:50 sepult [n=buggarag@xdsl-87-78-101-133.netcologne.de] has joined #scheme 07:25:47 npe [n=npe@195.207.5.2] has joined #scheme 07:30:03 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [SendQ exceeded] 07:34:21 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 07:38:30 dzhus [n=sphinx@95-24-90-121.broadband.corbina.ru] has joined #scheme 07:40:01 -!- Sveklo [n=user@a88-115-8-123.elisa-laajakaista.fi] has quit [Read error: 60 (Operation timed out)] 07:41:00 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 07:41:08 athos [n=philipp@92.250.250.68] has joined #scheme 07:43:16 nataraj [n=natarajs@122.174.89.25] has joined #scheme 07:44:57 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 07:47:18 blandest [n=blandest@softhouse.is.ew.ro] has joined #scheme 07:47:44 pierpa [n=user@host202-182-static.80-94-b.business.telecomitalia.it] has joined #scheme 07:55:40 MrFahrenheit [n=RageOfTh@SE400.PPPoE-3619.sa.bih.net.ba] has joined #scheme 07:56:25 RageOfThou [n=RageOfTh@SE400.PPPoE-3619.sa.bih.net.ba] has joined #scheme 07:56:29 -!- MrFahrenheit [n=RageOfTh@SE400.PPPoE-3619.sa.bih.net.ba] has quit [Read error: 104 (Connection reset by peer)] 08:00:12 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #scheme 08:06:29 blandest1 [n=blandest@softhouse.is.ew.ro] has joined #scheme 08:08:03 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit [Read error: 104 (Connection reset by peer)] 08:09:17 ejs [n=eugen@9-196-124-91.pool.ukrtel.net] has joined #scheme 08:11:21 borism_ [n=boris@195-50-205-52-dsl.krw.estpak.ee] has joined #scheme 08:12:54 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 08:17:25 -!- borism [n=boris@195-50-204-57-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 08:17:32 borism [n=boris@195-50-206-102-dsl.krw.estpak.ee] has joined #scheme 08:21:24 -!- ejs [n=eugen@9-196-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 08:23:02 -!- borism_ [n=boris@195-50-205-52-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 08:23:49 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 08:28:06 -!- synthase [n=synthase@adsl-220-175-246.mob.bellsouth.net] has quit [Read error: 60 (Operation timed out)] 08:31:38 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 08:34:14 arcfide, leppie|work: This is not a new issue -- (let ((else #f)) (cond (else 5) (#t 6))) 08:35:34 i know that eli, but what do you recommend? exporting auxiliary syntax definitions or not? 08:35:42 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 08:36:05 Exporting, of course. The alternative is too fragile. 08:38:15 i agree, how do you (and the general scheme community) feel about using literal keywords instead? 08:38:43 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 08:40:45 leppie|work: *I* think it's bad, since it breaks the example above. The general rule should be that if a keyword is in a place where an expression can appear, then it shouldn't do literal comparison. 08:41:10 ok, that's convincing :) 08:41:15 But what "the general scheme community" feels is probably very different. 08:41:33 (And loud, and everybody's screaming at the same time.) 08:41:50 eli: Well, the R6RS editors felt strongly enough about it to not use literal keywords. 08:42:09 If you see south park, then the general scheme community thinks "rabble rabble rabble rabble rabble rabble rabble rabble rabble!!" 08:42:32 maklar, maklar, maklar :) 08:42:54 I don't remember where, but R5RS gets very close to requiring it too. 08:43:22 "As an example, if let and cond are defined as in section 7.3 then they are hygienic (as required) and the following is not an error." 08:43:41 (let ((=> #f)) (cond (#t => 'ok))) ==> ok 08:44:20 "The macro transformer for cond recognizes => as a local variable, and hence an expression, and not as the top-level identifier =>, which the macro transformer treats as a syntactic keyword." 08:44:21 etc 08:47:40 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 08:50:16 jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has joined #scheme 08:51:12 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 08:51:36 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 08:58:24 Judofyr [n=Judofyr@c2391BF51.dhcp.bluecom.no] has joined #scheme 09:00:43 Elly_ [n=elly@198-144-37-142.static.vdsl.nidhog.net] has joined #scheme 09:01:27 -!- Elly [n=elly@unaffiliated/elly] has quit [Read error: 104 (Connection reset by peer)] 09:11:54 underspecified_ [n=eric@walnut.naist.jp] has joined #scheme 09:16:58 -!- sepult [n=buggarag@xdsl-87-78-101-133.netcologne.de] has quit ["leaving"] 09:20:58 sepult [n=buggarag@xdsl-87-78-101-133.netcologne.de] has joined #scheme 09:21:24 wingo_ [n=wingo@198.Red-80-59-108.staticIP.rima-tde.net] has joined #scheme 09:22:01 wingo__ [n=wingo@167.Red-88-27-241.staticIP.rima-tde.net] has joined #scheme 09:22:01 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 09:22:50 nataraj [n=natarajs@122.174.89.25] has joined #scheme 09:23:11 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 09:24:18 -!- wingo_ [n=wingo@198.Red-80-59-108.staticIP.rima-tde.net] has quit [Read error: 60 (Operation timed out)] 09:27:50 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 09:28:12 nataraj [n=natarajs@122.174.89.25] has joined #scheme 09:29:05 -!- arcfide [n=arcfide@ppp-70-246-147-114.dsl.stlsmo.swbell.net] has left #scheme 09:30:22 -!- underspecified_ [n=eric@walnut.naist.jp] has quit [] 09:32:23 ejs [n=eugen@9-196-124-91.pool.ukrtel.net] has joined #scheme 09:32:23 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 09:32:40 nataraj [n=natarajs@122.174.89.25] has joined #scheme 09:42:29 jtxx000 [n=jtxx000@xfpan.gotadsl.co.uk] has joined #scheme 09:43:38 -!- dzhus [n=sphinx@95-24-90-121.broadband.corbina.ru] has quit ["Yow! Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!"] 09:53:09 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 09:56:53 -!- pierpa [n=user@host202-182-static.80-94-b.business.telecomitalia.it] has quit [Read error: 110 (Connection timed out)] 10:00:38 -!- wingo__ [n=wingo@167.Red-88-27-241.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 10:01:42 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 10:03:39 nataraj [n=natarajs@122.174.89.25] has joined #scheme 10:06:19 borism_ [n=boris@195-50-200-218-dsl.krw.estpak.ee] has joined #scheme 10:07:28 wingo__ [n=wingo@198.Red-80-59-108.staticIP.rima-tde.net] has joined #scheme 10:07:30 pierpa` [n=user@host202-182-static.80-94-b.business.telecomitalia.it] has joined #scheme 10:08:57 BW^- [i=Miranda@151.81.135.128] has joined #scheme 10:11:31 hi! 10:11:33 -!- borism [n=boris@195-50-206-102-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 10:11:58 I've a question, does someone know how to translate « dotted pair » in french 10:12:08 ? 10:13:24 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 10:14:34 Dark-Side: aren;t all pairs dotted? ;P 10:14:34 -!- wingo__ [n=wingo@198.Red-80-59-108.staticIP.rima-tde.net] has quit [Read error: 60 (Operation timed out)] 10:15:06 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 10:15:09 -!- rocketman [n=f@amcant.demon.co.uk] has quit ["Leaving"] 10:15:17 besides sicp, are there any other scheme books in texinfo format? 10:15:25 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 10:15:52 hkBst: :x 10:16:25 « paire orienté » ok. 10:16:25 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 10:17:44 lowlycoder: why do you ask? 10:18:02 texinfo is awesome 10:18:10 i like reading stuff in terminal, like man pages 10:18:16 much more than pdf's that have white on black text 10:18:17 Dark-Side: seems overly pedantic but alright 10:18:26 hkBst: yeah it sucks 10:18:27 plus, text flows better 10:18:32 when I resize the window 10:18:34 I'll keep the english term 10:18:35 :D 10:19:02 Dark-Side: just call it a pair(e?)! 10:19:16 (paire yes) 10:19:17 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 10:19:29 well, I could do that but boarf :-° 10:19:38 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Client Quit] 10:19:38 nataraj [n=natarajs@122.174.89.25] has joined #scheme 10:21:17 Teach Yourself Scheme in Fixnum Days has tex sources... 10:28:09 Mr-Cat1808 [n=Miranda@hermes.lanit.ru] has joined #scheme 10:31:54 mike [n=m@infedyn086.informatik.uni-stuttgart.de] has joined #scheme 10:32:22 -!- mike is now known as Guest1217 10:34:28 -!- Mr-Cat1808 is now known as Mr-Cat_ 10:35:14 *leppie|work* is having an O(n) day 10:36:57 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 104 (Connection reset by peer)] 10:39:03 leppie|work: how's that work? 10:45:15 -!- Guest1217 [n=m@infedyn086.informatik.uni-stuttgart.de] has quit ["Leaving"] 10:45:19 Edico [n=Edico@unaffiliated/edico] has joined #scheme 10:47:17 -!- QinGW [n=wangqing@203.86.81.2] has quit [Read error: 110 (Connection timed out)] 10:48:03 -!- ejs [n=eugen@9-196-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 10:50:46 foof: ping 10:51:09 fnord123_ [n=fnord123@94-195-126-216.zone9.bethere.co.uk] has joined #scheme 10:52:47 eli: pong 10:52:52 reprore [n=reprore@114.48.147.157] has joined #scheme 10:53:25 foof: Do you happen to have access to a Windows machine running a Japanese setup? 10:54:02 There's one in the lab. I believe it's vista. 10:54:33 cracki [n=cracki@43-055.eduroam.RWTH-Aachen.DE] has joined #scheme 10:54:45 Would you mind at some point installing PLT on it, then run DrScheme and just open a file -- to see if there's some exceptional delay? 10:55:20 Sure... probably won't get around to it in the next couple of days though. 10:55:27 OK, thanks. 11:01:33 -!- fnord123 [n=fnord123@94-195-126-216.zone9.bethere.co.uk] has quit [Success] 11:01:46 -!- Elly_ is now known as Elly 11:03:19 OK, chibi-scheme now has (optional) bignum support. 11:04:51 -!- blandest1 is now known as blandest 11:05:22 hkBst: much much slower than O(1) 11:12:22 foof: Bignum means arbitrary long integers? 11:12:34 pbusser2: yes 11:12:44 Ok. 11:13:08 No rationals or complex numbers. The former I may add, the latter probably not. 11:13:45 -!- fnord123_ [n=fnord123@94-195-126-216.zone9.bethere.co.uk] has quit [Client Quit] 11:14:02 you can do it foof ! 11:20:12 -!- BW^- [i=Miranda@151.81.135.128] has quit [Read error: 110 (Connection timed out)] 11:22:40 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 11:24:39 moghar [n=user@unaffiliated/moghar] has joined #scheme 11:31:27 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit ["..."] 11:36:01 -!- RageOfThou [n=RageOfTh@SE400.PPPoE-3619.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 11:41:33 nataraj [n=natarajs@122.174.89.25] has joined #scheme 11:42:32 blackened` [n=blackene@89.102.28.224] has joined #scheme 11:50:57 eli: so if => in cond does not fail on let why does else do? because it's in position of application? or rather ends up being evaluated after macro expansion? ah, i seem to have answered my question... 11:50:58 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 11:52:53 sladegen: No... (cond (#t => 'ok)) will fail because it will try to run 'ok as a function, but (let ((=> #f)) (cond (#t => 'ok))) works because `=>' is no longer serving as a keyword. 11:53:09 nataraj [n=natarajs@122.174.89.25] has joined #scheme 11:53:29 sladegen: and in (let ((else #f)) (cond (else 5) (#t 6))), you get the same thing as if it was (cond (#f 5) (#t 6)). 11:54:03 synthase [n=synthase@adsl-220-175-246.mob.bellsouth.net] has joined #scheme 11:54:09 The example in R5RS is a little more subtle. 11:55:10 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 11:55:47 *sladegen* hmmms... guess i would have to download more wider-context macrology into my brain to ponder it better. 11:56:08 nataraj [n=natarajs@122.174.89.25] has joined #scheme 11:57:59 sladegen: Both examples are not that hard -- you just need to pretend that `else' or `=>' are not keywords. 11:58:26 The R5RS example becomes (let ((foo #f)) (cond (#t foo 'ok))) -- and obviously there's no problem with that. 11:58:37 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 11:59:09 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:02:59 but => during macro expansion should be treated as literal not whatever let set it to and it disappears from macroexpanded code... now else remains in the ifs and only in the final evaluation funky things may happen... i may be wrong both in my understanding and convictions. 12:03:48 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 12:04:08 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:04:13 so (conf (#t => 'ok)) should fail always... no matter what => is bount to. 12:04:35 Assuming that there are no identifier macros, (cond ( => )) is a gray area. It's less likely that someone would write that where => referred to a variable than someone would write (cond (else )) with `else' referring to a variable. 12:04:58 For the `else' in `case', on the other hand, it makes no sense to match hygienically. 12:06:48 bombshelter13p_ [n=bombshel@24.114.234.35] has joined #scheme 12:07:11 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 12:07:20 *sladegen* is not thinking in terms of syntax-case i.e. identifier macros, right?, at all... 12:07:26 Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has joined #scheme 12:07:38 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:09:19 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 12:10:11 annodomini [n=lambda@75.69.96.104] has joined #scheme 12:10:17 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:11:29 -!- sepult [n=buggarag@xdsl-87-78-101-133.netcologne.de] has quit ["leaving"] 12:12:52 -!- bombshelter13p_ [n=bombshel@24.114.234.35] has quit [Remote closed the connection] 12:15:53 rudybot: eval (define => 1) 12:15:54 eli: your scheme sandbox is ready 12:16:01 rudybot: eval (conf (#t => 'ok)) 12:16:01 eli: error: reference to an identifier before its definition: conf in module: 'program 12:16:11 rudybot: eval (cond (#t => 'ok)) 12:16:12 eli: ; Value: ok 12:16:28 -!- 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"] 12:16:58 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 12:19:49 -!- reprore [n=reprore@114.48.147.157] has quit [Remote closed the connection] 12:26:58 incubot: (define => 1) (cond (#t => 'ok)) 12:26:59 Error: call of non-procedure: ok 12:28:20 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 12:28:29 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 12:29:06 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit [Read error: 110 (Connection timed out)] 12:36:01 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:37:40 -!- nataraj [n=natarajs@122.174.89.25] has quit [Read error: 104 (Connection reset by peer)] 12:38:08 nataraj [n=natarajs@122.174.89.25] has joined #scheme 12:38:49 Fabse [n=mightyfi@wikipedia/Track-n-Field] has joined #scheme 12:42:10 -!- nataraj [n=natarajs@122.174.89.25] has quit [Client Quit] 12:43:37 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 12:44:54 -!- socialite [n=piespy@dynamic-78-8-148-206.ssp.dialog.net.pl] has quit [Read error: 110 (Connection timed out)] 12:48:17 dysinger [n=tim@166.203.77.110] has joined #scheme 12:48:28 socialite [n=piespy@78.8.136.216] has joined #scheme 12:50:28 Adamant [n=Adamant@76.29.188.60] has joined #scheme 12:51:22 -!- Quadre` is now known as Quadrescence 12:53:51 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 12:54:43 -!- Mr-Cat_ [n=Miranda@hermes.lanit.ru] has quit ["Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"] 12:56:24 -!- marcoecc [i=me@gateway/gpg-tor/key-0x9C9AAE7F] has quit [Remote closed the connection] 12:57:05 marcoecc [i=me@gateway/gpg-tor/key-0x9C9AAE7F] has joined #scheme 12:57:17 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 12:59:22 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 13:10:55 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 13:16:48 blandest [n=blandest@softhouse.is.ew.ro] has joined #scheme 13:22:48 Nshag [i=user@Mix-Orleans-106-2-67.w193-248.abo.wanadoo.fr] has joined #scheme 13:24:39 -!- Deformative [n=joe@c-71-238-44-239.hsd1.mi.comcast.net] has quit [Read error: 110 (Connection timed out)] 13:26:02 -!- lisppaste [n=lisppast@common-lisp.net] has quit ["Want lisppaste in your channel? Email lisppaste-requests AT common-lisp.net."] 13:26:06 lisppaste [n=lisppast@common-lisp.net] has joined #scheme 13:27:45 underspecified_ [n=eric@walnut.naist.jp] has joined #scheme 13:28:56 dzhus [n=sphinx@95-24-162-103.broadband.corbina.ru] has joined #scheme 13:30:33 copumpkin [n=pumpkin@72-59-210-202.pools.spcsdns.net] has joined #scheme 13:31:03 -!- underspecified_ [n=eric@walnut.naist.jp] has quit [Client Quit] 13:31:49 -!- dzhus is now known as dzhus[afk] 13:36:58 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 13:38:40 -!- jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has quit [Connection timed out] 13:39:29 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 13:40:15 ejs [n=eugen@33-13-178-94.pool.ukrtel.net] has joined #scheme 13:40:19 davazp [n=user@79.153.148.56] has joined #scheme 13:43:54 jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has joined #scheme 13:45:52 CalJohn [n=pg99@78-86-93-35.zone2.bethere.co.uk] has joined #scheme 13:46:27 I am having trouble installing the PLAI language in plt-scheme: http://xrl.in/2n5t. I am using unlimited memory 13:49:24 bweaver [n=user@75.148.111.133] has joined #scheme 13:49:37 CalJohn: my guess is that you weren't root when you ran "make" 13:50:10 offby1: I think Debian's version of plt-scheme is quite old 13:50:23 4.0.1 13:50:32 that might be true, but how does that fact relate to your problem? 13:50:52 I have no idea, except that the website says 4.2 in bold? 13:51:04 *offby1* 's head spins 13:51:18 if you don't know how that fact relates to your problem, then let's just pretend you never brought it up. 13:51:21 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 13:51:22 ok. 13:51:27 now then. 13:51:27 I was root the whole time. 13:51:31 really?! 13:51:41 I know, I suspected a root error also. 13:52:08 what operating system were you running? 13:52:53 y'know I am pretty sure PLT makes binary packages available; try one of those. They're newer than 4.0.1, and you don't have to build 'em 13:54:06 linux x86. I think I will have a look at that 13:54:32 -!- synthase [n=synthase@adsl-220-175-246.mob.bellsouth.net] has quit [Success] 13:54:47 synthase [n=synthase@adsl-220-183-144.mob.bellsouth.net] has joined #scheme 13:55:07 annodomini [n=lambda@130.189.179.215] has joined #scheme 13:55:20 -!- dysinger [n=tim@166.203.77.110] has quit [Read error: 60 (Operation timed out)] 13:55:43 mmm, the binaries seem to be for either ubuntu or fedora, and not debian 13:56:09 (I am using debian) 13:56:47 -!- Elly [n=elly@unaffiliated/elly] has quit [Remote closed the connection] 13:56:58 Elly [n=elly@198-144-37-142.static.vdsl.nidhog.net] has joined #scheme 13:57:31 I suspect the ubuntu .debs will work 13:58:25 oooo astronomy, we all speculate and suspect :) 13:58:39 I'm running Debian GNU/Linux 5.0 ("Lenny") with "the PLT Scheme v4.2 executable package directory for Ubuntu Jaunty (i386)" and it works fine 13:58:53 -!- dzhus[afk] is now known as dzhus 13:59:06 interesting. normally people say very scary things about mixing Debian and Ubuntu debs. 14:00:13 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 14:00:34 pff 14:01:15 (the binaries from the website aren't actually debs though) 14:03:13 my mistake 14:03:19 I think they're giant self-unpacking shell scripts 14:04:15 offby1: this seems to be going better 14:05:48 while I'm here, if I don't know what a function does, like type-case, where is a good place to look it up? 14:05:54 wow 14:06:16 how about -- the extraordinarily thorough, well-written, and easily-searchable documentation that comes with PLT scheme? 14:06:18 Just a thought 14:07:17 just dont do it online with a 56k modem connection, just a thought :p 14:07:53 was not aware of that. (I hadn't gotten far enough in plt-scheme to find it) 14:12:58 -!- jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 14:13:58 http://docs.plt-scheme.org is one version, but once you install, you can run the "plt-help" app which will open a local copy in your browser 14:14:01 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 14:14:34 you can also type (help type-case) at the PLT REPL 14:15:42 athos [n=philipp@92.250.250.68] has joined #scheme 14:16:36 jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has joined #scheme 14:18:33 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 14:21:18 -!- Dark-Side [n=dark-sai@ip-155.net-82-216-217.roubaix.rev.numericable.fr] has quit ["co'o rodo"] 14:23:20 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 14:23:57 Deformative [n=joe@71.238.44.239] has joined #scheme 14:24:06 duaneb [i=45cd3b57@gateway/web/freenode/x-077db95d42f3f275] has joined #scheme 14:24:14 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 14:25:00 is there a format for scheme? 14:25:08 or even some kind of printf? 14:25:14 sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 14:25:58 mostly I just want it for printing lists 14:26:41 isn't it cute to google for word tinupos and find books.google object with tiempos mis-ocred...? 14:27:48 rudybot: eval (write '(this is a list)) 14:27:49 sladegen: ; stdout: "(this is a list)" 14:28:38 -!- cky [n=cky@h205.172.133.98.ip.windstream.net] has quit [Nick collision from services.] 14:28:49 cky [n=cky@h189.90.133.98.ip.windstream.net] has joined #scheme 14:30:19 -!- cracki [n=cracki@43-055.eduroam.RWTH-Aachen.DE] has quit [Read error: 110 (Connection timed out)] 14:30:40 duaneb: depends on the scheme. 14:30:52 rudybot: eval (format "~a ~s" (list 1 2 3) (list 1 2 3)) 14:30:52 *offby1: ; Value: "(1 2 3) (1 2 3)" 14:31:05 rudybot: eval (format "~a ~s" "snorp" "snuffle") 14:31:05 *offby1: ; Value: "snorp \"snuffle\"" 14:31:19 duaneb: there's nothing like 'format' in R5RS, as far as I know. 14:31:37 rudybot: eval (printf "~a ~s~%" "snorp" "snuffle") 14:31:38 *offby1: ; stdout: "snorp \"snuffle\"\n" 14:31:44 rudybot: eval (fprintf (current-error-port) "~a ~s~%" "snorp" "snuffle") 14:31:45 *offby1: ; stderr: "snorp \"snuffle\"\n" 14:32:05 rudybot: give duaneb (box 'rain) 14:32:06 duaneb: offby1 has given you a value, say "rudybot: eval (GRAB)" to get it (case sensitive) 14:33:53 CalJohn: Yes, the distributions on the PLT website are basically tgz archives, with a shell prefix that does the actual installation. 14:34:30 CalJohn: If you use the single-directory installation (not the unix-style thing), you can easily move the resulting directory or delete it, so trying installers is easy. 14:35:20 -!- ASau [n=user@host215-231-msk.microtest.ru] has quit ["off"] 14:35:27 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 14:35:31 eli: I did exactly that, and am now having fun with chapter 2 :) 14:35:44 leppie: It's just 3mb, which should be very reasonable these days. But with a 56k modem you should expect much more problems... 14:35:49 CalJohn: Of what -- PLAI? 14:36:07 eli: yes, plai 14:36:14 in fact, chapter 3 14:36:38 CalJohn: In this case there is much more fun waiting in there. 14:39:21 rudybot: eval (GRAB) 14:39:22 duaneb: your sandbox is ready 14:39:22 duaneb: ; Value: #&rain 14:39:54 anyway, I was hoping to find a library that had an r6rs compatible format 14:40:47 I assume any r6rs implementation would have that 14:40:54 PLT, ikarus, chibi 14:41:07 (wait -- is chibi r6rs? Can't remember) 14:41:33 -!- blackened` [n=blackene@89.102.28.224] has quit [] 14:41:37 *foof* rolls over in his grave 14:41:40 offby1: not likely 14:41:53 -!- sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 14:41:57 -!- 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"] 14:42:10 plt does NOT have it 14:42:14 I don't think 14:42:19 unless i have to import it or something 14:42:55 eli: type definition and deconstruction is something I didn't know scheme had (coming from haskell) 14:43:21 blackened` [n=blackene@89.102.28.224] has joined #scheme 14:43:32 duaneb: It does -- rudybot is running on PLT. 14:43:40 CalJohn: Yes, it's a bunch of macros. 14:44:49 CalJohn: In my course I'm running a version of PLAI that is even closer to ML/Haskell -- with *real* type definitions, and pattern matching based on types (rather than explicitly saying what type your case is expecting), and even with exhaustiveness checks. 14:44:53 rudybot: help format 14:44:53 *offby1: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ..., join , part , tell ..., emote ..., for ..., ghost , nick , system ..., top-eval ... 14:45:01 rudybot: doc format 14:45:02 eli: your scheme sandbox is ready 14:45:03 eli: http://docs.plt-scheme.org/reference/Writing.html#(def._((quote._~23~25kernel)._format)) 14:45:07 rudybot: doc printf 14:45:07 ah, "doc" 14:45:08 eli: http://docs.plt-scheme.org/reference/Writing.html#(def._((quote._~23~25kernel)._printf)) 14:45:12 rudybot: doc fprintf 14:45:13 eli: http://docs.plt-scheme.org/reference/Writing.html#(def._((quote._~23~25kernel)._fprintf)) 14:45:17 rudybot: etc 14:45:18 eli: eh? Try "rudybot: help". 14:45:32 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Read error: 104 (Connection reset by peer)] 14:45:37 rudybot: CAN'T YOU JUST GO ON YOURSELF? 14:45:38 eli: eh? Try "rudybot: help". 14:45:48 What's up, doc? 14:45:53 (That "eh" thing always makes me think I should shout something.) 14:46:03 OUR TOP STORY TONIGHT ... 14:46:12 .oO( rudybot is canadian? ) 14:46:20 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #scheme 14:47:18 I believe he is of mixed heritage. 14:52:28 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 14:53:15 rudybot: eval about 14:53:16 eli: ; Value: "aboot" 14:54:55 rudybot eval R6RS 14:55:16 rudybot: eval R6RS 14:55:17 foof: ; Value: "none" 14:56:30 rocketman [n=f@amcant.demon.co.uk] has joined #scheme 14:57:29 offby1: ; Value: snord 14:59:29 rudybot eval eval 14:59:38 rudybot: eval eval 14:59:38 sladegen: your sandbox is ready 14:59:39 sladegen: ; Value: # 15:00:26 rudybot: eval eval 15:00:27 eli: ; Value: Value 15:00:30 of course. 15:04:56 rudybot: eval (string->symbol "foo\0bar") 15:04:57 eli: ; Value: foo 15:05:40 does PLT use cstrings? 15:06:05 If you mean C strings, as in char*, then no. 15:06:13 rudybot: eval "foo\0bar" 15:06:14 eli: ; Value: "foo\u0000bar" 15:06:20 duaneb, who in their right mind would? 15:06:25 not even a sane C programmer would 15:06:41 unless he enjoys buffer overruns, crashing, etc. 15:06:47 *eli* was about to shout "C" 15:07:14 I use them all the time 15:07:24 and if you're getting buffer overruns and crashing, you're doing it wrong ;) 15:07:34 *Fare* questions duaneb's sanity 15:07:38 but I meant null-terminated 15:07:52 better than null-gobernated 15:08:18 duaneb: well, of course, buffer overruns and crashes mean you're doing it wrong. But in C, it's so _hard_ to do it right 15:09:12 offby1: so is it in scheme. A language where calling a function with the wrong argument type can caused nasal dragons. 15:10:05 (did my grammar mistake caused any nasal dragon? oops, sorry) 15:10:26 exexex [n=chatzill@85.102.130.92] has joined #scheme 15:10:28 Fare: No, it causes a runtime error -- different from C horrors. 15:10:30 -!- ejs [n=eugen@33-13-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 15:11:07 eli: not according to the Scheme spec (or has it changed?) 15:11:21 *Fare* admits to not reading the RnRS recently. 15:11:37 offby1: I've written hundreds of thousands of lines of c 15:11:37 eli: maybe it's safe in PLT Scheme and in various Scheme implementations. But it isn't safe in Scheme. 15:11:49 Scheme SUCKS. Individual scheme implementations may not. 15:11:54 offby1: unless you're abusing the language, it's really not that difficult to avoid crashing 15:12:22 then again, there are safe implementations of C that will catch type errors, buffer overruns, etc. -- just nobody uses them. 15:12:53 why would I? 15:13:06 I've never felt the need to :P 15:13:12 sure, why would you avoid crashing... 15:13:27 Fare: if my program crashes, I fix it 15:13:39 besides, most of those languages end up crippling it 15:13:49 duaneb: well, use whatever language you like, I guess. Many of us, though, need all the help we can get, and thus prefer higher-level languages. 15:13:50 like, they have pointers that can't be null 15:13:54 rouslan [n=Rouslan@unaffiliated/rouslan] has joined #scheme 15:13:55 too bad it killed 3 people and wasted 5 G$ of equipment before you caught it. 15:14:30 Fare: It might be "unspecifed" which -- IIRC -- means something very different than "unspecified" in C. 15:14:31 -!- copumpkin [n=pumpkin@72-59-210-202.pools.spcsdns.net] has quit [Client Quit] 15:15:09 Anyway 15:15:11 ... 15:15:12 *eli* beams away 15:15:23 *offby1* beams with pride 15:16:13 *Fare* beams jim & spock 15:17:58 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 15:19:46 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Remote closed the connection] 15:20:10 BW^- [i=Miranda@151.80.207.245] has joined #scheme 15:21:16 hum. R6RS seems to forbid nasal daemons indeed 15:21:59 Fare: nah, if you wrote your program logically, it's an easy fix 15:22:19 just use gdb, identify the pointer that's the problem, and figure out why it wasn't allocated 15:22:20 easy 15:23:31 whereas R5RS allowed them 15:24:00 duaneb, if you were using the JVM, you could use the omniscient debugger. WAY cooler than gdb. 15:24:03 underspecified_ [n=eric@220.43.52.7] has joined #scheme 15:24:07 eli: where do you teach? 15:24:26 CalJohn, he teaches at NEU 15:25:42 (R6RS mandates safety, though in handwavy terms; R5RS has even more handwavy terms to not mandate it, just say that it's a good thing if it's there.) 15:27:32 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit [Read error: 104 (Connection reset by peer)] 15:28:48 -!- rstandy [n=rastandy@net-93-144-135-165.t2.dsl.vodafone.it] has quit [Success] 15:31:51 sepult [n=user@xdsl-87-78-24-114.netcologne.de] has joined #scheme 15:32:26 *foof* jim beams 15:35:52 Fare: but the JVM runs in a vm 15:35:54 it's slower 15:36:02 and you can't do the really fun stuff :D 15:37:57 breaking your illusions: C also runs in a VM. 15:38:02 it's just an unsafe VM. 15:38:10 even assembly runs in a VM, these days 15:38:26 What's a VM? 15:38:45 are syntax-rules patterns like (_ a => m n ... -> f ...) allowed where => and -> are literals? 15:39:35 hkBst, the symbols are ok, but segmatchieg mightn't be 15:39:57 a VM is when increasing the variable "balance" in your account won't convince the guys on the other side to send you stuff by mail. 15:40:13 Remember to declare -> & => 15:46:04 Fare: C does not run in a VM :P 15:46:27 Fare: or did you forget the "Virtual" part 15:46:31 ASau [n=user@193.138.70.52] has joined #scheme 15:47:37 -!- rotty [n=rotty@nncmain.nicenamecrew.com] has quit [Read error: 113 (No route to host)] 15:48:33 duaneb, C does run in a VM. 15:48:44 the x86 assembly language is a VM 15:48:57 and the user-land part of it is a VM 15:49:13 even the system part of it is a VM these days (at long last) 15:49:29 wake up, duaneb -- take the red pill 15:49:45 the C compiler is a VM, for god's sake 15:50:08 -!- synthase [n=synthase@adsl-220-183-144.mob.bellsouth.net] has quit [Connection timed out] 15:53:51 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 15:54:27 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 15:54:33 C compiler is a VM?? 15:55:41 rocketman, yup. 15:55:46 Fare the point you are making is that everything is a compiler and an interpreter and a VM 15:55:47 ? 15:55:53 It imposes strictures on you and isolates you from the hardware 15:56:11 rocketman, maybe quantum mechanics isn't 15:57:05 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 15:58:32 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 16:01:43 underspecified__ [n=eric@softbank220043052007.bbtec.net] has joined #scheme 16:04:04 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:04:28 Fare: that's incorrect 16:04:36 I mean, yes, it is a higher level of abstraction 16:04:53 but the virtual machine is a program that interprets programs at some level 16:05:16 You just dragged your argument behind the woodshed and gave it the Ol' Yeller treatment, duaneb. 16:05:17 c is not interpreted at all 16:05:38 neither is Scheme, you dumbhead 16:05:38 the only thing separating it from assembly is the fact that you can't rotate :P 16:05:43 Fare: yes it is 16:05:51 plenty of things separate it from assembly 16:05:55 Fare: such as...? 16:06:00 Lisp is interpreted language 16:06:01 -!- npe [n=npe@195.207.5.2] has quit [] 16:06:17 thats why it's only good at AI 16:06:23 :) 16:06:24 rocketman, no, that's patently incorrect. Lisp *can be* an interpreted language. 16:06:28 it doesn't have a memory model, can't handle a carry, won't let you tail-call, won't let you control temporary variables... 16:06:35 ...ah, never mind. Sorry, I didn't see that you were joking. 16:06:47 C *can* be interpreted, too 16:06:51 gnomon (tounge in cheeck :p) 16:06:55 there are plenty of C interpreters. 16:07:02 Fare: how can it not have a memory model? 16:07:10 And yes, it does tail-call 16:07:12 *Fare* remembers a C interpreter for MS-DOS with persistent memory 16:07:27 duaneb, bullshit 16:07:27 Well, yes; Fare, it's been demonstrated time and time again that the x86 instruction set *can* be interpreted too. For what it's worth, I'm on your side, here. 16:07:27 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 16:07:27 Fare: fine, I'll prove it :P 16:07:43 gnomon: ....in a virtual machine :P 16:07:59 duaneb, in hardware, too, since the Pentium Pro days. 16:08:02 ANY modern CPU has a JIT inside from the x86 instruction set to some RISCy thing inside 16:08:17 gnomon: well, microcode is a form of virtual machine, then :P 16:08:35 I believe that is the crux of my point, yes. 16:08:40 anyway, that's not interpretation, that's translation 16:08:59 Please provide a reasonable definition of one that is not met by the other, sir. 16:09:01 duaneb, same difference 16:09:06 Jinx. 16:09:34 Fare: ok 16:09:36 but 16:09:39 -!- BW^- [i=Miranda@151.80.207.245] has quit [Read error: 110 (Connection timed out)] 16:09:44 that's not really relevant to our discussion 16:10:01 if you define non-evaluated (i.e. statically compiled and run) as machine code 16:10:09 (which, I think, is valid for this argument) 16:10:25 then C is not interpreted/evaluated 16:10:31 and scheme doesn't have to, but it usually is 16:10:47 But one of the main "features" of a VM 16:11:00 is that you can't shoot yourself in the foot by accessing raw memory 16:11:08 (you can with FFI, but that's different) 16:11:14 with c you can 16:13:01 -!- jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 16:13:19 anyway 16:14:05 what is a VM to you? 16:15:24 rocketman: my gut reaction is something that interprets bytecodes (or an AST, I guess) and doesn't allow access to the hardware except via JIT 16:15:30 i.e. no memory access 16:15:42 except through the native data structures, of course 16:16:45 OpenGL is not a VM then? 16:16:53 How about an actual definition rather than a gut reaction? 16:17:45 virtual machine is a machine that is not not-virtual... 16:18:29 -!- underspecified_ [n=eric@220.43.52.7] has quit [Read error: 113 (No route to host)] 16:18:39 sladegen, I should have specified a non-circular definition ;) 16:18:39 1- not a valid argument 16:19:00 2- even granting you that machine code is "real" rather than virtual, C is a VM that shields you from it. 16:19:22 3- C interpreters do exist 16:19:46 4- there are plenty of scheme compilers 16:20:04 We need to write up this argument in the wiki somewhere. I'm getting kind of tired of going through the motions every few weeks. 16:20:38 rocketman, OpenGL specifies parts of a VM, though not the whole thing. 16:21:20 if you want a low-level language that doesn't shield you as much from the machine as C, try FORTH. 16:21:25 *offby1* is enthralled 16:21:27 never a dull moment 16:22:14 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:22:31 Fare, ah, but it could be argued that the entire Forth programming model is predicated on building up a piecewise VM, one word/opcode at a time... 16:23:00 you can do forth compiler in different ways 16:23:03 threaded or not 16:23:20 aaah VM oriented programming 16:24:25 gnomon, reminds me on those articles on compiling programs to supercombinators 16:24:46 and/or to special-purpose graph-reduction machines. 16:25:29 I am still working through PLAI, on chapter 3. http://xrl.in/2n7p I am having some trouble getting this code to interpret with expressions. I think I am supposed to be rewriting the original parser, so I have tried to do that (parse). I have a moderate understanding of what is going on, but I can't see why subst thinks with expressions should have 3 arguments when they clearly only have two. What am I doing wrong? 16:25:56 Fare, exactly: I was thinking in particular of Koopman's book, and about superinstruction fusion by Ertl et al. 16:26:47 CalJohn: line 22 looks suspicious 16:27:13 gnomon, I'm interested in the layering (and layer-fusioning) of such compilers. 16:27:16 lines 23 and 24 both call (second sexp) before calling "first" or "second" 16:27:18 but line 22 doesn't 16:27:26 Ertl had something on fusion? interesting 16:27:27 ah, i see that now 16:27:39 now, I don't know the first thing about your program, but that kinda stick out 16:27:40 sticks 16:29:10 offby1: it's the evaluator from arithematic expressions from chapter 3 of PLAI (if you're read it) 16:29:18 s/from/for 16:32:17 no, it doesn't work, but i think i know why now 16:33:37 underspecified_ [n=eric@softbank220043052007.bbtec.net] has joined #scheme 16:33:53 CalJohn, ah, good - that's better than having it work but not knowing why! 16:40:57 -!- dzhus [n=sphinx@95-24-162-103.broadband.corbina.ru] has quit [Remote closed the connection] 16:49:11 ehh, wahtever 16:49:15 whatever* 16:49:34 I would be pressed to find someone who would argue that scheme is as close to the hardware as c is 16:49:37 naturally, anyway 16:49:43 again, ffi can handle it awkwardly 16:49:47 they're different languages 16:51:17 -!- underspecified__ [n=eric@softbank220043052007.bbtec.net] has quit [Read error: 113 (No route to host)] 16:53:15 Riastradh: in your syntax-rules macro library what is the purpose of the ((?local-alias ?free-variable) ...) aka ?environment parameters? 16:54:05 what scheme implementation should i use for graphics programming? im doing 512x512 pixel image genetical generation. some performance and easy graphics handling would be great. I'm currently using mzscheme but i don't know if that's the best alternative? 16:54:19 ambient: look at ikarus scheme 16:54:24 I think that has opengl bindings now... 16:54:29 i looked, works only in 32-bit linux 16:54:36 ambient: that's not true 16:54:50 well ./configure said it requires 32-bit :/ 16:54:55 ambient: ahh 16:54:59 check out the latest head 16:55:03 oh ok 16:55:12 there's been a LOT of work since last year 16:56:50 if you want superperf in scheme, try stalin 16:57:06 (after debugging your program with mzscheme, of course) 16:57:16 ok, thanks 16:57:45 don't even TRY stalin on an undebugged program 17:02:38 -!- pierpa` [n=user@host202-182-static.80-94-b.business.telecomitalia.it] has quit [Read error: 110 (Connection timed out)] 17:05:38 MrFahrenheit [n=RageOfTh@89.146.164.19] has joined #scheme 17:07:19 -!- Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has quit ["Leaving"] 17:10:06 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 17:10:32 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:12:30 -!- davazp [n=user@79.153.148.56] has quit [Remote closed the connection] 17:21:39 -!- Fabse [n=mightyfi@wikipedia/Track-n-Field] has quit [] 17:23:13 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 17:23:17 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:25:57 hkBst, SYNTAX-RULES macros don't nest very well, and pattern variables don't shadow. 17:26:24 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:36:52 Edico [n=Edico@unaffiliated/edico] has joined #scheme 17:37:21 incubot: hello from the jackson memorial 17:37:25 Heh. Better leave the wife a note that it's memorial day. 17:45:08 ambient: If what you're looking for is GL bindings, then PLT has them. 17:45:53 dzhus [n=sphinx@95-24-162-103.broadband.corbina.ru] has joined #scheme 17:45:53 duaneb: re "and scheme doesn't have to, but it usually is [interpreted]" -- can you give an example of a Scheme *interpreter*? 17:46:17 eli just very simple framebuffer would suffice, like set-pixel, get-pixel, and saving and loading images from and into that framebuffer 17:46:49 ambient: So the only thing that you need is a bitmap? 17:46:59 and im not sure about plt because i will be doing numerically intensive stuff 17:48:20 eli well, a bitmap and a window to display it 17:48:52 ambient: for a bitmap DC -- http://docs.plt-scheme.org/gui/bitmap-dc_.html and you can then draw it onto a window with a simple copy (lots of examples in the PLT tree) 17:48:58 ambient: jlongster has done some graphics work in Gambit-C and PreScheme; I think his work includes OpenGL bindings. Take a look at http://jlongster.com/ if you're interested. 17:49:15 And what kind of "numerically intensive stuff" are you talking about? 17:49:35 caculating a function tree 17:49:40 -!- jtxx000 [n=jtxx000@xfpan.gotadsl.co.uk] has quit ["Leaving."] 17:49:53 ...which means? 17:49:58 xor, mul, fft, rgb>yuv, soften, low-pass stuff like that 17:50:37 for example (* (xor x y) (sin y) ) 17:50:39 ambient: Is this intended for some kind of video-related result? 17:50:47 an image output, yes 17:52:15 ambient: You might be interested in http://muvee-style-authoring.googlecode.com/svn/doc/main/index.html 17:52:19 my intention is to mutate each formula and generate new images from those 17:52:36 exexex_ [n=chatzill@85.102.130.92] has joined #scheme 17:52:50 ambient: It's a video effect thing with PLT being used to specify filters etc. (I didn't try it myself though.) 17:52:50 -!- exexex_ [n=chatzill@85.102.130.92] has quit [Remote closed the connection] 17:53:16 mrsolo [n=mrsolo@nat/yahoo/x-07c9d63e3587cca6] has joined #scheme 17:53:23 ok, ty. half of this project is just to learn scheme, though, and genetic algorithms :) 17:53:31 There's also fluxus which is a live-coding system -- http://www.pawfal.org/fluxus/ , it might have some relevant stuff too. 17:53:57 ambient: The site I mentioned has an example of using scheme to make a polygon-based image using genetic algorithms. 17:54:27 hey eli, why does your ffi/magick example hard code libWand as 6.0.1 17:55:14 jonrafkind: Because that was the version at the time I hacked it... 17:55:26 but are you so worried about compatibility? i mean why not just leave off the version 17:55:34 jonrafkind: I don't know what differences there are now. 17:56:02 If it works with the current version then feel free to drop the 6.0.1 (probably better to keep the 6 though) 17:56:07 -!- mrsolo [n=mrsolo@nat/yahoo/x-07c9d63e3587cca6] has quit [Client Quit] 17:56:07 i dont think people realize that magick thing is just an example, people use it as if it were a library 17:56:17 i dont have libWand 6 17:56:27 so 6 is just as useless as 10 17:56:35 i mean 6 as useless as 6.0.1 17:56:58 jonrafkind: Well, no documentation => sample code.... 17:57:47 uh, in what universe does that hold 17:58:08 any code not explicitly said to be an example => its a library 17:59:25 anyway since its a sample i think the version snhould just be taken out 18:00:19 -!- tobetchi_ [n=tobetchi@p296b5e.sagant01.ap.so-net.ne.jp] has quit [Client Quit] 18:00:51 mrsolo [n=mrsolo@nat/yahoo/x-c569055b570f849b] has joined #scheme 18:01:23 jonrafkind: If you've looked at that, and it works with the current version then like I said -- just remove it. I didn't look into it, and jumping from 6 to 10 sounds to me like there must have been some major changes. 18:03:02 -!- sepult [n=user@xdsl-87-78-24-114.netcologne.de] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 18:03:37 -!- duaneb [i=45cd3b57@gateway/web/freenode/x-077db95d42f3f275] has quit ["Page closed"] 18:04:16 oh its actually called libMagickWand now 18:04:22 at least in ubuntu.. 18:04:33 rouslan [n=Rouslan@pool-71-161-67-50.cncdnh.east.myfairpoint.net] has joined #scheme 18:04:39 ThereYouGo(TM). 18:17:00 hm it would be nice if you could tell ffi-lib to load the highest version lib available 18:17:20 instead of just libfoo -> libfoo.so, so that it would also find libfoo.so.1 if that was available 18:20:03 It's mostly dlopen() that is doing the search. 18:20:16 Therefore "normal" OS convention apply. 18:23:20 ugh 18:23:34 well it can at least detect that its on linux and do something smart there 18:23:42 bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has joined #scheme 18:23:44 Why don't you have an appropriate symlink, jonrafkind? 18:23:56 ubuntu set up the system, not me 18:24:29 If libfoo.so points to some version other than the newest, that's probably the version you should be using. If you want a different version, it's better to say that explicitly. 18:24:51 ok.. so what 18:25:23 if the user has libfoo.so.2 and libfoo.so.1 and I say "load libfoo.so, and i dont care what it is", it should at least load one of them 18:25:39 of course it shouldnt try to load something by default, it would be an extra parameter 18:25:54 jonrafkind: I completely agree with Riastradh -- second-hand-guessing which version to used based on files that you happen to have and not based on conventions seem like a Really Bad Idea. 18:25:58 repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 18:26:45 yea but if you explciitly say "just try to load something" then it should do that 18:27:07 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 18:27:25 That's fine if by "it" you mean dlopen(). 18:27:47 well dlopen and all the scheme machinery surrounding it 18:27:49 There's one central place to make such decisions -- why complicate things by adding an additional layer of guessing? 18:27:57 because dlopen sucks and doesn't do it 18:28:07 So fix dlopen on your system, or fix the symlinks on your system. 18:28:09 The scheme machinery around it is very minimal. 18:28:18 File a bug with Ubuntu if it's doing the wrong thing. 18:28:29 And yes -- if dlopen sucks for you, you should fix it. It's very configurable, IIRC. 18:29:18 so there are N broken systems in the world and 1 broken plt scheme system. what am I going to do, fix all those N systems which I have zero control over and no one cares about fixing it anyway? 18:29:50 No, jonrafkind. You haven't shown that PLT Scheme is doing anything wrong by calling the standard routine for opening dynamically loadable objects. 18:30:02 nothing is wrong technically 18:30:06 its just a pain in the ass for end users 18:31:59 -!- repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 18:32:03 jonrafkind: Can you back up a little -- what is exactly that is broken? 18:32:24 (ffi-lib "libfoo") will only load "libfoo.so" and not "libfoo.so.1" 18:34:22 jonrafkind: And you have a case where "libfoo.so" is not a symlink to "libfoo.so.1"? 18:34:26 yes 18:36:38 ambient: Gambit-C Scheme is really fast, I would recommend it. There are OpenGL bindings available a few other libraries. I wrote the program bweaver mentioned (http://tinyurl.com/poowcf), and it includes code for kernel filtering & convolution 18:37:43 ok, ty, i will look into it 18:37:52 jonrafkind: In that case your setup is broken somehow. 18:38:01 eli, define "broken" 18:38:12 jonrafkind: "libfoo.so" is not a symlink to "libfoo.so.1". 18:38:16 why is that broken 18:38:22 Because it should be. 18:38:26 jonrafkind: did you run that ldconfig -someswitch after updating your system libraries? 18:38:39 leppie, no, ubuntu set it up 18:38:53 "it should be" is a fun excuse when joe blow tries to run my program and it doesn't work for some obscure reason 18:38:54 jonrafkind, if you link an executable with `-lfoo', what does your linker do? 18:38:57 is that library in the lib path? 18:39:05 omg 18:39:31 Riastradh, presumably there is a script that returns libmagicwand.so.1, like pkg-config or something 18:39:41 i dont know the standard way of linking libmagickwand 18:40:01 jonrafkind: The real issue here is blame -- when JB can't run your code you need to identify the problem and find out how to fix it. 18:40:23 jonrafkind: BTW, this makes me realize how you've just broken the magick interface -- 18:40:29 so your solution is to put a bug report in $RANDOM_OS and wait for 20 years before it gets rejected 18:40:46 jonrafkind, then you need to use that script to find out what to pass to FFI-LIB, rather than writing (FFI-LIB "libmagicwand") in your source code. 18:40:54 especially since its about dlopen -- libc, and ulrich drepper will say "you are a moron, go home" 18:40:57 Yes. Much better than "fixing" PLT in a way that breaks it horribly when those 20 years pass. 18:41:18 Riastradh, yes, that is a reasonable solution! 18:41:35 jonrafkind: "libfoo.so" is, by convention, a development symlink, that should not exist without a *-dev package. 18:41:51 that might be true, i dont have the -dev package installed 18:41:57 jonrafkind: So `ffi-lib' should almost always have a version number. 18:41:58 but neither will joe blow 18:42:12 ok my point is you should be able to say "any version" 18:42:29 jonrafkind: If you should -- then you should be able to say that to the OS. 18:42:55 so you are happy with a painful system for end users 18:43:07 jonrafkind: The decision on Linux, at least, is to not allow you to say "any version", but "any version N" -- that is, N.M for some M. 18:43:15 Where's the pain? 18:43:42 the pain is I have to figure out that it tried to load libfoo.so but i have libfoo.so.1 and since I know exactly how dlopen works I should symlink libfoo.so to libfoo.so.1 18:43:52 not everyone in the world has such knowledge 18:44:23 dysinger [n=tim@32.178.128.222] has joined #scheme 18:44:24 ...but it *shouldn't* try to load "libfoo.so". That's exactly how you broke the code. 18:44:47 look in planet you can say (planet somebody/some-library), right? 18:45:04 you have the option of saying MAJOR and further the option of MINOR 18:45:17 i have no idea why dlopen doesn't support such a thing but it doesn't 18:45:18 Yes, how is that related to Linux shared object files? 18:45:31 PLT controls the identification of Planet libraries, jonrafkind. It does not control the identification of shared libraries on Ubuntu GNU/Linux systems. 18:45:37 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 18:45:59 Whatever reasons they had to, it doesn't matter -- I just don't get to decide for Linux what to do. 18:46:15 so what should I write? for n in 1:100000 (ffi-lib "libfoo" n) ? 18:46:23 So making my own system to bypass those decision will lock me in a forever-incompatible bubble. 18:46:42 huh? 18:46:56 you realize im not talking about the default (ffi-lib "libfoo") would try to guess 18:47:02 jonrafkind: The motivation is that for different values of N, foo.N are *different* libraries at the binary level. 18:47:12 yes 18:47:16 So you should have code for each N. 18:47:22 but maybe not at the API level 18:47:59 (ffi-lib "libfoo") is a guess in exactly the same sense that "/usr/lib/libfoo.so" is a guess. 18:48:02 almost every library in Linux automatically symlinks libXXX.so.X to libXXX.so during installation. libtool does that completely transparently. If your library does not produce .so, .so.major and .so.major.minor (only the last one being the actual library) then you're probably doing something wrong. 18:48:03 if you dont care about binary compatibility then you should be able to load any libfoo as long as the api doesn't change 18:48:15 eli, ok so why not guess further? 18:48:50 synx: No, development libraries do that. 18:49:14 ...it really depends on which library. .so.1 and .so.2 might have totally different functions in them. You can't make a general "find all the functions in this version and translate them into what I want" procedure. 18:49:16 jonrafkind: But if the api doesn't change then the version shouldn't change either. 18:49:31 structs can change, doesn't that constitute binary compatibility? 18:49:57 jonrafkind: Yes, so what? I don't see any sense in all of this. 18:50:11 so then the major version changed but i can still use libfoo the same way as before 18:50:23 eli: Thankfully sometimes not all the functions change, or they leave in deprecated ones. Still not ideal, but going up a version won't necessarily break any programs that don't depend on the specific procedures changed. 18:50:35 jonrafkind: There is a certain convention in the OS -- why do you want to have your own convention on top of that? As nice as that sounds, it's "more stuff" for people to deal with. Always. 18:50:53 because its completely optional and has the advantage of not breaking 18:51:01 jonrafkind: In this case, this is why I did make it accept several versions. 18:51:06 when my program can't find a library that looks like its there, who is joe blow going to blame? his os? i doubt it 18:51:20 jonrafkind: But it would be wrong to say that "it works for any version at all, from now to eternity". 18:52:16 yes technically its wrong but if i have libfoo.so.2 and you want to load libfoo.so.1 and there is virtually no difference between them, then if it works it will work and if libfoo.so.2 is completely different from libfoo.so.1 it wont work anyway 18:52:32 If you're explicitly naming system shared libraries to load, jonrafkind, you had better be ready to test every operating system that you want your code to run on. (If you are creating your own dynamically loadable objects with your program, then this isn't an issue; nor is your operating system's shared library versioning scheme.) 18:52:35 if you have libfoo.so.1 then by all means choose that instead 18:52:46 if not, try libfoo.so.2, go for it. if it doesnt work, nothing bad happened 18:53:13 GTK has had this problem on Windows for quite a while. Because you'd install the GIMP or pidgin, but it would need its own version of GTK bundled with it, which would not be the same GTK library you installed yourself. 18:54:06 jonrafkind: The knowledge that libfoo v1 is nearly compatible with v2 is not encoded anywhere -- so your own code should make it explicit by (a) trying either one, and (b) making sure that it works for both. 18:54:31 end up with different behaviors, depending on which GTK application you use, when the GTK part should be universal. 18:55:12 eli, ok, there could be a "test" phase of ffi that checks the api and whatnot 18:55:37 jonrafkind: How do you check an API? 18:55:39 Hagaer [n=user@27.62.broadband3.iol.cz] has joined #scheme 18:55:50 you can at least check if the functions are there 18:56:10 OK, but that doesn't tell you much. 18:56:19 well not enough not to crash certainly 18:56:26 Call out to an internet telephony program with which to telephone the developer of the library, and send a recorded message asking him about versions of the library; then use sophisticated voice analysis to discern whether his reply is affirmative or negative. 18:56:39 To check an API, you load the shared library, then call its "version" function. Or you check if it has certain named symbols such as sqlite3_prepare_v2. Depends really. 18:56:46 eli, if i dont have libfoo.so.1 and you try to load it, the program will die, right? 18:57:07 eli, if i instead have libfoo.so.2 and it doesn't work because things changed, the program will still die 18:57:11 so whats the difference? 18:57:12 It raises an exception if the library is not found. 18:57:43 you can handle an exception. 18:58:11 There's a pretty big difference between `Shared library libfoo.so.1 not found' and `SIGSEGV' (because you passed arguments in the wrong order to a function that changed). 18:58:43 jonrafkind: The difference is that in the first case it *will* throw a (runtime) error; in the second case it will make your grandmother go up in flames. 18:58:57 eli, cmon, you know what I mean 18:59:06 if your program *depends* on libfoo.so.1 and its not there it will just end 18:59:06 Yeah, so you better be aware of the library you're using, especially if it changed functions without changing their names. 18:59:13 noooo not granny 18:59:24 jonrafkind: No. (In case you haven't noticed, it's exactly what Riastradh said.) 18:59:32 you can pop up a dialog saying "Install libfoo you schmuck!" 18:59:44 i understand that attempting to use libfoo.so.2 is dangerous, but you should have the ability to say "i understand this is dangerous, but do it anyway" 18:59:52 why is there an (unsafe!) thing? 19:00:03 Riastradh: BTW, you'd also need some biometric readouts to verify authenticity. 19:00:08 because your grandmother 19:00:09 in flames 19:00:27 If you write (FFI-LIB "libfoo.so.1") in a Scheme module, does that have the effect of producing an ELF executable with a dependency on libfoo.so.1 causing the dynamic linker to abort the program if it can't resolve the dependency when starting up the program? Or does FFI-LIB cause PLT Scheme to dlopen and check its error code? 19:00:28 jonrafkind: Take that to an extreme for a second -- why have version numbers at all? 19:00:35 I have a pretty good guess about the answer to this question! 19:00:41 because binary compatibility *matters* in the C world 19:00:46 it might not *matter* in the scheme world 19:01:08 I think it just calls dlopen in the implementation, Riastradh? 19:01:34 -!- underspecified [n=underspe@leopard175.naist.jp] has quit [] 19:01:47 eli, or the APi was expanded suitablty to warrant a new major version, or the developer just got back from his new vacation and decided to bump the major version. who cares? 19:01:52 binary compatibility matters very much, if you're trying to use a binary library in scheme. Whether it's a library compiled with C, compiled with ObjC or compiled with chicken. 19:02:06 no, binary compatibility doesn't matter at all if you are just calling functions 19:02:17 qeunn [i=45cd3b57@gateway/web/freenode/x-523ed66f2b8cb430] has joined #scheme 19:02:19 ok 19:02:20 so 19:02:21 I 19:02:24 jonrafkind: Right -- who cares? So you're saying that there's no point in having version numbers? 19:02:26 am trying to define a macro 19:02:32 eli, i just said for C it matters a great deal 19:02:35 (define-macro blah etc) 19:02:41 You're overestimating the dependance C programs have on binary compatibility, jonrafkind. 19:02:50 jonrafkind: How's C different from Basic? 19:02:50 or rather, (define-macro (blah etc) etc-etc) 19:03:04 how can I use a variable number of arguments? 19:03:21 If I recompile my library with the same version and the same function names with the same arguments and the same (or at least not cripplingly different) behavior, any C programs linked to that library will still work just fine. 19:03:27 eli, ok fine the issue is the same. if you assume some binary layout in C or scheme you can have issues at runtime 19:03:41 eli: c is well defined 19:03:52 scheme is the same way. It does exactly what a C program does: look up the symbol's address by name, then load the code at that address under that symbol's name. 19:04:03 anyway, how can I use variable number of "arguments" in my macro? 19:04:10 dim [n=Dimitri@mar92-14-88-173-196-148.fbx.proxad.net] has joined #scheme 19:04:22 qeunn: um, dotted list notation? 19:04:23 -!- leppie|work [i=52d2e3c8@gateway/web/freenode/x-ae1d0bd7dcbf89d8] has quit [Ping timeout: 180 seconds] 19:04:37 synx: could you expound? 19:04:38 Oh I think I know what you mean. 19:04:56 jonrafkind: Right -- so the version lookup thing should not depend on the language you're using. 19:05:05 eli, right 19:05:05 for example, a when macro: (when (< x y) a b c d) 19:05:15 except I want to be able to process the arguments at macro run time 19:05:19 eli, and who forced you to use dlopen? 19:05:24 so define-macro seems to be the best option 19:05:29 rudybot: eval ((lambda (x . y) (list x (car y)) 1 2 3 4 5) 19:05:29 sladegen: error: eval:1:0: read: expected a `)' to close `(' 19:05:29 or at least, the most intuitive 19:05:43 rudybot: eval ((lambda (x . y) (list x (car y))) 1 2 3 4 5) 19:05:43 sladegen: ; Value: (1 2) 19:06:00 sladegen: does that extend to define-macro as well? 19:06:02 jonrafkind: Huh? What are the alternatives? 19:06:08 eli, write your own somehow 19:06:09 rudybot: eval (define-syntax-rule (foo (a b ...) (list (list a a a b) ...))) 19:06:10 synx: your scheme sandbox is ready 19:06:10 synx: error: eval:1:0: define-rule: no template provided in: (define-syntax-rule (foo (a b ...) (list (list a a a b) ...))) 19:06:19 uh... 19:06:30 rudybot: eval (define-syntax-rule (foo a b ...) (list (list a a a b) ...)) 19:06:30 eli, my point is why are you satisfied with dlopen? just becuase its there? 19:06:36 qeunn: most probably but i never played with define-macro that much. 19:06:36 There that's right, sorry. 19:06:37 jonrafkind: Even if I would, I'd implement the same search interface. 19:06:44 rudybot: (foo 1 2 3 4) 19:06:45 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 19:06:45 synx: eh? Try "rudybot: help". 19:06:54 ... 19:06:57 jonrafkind: No, I'm satisfied with dlopen() because it implements the conventions for the OS. 19:07:04 sladegen: it appears not to :. 19:07:13 eli, so even if libfoo.so.2 can be used in place of libfoo.so.1 you still dont want to use it, right? 19:07:14 rudybot: (define-macro (when cond . body) `(if ,cond (begin ,body))) 19:07:14 qeunn: eh? Try "rudybot: help". 19:07:28 :( 19:07:30 athos [n=philipp@92.250.250.68] has joined #scheme 19:07:36 so the C world is allowed to be painfully pedantic, but the planet world is allowed to do whatever they want 19:07:39 jonrafkind: Not without your code explicitly allowing it to use either versions. 19:07:44 rudybot: eval (define-syntax-rule (foo a b ...) (list (list a a a b) ...)) 19:07:45 rocketman: your sandbox is ready 19:07:55 rudybot: eval (foo 1 2 3 4) 19:07:56 rocketman: ; Value: ((1 1 1 2) (1 1 1 3) (1 1 1 4)) 19:08:07 jonrafkind: when libfoo.so.2 is installed, it automatically symlinks libfoo.so, so if you don't worry about major version ABI changes, you can just use the name libfoo.so 19:08:10 isn't it rather convenient to be able to say "use any version" ? in the c world thats accomplished with a symlink but if that symlink isnt there everything is broken 19:08:18 rudybot: eval (define-syntax-rule (bar (a b) ...) (list (list a a a b) ...)) 19:08:22 jonrafkind: And BTW, the planet designer has been (and still is) objecting strongly to not using version numbers. 19:08:23 thanks rocketman 19:08:26 rudybot: eval (bar (1 2) (3 4)) 19:08:26 rocketman: ; Value: ((1 1 1 2) (3 3 3 4)) 19:08:29 incubot: (define-macro (when cond . body) `(if ,cond (begin ,body))) (when (< 1 2) (display 1) #f) 19:08:30 Error: call of non-procedure: # 19:08:53 I just don't use version numbers because I'm a lazy sot :p 19:09:26 Well Jacob's point was that no version number is fine for just playing with it -- but when you write code, you should use a specific version. 19:09:29 umm 19:09:36 (specific major version, that is.) 19:10:12 eli, don't you see how frustrating it is for users when I'm forced to change some obscure feature in my OS that could have been figured out by the program? 19:10:41 Yes, a specific major version is important. Equally so though, module writers should rarely if ever increment their major version if at all possible, especially if their library is widely used. Everyone will have to write new code then in response. 19:10:53 i dont see why the answer is "its frustrating for you, too bad. thats life" 19:11:14 That's why deprecated interfaces aren't necessarily a bad thing. Saves tons of labor. 19:11:19 borism [n=boris@195-50-200-218-dsl.krw.estpak.ee] has joined #scheme 19:11:29 Also why it's important to have a very stable interface before releasing your module. 19:11:31 jonrafkind: Don't you see how frustrating it is for users to get a BSOD? 19:11:58 ok so why run prorgams at all? anything might crash 19:12:07 if you want to be perfectly safe sit in a corner with yoru eyes closed 19:12:08 ...or when their editor goes up in flames, not leaving even a shred of precious bits they've been assembling for the past hour. 19:12:49 if you write programs with full knowledge of the major version of the libraries you are using, jonrafkind, then your program will not crash. 19:12:49 The whole point is in making stuff crash less. 19:12:59 so its crash less or not run at all 19:13:09 thats really a fun distinction for end users 19:13:18 so 19:13:19 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 19:13:19 It's completely bogus to say -- "well, things can just crash anyway, so sure, give me any random pile of bits and I'll feed it to my cpu". 19:13:26 I mean yeah... it'll still crash with bugs. But using a library that you don't know about, assuming it'll do what you want, is a quick way to segmentation fault. 19:13:29 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 19:13:35 is there something aside from the formal spec that explains r6rs's syntax-rules? 19:13:39 because it sounds crippled. 19:13:46 jonrafkind: You're now making no sense at all. 19:13:47 incubot: (define-macro (when cond . body) `(if ,cond (begin ,@body))) (when (< 1 2) (display 1) #f) 19:13:47 1#f 19:13:51 qeunn: there ya go, but define-macro is BLAH(tm). 19:14:12 *sladegen* got disscontinued for a jiffie. 19:14:14 eli, but these things can be gotten around using things like './configure' 19:14:17 jonrafkind: I'd rather have my editor pop up a dialog saying "Can't find libfoo.so.2" than have it crash in the middle of my essay. 19:14:27 its the answer to "i have no idea whats on your system, but ill make a best guess" 19:14:32 yeah sladegen why are you using define-macro... 19:14:35 and its pretty damn convenient for end users 19:14:56 sladegen: apparently, define-macro isn't even in scheme :( 19:15:00 synx: because qeunn asked for it. 19:15:11 it is in some... 19:15:22 define-macro looks about 10x easier to use than syntax-rules... :( 19:15:33 huh. 19:15:45 rudybot: eval (define-syntax-rule (my-when condition body ...) (if condition (begin body ...) (void))) 19:15:49 DEFINE-MACRO is also a bug. SYNTAX-RULES is not. 19:15:50 qeunn: just do it. 19:15:56 sladegen: just do what? 19:15:58 rudybot: eval (my-when #f (display "ora\n") 19:15:59 synx: error: eval:1:0: read: expected a `)' to close `(' 19:16:04 eli, anyway time for lunch. bbl 19:16:06 learn syntax-rules 19:16:12 ... 19:16:13 EEEKKK, my reader has been defaulting to UTF8 instead of Latin1 for 18 months now, and I only picked it up now 19:16:14 sladegen: well, all I have is the spec 19:16:17 man do I suck today. 19:16:19 and the spec is about the worst way to learn it 19:16:20 -!- borism_ [n=boris@195-50-200-218-dsl.krw.estpak.ee] has quit [Connection timed out] 19:16:22 rudybot: eval (my-when #f (display "ora\n")) 19:16:29 leppie, what's wrong with that? 19:16:35 leppie: Yay, so people can actually read your characters! 19:17:15 rotty [n=rotty@nncmain.nicenamecrew.com] has joined #scheme 19:17:17 it fails on files without a preamble and have extended characters, above 127 19:17:19 rudybot: eval (my-when #t (display "ora\n")) 19:17:20 synx: ; stdout: "ora\n" 19:17:30 up to 255 of course 19:17:34 qeunn: http://community.schemewiki.org/?syntax-rules 19:17:43 well, put it this way: define-macro is as simple as it needs to be 19:17:45 what fails, leppie? 19:18:26 my reader 19:18:43 its trying to read invalid UTF8 19:18:47 your screen reader? 19:19:08 no, my scheme reader 19:19:27 The interpreter you mean? ._. 19:19:38 aka read, get-datum 19:19:53 I mean, I essentially want to use the backquote system :P 19:19:56 yes, in ironscheme 19:20:08 Oh okay. 19:20:16 -!- qeunn [i=45cd3b57@gateway/web/freenode/x-523ed66f2b8cb430] has quit ["Page closed"] 19:20:31 qeunn [i=45cd3b57@gateway/web/freenode/x-19ce04022c63dd7d] has joined #scheme 19:20:31 anyway 19:20:33 So where is it getting invalid UTF-8 for you to read? 19:20:36 let's take this example 19:20:45 qeunn: scheme48 has explicit renaming macros that are hygienic and use "backquoting". 19:21:12 on the last character of: `[lo..hi)´ 19:21:14 I want to have this syntax expression: (asm (li r0 4) (addi r0 r0 2) (blr)) 19:21:22 backquotingbackquotingbackquoting? 19:21:35 and have that expression expand to a vector of the machine code that the macro assembled 19:21:39 oops 19:21:52 back,ing. 19:21:54 I can do this easily with define-macro 19:21:57 (char)180 19:22:01 seems reasonable qeunn 19:22:05 but it's not quite so clear how to do so with syntax-rules or whatever 19:22:12 you can also do it easily with syntax-rules 19:22:14 well 'easily' 19:22:17 quenn seriously? this at compile time? 19:22:29 qeunn: Have you looked at Sassy? 19:22:42 pbusser2: yes, but it's not very useful for this 19:22:48 qeunn: Ok. 19:22:50 for one thing I'm on a completely different architecture 19:22:57 qeunn: that's only because you already learned define-macro. if you know syntax-rules it will be easily done, too. 19:23:02 qeunn: I know. 19:23:57 (define-syntax asm (syntax-rules () ((_ instructions ...) (vector (asm instructions) ...)) ((_ instruction) (make assembly stuff)))) 19:24:58 the "make assembly stuff" I can only assume will refer to a table of assembly language opcode builders. I don't know much about assembly myself. 19:25:03 yes, but what's being evaluated and what's not? 19:25:06 it's hard to say 19:25:21 ahh, it's recursive? 19:25:28 nifty 19:25:29 nothing's being evaluated... 19:25:31 -!- socialite [n=piespy@78.8.136.216] has quit [Success] 19:25:41 Yeah recursive. Could also use two syntax definitions, but eh. 19:26:01 well, I want the things to be compiled and then put into the language already assembled 19:26:03 it's like people bitching about linux being not easy compared to windos when they spent a decade on the system starting with dos and only a week with linux... sheesh. 19:26:06 so, the macro assembles it 19:26:28 right, so you need to build the assembly language at the syntax expansion phase. 19:26:30 yes 19:26:33 exactly 19:28:27 I'm not sure how to do it exactly, since the syntax for 4 is different than the actual number 4... 19:30:18 see? this would be pretty easy using define-macro :/ 19:30:23 socialite [n=piespy@78.8.137.154] has joined #scheme 19:30:33 I mean you could say (define-syntax asm (syntax-rules () ((_ instructions ...) (vector (asm instructions) ...)) ((_ (li r0 4)) #"gobbledygook") ((_ (addi r0 r0 2)) #"shankityswang")))) 19:30:57 I don't think it would be easy using define-macro either. You'd still have to wait until the evaluation phase to calculate the assembly. 19:32:09 how do I make a transcript with mit-scheme? 19:33:48 synx: no, you just do something like: (defmacro (blah &rest) `(vector ,(map assemble rest))) 19:34:53 see? this would be pretty easy using define-macro :/ ;;;; Why don't you use define macro? 19:35:20 rocketman: because it's not available in all implementations 19:35:44 and I'm not sure how to force it into plt's r6rs implementation 19:36:47 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Connection timed out] 19:37:27 qeunn: Maybe a very simple interpreter in syntax-rules would let you write it more naturally 19:38:42 qeunn: well that's what I'm saying. How do you define 'assemble'? 19:40:02 You might want to use syntax-case though, if you're going to be actually generating syntax... 19:40:40 synx: it take a list of symbols and numbers and generates a number 19:42:06 I'm really not the best authority here, but do you mean the syntax for symbols and numbers? 19:44:51 (not (eq? #'4 4)) 19:45:43 I don't understand what you mean 19:46:06 Yeah I think you might want syntax->datum... 19:46:07 I'm looking for a way to take a macro and transform (asm (li blah dee dah)) into #(whatever) 19:49:48 levy [n=levy@apn-94-44-2-84.vodafone.hu] has joined #scheme 19:50:55 how do I generate a log in mit-scheme? 19:51:34 Edico: a log? use edwin? 19:52:01 no, a log of what is writed in repl 19:52:34 rlwrap 19:52:57 or emacs or like i said use mit-scheme repl from edwin. 19:56:41 elderK1 [n=zk@122-57-240-173.jetstream.xtra.co.nz] has joined #scheme 19:56:44 Hey people. 19:57:07 -!- qeunn [i=45cd3b57@gateway/web/freenode/x-19ce04022c63dd7d] has quit ["Page closed"] 19:57:24 hi elderK1 19:57:47 sladegen, thanks it works with emacs 19:58:08 if I run scheme from emacs 20:00:30 Fabse [n=mightyfi@wikipedia/Track-n-Field] has joined #scheme 20:02:12 I wonder how hard it would be to create a scheme (say, for r4rs or r5) in C, that was a /good/ interpreter. Like, not a compiler - but a fast enough interpreter to be generally useful. 20:02:14 and not entirely a toy. 20:02:32 elderK1: It's called Guile. :-P 20:02:35 reading the evolution of lisp just, makes me want to hack one up. 20:02:40 chibi-scheme 20:02:52 foof could probably use a double. 20:03:17 well damn he left 20:03:20 bigloo? plt-scheme? scheme48? elk? guile? you want one more? 20:03:21 I place a reasonably... crazy thing on :P 20:03:33 You dont get it :P 20:03:39 Yes, there are many. 20:03:44 That's not the point of it :P 20:03:49 The point is to learn more about it all, 20:03:54 elderK1: You want to write one for the sake of writing one. 20:03:59 as a vehicle to better grok interpretation. 20:04:00 Right after I made https://synx.us.to/code/scheme/asm.ss too 20:04:03 and not entirely. 20:04:17 all of these schemes are expected to run hosted. 20:05:31 Anyone here familiar with FreeBSD? 20:05:39 Note, for some of it's boot scripts, it uses Forth? :) 20:05:50 well, the loader :) 20:05:58 It'd be cool to be Scheme :P 20:06:08 And yes, there is a large "because I can" and "it'd be neat" factor here. 20:06:08 :) 20:06:14 but, isnt that what hacking and such is about? :) 20:06:52 and, it'd add some interesting constraitns. 20:06:55 *constraints 20:07:08 jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has joined #scheme 20:07:10 Aw. 20:07:21 elderK1, Wasn't there some scheme as a Linux device driver or module that let you kernel things in scheme? 20:07:31 cant remember. 20:07:41 but, thats for linux. 20:07:51 schemix... iirc. 20:07:51 elderK1, True. 20:07:54 anywho, I'm just pondering. 20:08:04 but it would certainly be interesting. 20:08:24 ie, if I implemented some scheme, or subset... it'd be expected to run free and hosted. 20:08:27 they've already tried linux distro with chicken as scripting engine but folded... 20:09:13 :P You know, you guys are taking the fun out of my day dream 20:09:14 :P 20:09:20 and I'm not talking Linux :P Or UNIX. 20:09:32 I've got a side project that's been going for quite some time. 20:09:38 Linux Is Not UniX 20:09:47 I know... 20:09:51 I was talking FreeBSD before. 20:09:57 That is the UNIX. 20:10:30 *sladegen* rolls eyes. 20:10:46 -!- dzhus is now known as dzhus[afk] 20:11:10 *elderK1* rolls eyes back. 20:11:21 I don't get it. Why, on most lisp channels I go to, people seem to jive badly with me. 20:11:22 *elderK1* shrugs 20:11:28 *elderK1* meanders off to grab coffee, ponders. 20:12:04 *sladegen* bets in pebkac 20:12:11 s/in/on/ 20:12:28 elderK1: there's a linux distro whose entire init scripts and packaging etc is in python, called pardus... maybe you could do the same in scheme? 20:12:40 elderK1: http://www.pardus.org.tr/eng/index.html 20:17:34 well, aye, dim. 20:17:39 but it'd be neat to learn how to create a scheme. 20:18:04 iirc the distro tring to use chicken was adamantix, looks like it reactivated but asks for python programmers, too... lawl(tm) 20:18:21 create your own and implement all FreeBSD sysvinit with it, including service script, dependancy tracking, parallel launching of processes, etc 20:18:27 lots of fun ahead :) 20:18:50 aye. 20:18:57 but I need to find information on Scheme implementation. 20:19:03 like, I wouldn twant to make only a 'toy' interpreter 20:19:06 chuky [n=chuky@252.Red-88-22-38.staticIP.rima-tde.net] has joined #scheme 20:19:09 hello 20:19:09 obviously, it wouldnt be as fast as native compiled code. 20:19:20 but, id at least like to create something somewhat useful. 20:19:33 does anybody happen to know of a very simple garbage collection system, preferrable coded in c? 20:19:58 why not use Boehms? 20:20:01 *sladegen* ayes: http://keywen.com/en/ADAMANTIX 20:20:15 elderK1: what about reading existing interpreters code (guile, bigloo, you got a list already), contribute to them, grow knowledge, then consider writing you own? 20:20:18 less fun I guess 20:20:33 well, yeah, less fun 20:20:39 but, no, I've been pondering printing Guile in hardcopy 20:20:40 -!- dysinger [n=tim@32.178.128.222] has quit [Success] 20:20:42 for a few weeks now. 20:21:45 because that misses the point, and I'm no so experience so as to understand it 20:21:53 *experienced 20:22:29 -!- dim [n=Dimitri@mar92-14-88-173-196-148.fbx.proxad.net] has quit [Remote closed the connection] 20:22:57 you wouldn't use Boehms because it is imprecise (memory leaking) and it's a huge, hairy piece of code 20:23:19 well, aye. 20:23:26 I'd write my own. 20:23:32 certainly enough techniques to read about 20:23:51 I didn't know about leaks, but it certainly is complex for a noob, hence why I ask for a simpler one 20:24:26 Thren [n=Thren@pool-98-113-187-131.nycmny.fios.verizon.net] has joined #scheme 20:25:06 I couldn't either with the one supplied with emacs, though I already have some background so as how to implement it 20:25:16 read-black trees, pools for conses, etc 20:25:44 Id use avl over rb. 20:29:03 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 20:31:22 -!- elmex [i=elmex@ist.m8geil.de] has quit [Read error: 104 (Connection reset by peer)] 20:31:44 elmex [i=elmex@ist.m8geil.de] has joined #scheme 20:34:20 gtg guys, dentist, bbl 20:34:21 :) 20:34:24 thanks for the conversation 20:34:26 :P Ill be back! 20:34:26 :P 20:34:30 -!- elderK1 [n=zk@122-57-240-173.jetstream.xtra.co.nz] has left #scheme 20:36:40 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 20:39:22 arcfide [n=arcfide@ppp-70-246-147-114.dsl.stlsmo.swbell.net] has joined #scheme 20:39:35 leppie: ping 20:39:44 arcfide: pong 20:40:07 leppie: How many implementations use the hex values for #\: when importing libraries? 20:40:35 And how many drop them? 20:41:48 i think most support that, and I dont think Ikarus drops, but I do for convinience, I accept either 20:42:07 dont know if any other drops that 20:42:19 best would be to look in the SRFI mailing list 20:42:24 So, among the R6RS implementations, how do they handle the #\: character? 20:42:32 leppie: Do you have a thread? 20:42:33 -!- jao [n=jao@179.Red-83-57-4.dynamicIP.rima-tde.net] has quit ["rcirc on GNU Emacs 23.0.95.1"] 20:42:56 http://srfi.schemers.org/srfi-97/mail-archive/maillist.html 20:43:48 i didnt really bother following, all too boring for me, I do what is needed, and what I think is best, mostly it's the same, sometimes not 20:46:27 ok, im off to sleep, night 20:55:42 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 20:56:27 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 21:14:29 -!- chuky [n=chuky@252.Red-88-22-38.staticIP.rima-tde.net] has quit [] 21:16:04 -!- stepnem [n=stepnem@topol.nat.praha12.net] has quit [Read error: 113 (No route to host)] 21:23:31 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 21:23:46 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:24:28 stepnem [n=stepnem@topol.nat.praha12.net] has joined #scheme 21:26:44 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Read error: 110 (Connection timed out)] 21:26:44 -!- exexex [n=chatzill@85.102.130.92] has quit [Remote closed the connection] 21:26:56 exexex [n=chatzill@85.102.130.92] has joined #scheme 21:30:29 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 113 (No route to host)] 21:31:27 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 21:33:58 Pegazus [n=awefawe@host250.190-224-109.telecom.net.ar] has joined #scheme 21:34:39 clarity_ [n=clarity@c-76-103-139-40.hsd1.ca.comcast.net] has joined #scheme 21:34:45 yo 21:34:52 is there a built in identity function for scheme? 21:35:00 (lambda) appears to be the null function 21:35:19 eq? eqv? equal? 21:35:35 but is there a built in function where (identity args) -> args? I have (define (identity x) x) 21:35:48 oh, not that I know of 21:35:55 you need such a thing? i mean you just typed it 21:36:02 clarity_: Only in European Schemes... 21:36:29 jonrafkind, I'm just curious if it's built in :-) 21:37:12 -!- dzhus[afk] is now known as dzhus 21:37:51 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 21:38:51 -!- levy [n=levy@apn-94-44-2-84.vodafone.hu] has quit ["..."] 21:39:22 rouslan [n=Rouslan@unaffiliated/rouslan] has joined #scheme 21:42:01 -!- CSdread_ [n=danielf@209-188-116-183.taosnet.com] has quit [] 21:42:58 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 21:46:10 clarity_: It's not very useful in most cases. 21:46:33 It's only useful as a higher-order function that is mapped or applied over a series of things or is used as a parameter. 21:46:37 -!- bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has quit [] 21:46:55 It's not common to use IDENTITY, IME. 21:48:34 fair enough 21:48:45 I'm doing this half continuation passing style thing 21:48:53 and it is very, very useful for that 21:49:19 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [" HydraIRC -> http://www.hydrairc.com <- Nine out of ten l33t h4x0rz prefer it"] 21:49:55 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 21:50:00 http://pastebin.com/m24b93dda 21:50:29 interesting that site's return is messed up 21:51:04 -!- jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has quit [No route to host] 22:02:18 synthase [n=synthase@adsl-146-213-45.mob.bellsouth.net] has joined #scheme 22:03:52 q[mrw] [n=russd@willers.employees.org] has joined #scheme 22:04:13 elderK [n=zk@222-152-93-33.jetstream.xtra.co.nz] has joined #scheme 22:04:16 Yo 22:05:32 -!- bweaver [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 22:07:53 So, does anyone here commonly "swap" values between either names or positions in data-structures? 22:09:45 I did some vector related stuff that required swapping, and I had a professor that lamented the lack of swapping primitives in most languages, so I wrote the following really quickly as a proof of concept. 22:10:10 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 22:10:22 If it's integer swapping, you could use the xor trick. 22:10:24 is there any good tutorial of music composition in shceme? 22:10:41 arcfide pasted "Swapping in Scheme" at http://paste.lisp.org/display/83200 22:10:53 elderK: This is a little more abstract. 22:11:00 lowlycoder: I don't know, but check out common music 22:11:10 elderK: And in practice, I found that the XOR swapping trick didn't work for most applications. 22:13:36 -!- moghar [n=user@unaffiliated/moghar] has left #scheme 22:13:53 Is there any practical use for XOR swap? 22:13:54 I didn't say it was a universal trick 22:14:21 and yes, there canbe. 22:16:20 -!- rocketman [n=f@amcant.demon.co.uk] has quit ["Leaving"] 22:22:26 annodomini [n=lambda@64.30.3.122] has joined #scheme 22:23:08 annodomini_ [n=lambda@129.170.241.32] has joined #scheme 22:24:41 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Client Quit] 22:29:41 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Read error: 104 (Connection reset by peer)] 22:33:27 elderK: I prefer swap-names! + SRFI 17 (generalized set!) 22:33:54 -!- Fabse [n=mightyfi@wikipedia/Track-n-Field] has quit [] 22:34:04 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 22:34:14 :P Why does everyone pick on me? 22:34:25 I didn't claim XOR swap was the almighty godlike answer from the heavens. 22:34:31 I simply suggested it, for integer switching, depending. 22:34:50 sorry, I meant to address arcfide 22:34:59 np. 22:35:05 I'm still pondering Scheme interpreter creation 22:35:11 I went through my appointment daydreaming ideas. 22:35:11 clarity_ : there's `values' .. 22:37:21 (clarity_ : btw, that `fact' doesn't use the `return' argument nontrivially) 22:39:17 X-Scale2 [i=email@89.180.203.189] has joined #scheme 22:39:19 incubot: it looks like there is a real need for stallman subreddit. 22:39:22 Better than the programming subreddit, anyway, which is all I read. 22:40:08 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 22:40:10 flamethrowers for everyone, on da house! 22:42:18 woot! 22:44:07 rocketman [n=f@amcant.demon.co.uk] has joined #scheme 22:45:32 rouslan [n=Rouslan@unaffiliated/rouslan] has joined #scheme 22:45:47 p1dzkl: generalized-set! is not swapping, but just replacing. It would still take two or more expressions to swap, say, the elements in a vector. 22:47:27 yes, that's where swap-names! comes in 22:48:12 p1dzkl: You mean you would do something like (swap-name! (vector-ref x i) (vector-ref x j))? 22:48:18 yes 22:48:28 Hrm. 22:48:32 Maybe. 22:49:27 ski: huh? 22:49:43 rudybot: eval (values 42) 22:49:44 ski: your sandbox is ready 22:49:45 ski: ; Value: 42 22:54:54 (clarity_ : your `fact' is equivalent to one where `return' is only used in a wrapper, with the worker only using `throw') 22:56:09 Hey people, any decent resources to read about implementing a scheme? 22:56:17 apart from say, something like, LiSP, etc? 22:56:20 or SICP? 22:56:26 -!- TR2N [i=email@89.180.220.78] has quit [Read error: 110 (Connection timed out)] 22:58:21 arcfide: you might need to make sure that the all parts of the swappees are only evaluated once. for instance vector-ref, x, i and j in your example 22:59:06 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:59:07 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Read error: 104 (Connection reset by peer)] 22:59:33 elderK, Marc Feeley did a good talk on compiling 23:00:16 http://www.iro.umontreal.ca/~feeley/ ? 23:01:17 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 23:01:56 Well, if anyones keen on having a private discussion about Scheme-terpreter ideas, pm me. 23:01:58 I'd appreciate it 23:02:13 http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html 23:02:14 -rudybot:#scheme- http://tinyurl.com/fj4af 23:03:07 cheers 23:03:10 downloading them all 23:03:12 including presentations 23:03:23 sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 23:04:23 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 23:04:29 -!- Hagaer [n=user@27.62.broadband3.iol.cz] has quit [Read error: 110 (Connection timed out)] 23:04:42 Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 23:04:56 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 23:05:38 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 23:12:29 rouslan [n=Rouslan@unaffiliated/rouslan] has joined #scheme 23:16:31 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 23:17:45 -!- exexex [n=chatzill@85.102.130.92] has quit [Remote closed the connection] 23:18:17 annodomini [n=lambda@129.170.131.174] has joined #scheme 23:23:23 -!- dzhus [n=sphinx@95-24-162-103.broadband.corbina.ru] has quit [Remote closed the connection] 23:25:52 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 23:27:56 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 23:28:29 kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 23:32:58 NNshag [i=user@Mix-Orleans-106-4-184.w193-248.abo.wanadoo.fr] has joined #scheme 23:36:06 -!- Adrinael [n=adrinael@barrel.rolli.org] has quit [Read error: 60 (Operation timed out)] 23:41:46 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 23:43:34 Adrinael [i=adrinael@rid7.kyla.fi] has joined #scheme 23:44:07 -!- incubot [n=incubot@klutometis.wikitex.org] has quit [Remote closed the connection] 23:49:02 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 23:49:11 incubot [i=incubot@klutometis.wikitex.org] has joined #scheme 23:55:27 -!- Nshag [i=user@Mix-Orleans-106-2-67.w193-248.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 23:58:18 -!- kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has left #scheme