00:01:08 -!- Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has quit [Nick collision from services.] 00:01:25 Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has joined #scheme 00:03:48 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 00:06:52 eno [n=eno@nslu2-linux/eno] has joined #scheme 00:09:26 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 00:17:25 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 00:17:45 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 00:34:05 drat 00:34:10 chibi relies on rather more code than I'd like 00:34:20 what?? 00:34:44 chibi needs a working printf and a working malloc :( 00:36:09 Huh? 00:36:43 which part of that is unclear? 00:41:29 What does a minimal Scheme need a printf or a malloc procedure? 00:41:43 s/What/Why/ 00:42:17 Elly: Chibi is meant to be minimal as a C extension lanaguage, which implies using as much of libc as possible. 00:42:56 Is there a reason that Chibi, which is written in C, wouldn't rely on the standard C libraries? 00:42:57 If you want it to run on bare metal, you just need to compile statically against libc. 00:43:27 foof: no, I don't 00:43:38 foof: at least, not against the system libc 00:46:33 (printf has been removed, however, except for sprintf into a static buffer to format numbers) 00:47:28 eno__ [n=eno@adsl-70-137-133-190.dsl.snfc21.sbcglobal.net] has joined #scheme 00:48:20 linking against libc will work fine until malloc() or printf() goes to make a system call 00:58:45 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 01:05:10 incubot: Too less or too more values? 01:05:14 because it was more standards compliant... GREAT, but it's also a hell of a less functional 01:05:33 incubot: r6rs? 01:05:48 -!- ventonegro_ is now known as ventonegro 01:05:57 minion: what is COO? 01:05:58 what would a bot like me know about coo ? 01:10:02 Anyone here who is familiar with the eager comprehensions SRFI? I'm trying to figure out why the R6RS port doesn't work for me. 01:10:48 -!- Pegazus_ [n=awefawe@host122.190-31-41.telecom.net.ar] has quit [Read error: 110 (Connection timed out)] 01:13:19 It seems to be choking on the nested keyword. 01:22:11 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 01:22:20 -!- melgray [n=melgray@97-126-114-243.tukw.qwest.net] has left #scheme 01:27:13 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 01:34:00 thesnowdog_ [i=thesnowd@114.73.171.47] has joined #scheme 01:37:58 Deformative [n=joe@c-71-238-44-239.hsd1.mi.comcast.net] has joined #scheme 01:39:03 -!- fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 01:44:43 gfb [i=63e86c6a@gateway/web/freenode/x-f1d8f057da17f051] has joined #scheme 01:48:10 thesnowdog__ [i=thesnowd@114.73.171.47] has joined #scheme 01:49:43 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 01:50:57 -!- thesnowdog [i=thesnowd@114.73.171.47] has quit [Read error: 110 (Connection timed out)] 01:56:20 thesnowdog [i=thesnowd@114.73.171.47] has joined #scheme 01:58:13 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 02:02:25 -!- thesnowdog_ [i=thesnowd@114.73.171.47] has quit [Read error: 110 (Connection timed out)] 02:02:28 thesnowdog_ [i=thesnowd@114.73.171.47] has joined #scheme 02:13:58 -!- thesnowdog__ [i=thesnowd@114.73.171.47] has quit [Read error: 110 (Connection timed out)] 02:15:16 thesnowdog__ [i=thesnowd@114.73.171.47] has joined #scheme 02:16:25 leppie: You around for some debugging? 02:19:07 -!- thesnowdog [i=thesnowd@114.73.171.47] has quit [Read error: 110 (Connection timed out)] 02:21:06 arcfide: maybe if you'd asked if he was around for some beer. 02:23:41 -!- thesnowdog__ [i=thesnowd@114.73.171.47] has quit [Read error: 60 (Operation timed out)] 02:24:16 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 02:31:14 -!- thesnowdog_ [i=thesnowd@114.73.171.47] has quit [Read error: 110 (Connection timed out)] 02:32:35 offby1: maybe. Oh well. 02:33:00 offby1: It's annoying that this thing isn't doing what it should. :-) And it doesn't look like it should be going wrong. 02:37:01 -!- RageOfThou [n=RageOfTh@SE400.PPPoE-8182.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 02:41:51 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 02:44:13 Elly: this might be marginally useful on bare metal: http://tom.bespin.org/src/low-level/ ... I think the kernel demo has a basic printf. 02:45:18 nothingHappens [n=nothingh@173-25-176-111.client.mchsi.com] has joined #scheme 02:47:57 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 104 (Connection reset by peer)] 02:48:30 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 02:50:11 -!- arcfide [n=arcfide@ppp-70-246-150-121.dsl.stlsmo.swbell.net] has left #scheme 02:53:02 tjafk1 [n=timj@e176221004.adsl.alicedsl.de] has joined #scheme 02:53:02 Dark-Star [i=Darkstar@p57B54697.dip.t-dialin.net] has joined #scheme 02:55:49 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 02:57:17 -!- gfb [i=63e86c6a@gateway/web/freenode/x-f1d8f057da17f051] has quit [Ping timeout: 180 seconds] 03:00:26 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 03:09:11 -!- tjafk2 [n=timj@e176212183.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:12:40 -!- eno__ is now known as eno 03:18:04 arcfide [n=arcfide@ppp-70-246-150-121.dsl.stlsmo.swbell.net] has joined #scheme 03:22:38 -!- ventonegro [n=alex@189.62.112.121] has quit [] 03:41:49 -!- arcfide [n=arcfide@ppp-70-246-150-121.dsl.stlsmo.swbell.net] has left #scheme 03:49:21 thesnowdog [n=thesnowd@122.110.40.46] has joined #scheme 04:27:08 charmless [n=charmles@207.47.213.196] has joined #scheme 04:29:36 gfb [i=ad22383a@gateway/web/freenode/x-3c3430b381fd7b51] has joined #scheme 04:37:35 -!- gfb [i=ad22383a@gateway/web/freenode/x-3c3430b381fd7b51] has quit ["Page closed"] 04:37:58 -!- luz [n=davids@189.122.121.232] has quit ["Client exiting"] 04:40:28 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 04:53:02 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 04:54:13 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit ["foobar"] 05:04:00 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:06:18 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 05:08:57 -!- tobetchi [n=tobetchi@p296bf1.sagant01.ap.so-net.ne.jp] has quit [verne.freenode.net irc.freenode.net] 05:08:57 -!- jao [n=jao@94.Red-88-6-161.staticIP.rima-tde.net] has quit [verne.freenode.net irc.freenode.net] 05:08:57 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [verne.freenode.net irc.freenode.net] 05:08:57 -!- dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has quit [verne.freenode.net irc.freenode.net] 05:10:19 joast [n=rick@76.178.184.231] has joined #scheme 05:10:41 sjamaan [n=sjamaan@frohike.xs4all.nl] has joined #scheme 05:10:48 dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 05:12:21 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 05:12:48 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 05:13:03 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:16:01 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 05:20:37 tobetchi [n=tobetchi@p296bf1.sagant01.ap.so-net.ne.jp] has joined #scheme 05:21:38 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 05:33:18 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 05:33:41 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:56:31 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 05:56:39 reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:03:49 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 06:03:53 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:06:42 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 06:10:05 Pegazus_ [n=awefawe@host122.190-31-41.telecom.net.ar] has joined #scheme 06:10:57 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 06:13:01 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:15:49 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:16:07 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 06:25:12 -!- reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 06:34:54 sepult [n=user@xdsl-87-78-74-49.netcologne.de] has joined #scheme 06:35:14 -!- sepult [n=user@xdsl-87-78-74-49.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 06:37:29 sepult [n=user@xdsl-87-78-74-49.netcologne.de] has joined #scheme 06:42:18 eno__ [n=eno@adsl-70-137-153-201.dsl.snfc21.sbcglobal.net] has joined #scheme 06:44:17 -!- sepult [n=user@xdsl-87-78-74-49.netcologne.de] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 06:45:10 -!- eno [n=eno@nslu2-linux/eno] has quit [Nick collision from services.] 06:45:16 -!- eno__ is now known as eno 06:47:00 sepult [n=user@xdsl-87-78-74-49.netcologne.de] has joined #scheme 06:53:33 ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has joined #scheme 07:03:47 a-s [n=user@92.81.151.172] has joined #scheme 07:18:53 -!- sepult [n=user@xdsl-87-78-74-49.netcologne.de] has quit [Remote closed the connection] 07:19:31 joast [n=rick@76.178.184.231] has joined #scheme 07:20:45 sepult [n=user@xdsl-87-78-74-49.netcologne.de] has joined #scheme 07:23:42 -!- sepult [n=user@xdsl-87-78-74-49.netcologne.de] has quit [Client Quit] 07:39:00 -!- Khisanth [n=Khisanth@pool-141-157-237-196.ny325.east.verizon.net] has quit ["Leaving"] 07:55:53 -!- tobetchi [n=tobetchi@p296bf1.sagant01.ap.so-net.ne.jp] has quit [Remote closed the connection] 07:56:35 tobetchi [n=tobetchi@p296bf1.sagant01.ap.so-net.ne.jp] has joined #scheme 08:02:11 hotblack23 [n=jh@p5B0573C0.dip.t-dialin.net] has joined #scheme 08:03:07 moghar [n=user@unaffiliated/moghar] has joined #scheme 08:04:35 -!- leppie [n=lolcow@196-210-177-69-wblv-esr-3.dynamic.isadsl.co.za] has quit [] 08:09:30 leppie [n=lolcow@196-210-177-69-wblv-esr-3.dynamic.isadsl.co.za] has joined #scheme 08:19:40 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 08:23:47 kuribas [i=kristof@d54C434F4.access.telenet.be] has joined #scheme 08:27:15 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 08:32:33 Khisanth [n=Khisanth@pool-141-157-237-196.ny325.east.verizon.net] has joined #scheme 08:51:36 -!- ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 08:54:46 kitchen^ [n=no@c-76-20-114-223.hsd1.ca.comcast.net] has joined #scheme 08:56:12 dzhus [n=sphinx@95-24-174-169.broadband.corbina.ru] has joined #scheme 08:56:26 ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has joined #scheme 08:56:51 is there a decent image manpiulation library fro scheme? 08:57:12 I've tried looking for imagemagic bindings, but they don't seem to exist anymore 08:57:22 I want to combine a number if jpg's 08:57:29 -!- kitchen^ [n=no@c-76-20-114-223.hsd1.ca.comcast.net] has left #scheme 09:08:49 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 09:13:14 pantsd_: There is one in PLT 09:23:25 eli: whats it called? 09:27:22 pantsd_: it's in the `ffi' collection, and it's called "magick.ss" 09:27:45 There's also "examples/magick.ss" there. 09:28:16 But it might need some refreshing -- that code is for libWand version 6.0.1. 09:30:49 cool, thanks :) 09:34:10 ikaros [n=ikaros@f051120054.adsl.alicedsl.de] has joined #scheme 09:36:53 hmms it seems not have been very thourhgly tested 09:43:38 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 09:46:43 anyone familiar with ironscheme? the docs refer to a faq.html which I'm unable to find in the docs or on the webpage.. anyone know if there is other documentation to be found? 09:46:48 -!- Foofie is now known as Fufie 09:47:31 pantsd_: No, it was made as a proof of concept; but it *is* a complete list of the interface at that time. It should be easy to adjust it to whatever changed since then. 09:49:07 sounds good 09:49:53 pokeing MagickReadImageBlob seems less than happy (since if I feed it bytes string-length doesn't work) 09:51:01 thesnowdog_ [i=thesnowd@114.73.38.61] has joined #scheme 09:54:02 pantsd_: OK, I committed a fix. But it will probably take a little more than that to actually work with this thing. (I wrote it shortly after I did the foreign interface, and didn't get back to in since then -- which is why the whole `ffi' collection is just a bunch of examples rather than proper interfaces.) 09:55:10 shiney :) 09:55:34 was it written by hand or generated with swig? 09:56:10 SWIG doesn't generate code for the "new" foreign interface -- only C glue code. 09:56:36 I started with the header file(s) and used some Emacs hacking to make most of the Scheme code. 09:57:02 cool 09:57:18 FWIW, the ImageMagick libraries are my favorite example of a library that is extremely glue-friendly. 09:57:29 That's why overall it should be pretty easy. 09:58:01 (For example, they don't use CPP macros, no passing of structs as arguments, etc) 10:00:07 yay :) 10:02:28 -!- thesnowdog [n=thesnowd@122.110.40.46] has quit [Read error: 110 (Connection timed out)] 10:03:22 ooh it works! :)s 10:04:23 ASau [n=user@193.138.70.52] has joined #scheme 10:06:08 That was fast... It sounds like there were no major revisions to the API then. 10:08:13 well for a flexible definition of works 10:12:44 Judofyr [n=Judofyr@c8F99BF51.dhcp.bluecom.no] has joined #scheme 10:15:01 -!- Pegazus_ [n=awefawe@host122.190-31-41.telecom.net.ar] has quit [Read error: 104 (Connection reset by peer)] 10:15:07 Pegazus_ [n=awefawe@host122.190-31-41.telecom.net.ar] has joined #scheme 10:17:10 ikaros_ [n=ikaros@f051089176.adsl.alicedsl.de] has joined #scheme 10:17:11 -!- ikaros [n=ikaros@f051120054.adsl.alicedsl.de] has quit [Read error: 104 (Connection reset by peer)] 10:23:28 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Excess Flood] 10:23:52 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #scheme 10:24:45 -!- ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 10:33:40 ejs0 [n=eugen@225-48-135-95.pool.ukrtel.net] has joined #scheme 10:47:53 athos [n=philipp@92.250.250.68] has joined #scheme 10:52:35 MrFahrenheit [n=RageOfTh@89.146.189.67] has joined #scheme 11:01:02 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:08:13 jao [n=jao@94.Red-88-6-161.staticIP.rima-tde.net] has joined #scheme 11:16:23 ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has joined #scheme 11:24:41 -!- exexex [n=chatzill@88.234.123.91] has quit [Read error: 110 (Connection timed out)] 11:32:32 -!- kuribas [i=kristof@d54C434F4.access.telenet.be] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 11:33:25 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 11:34:43 -!- ejs0 [n=eugen@225-48-135-95.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 11:35:34 reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:35:48 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 11:39:47 -!- eno [n=eno@nslu2-linux/eno] has quit [Remote closed the connection] 11:39:52 eno [n=eno@nslu2-linux/eno] has joined #scheme 11:43:21 -!- elmex [i=elmex@ist.m8geil.de] has quit [Read error: 104 (Connection reset by peer)] 11:43:44 elmex [i=elmex@ist.m8geil.de] has joined #scheme 11:44:30 -!- ejs [n=eugen@225-48-135-95.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 11:56:19 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 12:02:25 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 12:07:03 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Client Quit] 12:07:13 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 12:10:20 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Client Quit] 12:10:21 -!- thesnowdog_ is now known as thesnowdog 12:10:43 -!- thesnowdog [i=thesnowd@114.73.38.61] has quit [Read error: 104 (Connection reset by peer)] 12:11:05 thesnowdog [i=thesnowd@114.73.38.61] has joined #scheme 12:12:10 -!- jao [n=jao@94.Red-88-6-161.staticIP.rima-tde.net] has quit [Remote closed the connection] 12:19:54 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 12:20:40 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 12:24:03 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 12:25:39 Yo, Schemers! 12:25:39 :P 12:30:52 Hello elderK. 12:31:24 -!- elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has quit [] 12:31:28 Fine. 12:31:42 elderK [n=elderK@222-152-92-36.jetstream.xtra.co.nz] has joined #scheme 12:32:07 :) 12:32:09 Lo Quadrescence ! 12:32:38 Hey 12:33:45 What's new, hipcat? 12:33:45 :p 12:34:05 Hah, nothing. I just got out of bed. >_> 12:34:54 Same! 12:35:08 Fucking headaches, oy. 12:35:09 -!- reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 12:35:28 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:36:24 elmex_ [i=elmex@ist.m8geil.de] has joined #scheme 12:43:16 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit ["Leaving"] 12:44:12 dsmith [n=dsmith@173.88.196.177] has joined #scheme 12:50:29 -!- elmex [i=elmex@ist.m8geil.de] has quit [Read error: 111 (Connection refused)] 12:50:41 -!- elmex_ is now known as elmex 13:03:43 -!- MrFahrenheit [n=RageOfTh@89.146.189.67] has quit [Connection timed out] 13:10:21 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 13:24:06 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:24:14 -!- dzhus [n=sphinx@95-24-174-169.broadband.corbina.ru] has quit [Remote closed the connection] 13:30:39 jao [n=jao@88.6.161.94] has joined #scheme 13:39:21 Hey guys, 13:39:25 can someone help me fill in my terminology? 13:39:33 Ie: We send a message to an Object. 13:39:45 When the object recieves the mesasge, it invokes the proper Method. 13:39:49 If the message is like a request, 13:39:55 what do we name the parameters of a message? 13:40:37 like, ObjC : [obj some-mesasge: 0 arg2: 1] 13:41:20 *offby1* stares blankly 13:41:35 :P My syntax is probably wrong. 13:41:36 :p 13:42:25 blackened` [n=blackene@89.102.28.224] has joined #scheme 13:42:29 *offby1* shifts unfomfortably 13:43:53 ... 13:44:01 okay, :P you can stop being uppity ,and just say whats on your mind, please? 13:44:02 *offby1* trails off 13:44:05 or what's making you so uncomfortable. 13:44:14 heh, there's _nothing_ on my mind; that's the problem 13:44:14 If my conceptual view is wrong, ok, tell me. 13:44:19 lol 13:44:23 Okay, cool. 13:44:23 :) 13:44:25 I just don't know the first thing about message passing 13:44:38 See, I get the messagign concept. 13:44:39 but like :P 13:44:50 If we send an object a message, are the parameters just, part of that message? Id figure so, and itd make sense 13:44:54 but, when we have a dispatcher, 13:44:57 given that I know nothing: I suspect the term is simply "parameters", as you said. 13:45:05 Aye. 13:45:12 Sorry, I'm kind of defensive lately man 13:45:13 :) 13:45:17 Please, dont take any hard feelings. 13:45:17 :) 13:45:22 gotta smoke less o' that crack, there, son 13:45:28 Hahaha 13:45:29 :) 13:46:26 :D hahaha cool 13:46:31 :D I have public/private methods :D 13:46:33 that can call each otehr :D 13:46:45 are you talking about scheme, or some other language? 13:46:47 but, the privates cant be accessed publically :D 13:46:48 elderK: What's wrong with "parameter", "argument", etc? 13:46:48 in Scheme. 13:46:55 I dont know, 13:46:59 it jsut seems to jive badly with Message. 13:47:06 Like, if I run up to someone with a message, 13:47:13 well, in Scheme, I don't think there's any standard terminology for message passing; we generally just talk about function calls 13:47:14 The message itself usually contains everything that I Want them to know. 13:47:22 so generally, teh /request/ and hte /parameters/, make up the Message. 13:47:29 Aye. 13:47:31 I get that :) 13:47:48 It's just, I want to use a terminology that makes sense, but the ObjC / Smalltalk one doesnt make /that/ much sense, not really. 13:47:57 consider these questions asked simply for curiosity. 13:47:57 :) 13:48:15 elderK: Here's a message: "The King is dead."; this message is urgent, you need to repeat it four times, and you need to tell me when you're done. 13:49:00 lol. 13:49:10 elderK: Here's another message: "Move"; you should do that for 12m, facing 30deg. 13:49:25 Well, yes, 13:49:32 :P but that doesnt help me. 13:49:40 the distinction between a method call, and hte arguments. 13:49:43 method is Move :P 13:49:47 If messages contain everything there is to know, then you'd need to have a "Move 12m 30deg" message handler etc. 13:49:48 the distance, direction are parameters. 13:49:48 :P 13:50:29 Id rather message be the combination of a request and a requests details. 13:50:33 this is a message: 13:50:36 Since we have handlers implemented as functions-kind-of, we have a finite number of them -- therefore we need to either fund infinite machines, or use parameters. 13:50:51 [MoveThisFar: InThisDirection: ] 13:50:56 movethisfar is the request 13:51:01 inthisdirection is an extra detail of that request. 13:51:06 that entire expression is a message. 13:51:29 At least, to me, that makes some sense. 13:51:30 :) 13:51:41 eli, I get the /real/ issues :P I just, like nit picking Smalltalks terminology. 13:51:41 :P 13:51:55 ...and now we get into subjective-opinion-land, and there's little point in discussing what makes "a message", or what is "a request". 13:52:06 well, no point 13:52:08 but still interesting 13:52:09 :P 13:52:23 differing perspectives are what make the world interesting :D 13:52:24 ANYWHO! 13:52:27 For some people... 13:52:27 Yall having a good day? 13:52:27 :D 13:52:43 Why live in a world where everything is a clone of another? The boredom, the stagnation. 13:52:51 Creativity, debate, discussion, innovaiton! 13:53:14 heh, klingon functions don't have parameters... they have arguments... and they ALWAYS win them 13:53:14 :P 13:53:18 *elderK* cackles happily 13:53:38 The fact that I have no interest in debating terminology is far from saying that everything in the world should be made of clones. 13:53:51 jeez dude, it wasnt a personal hit :) 13:53:54 It was just me saying generally :) 13:54:04 *elderK* hands eli a nice coffee 13:54:05 :) 13:54:31 And it wasn't a personal reply -- I'm just pointing out that there is no relation between the desire to talk about a subject and the actual opinion on the subject. 13:54:40 Aye. 13:55:37 Well, I give you the gift of caffiene anywho :) 13:55:40 For example, if you talk about some Prokofiev piece and how it's exciting etc, I'll say that I'm not interested -- with no contradiction to the fact that I love music, only a different kind of. 13:55:43 i just saw a fatal car accident :( 13:55:48 annodomini [n=lambda@75.69.96.104] has joined #scheme 13:55:52 Oh no, leppie. 13:55:54 :S 13:56:03 Ambulance there, on the way? 13:56:06 *eli* passes the coffie to leppie 13:56:08 dead guy under the one car :| 13:56:15 not nice to see 13:56:38 :S 13:56:41 Are you going to be okay, man? 13:56:42 Prokofiev is one of the few "classical" composers I actually like 13:56:55 not sure someone that contemporary can be called "classical", but whatever 13:59:08 nah, we went passed literally a minute or 2 after it happened, no ambulance yet, or tow trucks, people were trying to get people out of the one rolled car from what I tried not to see 14:00:19 joast1 [n=rick@76.178.184.231] has joined #scheme 14:00:32 :( 14:01:56 -!- 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:05:29 well, was not my, guess you it can happen to anyone at anytime, one can only be so alert, the rest is luck 14:06:40 incubot: memento mori 14:06:43 the function of sarahbot is as memento mori 14:10:26 exexex [n=chatzill@88.234.123.91] has joined #scheme 14:11:42 incubot: dominoes are hard, let's go shopping 14:11:44 i dunno, i only go shopping for food. 14:11:58 dzhus [n=sphinx@95-24-214-211.broadband.corbina.ru] has joined #scheme 14:12:32 -!- joast [n=rick@76.178.184.231] has quit [Connection timed out] 14:13:15 incubot: you lack sufficient meme knowledge 14:13:18 well, I'll admit dreaming may be necessary. But it sho' 'nuff ain't sufficient. 14:18:19 *offby1* resembles that remark 14:18:32 incubot needs to provide bibliographic citations with the quotes. 14:23:22 yeah i dont think incubot is much more than (vector-ref (random) (vector-filter string-longer-than-3 (string-split #\space input))) 14:27:52 -!- charmless is now known as charmless_sleepi 14:27:59 -!- charmless_sleepi is now known as charmless_sleep 14:35:37 -!- ikaros_ [n=ikaros@f051089176.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 14:41:49 -!- charmless_sleep [n=charmles@207.47.213.196] has quit [Read error: 54 (Connection reset by peer)] 14:43:15 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 14:43:25 alaricsp [n=alaricsp@88-202-202-163.rdns.as8401.net] has joined #scheme 14:43:49 charmless [n=charmles@207.47.213.196] has joined #scheme 14:44:06 well, it finds a quote that contains at least one word in common with whatever you say. 14:44:17 And I think it tries to choose the most "interesting" word, for some value of "interesting" 14:55:29 i think (define interesting random) :) 14:59:17 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 15:07:48 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:08:23 fabse [n=myfabse@wikipedia/Track-n-Field] has joined #scheme 15:12:51 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Read error: 104 (Connection reset by peer)] 15:21:37 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Remote closed the connection] 15:21:40 Hey leppie, 'double dispatch' ==> 'virtual methods' ? 15:22:06 :/ I'm trying to think up a way, so that messages to an object inside of itself, dont involve the dispatcher. 15:22:08 but that brings new issues, 15:22:29 like, message to a inherited function - which could use a function that IS overridden. 15:22:33 you need dispatching :/ 15:23:04 -!- charmless [n=charmles@207.47.213.196] has quit [Read error: 60 (Operation timed out)] 15:37:18 moghar` [n=user@157.185.jawnet.pl] has joined #scheme 15:38:25 -!- moghar [n=user@unaffiliated/moghar] has quit [Read error: 104 (Connection reset by peer)] 15:38:44 sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has joined #scheme 15:46:37 -!- sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has quit ["using sirc version 2.211+KSIRC/1.3.12"] 15:47:10 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 15:59:51 jcowan [n=jcowan@ddsl-74-209-24-85.taconic.net] has joined #scheme 16:00:30 *jcowan* unvanishes with reckless abandon. 16:03:10 sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has joined #scheme 16:03:57 -!- sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has quit [Remote closed the connection] 16:05:10 sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has joined #scheme 16:05:17 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 16:06:28 -!- sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has quit [Remote closed the connection] 16:07:06 sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has joined #scheme 16:09:10 -!- sepult [n=sepult@xdsl-87-78-122-228.netcologne.de] has quit [Remote closed the connection] 16:13:53 sepult [n=user@xdsl-87-78-122-228.netcologne.de] has joined #scheme 16:14:21 *hkBst* throws a banana peel back through time 16:14:41 *jcowan* slips on the banana peel at age seven. 16:15:46 -!- synthase [n=synthase@adsl-146-212-140.mob.bellsouth.net] has quit [Read error: 110 (Connection timed out)] 16:16:05 synthase [n=synthase@adsl-146-241-232.mob.bellsouth.net] has joined #scheme 16:26:31 Hey guys, 16:26:38 If like, I create a function inside of another function, 16:26:44 will that funciton be created over and over and over, every call? 16:26:46 even if I dont return it? 16:27:09 Ah, no, close over. Got it 16:27:10 :) 16:28:09 Judofyr_ [n=Judofyr@c8F99BF51.dhcp.bluecom.no] has joined #scheme 16:29:28 -!- Judofyr [n=Judofyr@c8F99BF51.dhcp.bluecom.no] has quit [Read error: 60 (Operation timed out)] 16:29:54 MrFahrenheit [n=RageOfTh@89.146.170.241] has joined #scheme 16:29:58 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 16:32:02 elderK: yes, semantically A procedure/closure will then be created every time you call the enclosing procedure. 16:34:44 "Procedure" tends to be used in two different ways: for the text, and for the closure object created from the text. This often confuses novices. 16:35:08 ikaros_ [n=ikaros@f051089176.adsl.alicedsl.de] has joined #scheme 16:37:24 -!- Judofyr_ is now known as Judofyr 16:37:44 -!- exexex [n=chatzill@88.234.123.91] has quit [Remote closed the connection] 16:42:12 hm/ 16:42:35 Is there a way for my o make my own OOish system, without having to send messages to classes explicitly? 16:42:36 ie: 16:42:46 in methods, I have to write (send-to this 'this-func args) 16:42:49 to call its own methods... 16:43:02 if it has virtual methods, the dispatches are needed :/ 16:43:11 You're looking for multimethods / CLOS, or something else? 16:43:27 multimethods? 16:43:36 Obviously not, then. 16:44:01 what are multimethods? :) 16:44:14 basically, I'm just writing a simple little OO thing for my own use :) 16:44:21 A form of multiple dispatch object system, where methods are not owned by classes. 16:45:00 what do you mean by OO? 16:45:09 object orientated. 16:45:13 just for fun 16:45:23 elderK: but what does that mean to you? 16:45:33 exactly! 16:45:35 "_ 16:45:35 :) 16:45:47 objects embody state, action. Thats all. 16:45:52 Which is why closing over andsuchloike is handy :D 16:46:22 Judging by what he has been talking about, I imagine that the words he's looking for are `message-passing, hierarchical class/instance taxonomy'. 16:46:29 there you go. 16:46:40 :P 16:48:24 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 16:48:32 Isn't that what CLOS is? 16:52:08 "Objects and their local state, the messages they pass / ... / In the Lambda Order they are all first-class." 16:55:31 Well, Scheme is a first-class language. :-) 17:00:12 Well, except for variables, variable bindings, and macros. 17:01:09 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 17:01:54 http://programming-musings.org/2007/01/29/the-lord-of-the-lambdas-2/ 17:03:58 Greg02_ [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 17:05:59 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 17:11:44 ^_^ I like in Scheme, that you can pretty much use any paradigm. 17:11:47 Like, if you want OO 17:11:48 you can build OO 17:11:55 If you want functional ,then be functional. 17:11:56 etc. 17:11:57 :) 17:12:15 You can do whatever you want. 17:13:41 -!- Judofyr [n=Judofyr@c8F99BF51.dhcp.bluecom.no] has quit [Remote closed the connection] 17:14:04 ...at Quux's Restaurant. 17:19:11 leppie: interesting isn't quite random; at least give him a little credit ;) 17:19:22 -!- sepult [n=user@xdsl-87-78-122-228.netcologne.de] has quit [Remote closed the connection] 17:20:10 log-biased selection on inverse frequency of occurrence 17:20:41 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 17:22:12 -!- hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has quit ["Leaving"] 17:22:59 hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has joined #scheme 17:24:33 elderK: i understand that creativity, genetics and competence may be constraints on doing whatever you want 17:27:05 luz [n=davids@189.122.121.232] has joined #scheme 17:33:30 Also primitive-recursiveness. 17:38:36 jewel_ [n=jewel@dsl-247-203-169.telkomadsl.co.za] has joined #scheme 17:40:48 -!- jewel_ is now known as jewel 17:41:31 -!- jao [n=jao@88.6.161.94] has quit [Read error: 104 (Connection reset by peer)] 17:42:01 klutometis: well, ja 17:42:10 klutometis: ;) genetics, pft. competence can be improved :P 17:42:23 klutometis: creativity? chill, relax, ponder + coffee. 17:42:25 ^_^ 17:42:28 And all goes well. 17:42:29 But primitive recursiveness is forever. 17:44:25 Once non-Turing-complete, always non-Turing-complete. 17:46:34 eno__ [n=eno@adsl-70-137-153-201.dsl.snfc21.sbcglobal.net] has joined #scheme 17:47:51 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 17:49:43 -!- Greg02_ [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 17:53:59 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 18:02:10 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 18:07: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"] 18:11:50 -!- eno__ is now known as eno 18:14:31 Any VIM users here? 18:15:47 Judofyr [n=Judofyr@c2391BF51.dhcp.bluecom.no] has joined #scheme 18:17:10 I really prefer it over EMACS but the Scheme support is kinda lacking.. I wonder if anyone's working on improvements? 18:17:26 I write my Scheme in 'ex' run under 'rlwrap'. 18:18:00 tnovelli: I think there's a couple of vi users here. elf uses nvi, for example 18:19:05 I only use vi for quick editing, emacs for coding and writing large documents 18:25:08 -!- ikaros_ is now known as ikaros 18:25:10 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 18:26:18 tnovelli: I'm in Vim :) 18:26:29 Well, I use Vim. 18:26:29 :) 18:26:44 For every language I code in, including Scheme 18:26:52 tnovelli: What do you want help on? 18:28:20 I wonder why Elf uses Nvi over say, Vim. 18:28:37 Because vim is bloated 18:28:42 elderK: cool. I noticed that things like #\( confuse the highlighter and indenter... wondering if anyone's fixed those annoyances. I'm using 7.1. 18:28:47 I also use nvi when I use vi 18:29:16 You mean the character ( when you say #\( right? :) 18:29:17 vim is also highly annoying if you're used to other vi clones because it acts slightly different, even in vi compat mode 18:29:34 As for the highlighter - it really depends on what style you are using. 18:29:47 Likewise, make sure Vim has it's syntax set to scheme 18:29:48 or even lisp 18:29:52 set syntax? 18:29:57 should tell you what it's on. 18:30:17 I don't autoindent, so, goodluck there. 18:30:33 yep, it's in Scheme 18:30:40 What is your color scheme? 18:31:13 elderK: torte 18:31:32 It perhaps doesn't define really much for Lisp/Scheme. 18:31:33 who knows. 18:31:44 The syntax highlighting in Vim for pretty much anything other than C sucks, aynway. 18:31:45 :p 18:31:51 and sjamaan, I'm downloading source ot Nvi now :) 18:32:17 hmm, 'default' is better for Scheme. I chose 'torte' when I was looking at Python 18:32:30 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 18:33:23 I quite liked elvis :) 18:33:55 elvis was cool, yeah :) 18:34:06 Or still is 18:34:07 btw, tnovelli, about syntax highlighting, I don't know - I generally just... put up with it. 18:34:22 I use the Reliable color scheme, slightly modified. 18:34:53 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 18:34:57 The only thing I really need/want from Vim? is the paren matching. 18:35:06 syntax coloring alone, I don't need. 18:35:06 :) 18:35:15 % :) 18:35:21 yeah, minor annoyances.. vim still works pretty well. Seems to have a lot of possibilities. 18:35:22 I think all vi clones have % 18:35:29 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 18:35:30 they should. 18:35:31 :) 18:35:38 I tend to use Vim for only a single reason. 18:35:48 nvi can even briefly flash back to the matching opening paren if you close it 18:35:58 And that is it has a nice port for OSx. 18:35:59 :P 18:36:12 Vim does aht too, Sja. 18:36:16 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 18:36:20 elderK: yeah, if #\( didn't screw up paren matching and autoindent, it would avoid some dumb mistakes I've made today. 18:36:22 -!- Judofyr [n=Judofyr@c2391BF51.dhcp.bluecom.no] has quit [Remote closed the connection] 18:36:37 Moment tnovelli, I want to try it. 18:36:55 btw, this page has some useful looking VIM tweaks... http://chicken.wiki.br/vim 18:37:05 aha. 18:37:06 it does 18:37:15 of course, I'm using mzscheme 18:37:49 definitely gotta look at Chicken sometime 18:37:49 I'm using Guile. 18:37:50 :) 18:37:54 Chicken is pretty sweet. 18:38:11 Actually, Guile pisses me off quite a lot. 18:38:14 How's mzscheme? 18:38:20 Isn't it like, plt? 18:38:27 it *is* PLT 18:38:49 aha. 18:39:51 well, it has a confusing array of names, and the phase separation thing is kinda anal-retentive (but probably better in the long run) 18:40:01 s/probably/possibly/ 18:40:21 *shrug* 18:40:22 :P 18:41:38 I'm yet to do anything serious with Scheme. 18:41:47 what scheme implementation is more mature? 18:41:48 I've done tons of playing around in it :) 18:42:47 I finally grokked it enough to get an infix expression parser working... so I can do e.g. (let ((x [dx + cos(a+pi/2.0)]))) 18:43:10 :P 18:43:26 I'm just writing a simple class thing. 18:43:35 :P My aspirations for Scheme, is simply, ot be my 'for fun' language. 18:43:41 Write little games and stuff in, for the hell of it. 18:43:47 :P I want to make a zany, truly messed up MUD or something. 18:44:07 yeah, it's good for that. what's your 'day job' language? 18:51:25 C 18:51:42 (cons a (cons b c)) == '(a . (b . c)) ? 18:51:56 (list a b c) ? 18:52:06 cky [n=cky@cpe-024-211-249-162.nc.res.rr.com] has joined #scheme 18:53:03 elderK: a list has a '() consed on at the end 18:53:13 alrighty. 18:53:16 well, I want a strict cons :) 18:53:22 is there a way I can do that without specifying cons? 18:53:31 imperfect list, I guess. 18:53:33 or whatever the term is 18:53:34 :) 18:54:53 dunno.. check SRFI-1 maybe, or roll your own. 18:55:02 sepult [n=buggarag@xdsl-87-78-122-228.netcologne.de] has joined #scheme 18:55:32 cons is primitive, so there is no way to do what you want without explicitly or implicitly involving it. The list* function of SRFI-1 returns (a b . c) from (list* a b c), but it does so with cons. 18:56:43 there ya go. 18:56:52 well, i'm off to the store before they close 18:58:59 Don't forget to shop for a few extra conses. 19:01:31 jao [n=jao@94.Red-88-6-161.staticIP.rima-tde.net] has joined #scheme 19:04:26 -!- sepult [n=buggarag@xdsl-87-78-122-228.netcologne.de] has quit ["Lost terminal"] 19:06:58 -!- dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has quit ["leaving"] 19:07:55 -!- moghar` [n=user@157.185.jawnet.pl] has quit [Read error: 113 (No route to host)] 19:08:51 jeff___ [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 19:09:08 arcfide [n=arcfide@ppp-70-246-150-121.dsl.stlsmo.swbell.net] has joined #scheme 19:14:24 -!- jeff___ is now known as dlouhy 19:14:46 sweet 19:14:49 got inheritance 19:14:50 ^_^ 19:14:51 and virtual methods 19:14:52 :D 19:15:15 Now if only I could make it so each method isnt rebuilt. 19:15:23 like, instead of redefining them in dispatchers and stuff. 19:15:25 *ponders* 19:15:45 oh, that isnt so hard. 19:15:48 *shrugs* 19:19:55 Does anyone have an R6RS library for SXML and Oleg's related utilities? 19:20:29 And hasn't someone ported parscheme to R6RS? 19:21:18 arcfide: derrick has quite a lot of other stuff, look under his launchpad account 19:22:24 leppie: By the way, that adjustment to the 42nd SRFI is a pretty good workaround, I remember that discussion coming up somewhere else, but I hadn't thought about actually doing it that way. 19:22:34 leppie: Do you know his launchpad account? 19:22:36 :) 19:23:04 start from here: https://bugs.launchpad.net/~derick-eddington 19:23:15 replace bugs with code 19:31:07 how would I take a string and seperate into a list of strings with newline as the delimiter? 19:31:47 pantsd_: What implementation and are you allowed to use SRFIs? 19:32:04 plt and yes 19:32:24 (string-tokenize s (char-set-complement (char-set #\newline))). 19:32:37 thanks 19:35:03 amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has joined #scheme 19:40:19 mejja [n=chatzill@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 19:41:43 I kind of wish I could find more stuff written in Scheme. 19:41:47 Like, practical stuff. 19:41:50 Like, games or something. 19:41:57 Just so I could see the mindset of other Schemers. 19:42:09 yeah 19:42:33 Sure, we can write our own type systems... or dispatchers... or... whatever. 19:42:51 but, ultimately, the only real thing that seperates Scheme from other langauges, really, is the freedom it allows. 19:43:01 It's own paradigm is total flexibility, raelly. 19:43:20 But, the 'paradigm' you choose to work in, at any given point, is really... not that different, depending. 19:43:35 Write procedural. Okay, more flexible than C or Pascal, but similar enough. 19:43:49 Write OO, okay, more flexible, more powerful - but, similar enough... 19:43:57 soupdragon: You know what I'm on about man? 19:44:16 Hopefully no one sees this as me saying 'down with scheme'. 19:44:18 It's just, musing. 19:44:19 :) 19:44:33 it seems like you're saying something positive about scheme to me 19:44:56 It's like, Scheme allows so much freedom, taht working in existing mindsets kind of sucks. 19:44:56 :p 19:44:57 are you implementing an object system right now? 19:45:04 Yeah, but ,only so I can make a littleg ame. 19:45:19 it's a simple enough Object system. 19:45:52 It's just like, if I'm going to use Objects, why not use C++ or Objective-C ? 19:46:00 and, I use Scheme anyway. 19:46:04 But, I find it interesting. 19:46:06 :) That's all. 19:46:20 There are established OO languages and yet, I still have this crazy urge to use Scheme. 19:47:18 I'm just trying to understand the odd scheme-urge. 19:47:18 :) 19:48:49 -!- Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has quit [Nick collision from services.] 19:49:05 Paraselene [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has joined #scheme 19:49:37 I would rather write in Scheme than Objective-C but I'm not really good enough to pull it off yet 19:51:13 Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has joined #scheme 19:51:34 Well, hey, what sells you Scheme over ObjC? 19:53:27 a combination of the eulisp and dylan object systems would be interesting 19:54:20 I guess the major selling point for me about scheme is, if I want to use OO or whatever for X project, 19:54:26 I don't have to 'fake it' 19:54:32 Like, I dont have o make a billion calls by hand, really. 19:54:40 I can embed it intothe language as syntax. 19:54:47 I just need to figure out how to do that well. 19:55:08 like, It sucks having to write (send-message self ' ) 19:55:22 for a method in an object, ot send a message to itself. 19:55:27 Has to be a way to cut that out. 19:55:40 How would I get an exception handler which just returns #f when any exception is caused? 19:55:58 a way to cut that out /and/ still support inheritance/virtual methods. 19:56:44 elderK: just use an object system that uses a different notation, or define (func-name self . params) for each function 19:57:15 ec, Im talking about if you write your own object system. 19:57:32 say, if in a method, you have a call to some function 19:57:35 if you don't like that notation, why do you use SEND-MESSAGE? 19:57:45 well, I dont know how to replace it :) 19:57:54 I still need the call to be directed through a dispatcher :) 19:57:56 somehow. 19:58:02 and so far, I only know how to do that explicitly. 19:58:13 (define (func-name self . params) (apply send-message self 'func-name params)) 19:58:16 for each func-name 19:58:36 you might be able to use a reader macro that turn [ ...] into (send-message self ' ...) 19:58:47 that'd be pretty sweet. 19:59:01 becuase I want to avoid duplicate methods being created. 19:59:02 ie: 19:59:06 if I have 9 "fudge" objects. 19:59:08 that is improbable, how do you differentiate between oo-methods and others? 19:59:10 and they all have the method "zugzug" 19:59:16 tehre is only one zugzug function. 19:59:17 ecraven: the square brackets rather than round 19:59:23 -!- Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has quit [""That's our secret... we kill you with kindness. What's your secret?""] 19:59:36 soupdragon: oh, sorry, i thought that was a PLTism 19:59:38 aye, Smalltalk style. 19:59:49 soupdragon: Where can I read about reader macros? :) 19:59:49 I don't know which schemes have CL style reader macros, but I'm sure some do 20:00:04 PLT does, as far as I know 20:00:07 elderK: well I don't know other than CLHS but that's a different language 20:00:25 Perhaps I should investigate CL more. 20:00:27 I dont know. 20:00:32 elderK: look into generic functions (tiny-clos for example) 20:00:33 I looked at CL before I came tothe Scheme world. 20:00:35 been in Scheme world first. 20:00:37 er, since. 20:00:46 elderK: you'll really like the book AMOP I think 20:00:52 AMOP? 20:01:04 elderK: Have you seen existing object systems for Scheme? 20:01:24 not really. 20:01:43 http://www.cs.indiana.edu/scheme-repository/code.html 20:01:43 :) 20:02:05 elderK: Look at those first. Additionally, what WOULD you like method call to look like? 20:02:35 well, Id like it so that.. it would stand out as little as possible :P 20:02:39 from normal lisp code. 20:02:47 then why not make it look like a normal function call? 20:02:47 at least, not require a LOT of extra typing. 20:02:53 I dont know how, ec. 20:02:59 other than waht you showed me. 20:03:00 elderK: Okay, so what *should* (send-message ...) look like? 20:03:11 (message args) 20:03:11 :P 20:03:18 (message self args) probably 20:03:27 and inside a class, 20:03:31 self would be autodetermined. 20:03:45 If it were me, I would make it (- ...). 20:03:47 (object message parameter) 20:03:51 aye 20:03:56 My first couple attempts were like that 20:04:03 Id also like to avoid '.... a lot too 20:04:04 ie: 20:04:12 (object 'this-func ) 20:04:29 use keyword type arguments (if your Scheme supports them) 20:04:39 ejs [n=eugen@252-32-135-95.pool.ukrtel.net] has joined #scheme 20:04:56 Paraselene_ [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has joined #scheme 20:05:31 (instantiate-object ...) then defines a series of - procedures which take their appropriate arguments. :-) 20:05:46 the part that makes this hard for myself, is I do /not/ want to pollute the namespace. 20:05:47 arcfide: can you elaborate on -? you mean like point-x point-y for a class point? 20:05:49 which is why I dont want 20:06:01 (objtype-method ) 20:06:04 elderK: Why do you not want to use the namespace? 20:06:17 Id rather ( ) 20:06:23 I dont know :P 20:06:24 ( ...) 20:06:24 I just dont. 20:06:25 *shrugs* 20:06:33 elderK: you should really look into existing oo systems 20:06:39 elderK: That's what it is there for. a method is essentially a procedure associated with a set of data encapsulated in an object, which can all be closed using procedures, so why not define them using the namespace? 20:06:41 google for tiny-clos, for example 20:06:43 or SOS 20:06:48 read AMOP... 20:06:49 or look on the wiki 20:06:59 what is AMOP, Soup? 20:07:04 soupdragon: tiny-clos is partly based on amop, i think 20:07:14 elderK: There are many object systems that exist already for Scheme, maybe you can gaine some inspiration from them. If you want the functions to be unobtrusive, you have to use the namespace. 20:07:23 I was considering having 'dispatchers' hidden in lets, with the methods defined for them, in those lets. 20:07:24 -!- rdd [n=user@c83-250-157-93.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 20:07:35 Aye, arc. 20:07:35 :) 20:07:37 You can make them somewhat nicer using syntax to avoid quoting and the like, but regardless, you will still not have something as concise and clean as if you actually used all that Scheme offers. 20:07:39 -!- Paraselene [n=Not@79-67-131-126.dynamic.dsl.as9105.com] has quit [Success] 20:07:56 how do you mean all that scheme offers, arc? 20:08:00 ie: the namespace? 20:08:08 elderK: You should think at a high-level of what you want your object system to do and how you want it to be used, and then you can make everything else work from there down. 20:08:18 ie: (objtype-method instance args) isnt as clean as [object message: args] 20:08:59 elderK: Yes, you have the ability to generate lot's of unique names automatically with macros so that you can use a single call to populate the environment with all the object methods, so why not do so? It hides a great deal of nitty gritty, as well. 20:09:01 elderK: do you know what keywords are (in a lisp context) 20:09:15 yup 20:09:24 elderK: I'm saying (instance-method args ...). 20:09:26 I didnt mean message: as a keyword :) 20:09:27 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has quit [Read error: 110 (Connection timed out)] 20:09:45 good point, arc. 20:10:02 I was thinking I would have to use syntax-case to introduce new names though 20:10:31 but, I shouldnt if I provide the names in the define-class thing. 20:10:32 :) 20:10:37 So: (define-class ( ) ...) and then (instantiate-object ) which you can then use the for that by doing (- ...). 20:10:48 or just 20:10:59 (define-method ) 20:11:01 then you can later on 20:11:10 (define-method-instance ) 20:11:23 and it keeps putting more definitions into the procedure called 20:11:44 if you don't want to use implementation-specific code, you need to use a macro to expand into (begin (define ...) (define ...)) when defining multiple functions 20:12:00 aye 20:12:06 I noticed that earlier. 20:12:43 elderK: The bottom line is that you can do it, so if you don't like existing systems, do it the way you want, and don't worry about it not working, because you can probably make it work. On the other hand, you should see how others have done it before you so that you can catch yourself from making decisions that will trouble you later in life. 20:13:05 Aye. 20:13:13 What would be useful, 20:13:25 is if I understand how to return quoted scheme code, that I could then use. 20:13:38 look at unhygienic (or low-level) macros 20:13:45 which Scheme do you use? 20:13:48 Guile. 20:13:51 But is there a way to do it portable? 20:13:54 elderK: You sinner. 20:13:59 Trust me, Guile blows. 20:14:02 but it was already on my system, 20:14:03 :-P 20:14:03 *shrug* 20:14:16 use defmacro or define-macro 20:14:36 so, in order to use quasiquoted code, oyu have to like, use lowlevel macros? 20:14:55 Do you understand what a macro does and how it works? 20:15:08 Neh, I use syntax-case, others use other macro systems, and unless you want to limit yourself to R6RS, there isn't a portable way to make the macros that will construct the identifiers for you, on the other hand, many of the Schemes have SC, ER, or Syntax-case. 20:15:12 I understand how to /use/ syntax-rules? 20:15:16 and how it rewrites? 20:15:28 elderK: If you can, I recommend avoiding define-macro, and instead use on of the others based on define-syntax. 20:15:30 How and when macros are expanded 20:15:49 I think so, ec. 20:16:05 I have some questions about that though, in relation to syntax-rules 20:16:24 (some-macro-name (+ 12 345)) 20:16:29 say ,a macro that takes two parameters. 20:16:45 I was wondering if the (+ 12 345) would be expanded first? 20:16:49 or, would hte macro rewrite everything, 20:16:54 and then, when the code was all done generating, 20:17:01 like, down to the simple-core forms and whatnot, 20:17:15 macros expand from outside to inside 20:17:25 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 20:17:29 so, itd rewrite then expand. 20:17:34 ? 20:17:35 elderK: you should read a section in a book that discussion macro expansion. 20:17:40 I have :( 20:17:42 a few times :( 20:17:45 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 20:17:59 it carries on expanding, till nothing more can be expanded 20:18:46 then you are mostly left with a few thousand lambda's :) 20:18:54 heh, aye. 20:18:58 what I mean though, is if I have this : 20:19:03 (macro arg (+ 1 2)) 20:19:05 http://www.scheme.com/csug7/syntax.html#./syntax:h1 20:19:09 will it end up : (macro arg 3) 20:19:13 Read the first paragraphs. 20:19:13 then the macro would be expanded? 20:19:16 okay, thanks arc. 20:19:30 Probably up until the second paragraph of 10.1 20:19:38 this macro works in guile (define-macro (push! elem lst) `(set! ,lst (cons ,elem ,lst))) 20:19:45 leppie: you're the ironscheme guy, no? I like the new ICallable interface, very useful for integrating into c# projects. but are there plans to revise the arity function? 20:20:12 elderK: if you still can't answer the above question from those paragraphs, come back. :-) 20:20:13 Fufie: yeah, im the ironscheme guy :) 20:20:29 so if you type (push! 'a x) that gets expanded to (set! x (cons 'a x)) and that is evaluated later 20:20:33 What is ironscheme? 20:20:34 leppie: right now the arity returns no less than three different disjunct types for arity.. 20:21:03 minion: what is ironscheme? 20:21:04 what would a bot like me know about ironscheme ? 20:21:08 scheme in C# 20:21:15 yup... 20:21:15 OH, that's right, minion, you hate R6RS, don't you? :-) 20:21:20 Ah ok. 20:21:22 im still thinking of ideas, actually ICallable has now been replaced with a Callable base class 20:21:35 it would remain (+ 1 2) until the macro had been done expanding. 20:21:35 well it will be replaced in the next checkin 20:21:52 Does anyone know where the parscheme R6RS port is? 20:22:04 fufie, what do you mean? 20:22:21 where as (+ 1 (+1 2)) would evaluate (+1 (+ 1 2) -----> (+ 1 3) ----> 4 20:22:29 add an extra ) 20:22:29 :) 20:22:47 elderK: Have you also read the chapter in SICP about applicative versus normal order evaluation? 20:22:51 yup 20:22:57 sure have. 20:23:01 elderK: and you don't know the answer to the above question? 20:23:10 yes, but I was making sure. 20:23:11 Oh wait,I see. 20:23:17 Yes, you answered correctly. :-) 20:23:19 leppie: ok.. didnt find the callable here :) arity seems to return int32 for basic functions, double for functions with &rest parameters (yes, i'm an old common lisper), multiplevalues object in some cases and an unspecified noname object at some point 20:23:26 -!- rbancroft [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has left #scheme 20:23:28 -!- ejs [n=eugen@252-32-135-95.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 20:23:43 elderK: You can remember this easily when you recall that 'if' need different semantics than a normal procedure. 20:23:45 I was just wondering, whether the applicative order evaluation happened before the syntax-macro expander took effect, but from reading the link, I find that the evaluation ahppens after hte macro is expanded as far as it can be. 20:24:15 the macro and all macros in the macro and so forth. 20:24:15 elderK: that is why there are two phases. One phase is macro expansion, the other is evaluation. 20:24:16 :) 20:24:56 leppie: a unified object/interface would help integrate things with c# I think.. might way for your checkin and have a look 20:25:12 This is also the reason you cannot define an internal procedure normally and then expect to use it in the right hand side of a syntax definition. 20:25:17 anywho, arcfide, basically what I wanted my 'oo syntax' to be like, was this : 20:25:25 yeah, that is not really accurate as it could be a be a case-lambda, I simply return a value for each 'branch', probably not a way to do it, but the other notation is the same as larceny uses 20:25:26 from the toplevel or wherever the object is, 20:25:32 (instance method args) 20:25:39 from within the method itself, 20:25:49 it could call other methods in the class, by just saying (other-method args) 20:25:54 but only within that class. 20:26:01 otherwise itd have to send to another instance or whatever. 20:26:03 the long way. 20:26:09 moghar [n=user@unaffiliated/moghar] has joined #scheme 20:26:17 this would mean your *instances* need to be callable 20:26:18 elderK: You can do this, and it's not too hard. 20:26:19 -!- dzhus [n=sphinx@95-24-214-211.broadband.corbina.ru] has quit [Remote closed the connection] 20:26:30 yup, ec. 20:26:31 and yup, arc. 20:26:32 :) 20:26:42 its just, I also make this difficult for myself for a few reasons :P 20:26:43 Fufie: I have run some benchmarks and the way I constructed my method calls are probably the slowest I could do it, doing it with a combination of an interface and a delegate 20:26:53 1) I want to minimize the amount of lambdas that are generated :P 20:26:54 ie: 20:27:04 elderK: Why? 20:27:06 why have the lambda creating a function, inside the say, constructor? 20:27:11 elderK: don't optimize prematurely :) 20:27:12 when the code is identical across them all, 20:27:19 save for perhaps the binding of "self" 20:27:20 or something 20:27:20 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:27:31 why differentiate between "local" calls and others? why not always use (object method params ...)? 20:27:32 I figure the compiler itself is smart enough to deal with that. 20:27:36 code might be the same but code values might not. 20:27:39 minion: advice for elderK 20:27:39 elderK: #11923: Never catch a signal except as a last resort. 20:27:40 leppie: in my case I want to define model+unittest code in scheme, but let c# code easily access it and know at least the number of arguments 20:28:05 -!- cky [n=cky@cpe-024-211-249-162.nc.res.rr.com] has quit ["Rebooting"] 20:28:15 cool Fufie, let me know how that goes, sounds interesting 20:28:20 elderK: Write the thing so that it works, and then optimize if and when you need to: correctness first. 20:28:29 okay arc. 20:28:29 :) 20:28:35 :P I also want ot have the dispatch table based :P 20:28:44 ie: transform the symbolic names into integer indices. 20:28:46 elderK: Why do you want it to be dispatch table based? 20:28:52 use those indices to reference tables 20:28:54 leppie: so the trunk of ironscheme looks interesting with the icallable, so I look forward to seeing the changes you've done wrt callable 20:28:55 would it not be faster? 20:28:56 Why? 20:28:57 than a giant, long cond? 20:28:58 or case. 20:29:05 Do you think you need a cond? 20:29:15 elderK: do you want multiple or single dispatch? 20:29:18 just : ((vector-ref ) self args) 20:29:39 I have a quesiton about that ec. 20:29:46 elderK: There you go with that optimization stuff again. 20:29:47 if I have virtual methods or inheritance, that implies multiple dispatch, no? 20:29:49 also, don't optimize prematurely! 20:29:52 Try to make your code clear and correct first, then worry about that. 20:29:58 elderK: no 20:30:04 :) fill me in, ec :) 20:30:06 I'm all ears. 20:30:07 :) 20:30:13 You're presuming that you actually need all this infrastructure to start with. It may happen that you don't need it at all! 20:30:14 multiple dispatch means (method param1 param2 param3) depends on the type of all three parameters 20:30:19 all eyes... 20:30:29 single dispatch means (method self param1 param2) only depends on the type of self, not the other params 20:30:36 Fufie: most just performance choice, I can save over 70% on indirect method calls, and pretty much make them as fast as direct ones 20:30:38 yup, single dispatch. 20:31:00 although multiple-dispatch would be neat for overloading, but it isnt really needed. 20:31:01 :) 20:31:05 most commonly known systems (C++, C#, Java, Objective-C?) are single-dispatch 20:31:05 im okay with no overloading and whatnot. 20:31:06 :) 20:31:26 I would figure C++ to be multiple dispatch 20:31:27 just asking because the simple table dispatcher doesn't work for multiple dispatch ;) 20:31:33 it is obviously not 20:31:34 Fufie: the it's just a simple base class now, instead of the interface, almost no breakage, except you would have to rename the type 20:31:35 int func(int) int func(char) etc. 20:31:46 elderK: read what i wrote 20:31:58 the ICallable 20:32:05 leppie: I saw some of your notes wrt dot-notation for "external" calls, much like what was done on jvm by kawa in the days instead of the (clunkier) clr- prefix.. is that something you plan to address in the near future? 20:32:16 in C++ I think it's virtual functions, they get dispatched at compile time 20:32:23 (could be wrong.. here?) 20:32:25 aye. 20:32:28 or rather, i didn't explicitly write it ;) multi-methods dispatch based on the *dynamic* type of all parameters 20:32:37 okay, there we go. 20:32:37 :) 20:32:48 all of the 'binding' ftmp, in C++, happens at compile time. 20:32:49 not at runtime. 20:32:51 c++ can only dispatch based on the dynamic type of the *first* parameter. 20:32:54 leppie: e.g f# has very convenient syntax for those calls 20:33:00 (where the first parameter is actually the object the function is called on) 20:33:06 yup 20:33:11 the rest is handled at build time. 20:33:19 *sladegen* adds mop to elderK's reading list and renames him to elderK:) 20:33:22 alrighty, im all good wiht single dispatch then 20:33:24 foo->fun(bar, baaz) depends on the dynamic type of foo and the static types of bar and baaz 20:33:29 Fufie: that's still something im pondering about, I would like to make life very transparent if possible, but not by cheating Scheme :) 20:33:50 well, aye ec. 20:33:56 elderK: do you want multiple inheritance? 20:33:57 but the type that foo will be is known as build tiem :P 20:34:00 no 20:34:05 single inheritance is fine 20:34:20 elderK: no, the dynamic type of foo is not (normally) known at compile time (neither in c++ nor in scheme) 20:34:28 but it is, ec. 20:34:37 foo is a pointer. 20:34:41 leppie: is it possible to make a wiki on codeplex(?).. no offense, but the docs are a bit scattered, so making some notes as I set things up might help others ;) 20:34:43 in C/C++, static types. 20:34:45 indeed, but to what class? 20:34:46 you can cast and whatnot 20:34:51 it doesnt matter. 20:34:54 you created the pointer 20:34:58 the pointer identifies the class type. 20:35:04 its known at build. 20:35:07 of course it does, the actual method called depends on the exact dynamic type 20:35:12 c++ *does* have multiple inheritance 20:35:27 Fufie: is that possible? I can add you to the project, you may have the permissions to create pages 20:35:28 and the dynamic type of any pointer is *not* known at compile time (otherwise it wouldn't be the *dynamic* type) 20:35:32 C++ is kinda dynamic, but no where near as dynamic as ObjC :) 20:35:50 do you know what the "dynamic type" and "static type" of a pointer are? 20:36:04 static type of say, char *p is char 20:36:14 ? 20:36:14 Fufie: i fear when I start documenting, I might end up with a book, and a few years later 20:36:23 elderK: if you only want single inheritance and single dispatch, just number the methods of your hierarchy, and index into the actual type's method vector 20:36:31 :P aye. 20:36:33 that was my plan 20:36:39 Foo *p = new Bar; (where Bar is a subclass of Foo) 20:36:45 static type of p is Foo, dynamic type is Bar 20:36:48 leppie: i could register.. ironscheme looks very useful but I needed to UTSL to get things working, which was a pity becuase once you start reading the code it's not too hard to get it working, but sometimes hard to know if you're doing it "right" 20:36:57 does anyone have some GUI program written in Kawa? 20:37:08 aye, ec, but only the foo part of bar willbe usable. 20:37:18 leppie: Do you know where an R6RS foof-loop is? I believe you mentioned it before? 20:37:22 that includes the overriden methods if any. 20:37:24 soupdragon: had some about a decade ago.. agent interaction system 20:37:31 soupdragon: dunno where it went 20:37:34 no, if you call a method that Bar overlodes, any call to p->fun will use Bar's version 20:37:34 arcfide in my SVN 20:37:40 ^^ 20:37:40 :P 20:37:44 leppie: There's no public version? 20:37:58 https://ironscheme.svn.codeplex.com/svn/IronScheme/IronScheme.Console/lib/ 20:38:06 it's portable 20:38:08 anywho, dealing wiht inheritance and virtuals, with a table system is interesting. 20:38:16 do I have a single table? 20:38:27 you need one table for each inheritance hierarchy 20:38:31 aye. 20:38:31 (at least :) 20:38:39 I figured the same :) 20:38:45 leppie: Do you have nested foof-loop there? 20:38:47 any hierarchy must be a tree (due to single inheritance) 20:38:48 Its fun pondering this stuff 20:38:49 :D 20:38:58 so one vector with methods for each tree 20:39:01 nope arcfide: that's your exercise :p 20:39:28 ie, say bar-class will have {f1, f2, f3} 20:39:37 foo-class that inherits bar 20:39:55 wil have {f1, foo's new f2, f3, >} 20:39:57 and so on 20:39:59 no? 20:40:44 yes, and each class has a vector with functions. each tree has a mapping from function to index 20:42:20 yup 20:42:46 how do I get the current size of the function-table, for a given class/superclass, etc, without polluting the namespace? 20:42:50 or making reflective calls? 20:42:57 like, class-ftab-size 20:42:58 :P 20:44:06 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 20:44:53 do you want first-class classes? 20:45:44 ie: seemingly built-into the language? 20:46:37 no, do you want classes as values (like in smalltalk) or only implicitly (like in c++) 20:46:41 "first-class" and "seemingly built into the language" are totally not the same 20:46:56 if you have first-class classes, then you can just store all that stuff inside the class 20:47:00 if you don't, then you still need them :P 20:47:33 I want to be able to pass instances around like values. 20:47:36 but not classes. 20:47:54 but you just gave me an idea. 20:47:59 specify a blueprint as it were. 20:48:06 all the needed crap comes from the blueprint. 20:48:09 instead of hte class only beign a name 20:48:17 have it as a repository of info. 20:48:24 the tables, needed lengths, etc. 20:48:27 all part of that repository. 20:48:40 accessible only by instances and... by class-creating macros. 20:48:44 yes, that's what a c++ compiler keeps during compilation, you just keep it for runtime 20:48:57 similar to Objective C's runtime. 20:49:34 Like, I need it so that that information is only really visible when the class-gen-macros are working 20:49:42 not visible to general code. 20:49:49 or, like, methods in a class. 20:49:59 the length of the function tables, etc, all reasonably hidden. 20:50:35 which can be done reasonably easily, really. 20:50:39 make the class callable. 20:50:44 query it for info. 20:50:58 just liek in reality, how you can open up a blueprint for some place, looks around, find what you need ,close it. 20:51:01 put it back in your suitcase. 20:51:02 or whatever. 20:51:03 lol 20:52:35 ^_^ Its neat htat in scheme, we can actually ponder these things ind etail. 20:52:43 where as in Java, C++, ObjC, etc. 20:52:47 they just are. 20:52:50 they are forced on you 20:52:53 you cant really change them 20:52:59 it /is/ the langugae 20:53:03 where as these are extensions to scheme. 20:53:25 likewise, you can think about this in C, but even so, it wouldnt end up as 'clean and embedded' as it would in Scheme. 20:53:36 unless of course, you ran your C through a preprocessor.... but thats kind of cheating. 20:53:36 :P 20:53:58 This is part of why people love Lisp :) 20:54:10 but in a way, thats exactly what Scheme is doing, just, behind the scenes and whenever you want 20:54:21 the macro system in Scheme is basically just a preprocessor. 20:54:22 right? 20:54:22 :) 20:54:27 no 20:54:34 damn, I thoguth I was on a roll there. 20:54:35 well, depends on what you mean by "preprocessor" 20:54:39 One day, Im going to say stuff here and be right, one day. 20:54:40 :P 20:54:44 In one sense, it is a preprocessor. 20:54:59 it is not a preprocessor like the C preprocessor 20:55:02 There are implementations of it that are preprocessors (like alexpander) 20:55:06 s/not/not only/ 20:55:06 preprocessor, transforms the code you typed - into what it REALLY means. 20:55:14 Quite. 20:55:23 The C preprocessor is a particularly crude preprocessor. 20:55:27 the C preprocessor is simple, rudimentary. 20:55:36 where as the Scheme preprocessor, happens whenever you want it to, 20:55:41 but Ill call it an expander instead. 20:55:48 you type all your code, allt he macros, etc. 20:55:58 the macros tell the preprocessor how to expand the macros as they appear in the scheme code. 20:56:00 and so, it does that. 20:56:02 before evaluation. 20:56:04 :) 20:56:06 thats what I mean, ec. 20:56:06 :) 20:56:45 its just, built into scheme. 20:56:51 where as with C, its external and clunky as hell. 20:56:51 :P 20:57:17 iirc, Objective C started as a preprocessor for C :) 20:57:20 (Do the colons help?) 20:57:33 So did C++. 20:57:44 It was quite interesting learning about ObjC's runtime. 20:57:51 Yes, and lisp macros inherently produce correct syntax 20:57:53 Spent a week or so reading through GNUStep's source. 20:57:57 The line between a preprocessor and a compiler is fine to nonexistent. 20:57:58 well, the core runtime's source. 20:58:26 aye. 20:58:46 ^_^ lisps preprocesor/macro expanders are neat, because they are reasonably intelligent. 20:58:48 well, more than C. 20:58:52 In that, like you said ec, 20:58:55 they produce correct code. 20:58:59 Typical preprocessors, however, only understand part of their input and pass the rest directly to the output. A Scheme macro expander has to understand all of its input, at least for some value of "understand". 20:59:01 ^_^ they even deal with patterns! 20:59:03 gosh, so much nicer than C 20:59:11 where it mindlessly substitutes. 20:59:11 :P 20:59:38 I should probably read up on and start using syntax-case over *-rules 20:59:47 Scheme expanders must mindfully substitute. 20:59:47 seems to be more useful and neat. 21:00:09 :( also seems rather more complex. 21:00:17 IMO, syntax-rules has everything you reasonably need. 21:00:22 Aye. 21:00:27 Of course your notion of "reasonable" may not be mine. 21:00:38 cky [n=cky@cpe-024-211-249-162.nc.res.rr.com] has joined #scheme 21:00:42 well, I figure in any case, getting familiar with the older stuff is a good idea, that way, I can 'graduate' to the newer stuff. 21:00:42 :) 21:00:52 that way, when I do, Ill be more likely to grok it. 21:00:56 hopefully. 21:01:08 *elderK* looks hopeful and positive 21:01:31 unhygienic macros are very simple to understand, yet very hard to write correctly 21:01:38 aye. 21:01:50 I read about them quite a lot when I was learning about CL. 21:01:55 which is why I like Scheme more :P 21:01:58 That's a bit of an overstatement. 21:02:16 They both have their pros/cons. 21:02:17 :) 21:02:57 chandler: why? 21:03:14 Maybe the "very" isn't correct ;) 21:03:15 i like bending hygiene :p 21:04:24 There is an important distinction between a macro that deliberately introduces a name not found in its input, and a macro system that fails to record any hygiene information. In the latter, it is not merely hard to write macros `correctly'; such a macro system is intrinsically a bug. 21:04:32 what seems cool about syntax-case, is that you have the choice, without using implementation specific stuff? 21:04:46 SYNTAX-CASE is full of implementation-specific details. 21:04:57 really? 21:05:01 Yes. 21:05:10 I thought syntax-case was like, the god of schemey macroness? 21:05:18 it is not 21:05:24 like, the next-gen standardized schemey-macrosystem. 21:05:25 :P 21:05:30 Certainly in the sense of being the most complex, yes. 21:05:36 And the one used in R6RS. 21:05:40 like syntax-rules is the current standardized-schemey-macrosystem. 21:05:41 :) 21:05:45 I don't know what `the god of schemey macroness' is supposed to mean, but there are several incompatible variants of SYNTAX-CASE, and several different interpretations of the one partially formalized in the R6RS. 21:06:06 Codified, I ought to say, not formalized. 21:06:10 aw. 21:06:17 I am, shall I say, philosophically opposed to macros that introduce names not present in their input. 21:06:17 Ill stick to syntax-rules then 21:06:18 :) 21:06:19 for my sanity. 21:06:20 :) 21:06:36 Thats one thing about C I really, really liked - at least when I started seriously using it. 21:06:39 Not that you can't have insanely complex syntax-rules macros already. 21:06:42 And that is, standardized. 21:06:49 I never used anything that wasnt crossplatform if I used outside libraries. 21:06:52 I never used compiler extensions. 21:06:55 Always ANSI C. 21:07:01 compiled everywhere. 21:07:18 jcowan: so you don't like LET? :) 21:07:35 jcowan: or did I just misunderstand that 21:07:39 :) you know, in the past few days, I think Ive made some good progress in learning Scheme. 21:07:42 makes me feel happy. 21:07:43 ^_^ 21:07:46 ecraven: i think you did 21:07:58 ecraven: No, LET does not introduce any names not present in the input. 21:07:59 I mean, now I can use Macros! I understand more abotu closures and that they are the key! 21:08:01 What names does LET introduce that did not occur in its input, ecraven? 21:08:27 ^_^ Joy to the world. 21:08:36 *elderK* dances 21:08:45 *leppie* sleeps 21:08:45 *elderK* decides it may be time to stop drinking coffee 21:08:52 I am talking about such abortions as AIF, which magically binds the name IT to the value of the first argument when evaluating the second (or third, as the case may be) 21:09:04 *elderK* talks less loudly as to not disturb leppie 21:09:05 :) 21:09:39 ecraven: The combination of multiple namespaces and the package system tends to reduce what would otherwise be quite frequent instances of accidental capture. 21:09:58 jcowan, Riastradh: I misunderstood. So you object to the DEFINE-RECORD-TYPE-like macros that create "-"-like functions? 21:10:03 elderK: The key to using syntax-rules macros well is to read JRM's Syntax-rules Primer for the Merely Eccentric, and stop whenever it no longer makes any sense to you. You then know all you are equipped to know at this point. If you find the need to know more, go back and read it again. 21:10:11 ecraven: I do. 21:10:12 elderK: how are macros related to closures? 21:10:18 As do I :) 21:10:35 they arent 21:10:37 The standard DEFINE-RECORD-TYPE macro in SRFI 9 introduces no names that did not occur in the input. 21:10:43 I just am glad I learned about them both 21:10:44 :) 21:10:45 ecraven: It's not common to bind with FLET or LABELS a name which is used for a global function. Some other kinds of bindings only exist at the toplevel environment (type names, for instance). 21:10:56 and that I understand them in a way that doesnt make me want ot run away in frustration 21:10:56 :D 21:10:56 Riastradh: But one of the ones in scsh (and scheme48) does 21:11:19 There's not really such a concept as a global lexical variable which could be shadowed - the closest thing is a symbol macro, and their use is quite uncommon as well. 21:11:21 and Ive read JRM's primer, quite a few times 21:11:24 in fact ,I have it in hardcopy. 21:11:29 I read it as I fall asleep. 21:11:34 I find I remember more that way. 21:11:39 have r5rs in hardcopy too 21:11:39 :) 21:12:29 Which is not to say that there isn't a reason for hygiene, just that the typical Common Lisp user probably doesn't find themselves in an accidental capture situation all that often. 21:12:34 (Seriously, does the profusion of colons help the discourse?) 21:12:52 Hm? 21:13:34 Are you referring to emoticons, or to addressing nicknames in messages? 21:13:43 emoticons I believe. 21:13:45 `:) :P :D ...' They keep popping out of elderK's keyboard. 21:13:59 I grew up online. 21:14:03 chandler: I just wanted to point out that it is tricky to write unhygienic macros that work correctly regardless of their environment 21:14:10 Expressing my emotions is reasonably second nature now. 21:14:19 Bad habit. 21:14:22 They provide potentially valuable clues to elderK's state of mind, should he be, for example, the subject of a future murder investigation. 21:14:30 Hehehehe 21:14:33 Precisely. 21:14:38 Gosh, whom did elderK just murder? 21:14:41 Anyone here have much to say about Gambit? 21:14:44 Or perhaps, Bigloo? 21:14:50 I'm looking for a nicer Scheme than Guile. 21:14:59 What counts as nice? 21:14:59 It's not really necessary when it comes to discussing programming. I find that people who are emotional when working with software often end up expressing emotions of anger or sadness because software does not often work the way it should work. 21:15:08 Well, something that can produce binaries, for one. 21:15:21 Apparently Bigloo can produce jars, I wonder if you can write applets in Scheme then :D 21:15:24 That'd be kind of neat. 21:16:00 Ikarus seems decent too? 21:16:16 If you want compilation to C, your choices are Gambit (very fast, not so big a library), Chicken 3 (not quite as fast, very big library), or Chicken 4 (as fast as Chicken 3, more standards-compliant, library still growing as it gets ported from Chicken 3) 21:16:20 elderK: http://hop.inria.fr for bigloo 21:16:37 (There is Stalin, also.) 21:16:59 Does Chicken 4 have bignums out of the box, or is loading a separate module still required for a full numeric tower? 21:17:01 -!- blackened` [n=blackene@89.102.28.224] has quit [] 21:17:32 Separate module -- but that module *is* ported. 21:17:44 Ypsilon, Ikarus, Gambit, Chicken, Larceny, Mzscheme all seem reasonably interesting. 21:17:52 I just wonder which of them would be rated 'most popular' 21:17:54 It's partly a matter of licensing: Chicken is BSD, GMP is of course GPL. 21:17:55 or, most widely used. 21:18:24 I generally use Chicken on Linux. 21:18:32 but I havent tried any others except for Guile. 21:18:33 GMP is not the only choice when it comes to large integers. And it's LGPL, not GPL. 21:18:34 And so far, Guile is bugging me. 21:18:37 Hmm, no, it's LGPL. A brain fart. 21:18:42 elderK: You could always join the darkside and play with Chez, but you want a compiler, which means you'd have to pay. ;-) 21:18:54 I dont necessarily need a compiler :) 21:19:03 I've checked out petite-chez, I havent used it. 21:19:15 Bottom line, you probably won't do worse than Guile. ;-) 21:19:17 Not *necessarily* true; the bytecode compiler in Petit has reasonably good performance, and it's possible to embed it in other binaries without paying IIRC. 21:19:28 chandler: Yes. 21:19:33 (But I'm sure you already know that.) 21:19:53 I did a big chunk of a project on Petite Chez, and then discovered that it treats () as self-evaluating, which gave me a headache when I had to convert it to R5RS. 21:20:15 Why were you depending on that? 21:20:22 Accident. 21:20:24 *elderK* ponders. 21:20:26 jcowan: I've never had that problem, and that won't be the case for long. ;-0 21:20:37 jcowan: Oh wait, you were depending on that? :-P 21:20:41 I was at the time rather in a CL mindset and was in the habit of typing () rather than '(). 21:20:46 I'll use Gambit, since it has a shiny package I dont have to build. 21:20:46 :) 21:20:54 LOL 21:20:56 elderK: What OS? 21:20:59 OSX. 21:21:10 *arcfide* thought all of them had pretty packages. 21:21:11 I like scheme48 and mit-scheme 21:21:21 why s48? 21:21:23 MIT Scheme is not a bad Scheme to use. 21:21:38 I've checked out s48 a few times. It seemed decent. 21:21:49 But I would like in the future to interface with C code or libraries. 21:22:02 so I can make a zany disturbing Zelda-like. 21:22:05 That could be fun.... 21:22:12 Chicken's FFI is very nice, but I don't know much about other FFIs. 21:22:27 I wish I knew more about Chicken's FFI. 21:22:42 Like, how to say, create stuff on the heap from C, but have it controlled by Chicken's GC. 21:22:50 Or something similar to that. 21:22:56 If I'm writing in Scheme, I want to do as little as possible in C. 21:23:08 charmless [n=charmles@207.47.213.196] has joined #scheme 21:23:11 PLT, Chicken, and the full Chez all have reasonable FFIs. 21:23:22 Petite Chez doesn't have an FFI because the FFI relies on the compiler. 21:23:27 Scheme48 also has an FFI. 21:23:30 PLT seems reasonably bloated though compared to most. 21:23:41 On what basis do you make that statement? 21:23:53 MIT Scheme has been used to write code that depends on C code (Edwin), but I'm inclined to wonder of the sanity of the programmers thereafter. 21:24:28 Why does Edwin depend on C? 21:24:37 chandler: It's interfacing with X. 21:24:45 That definitely doesn't require C. 21:24:51 Oh? 21:24:58 The code I saw had C code in it somewhere. 21:25:04 arcfide: i looked at the C code.. not a pretty sight :) learned a few things about C macros 21:25:17 Somehow they've managed to integrate C code into Scheme programs in MIT Scheme, but I don't know how. 21:25:17 chandler: Does any Scheme have native X bindings? 21:25:18 I'm sure you're right about what Edwin uses, but I'm wondering why they chose to do that. 21:25:22 i.e. not using libx? 21:25:39 arcfide: mostly by defining new opcodes for the vm 21:25:52 ecraven: Okay. :-) 21:26:03 s48 seems nice. 21:26:25 Wish I could find more examples though 21:26:29 ecraven: I'm not aware of anything. 21:26:35 elderK: Blimey dude, you're from Guile, of course it looks nice. ;-) Grab 'em all, and start playing! :-) 21:26:55 lol 21:27:01 What's so bad about Guile? 21:27:06 :P Apart from it's crappy interpreter. 21:27:06 :P 21:27:10 The page http://chicken.wiki.br/man/4/C%20interface explains how to write C functions that do Chicken-y things, including allocating on the Chicken heap (which is the C stack). 21:27:12 *arcfide* suddenly thinks of the "Gotta catch 'em all" pokemon song. 21:27:14 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 21:27:40 jcowan: what about situations where a C function returns something on the heap? can I have that controlled by Chicken's GC? 21:27:41 chandler: would be nice though :) maybe using the xcb xml description stuff 21:27:41 ie: 21:27:42 ecraven: It would be an interesting exercise, though. CLX was written by hand, but these days there is an XML description of the protocol maintained with the server. 21:27:47 Yes, that's what I was thinking of. 21:28:02 have it enclosed in something so that when chicken releases that,it also releases the dynamic stuff? 21:28:03 though i looked at it, and it's a bit strange in places, not describing everything but assuming things 21:28:28 elderK: You'll need to understand how Chicken's heap and garbage collector works to answer that question. 21:28:49 elderK: Sort of. You can receive it as a Chicken pointer object, and set a finalizer on the pointer to do a C free when the pointer object is garbage collected. 21:29:33 jc, can I customize what chicken uses to release the pointer object? 21:29:44 ie, SDL, Id need to say SDL_FreeSurface to release a surface. 21:30:13 ecraven: Oh? Perhaps they haven't got their dependencies perfectly sorted out. I believe there are some basic assumptions (such as what types like CARD32 mean), but these are documented, at least as of when I looked at it. 21:30:57 interacting with outside libraries seems kind of..well. 21:30:58 lame 21:31:01 elderK: Yes, with set-finalizer!, which allows any Chicken routine to be called, including a wrapper around an arbitrary C routine. 21:31:05 because they will force a certain paradigm. 21:31:26 last time i looked (about a year ago) they assumed some fields for responses. the types are rather well documented. it wouldn't be too hard anyway, i got sidetracked, and never finished it. 21:31:35 a wrapper written in scheme or? 21:31:58 A foreign-lambda, typically 21:33:11 they need more examples on chicken's manual. 21:33:15 relating to the ffi. 21:33:15 :) 21:33:26 Unfortunately, writing things using Xlib or the X protocol directly can be kind of time-consuming, since in theory you have to implement all of the I39L yourself to behave "properly". 21:33:39 i39l? 21:33:56 I, 39 letters, L. Also known as the ICCCM. 21:34:07 ah, ICCCM I know :) 21:34:18 well, it's a necessary base for higher-level protocols :) 21:34:24 the inter-continental-conductive-carrier-machine. 21:34:27 (the X interface thing) 21:34:56 Yes, well, I'm just glad that we've finally arrived in the era when window managers seem to implement it reasonably well *and* treat non-conforming clients reasonably well by default. 21:35:11 I don't know. 21:35:27 For every wm that graduates to getting it right, two new wms are written that (inevitably) get it wrong. 21:35:50 It's like the %-hack in email addresses; it was traditional to add to any explanation of it the following: 21:35:58 "The %-hack is not documented anywhere, including here." 21:36:10 Oh, I'm sure that's true, but typically the "default thing" (whether that's Metacity or whatever KDE uses or the XFCE window manager) seems to get it right these days. 21:36:25 True. 21:36:41 I'm just a bit disgruntled from reading bug reports about how Google Chrome doesn't work well with ratpoison. 21:36:46 :) Illjust use chicken 21:36:49 jc, you sold me. 21:36:50 :) 21:37:14 % hack? 21:37:20 Oh man 21:37:22 Ratpoison was cool 21:37:24 If you use it, *please* load the modules that are required to make it into a real implementation of Scheme. 21:37:35 what modules, chandler? 21:37:47 bignums, and if it's still a separate module, hygienic macros 21:37:50 jcowan: you're using ratpoison? 21:37:54 It's not in Chicken 4. 21:38:04 in Chicken 4 all you need is numbers. 21:38:06 Oh, good. 21:38:19 o_O how do I get syntax-rules in C4? 21:38:20 elderK: ratpoison still is cool :) 21:38:23 :D 21:38:24 C4 now has built in syntax-rules and er-transformer and that's it. 21:38:26 I don't think that's how the song goes, jcowan. 21:38:30 I used Ratpoison for a year. 21:38:38 then I moved to FVWM for a little more conventional stuff. 21:38:46 What is ER, btw? 21:38:58 Explicit renaming. It's an implementation strategy for hygienic macros. 21:39:07 It's Ratpoison's successor, StumpWM that got me interestedin Lisp and Scheme. 21:39:13 I don't use ratpoison, but I'm subbed to the internal mailing list for Chrome on Linux. 21:40:00 Why? Just out of morbid curiosity? 21:40:48 No, because I'm an internal user of Chrome on Linux. 21:40:52 Ah. 21:41:15 So I get to see all the whines about how it doesn't work with non-Gnome WMs. 21:41:57 internal? 21:41:59 jc, you work for gnome? o_O 21:42:01 er, google? 21:42:02 Does Chrome use XEMBED, or is it passing bitmaps over IPC? 21:42:10 Chrome works much better than FF on my doomed old bitty box (4 keys fallen off, 99 left to go) 21:42:14 elderK: Google, yes. 21:42:19 hardcode 21:43:02 gigahard 21:43:14 jcowan: any plans to fix the problems with ratpoison? i'd like to use it once it's stable enough :) 21:43:25 I can't say. 21:43:28 (literally) 21:43:39 ratpoison was cool ^_^ 21:43:40 The main two limitations I run into are that it can't do Flash and it can't print. 21:43:44 I had this massive minimalism stint 21:43:57 just elvis, bash, gcc, make, ratpoison :) 21:44:05 irssi 21:44:06 ^_^ 21:44:10 Minimalism? Minimalism? Minimalism is typing Ctrl+Alt+F1 and taking it from there! 21:44:17 I did that tooo 21:44:25 but I have pretty bad eyesight 21:44:33 -!- fabse [n=myfabse@wikipedia/Track-n-Field] has quit ["Jackie Treehorn treats objects like women"] 21:44:37 its difficult for me to read the true terminal. 21:44:46 where as with rxvt I can choose larger fonts 21:44:47 elderK: use ratpoison and emacs, that mostly covers it :) 21:44:47 :) 21:44:50 *jcowan* sympathizes. 21:44:53 jcowan: Be thankful; in the case of Chrome, I think the alternative to not doing Flash is always doing Flash, unless a Flash-blocking plugin has appeared since I last looked for such a thing. 21:45:03 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 21:45:07 yknow, thats one thing about OSX I Realllllly freaking hate 21:45:08 elderK: You can change your font at the console, you know. 21:45:17 You cant change leopard's system UI fonts. 21:45:18 not really. 21:45:22 I find dwm simpler and cleaner to use than ratpoison. 21:45:26 sure, you have crap like "Silk" etc. 21:45:29 but they dont really work. 21:45:29 :/ 21:45:29 Still, tiling wm-s seem the way to go. 21:45:42 The only ones that actually *manage* the windows for you... 21:45:42 DWM was nice, I used that for a long time too. 21:45:52 DWM was a little easier for most stuff, since it supported floating windows too. 21:45:55 The other thing that's annoying in Chrome is that there is no way to magnify all windows, so every time I open a new tab it's Ctrl +++ or so. 21:45:56 if you wanted. 21:45:56 :) 21:45:59 -!- alaricsp [n=alaricsp@88-202-202-163.rdns.as8401.net] has quit [Read error: 110 (Connection timed out)] 21:46:07 jc, totally. 21:46:10 same with Safari and FF. 21:46:26 not to mention the pages that dont deal with resizing very well 21:46:32 end up horizontally scrolling forever... 21:46:35 :/ 21:46:42 which is most of them... 21:46:46 Opera seems to deal best with zooming whole layouts. 21:46:50 That isn't much of an issue anymore, with better browser zoom algorithms. 21:46:55 Fastest, least CPU-intensive. 21:46:59 And decent results. 21:47:06 (predictable, too) 21:47:07 The strategy that Opera uses has appeared in the latest Safari, and I believe in Firefox 3.5 as well. 21:47:10 wtf? .so on OSX? 21:47:13 is chicken retarded? 21:47:13 :P 21:47:41 -!- hotblack23 [n=jh@p5B0573C0.dip.t-dialin.net] has quit [Connection timed out] 21:48:35 chandler: Yeah, but in firefox 3.5 it uses about 1000 more CPU cycles for the same thing. 21:48:37 Don't worry about it. OSX doesn't care what the extension is. 21:48:44 chandler: zooming layouts basically kills my machine 21:48:50 -!- ikaros [n=ikaros@f051089176.adsl.alicedsl.de] has quit [Remote closed the connection] 21:48:54 s/1000 more/1000 times more/ 21:48:58 I think that's true of pretty much anything in Firefox. 21:49:02 Yep. 21:49:09 goodpoint, jc. 21:49:18 btw, do you have any tips on how to get bigger fonts on OSX? 21:49:20 its driving me insane. 21:49:24 like, system wide 21:49:26 ie: menubar ,etc. 21:49:35 :/ thats hte main reason I keep going back to Linux. 21:49:43 or even Windows. 21:50:02 I dont consider the Control-Zoom feature a solution, either. 21:50:14 ~_~ stupid perfect eye-sighted-apple-engineer-folk. 21:50:14 I will give Firefox the advantage when it comes to privacy settings. It's the only browser that I can configure to not store state across browser runs relatively easily, rather than having to choose settings for every kind of state. 21:50:18 rabblerabblerabble. 21:50:47 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 21:50:59 In any event, I've drifted far off topic. 21:52:05 :) but you got me to remember the auto-X project.. need to continue working on tat ;) 21:52:09 +h 21:52:52 ^_^ guile begone 21:52:53 :D 21:53:02 Chrome has anonymous windows. 21:53:31 btw, anyone here, who is a NIXfiend, have any suggestions for a slacker in exile? 21:54:07 Get a life? 21:54:30 cheers. 21:54:31 :P 21:54:37 *elderK* sulks 21:56:48 gah, whats wrong with me. I cant believe im considering going to Linux again, over OSX. 21:56:54 All of htat madness again for so little gain :/ 21:57:02 not to mention wasted time... 21:59:21 I understand there is quite a nice little OS X skin for Windows. 22:01:36 ventonegro [n=alex@c9519129.virtua.com.br] has joined #scheme 22:02:10 heh 22:02:18 I dont actually like OSX look taht much 22:02:25 but the simple fact is, it works with the least @!#$ing about. 22:02:34 Spent more than enough time over the years fiddlign with stuff 22:02:45 just, spending a few hours getting my systems the way I want them, just, isnt fun anymore. 22:06:13 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 22:07:02 is it more fun *not* to customize your system, but just use it in a slightly inferior way? 22:07:41 :P No, if I go to a more unixy unix, I will customize the hell out of everything :P I alawys do. 22:07:54 Its just on OSX, its reasonably less ... tweakable :P 22:08:10 which means I spend less itme fiddling with the system and more time being productive :P 22:08:26 or, more time on IRC 22:08:26 :P 22:08:27 either or. 22:08:28 :P 22:09:02 going to bed, good night :) 22:09:49 goodnight ec. 22:09:51 sleep well, man 22:09:52 :) 22:10:55 *mejja* :-) ;-) :-D :-DD X-D :-O B-) :") :-P :-| :-S :-( :~( :-? 9_9 o_O O_O >:-( >:-D 22:11:33 :D:D 22:11:35 that's the spirit! 22:11:36 :P 22:11:48 B-) 22:11:59 sepult [n=user@xdsl-87-78-122-228.netcologne.de] has joined #scheme 22:16:48 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:21:34 rdd [n=user@c83-250-157-93.bredband.comhem.se] has joined #scheme 22:25:20 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 22:30:11 gfb [i=4c4709dc@gateway/web/freenode/x-b403801593a250d8] has joined #scheme 22:34:42 anyone have much experience with net/uri ? I'm wondering if there is a convient way to handle re-directs 22:39:07 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:42:50 -!- gfb [i=4c4709dc@gateway/web/freenode/x-b403801593a250d8] has quit [Ping timeout: 180 seconds] 22:59:57 -!- moghar [n=user@unaffiliated/moghar] has left #scheme 23:06:37 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 23:08:16 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 23:12:18 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 60 (Operation timed out)] 23:17:53 gfb [i=4c4709dc@gateway/web/freenode/x-3852ffbd1258e096] has joined #scheme 23:18:04 -!- mejja [n=chatzill@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Read error: 104 (Connection reset by peer)] 23:25:03 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 23:25:45 -!- gfb [i=4c4709dc@gateway/web/freenode/x-3852ffbd1258e096] has quit [Ping timeout: 180 seconds] 23:40:07 -!- synthase [n=synthase@adsl-146-241-232.mob.bellsouth.net] has quit [Client Quit] 23:43:17 -!- tobetchi [n=tobetchi@p296bf1.sagant01.ap.so-net.ne.jp] has quit [Remote closed the connection] 23:45:50 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 23:48:23 pantsd_: GOD NO but I did manage it on my own if you're interested. 23:48:37 pantsd_: It's "net/url" though, a retarded name I know.