00:06:03 -!- Blkt [~user@82.84.176.4] has quit [Ping timeout: 260 seconds] 00:08:05 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 00:17:34 -!- Nisstyre [~yours@c-208-90-102-250.netflash.net] has quit [Quit: Leaving] 00:21:23 -!- ysph [~user@adsl-065-013-204-170.sip.mgm.bellsouth.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:24:31 replore_ [~replore@203.152.213.161.static.zoot.jp] has joined #scheme 00:27:47 -!- platinuum [~platinuum@S0106602ad06b80ad.vc.shawcable.net] has quit [Quit: oops] 00:44:12 -!- homie` [~levgue@xdsl-78-35-176-85.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:48:44 homie [~levgue@xdsl-78-35-176-85.netcologne.de] has joined #scheme 01:01:28 panterax [~panterax@31.176.143.173] has joined #scheme 01:01:56 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has quit [Remote host closed the connection] 01:03:58 -!- panterax [~panterax@31.176.143.173] has quit [Max SendQ exceeded] 01:04:44 panterax [~panterax@31.176.143.173] has joined #scheme 01:07:22 confab [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 01:08:40 xwl_ [user@nat/nokia/x-iypxljcpeqhndmpt] has joined #scheme 01:12:08 -!- pygospa [~Pygosceli@kiel-5f768f20.pool.mediaWays.net] has quit [Disconnected by services] 01:12:14 confab_ [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 01:12:18 pygospa [~Pygosceli@kiel-4dbec36f.pool.mediaWays.net] has joined #scheme 01:13:35 -!- confab [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 01:18:39 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 01:20:29 -!- masm [~masm@bl19-138-65.dsl.telepac.pt] has quit [Quit: Leaving.] 01:36:32 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Read error: Operation timed out] 01:37:04 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Ping timeout: 260 seconds] 01:38:02 -!- dous_ [~dous@cm171.sigma67.maxonline.com.sg] has quit [Remote host closed the connection] 01:40:55 -!- confab_ is now known as confab 01:44:04 -!- GoKhlaye1 [~GoKhlayeh@33.31.80.79.rev.sfr.net] has quit [Ping timeout: 260 seconds] 01:46:37 Nisstyre [~yours@c-208-90-102-250.netflash.net] has joined #scheme 01:49:09 Euthy [~euthy@unaffiliated/euthydemus] has joined #scheme 01:56:18 -!- LeoNerd [~leo@cel.leonerd.org.uk] has quit [Ping timeout: 260 seconds] 02:08:04 -!- pjb- [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 245 seconds] 02:09:24 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 240 seconds] 02:10:46 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Quit: Leaving] 02:19:31 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 02:22:13 -!- dous is now known as stunsg 02:25:24 -!- jwd [~jwd@cable-118-42.sssnet.com] has quit [Ping timeout: 240 seconds] 02:27:48 -!- homie [~levgue@xdsl-78-35-176-85.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:34:55 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Read error: Operation timed out] 02:34:55 -!- bytbox_ [~s@96.26.105.154] has quit [Quit: Lost terminal] 02:45:04 -!- mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has quit [Ping timeout: 240 seconds] 02:49:39 -!- exobit__ [~user@pool-98-116-156-190.nycmny.fios.verizon.net] has quit [Read error: Connection reset by peer] 02:52:26 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 252 seconds] 03:01:55 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:03:15 -!- hypnocat [~hypnocat@unaffiliated/hypnocat] has quit [Ping timeout: 240 seconds] 03:11:33 -!- ASau` [~user@95-26-89-223.broadband.corbina.ru] has quit [Remote host closed the connection] 03:12:07 ASau` [~user@95-26-89-223.broadband.corbina.ru] has joined #scheme 03:17:52 leo2007 [~leo@114.249.194.29] has joined #scheme 03:22:00 bytbox [~s@96.26.105.154] has joined #scheme 03:27:56 -!- ASau` [~user@95-26-89-223.broadband.corbina.ru] has quit [Remote host closed the connection] 03:28:39 ASau` [~user@95-26-89-223.broadband.corbina.ru] has joined #scheme 03:30:22 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 03:32:15 zzach [~zzach@dslb-094-221-125-119.pools.arcor-ip.net] has joined #scheme 03:34:19 -!- zzach1 [~zzach@dslb-178-001-227-057.pools.arcor-ip.net] has quit [Ping timeout: 260 seconds] 03:35:48 dandellion_yello [~dandellio@87.247.38.128] has joined #scheme 03:35:58 -!- _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has quit [Quit: leaving] 04:14:42 -!- bytbox [~s@96.26.105.154] has quit [Quit: Lost terminal] 04:14:53 -!- nowhereman is now known as nowhere_man 04:16:06 -!- leo2007 [~leo@114.249.194.29] has quit [Quit: rcirc on GNU Emacs 23.3.90.1] 04:17:23 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 04:21:15 ThePawnBreak [~quassel@94.177.108.25] has joined #scheme 04:30:55 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:31:32 -!- dandellion_yello [~dandellio@87.247.38.128] has quit [Quit: Leaving] 04:37:39 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 245 seconds] 04:37:44 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 04:39:46 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:42:01 -!- confab [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 04:42:53 ysph [~user@adsl-98-89-76-98.mgm.bellsouth.net] has joined #scheme 04:43:06 confab [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 04:48:55 -!- ThePawnBreak [~quassel@94.177.108.25] has quit [Ping timeout: 240 seconds] 04:50:24 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 240 seconds] 04:51:10 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:53:50 -!- woonie [~woonie@175.156.217.188] has quit [Ping timeout: 255 seconds] 05:10:01 -!- macrobat [~geggamojj@h-17-133.a328.priv.bahnhof.se] has quit [Quit: macrobat] 05:13:04 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 240 seconds] 05:27:47 -!- ijp [~user@host86-182-157-113.range86-182.btcentralplus.com] has quit [Quit: The garbage collector got me] 05:34:35 jcowan [~John@cpe-98-14-172-212.nyc.res.rr.com] has joined #scheme 05:46:06 hoi 05:57:31 -!- jcowan [~John@cpe-98-14-172-212.nyc.res.rr.com] has quit [Quit: Leaving] 06:05:05 -!- ysph [~user@adsl-98-89-76-98.mgm.bellsouth.net] has quit [Remote host closed the connection] 06:15:46 toekutr [~user@50-0-51-2.dsl.static.sonic.net] has joined #scheme 06:16:06 jewel [~jewel@196-215-117-46.dynamic.isadsl.co.za] has joined #scheme 06:17:31 -!- xwl_ [user@nat/nokia/x-iypxljcpeqhndmpt] has quit [Remote host closed the connection] 06:29:46 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 06:31:49 -!- jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has quit [Ping timeout: 248 seconds] 06:34:52 kniu [~kniu@pool-108-17-80-180.pitbpa.fios.verizon.net] has joined #scheme 06:36:18 ASau`` [~user@95-26-227-145.broadband.corbina.ru] has joined #scheme 06:36:59 jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has joined #scheme 06:40:50 -!- ASau` [~user@95-26-89-223.broadband.corbina.ru] has quit [Ping timeout: 268 seconds] 06:45:39 xwl_ [user@nat/nokia/x-yxuicqelaqjlvkre] has joined #scheme 06:50:11 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 06:57:09 -!- jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has quit [Quit: Leaving] 07:03:03 -!- w1lm [~w1lm@188.24.105.174] has quit [Ping timeout: 252 seconds] 07:08:24 -!- jewel [~jewel@196-215-117-46.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 07:16:24 -!- xwl_ [user@nat/nokia/x-yxuicqelaqjlvkre] has quit [Read error: Connection reset by peer] 07:21:28 -!- realitygrill [~realitygr@adsl-76-226-139-212.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 07:34:53 gravicappa [~gravicapp@ppp91-77-169-123.pppoe.mtu-net.ru] has joined #scheme 07:36:49 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 245 seconds] 07:40:55 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 244 seconds] 07:48:29 -!- MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has quit [Ping timeout: 245 seconds] 07:52:56 -!- toekutr [~user@50-0-51-2.dsl.static.sonic.net] has quit [Remote host closed the connection] 07:53:23 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 07:55:03 djcb [djcb@nat/nokia/x-ttelxrhjsivqjwqe] has joined #scheme 07:57:00 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has left #scheme 08:04:48 xwl_ [user@nat/nokia/x-aomocxzifwlgtcjr] has joined #scheme 08:05:36 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 08:09:48 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Connection reset by peer] 08:26:45 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 08:27:42 hi! any chibi devs/experts around? or is there a channel for chibi? I couldn't find anything... 08:31:41 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 08:36:10 attila_lendvai: foof is the chibi author mostly 08:36:31 C-Keen: thanks! 08:36:43 np! 08:36:45 I know one or two things about it 08:36:52 but not more! 08:38:44 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 240 seconds] 08:38:53 foof: hey, thanks for chibi! I'm trying to use chibi on a linux based embedded Point of Sale terminal... the SDK they gave me is cygwin based (damn them!) gcc, and when I try to compile chibi, I get an error that 'too few arguments to function sexp_alloc_tagged_aux' (this is with hg HEAD) 08:40:32 ok that's not among the one or two things I know 08:40:55 I run the makefile like this (under cygwin): make PLATFORM=linux CC="/mipsel/bin/mipsel-linux-uclibc-gcc -DSEXP_USE_NO_FEATURES" 08:41:29 DerGuteMoritz: what have you used chibi for? 08:42:14 *attila_lendvai* tries to debug it himself, trying to dust off his C knowledge... 08:42:40 For what it's worth current head cimpiles fine here (linux fedora 15), maybe it's an issue only on cygwin ? 08:43:36 *compiles, and current head being rev. 9c33e2335917 08:43:42 attila_lendvai: I only made a chicken egg that binds it 08:44:46 On the other side, I never compiled it with -DSEXP_USE_NO_FEATURES... 08:45:09 -!- chromaticwt [~user@71-32-106-187.albq.qwest.net] has quit [Ping timeout: 248 seconds] 08:45:12 yeah, it compiles fine for me on linux also. and note that it's not even cygwin, but a cygwin exe of a cross-compiler gcc that targets mipsel... :/ 08:45:52 I'm trying to flash a simple binary that computes (+ 2 3) to the device as a proof-of-concept 08:47:20 without the NO_FEATURES, it dies early due to missing float.h (the CPU has no hw floating point I guess) 08:47:21 wingo [~wingo@90.164.198.39] has joined #scheme 08:47:58 rostayob [~rostayob@host217-42-34-16.range217-42.btcentralplus.com] has joined #scheme 08:51:09 err, is my C too rusty, or this declaration looks fishy at the 3rd arg? sexp sexp_alloc_tagged_aux(sexp ctx, size_t size, sexp_uint_t tag sexp_current_source_param) { 08:52:14 Actually, compiling it with "make PLATFORM=linux CFLAGS=-DSEXP_USE_NO_FEATURES" it fails here too. 08:52:58 ah, I see, it's related to #define macro magic for source location tracking 08:53:17 *attila_lendvai* wishes if foof was around... :/ 08:57:19 *attila_lendvai* feels nauseous after 5 minutes of C'ing 08:57:46 ahinki [~chatzilla@212.99.10.150] has joined #scheme 08:58:00 You might try turning off selected things, e.g.: "make PLATFORM=linux CFLAGS=-DSEXP_USE_FLONUMS=0" (well, add your own comiler selection) 08:59:10 Nah, C is good, it allows you to implement scheme, after all ;-) 09:00:03 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 09:02:46 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 09:02:54 LeoNerd [~leo@cel.leonerd.org.uk] has joined #scheme 09:03:19 Random question: Can 'apply' be written in Scheme, or must it be implemented by the VM? 09:04:09 Belaf: scheme also allows me to implement scheme... ;) 09:04:32 I couldn't work out a way to write it in Scheme, so I added it as a basic form to the evaluator loop. Upside: it can tailcall 09:04:40 just like asm... as they are all turing complete. but... 09:05:28 tom_i [~thomasing@cmc.beaming.biz] has joined #scheme 09:05:59 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 245 seconds] 09:06:30 LeoNerd: i think apply has to be a primitive 09:06:59 Ah OK 09:07:21 Is it also allowable to name it, as a function to pass first-class? E.g. Could I somehow (apply apply list-of-lists) ? 09:07:32 'cause rightnow my implementation won't allow that as there is no symbol called "apply" 09:07:56 Yes, but something tells me that foof didn't choose C for implementing chibi just for the sake of being evil :) Just joking, anyway... I'm not ready to defend C in this place ;-) 09:08:11 Though it does occur to me I can just (define (apply p l) (apply p l)) to my prelude ;) 09:10:34 I also -think- I've found a nice way to write unfold/map/filter/etc... without that annoying inner helper + reverse 09:10:45 But.. breakfast first. :) 09:11:10 attila_lendvai1 [~attila_le@87.247.60.142] has joined #scheme 09:11:10 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Disconnected by services] 09:11:14 -!- attila_lendvai1 is now known as attila_lendvai 09:11:15 -!- attila_lendvai [~attila_le@87.247.60.142] has quit [Changing host] 09:11:15 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 09:16:01 LeoNerd: you can certainly apply apply, yes 09:40:57 leo2007 [~leo@119.255.41.67] has joined #scheme 09:42:28 -!- rostayob [~rostayob@host217-42-34-16.range217-42.btcentralplus.com] has quit [Quit: WeeChat 0.3.5] 09:50:15 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 09:59:35 *attila_lendvai* solved the chibi compile error: it was an old gcc without __builtin_offsetof that requires an #undef offsetof, #define offsetof(st, m) ((size_t) ( (char *)&((st *)(0))->m - (char *)0 )) 10:03:27 Alice23_ [cjm@s3.enemy.org] has joined #scheme 10:03:43 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 10:06:35 peterbb [143027@diamant.ifi.uio.no] has joined #scheme 10:06:47 Adrinael_ [~adrinael@barrel.rolli.org] has joined #scheme 10:07:01 shachaf_ [~shachaf@ip24.67-202-82.static.steadfastdns.net] has joined #scheme 10:07:07 rotty_ [~rotty@nncmain.nicenamecrew.com] has joined #scheme 10:07:10 lonstein_ [lonstein@ohno.mrbill.net] has joined #scheme 10:07:19 gffa_ [~gffa@unaffiliated/gffa] has joined #scheme 10:07:41 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [*.net *.split] 10:07:41 -!- gffa [~gffa@unaffiliated/gffa] has quit [*.net *.split] 10:07:41 -!- rotty__ [~rotty@nncmain.nicenamecrew.com] has quit [*.net *.split] 10:07:42 -!- leppie [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has quit [*.net *.split] 10:07:43 -!- Adrinael [~adrinael@barrel.rolli.org] has quit [*.net *.split] 10:07:43 -!- peterbb_ [143027@diamant.ifi.uio.no] has quit [*.net *.split] 10:07:43 -!- lonstein [lonstein@ohno.mrbill.net] has quit [*.net *.split] 10:07:43 -!- shachaf [~shachaf@ip24.67-202-82.static.steadfastdns.net] has quit [*.net *.split] 10:07:43 -!- Alice23 [cjm@s3.enemy.org] has quit [*.net *.split] 10:07:43 -!- peddie [~peddie@repl.esden.net] has quit [*.net *.split] 10:09:20 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #scheme 10:09:22 leppie [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has joined #scheme 10:09:23 peddie [~peddie@repl.esden.net] has joined #scheme 10:09:47 -!- X-Scale is now known as Guest11803 10:10:05 masm [~masm@2.80.138.65] has joined #scheme 10:11:33 -!- woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has quit [Ping timeout: 248 seconds] 10:14:06 -!- shachaf_ is now known as shachaf 10:15:29 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 252 seconds] 10:16:13 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 10:21:24 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 10:24:05 euccastro [~euccastro@131.Red-79-159-108.staticIP.rima-tde.net] has joined #scheme 10:25:28 -!- Guest11803 [email@sgi-ultra64.broker.freenet6.net] has quit [Remote host closed the connection] 10:35:05 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 252 seconds] 10:45:44 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 240 seconds] 10:49:01 -!- panterax [~panterax@31.176.143.173] has quit [Read error: Connection reset by peer] 10:49:48 panterax [~panterax@31.176.133.188] has joined #scheme 10:49:59 (generate (lambda (x yield stop) (if (= x 10) (stop) (yield (+ x 1) x))) 0) ==> (0 1 2 3 4 5 6 7 8 9) <= I've just invented 'generate' here, but does it exist/have a name already? 10:50:05 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 260 seconds] 10:50:10 I'm finding it useful to create list-returning functions, 'cause it accumulates forwards 10:50:21 filter/map/unfold/take/... all writeable in this form 10:51:07 I also might macro it up; (generate (if (= x 10) (stop) (yield (+ x 1) x))) 0) would be even neater 10:51:22 leo2007 [~leo@119.255.41.67] has joined #scheme 11:12:29 -!- stunsg [~dous@210.24.42.190] has quit [Remote host closed the connection] 11:19:04 -!- euccastro [~euccastro@131.Red-79-159-108.staticIP.rima-tde.net] has quit [Ping timeout: 240 seconds] 11:39:59 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 252 seconds] 11:44:26 It is possible for me to create a helper function visible only to the contents of a macro replacement? 11:44:47 I want a 'generate-inner' function, only visible to the code I replace in a template of a macro called 'generate' 11:58:35 -!- ahinki [~chatzilla@212.99.10.150] has quit [Read error: Connection reset by peer] 11:58:38 ahinki_ [~chatzilla@212.99.10.150] has joined #scheme 11:58:48 -!- ahinki_ is now known as ahinki 12:01:26 -!- bfig [~b_fin_g@r186-52-154-8.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 12:01:32 bfig [~b_fin_g@r190-135-0-46.dialup.adsl.anteldata.net.uy] has joined #scheme 12:05:15 w1lm [~w1lm@188.24.107.198] has joined #scheme 12:05:24 I'm actually just off for lunch, but I'll post some questions here for when I get back ==> http://pastie.org/3194579 12:15:58 brendyn [~brendyn@123-2-73-61.static.dsl.dodo.com.au] has joined #scheme 12:19:09 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 12:24:31 dous [~dous@unaffiliated/dous] has joined #scheme 12:37:51 Hmm.. quiet. :( Nobody any thoughts? 12:37:53 leo2007 [~leo@123.114.39.127] has joined #scheme 12:39:50 where's the question 12:40:08 Inline in comments in the above paste 12:40:52 Re 1: on my scheme system (chicken) you have (define-for-syntax) 12:42:03 and re 2: it is not hygienic 12:42:46 Ya.. my question is -should- that work? I notice it doesn't on my implementation but I'm 99% sure I haven't implemented macro hygine correctly.. so that's no telling :) 12:44:42 syntax-rules is hygienic and will rename symbols so they will be unique 12:45:18 Right.. Hrmmmm :( 12:45:40 So on to question 3 - is it something that I -should- try to do, or is it generally accepted that just passing a lambda is easier/simpler? 12:46:50 I personally prefer visible bindings over anaphoric macros 12:47:08 gsathya [~gsathya@unaffiliated/gsathya] has joined #scheme 12:47:10 *LeoNerd* looks up "anaphoric" 12:47:33 https://en.wikipedia.org/wiki/Anaphoric_macro 12:47:50 Actually I hit upon http://en.wikipedia.org/wiki/Anaphora_%28linguistics%29 which looks good enough to tell 12:49:31 OK, so you'd suggest the lambda form instead? 12:49:47 I would 12:49:55 maybe there are other opinions 12:50:19 Well, currently given as the macro version doesn't even work for me, I guess I'll go for that for now :) 12:55:34 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 12:56:08 attila_lendvai: glad you solved it! 12:56:31 you can often reach me faster by mail - I've been working crazy hours and not checking irc regularly 12:57:19 if you send me a patch w/ an ifdef for the gcc version I can apply it 13:00:06 lolcow [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has joined #scheme 13:00:08 -!- leppie [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 13:00:14 -!- lolcow is now known as leppie 13:03:28 ThePawnBreak [~quassel@94.177.108.25] has joined #scheme 13:14:39 -!- w1lm [~w1lm@188.24.107.198] has quit [Remote host closed the connection] 13:15:08 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Ping timeout: 255 seconds] 13:20:37 -!- gffa_ is now known as gffa 13:30:49 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 13:30:58 kuribas [~user@d54C43316.access.telenet.be] has joined #scheme 13:32:28 GoKhlayeh [~GoKhlayeh@33.31.80.79.rev.sfr.net] has joined #scheme 13:38:30 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 272 seconds] 13:43:55 -!- rudybot [~luser@ec2-204-236-150-238.us-west-1.compute.amazonaws.com] has quit [Remote host closed the connection] 13:49:53 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 13:51:15 bytbox [~s@96.26.105.154] has joined #scheme 13:52:56 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 13:56:32 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 13:59:02 soveran [~soveran@186.19.214.247] has joined #scheme 14:01:36 -!- drwho [~drwho@c-68-81-125-196.hsd1.pa.comcast.net] has quit [Quit: Lost terminal] 14:04:07 euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has joined #scheme 14:05:32 -!- xwl_ [user@nat/nokia/x-aomocxzifwlgtcjr] has quit [Read error: Connection reset by peer] 14:11:33 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 248 seconds] 14:13:11 eno [~eno@nslu2-linux/eno] has joined #scheme 14:13:30 LeoNerd: I'd say that's very similar to unfold from srfi-1: 14:13:51 Ya; I use it to implement unfold quite simply 14:14:08 LeoNerd: try (unfold (lambda (x) (= x 10)) (lambda (x) x) (lambda (x) (+ x 1)) 0) 14:14:20 I just slightly prefer the logic this way as one piece of code can make the decision on whether to stop, or continue. If it's going to continue it can generate a new seed and yield more values 14:14:25 RAther than the three split functions of unfold 14:15:14 Whereas it's slightly harder to implement e.g. filter using unfold 14:15:23 Because every iteration of unfold -has- to yield exactly one element. 14:16:38 -!- aoh [~aki@adsl-99-115.netplaza.fi] has quit [Ping timeout: 240 seconds] 14:18:19 aoh [~aki@adsl-99-115.netplaza.fi] has joined #scheme 14:20:10 (Well,.. unless I have missed something with unfold) 14:21:02 LeoNerd: so how would you generate the list from 0 to 9 inclusive with 3 and 8? 14:21:10 s/with/without 14:21:31 Well, in this specific case I'd probably filter it :) 14:22:42 Or I suppose I could (generate 0 (lambda (x yield stop) (cond ((= x 10) (stop) ((or (= x 3) (= x 8)) (yield (succ x))) (else (yield (succ x) x))))) 14:23:53 ; given (define (succ x) (+ x 1)) I've no idea if such is usually provided but I find it more readable :) 14:25:34 LeoNerd: that doesn't look like working code 14:26:08 My -current- implementation of generate accumulates a results list backwards using reverse-append and reverses it at the end, but a more efficient implementation could work by (shielded) mutations; create an empty results list, store a tail to it, append on there by set-cdr! and yield it at the end 14:28:40 Sorry; a misplaced paren. Try: http://pastie.org/3195215 14:29:11 Mmm.. actually yes, cond is quite neat in this scenario 14:30:31 -!- bfig [~b_fin_g@r190-135-0-46.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds] 14:32:28 -!- horieyui [horieyui@222.47.182.195] has quit [Quit: http://www.cnblogs.com/crazyhack] 14:34:26 LeoNerd: what is the definition of generate that goes with that? 14:34:31 *LeoNerd* fetches 14:35:31 -!- djcb [djcb@nat/nokia/x-ttelxrhjsivqjwqe] has quit [Remote host closed the connection] 14:35:47 http://pastie.org/3195242 14:36:07 Both it and the body functions are usually tail-recursive, so it's a mutual coroutine sort of setup 14:40:17 djcb [user@nat/nokia/x-wncnfvwvebternhr] has joined #scheme 14:44:42 I'm a littlebit annoyed at the inner 'let' in my implementation of filter, though. http://pastie.org/3195278 14:44:47 -!- leppie [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has quit [] 14:44:57 bfig [~b_fin_g@r190-135-0-46.dialup.adsl.anteldata.net.uy] has joined #scheme 14:45:38 Actually, the cond version looks probably neat enough I think... 14:47:26 leppie [~lolcow@196-210-143-222.dynamic.isadsl.co.za] has joined #scheme 14:50:27 -!- djcb [user@nat/nokia/x-wncnfvwvebternhr] has quit [Remote host closed the connection] 14:50:40 But if that wasn't overly doable, would there be a neat way to mix cond and let type things? 14:52:38 LeoNerd: (fold-right (lambda (x res) (cond ((or (= x 3) (= x 8)) res) (else (append (list x) res)))) '() (iota 10 0)) 14:53:42 Yah... but there you had to generate the list of integers initially 14:54:03 generate is primarily for making new lists 14:59:13 LeoNerd: but you have to create 2 closures on every iteration 14:59:26 Yah, I'm annoyed about that. I can make it 1 fairly easily 15:00:45 Wait, no.. I can make it zero 15:01:59 foof: re gcc version: I think it's a configuration bug. the stddef.h that comes with gcc should not define something __builtin that gcc doesn't have. 15:02:07 generate's API doesn't require any closures to be created every iteration, only the current implementation. It can be implemented using a different technique not to need any closures per iteration 15:02:36 foof: but I've managed to print the result of (+ 3 2) on the device, so it's an important milestone. a lot of fun ahead! :) 15:02:55 attila_lendvai: what device? 15:04:24 leppie: http://www.castech.com.tw/en/in-products-03.aspx?id=P_00000109&cid=C_00000018&pname=VEGA5000&cname=EFT-POS+Terminal 15:04:44 cool :) 15:05:30 i guess some funny MIPS processor? 15:06:25 at least it runs Linux :) 15:07:23 yes, mips. but there's another sample, an arm from china which is half the price... so, we'll see. 15:07:46 that one is from justtide.com 15:08:08 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 15:08:34 -!- pjb is now known as Guest57520 15:09:23 -!- Guest57520 is now known as pjb 15:09:46 i had the misfortune of writing code for a bluetooth handheld barcode scanner (from Casio I think) horrible compiler, only windows support, the emulater was WinCE and it used the MS compiler so everything was happy till I used their crappy compiler. It crapped out on line numbers if the file was longer than 1000 lines... weirdest error messages too 15:10:22 :) 15:10:28 -!- euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has quit [Ping timeout: 276 seconds] 15:10:49 the only good thing was that their firmware had very little bugs 15:17:52 -!- GoKhlayeh [~GoKhlayeh@33.31.80.79.rev.sfr.net] has quit [Quit: leaving] 15:19:25 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #scheme 15:19:33 tupi [~david@139.82.89.24] has joined #scheme 15:21:59 GoKhlaYeh [~GoKhlaYeh@33.31.80.79.rev.sfr.net] has joined #scheme 15:22:45 luckily this device is linux and gcc, but ages old... 2006 and stuff... are these people asleep? 15:23:04 in the age of buildroot.uclibc.org 15:23:56 euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has joined #scheme 15:26:30 -!- tupi [~david@139.82.89.24] has quit [Remote host closed the connection] 15:43:02 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 15:46:59 jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has joined #scheme 15:49:43 -!- ahinki [~chatzilla@212.99.10.150] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0/20120111092507]] 15:51:03 -!- ASau`` is now known as ASau 15:53:20 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 15:59:22 foof: ping 16:00:10 foof: I have a lot of headache due to the build process calling ./chibi-scheme while I'm cross compiling to a different platform... any plans/ideas for this? 16:01:55 attila_lendvai: While I can't speak for foof, I think one possible solution is to have the build scripts build a host Chibi first. 16:02:14 Then for things like doc/stub generation, use the host Chibi. 16:03:59 -!- fgudin [~fgudin@odin.sdf-eu.org] has quit [Quit: leaving] 16:04:04 cky: sure, I'll modify the makefile eventually. but I want to coordinate the effort, maybe foof already has some plans... 16:04:12 *attila_lendvai* writes to the google groups 16:08:42 *attila_lendvai* has posted, awaits moderation at http://groups.google.com/group/chibi-scheme/topics 16:09:04 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 16:09:21 *attila_lendvai* heads bedwards 16:09:58 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 16:16:28 chromaticwt [~user@71-32-106-187.albq.qwest.net] has joined #scheme 16:22:47 -!- copumpkin [~copumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 255 seconds] 16:23:01 copumpkin [~copumpkin@unaffiliated/pumpkingod] has joined #scheme 16:38:27 -!- SeanTAllen [u4855@gateway/web/irccloud.com/x-ypvpcjuofehffhsz] has quit [Write error: Connection reset by peer] 16:41:15 pumpkin [~copumpkin@unaffiliated/pumpkingod] has joined #scheme 16:41:40 -!- pumpkin [~copumpkin@unaffiliated/pumpkingod] has quit [Remote host closed the connection] 16:52:11 SeanTAllen [u4855@gateway/web/irccloud.com/x-cypuwfxbfyekxhnf] has joined #scheme 16:52:56 -!- euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has quit [Read error: Operation timed out] 16:55:29 grettke [~grettke@CPE-70-92-14-73.wi.res.rr.com] has joined #scheme 16:59:38 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 17:03:58 homie [~levgue@xdsl-78-35-145-196.netcologne.de] has joined #scheme 17:09:09 God dammit: "Coming from Scheme, nil may map most closely to your notion of #f." Why do people (Rich Hickey, in this case) keep fucking with me? 17:09:30 ? 17:10:04 klutometis: try Common Lisk, we don't fuck we you, (in CL, () = nil = false ). 17:10:21 There's no reason why they have to asymptotically approach the neural pathways I've established; and then, like Lucy with Charlie Brown, yank my signifiers. 17:10:56 Yes, they want popularity. 17:10:58 http://funcall.blogspot.com/2011/03/tail-recursion-and-debugging.html 17:11:23 In my Scheme null is null :) 17:11:31 leppie: That is, and will remain, a classic. 17:12:32 pjb: Interesting; Clojure has '() !~= nil ~= false (where !~= means, "approximately does not equal"). 17:12:40 -!- leo2007 [~leo@123.114.39.127] has quit [Ping timeout: 276 seconds] 17:13:20 so they allocate an instance for '() ? #sadpanda 17:13:36 nil, is neither empty list nor false? 17:14:17 I can only phathom that in a statically typed langauge when the type of an empty list means something 17:14:56 still not even sure if that is such a good idea VS using just a (void*)0 17:15:07 Oooh typed empty lists? 17:16:20 LeoNerd: F# does it the former way, with a singleton instance in every generic list type 17:16:32 Curious 17:16:33 so '() of int != '() of string 17:16:54 Yah 17:17:31 euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has joined #scheme 17:17:32 but IMO it is silly and unneeded 17:20:16 -!- tom_i [~thomasing@cmc.beaming.biz] has quit [Ping timeout: 260 seconds] 17:20:38 (if '() 1 2) => 1; (if nil 1 2) => 2; (if (cdr nil) 1 2) => 1; (if (car nil) 1 2) => 2. 17:21:07 My neurons are too saturated for these fucking corner cases; I don't really want to know the rationale, either. 17:21:21 realitygrill [~realitygr@76.226.139.212] has joined #scheme 17:27:35 car and cdr of nil don't immediately blow up there?? 17:33:31 klutometis: wow. 17:33:53 klutometis: i hope their rationale is seductive 17:35:38 jewel [~jewel@196-215-117-46.dynamic.isadsl.co.za] has joined #scheme 17:36:47 -!- jimrees_ [~jimrees@ita4fw1.itasoftware.com] has quit [Quit: Ex-Chat] 17:37:11 -!- SeanTAllen [u4855@gateway/web/irccloud.com/x-cypuwfxbfyekxhnf] has quit [Remote host closed the connection] 17:38:04 LeoNerd: Exactly 17:39:46 qu1j0t3: The extra-Scheme world is bizarre, man; it exhibits this murderous internal coherence. Common sense and beauty be damned, some language-maker lays down a few ugly-ass axioms; and everyone appropriates them as first principles into their worldview. 17:40:04 It's the weirdest shit I've ever seen in my life. 17:41:37 CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has joined #scheme 17:42:31 pjb` [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 17:43:21 klutometis: inb4 TCO is useless, Saint Guido 17:43:30 jimrees_ [~jimrees@ita4fw1.itasoftware.com] has joined #scheme 17:43:32 -!- jimrees_ [~jimrees@ita4fw1.itasoftware.com] has quit [Client Quit] 17:43:46 -!- soveran [~soveran@186.19.214.247] has quit [Read error: Connection reset by peer] 17:44:08 qu1j0t3: Heh. 17:44:15 soveran [~soveran@186.19.214.247] has joined #scheme 17:46:21 -!- kuribas [~user@d54C43316.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:46:47 klutometis: and didn't he write JScheme? Where did it all go wrong? 17:47:52 jimrees_ [~jimrees@ita4fw1.itasoftware.com] has joined #scheme 17:48:08 tupi [~david@139.82.89.24] has joined #scheme 17:48:53 leppie: Who, Rich Hickey? Tim Hickey did, I think. 17:49:03 oooooops ;o) 17:49:21 I got it half right, but half wrong too 17:49:26 -!- euccastro [~euccastro@133.Red-79-151-100.dynamicIP.rima-tde.net] has quit [Ping timeout: 260 seconds] 17:49:46 Heh; not bad. 17:50:10 klutometis: any relation? if so, we could impose martial law 17:50:25 -!- samth_away is now known as samth 17:50:45 -!- grettke [~grettke@CPE-70-92-14-73.wi.res.rr.com] has quit [Ping timeout: 248 seconds] 17:53:30 leppie: http://www.reddit.com/r/programming/comments/9m5f9/rich_hickeys_keynote_a_deconstruction_of_object/c0dcgfv 17:54:42 I found the confusion: ' Before Clojure, he developed dotLisp, a similar project based on the .NET platform.' 17:56:43 toekutr [~user@50-0-51-2.dsl.static.sonic.net] has joined #scheme 17:56:54 Right; I think he returned to .NET with Clojure, too: . 17:57:07 dead AFAIK... 17:57:28 heard of it once exactly, never again, like ARC! 17:58:03 SeanTAllen [u4855@gateway/web/irccloud.com/x-evbsnlstzvgynqmz] has joined #scheme 18:01:18 cute; http://gtrak.wordpress.com/2012/01/14/dynamic-jvm-language-complexity/ 18:01:28 *klutometis* bows his head for a pico-second of silence: Arc, we barely knew thee! 18:02:03 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Remote host closed the connection] 18:03:07 'Clojure on the other hand has a disproportionate amount of high-level code.' 18:03:10 klutometis: thanks! that is a good addition to the question I asked yesterday about exemplar open source codebases (beauty/engineering excellence) 18:03:19 klutometis: + quality 18:03:24 klutometis: gettin all Pirsig on ur ass 18:03:38 30% of Clojures code is written in Clojure. TBH that's fuckin sad... 18:03:41 oh leppie sorry it was your link. 18:03:45 klutometis: ignore that. 18:03:54 leppie: shoudl be 90%? 18:04:02 yes preferably :) 18:04:08 mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has joined #scheme 18:04:16 ironscheme is more Scheme than C# 18:04:20 by far 18:04:43 leppie: Thanks; that's a great link. 18:05:03 arc is dead again? 18:10:32 ysph [~user@adsl-065-013-204-170.sip.mgm.bellsouth.net] has joined #scheme 18:13:33 lol @ C-Keen 18:14:33 -!- jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 18:14:44 -!- githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 18:15:41 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 18:18:30 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Quit: If only your veins were filled with oil, the world would rush to your rescue!] 18:18:41 -!- pjb` [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 18:18:41 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 18:18:59 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 18:19:26 -!- pjb is now known as Guest43323 18:20:15 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 18:26:12 ijp [~user@host86-182-157-113.range86-182.btcentralplus.com] has joined #scheme 18:31:42 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 18:32:44 -!- Guest43323 is now known as pjb 18:34:48 -!- SeanTAllen [u4855@gateway/web/irccloud.com/x-evbsnlstzvgynqmz] has quit [Remote host closed the connection] 18:47:53 add^_ [~add^_^@m212-152-0-180.cust.tele2.se] has joined #scheme 18:50:48 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 18:53:33 -!- add^_ [~add^_^@m212-152-0-180.cust.tele2.se] has quit [Quit: add^_] 18:54:17 SeanTAllen [u4855@gateway/web/irccloud.com/x-wxomxqmgidfjscjw] has joined #scheme 18:55:35 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Ping timeout: 240 seconds] 18:56:48 choas [~lars@p4FDC5F56.dip.t-dialin.net] has joined #scheme 18:57:56 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 19:03:28 icrazyhack [~horieyui@183.60.100.166] has joined #scheme 19:03:46 -!- incubot [~incubot@klutometis.wikitex.org] has quit [Read error: Connection reset by peer] 19:04:24 incubot [incubot@72.51.35.14] has joined #scheme 19:05:57 HG` [~HG@dsbg-4d0a39a6.pool.mediaWays.net] has joined #scheme 19:09:56 stis1 [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 19:10:38 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 240 seconds] 19:10:49 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Ping timeout: 252 seconds] 19:12:22 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Ping timeout: 260 seconds] 19:13:46 Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has joined #scheme 19:14:13 erjiang [~erjiang@7.80.244.66.jest.smithvilledigital.net] has joined #scheme 19:17:19 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 19:21:50 githogori [~githogori@216.207.36.222] has joined #scheme 19:27:27 teurastaja [~chatzilla@modemcable168.103-58-74.mc.videotron.ca] has joined #scheme 19:45:09 asynchrony [~user@adsl-184-42-10-162.dab.bellsouth.net] has joined #scheme 19:49:32 -!- HG` [~HG@dsbg-4d0a39a6.pool.mediaWays.net] has quit [Quit: HG`] 19:50:05 phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has joined #scheme 19:50:05 -!- phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has quit [Changing host] 19:50:05 phax [~phax@unaffiliated/phax] has joined #scheme 19:52:43 -!- phax [~phax@unaffiliated/phax] has quit [Client Quit] 19:56:51 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:57:02 -!- dan64 [~dan64@c-71-206-193-42.hsd1.pa.comcast.net] has quit [*.net *.split] 19:57:02 -!- gf3 [~gf3@unaffiliated/gf3] has quit [*.net *.split] 19:57:03 -!- arbscht [~arbscht@fsf/member/arbscht] has quit [*.net *.split] 19:57:03 -!- gabot [~eli@winooski.ccs.neu.edu] has quit [*.net *.split] 19:57:03 -!- Guest50029 [~jdlouhy@zerowing.ccs.neu.edu] has quit [*.net *.split] 19:57:03 -!- zbigniew [~zb@3e8.org] has quit [*.net *.split] 19:57:03 -!- evhan [~evhan@pdpc/supporter/active/evhan] has quit [*.net *.split] 19:57:03 -!- gsathya [~gsathya@unaffiliated/gsathya] has quit [*.net *.split] 19:57:03 -!- ecraven [~nex@www.nexoid.at] has quit [*.net *.split] 19:57:03 -!- eli [~eli@winooski.ccs.neu.edu] has quit [*.net *.split] 19:57:09 jeff_ [~jdlouhy@zerowing.ccs.neu.edu] has joined #scheme 19:57:15 evhan [~evhan@pdpc/supporter/active/evhan] has joined #scheme 19:57:18 gf3 [~gf3@unaffiliated/gf3] has joined #scheme 19:57:18 zbigniew [~zb@3e8.org] has joined #scheme 19:57:24 dan64 [~dan64@c-71-206-193-42.hsd1.pa.comcast.net] has joined #scheme 19:57:35 -!- jeff_ is now known as Guest26664 19:57:38 arbscht [~arbscht@fsf/member/arbscht] has joined #scheme 19:57:43 gabot [~eli@winooski.ccs.neu.edu] has joined #scheme 19:58:04 gsathya [~gsathya@unaffiliated/gsathya] has joined #scheme 20:02:26 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 260 seconds] 20:03:08 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 240 seconds] 20:07:40 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 20:08:20 eli [~eli@winooski.ccs.neu.edu] has joined #scheme 20:12:36 -!- ThePawnBreak [~quassel@94.177.108.25] has quit [Ping timeout: 240 seconds] 20:12:49 soveran [~soveran@186.19.214.247] has joined #scheme 20:17:38 -!- erjiang [~erjiang@7.80.244.66.jest.smithvilledigital.net] has quit [Quit: ttfn] 20:22:24 -!- jewel [~jewel@196-215-117-46.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 20:25:20 homie` [~levgue@xdsl-84-44-178-126.netcologne.de] has joined #scheme 20:27:31 -!- homie [~levgue@xdsl-78-35-145-196.netcologne.de] has quit [Ping timeout: 252 seconds] 20:28:45 -!- homie` [~levgue@xdsl-84-44-178-126.netcologne.de] has quit [Client Quit] 20:32:39 phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has joined #scheme 20:32:39 -!- phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has quit [Changing host] 20:32:39 phax [~phax@unaffiliated/phax] has joined #scheme 20:32:57 homie [~levgue@xdsl-84-44-178-126.netcologne.de] has joined #scheme 20:34:44 -!- brendyn [~brendyn@123-2-73-61.static.dsl.dodo.com.au] has quit [Ping timeout: 245 seconds] 20:35:49 ecraven [~nex@www.nexoid.at] has joined #scheme 20:44:20 fantazo [~fantazo@85-127-156-169.dynamic.xdsl-line.inode.at] has joined #scheme 20:53:27 brendyn [~brendyn@123-2-73-61.static.dsl.dodo.com.au] has joined #scheme 21:03:55 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 21:04:20 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 21:04:37 -!- bombshelter13b is now known as katrinam13 21:04:45 -!- katrinam13 [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 21:05:41 katrinam13 [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 21:07:32 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 21:09:06 -!- katrinam13 [~bombshelt@76-10-149-209.dsl.teksavvy.com] has left #scheme 21:09:48 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 252 seconds] 21:10:22 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 21:11:00 EmmanuelOga [~emmanuel@190.244.15.195] has joined #scheme 21:22:53 -!- samth is now known as samth_away 21:36:05 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 252 seconds] 21:40:41 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 21:42:51 -!- freakazoid_ is now known as freakazoid 21:45:26 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 255 seconds] 21:47:31 -!- gravicappa [~gravicapp@ppp91-77-169-123.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:47:58 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 21:52:04 es_ [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has joined #scheme 21:52:54 -!- EmmanuelOga [~emmanuel@190.244.15.195] has quit [Ping timeout: 244 seconds] 21:53:44 Wheeee :) First breakage of my macro transformer 21:53:56 It tried to rewrite 'lambda' on the inside of a replacement 21:54:00 Well, it did rewrite then blew up 21:54:12 -!- es_ [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 21:54:21 es_ [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has joined #scheme 21:54:26 eheh 21:54:29 -!- es_ [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 21:54:35 -!- realitygrill [~realitygr@76.226.139.212] has quit [Quit: realitygrill] 21:54:45 euccastro [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has joined #scheme 21:54:49 Sooo.. this is fun 21:55:25 So maybe someone can explain to me a bit, how do you determine whether or not to rename some identifier in the replacement template of a macro 21:55:53 if it's a free variable or not. 21:57:02 Right. Yes. :) Define "free variable" 21:57:03 I thought you just did the marking algorithm and always renamed 21:57:11 are you doing marking LeoNerd ? 21:57:24 Or rather, I know, as a CS graduate, what a free variable is. I don't know how to write an algorithm to determine such in this code 21:57:37 -!- stis1 [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 21:57:51 Marking? Nope. What I do currently (which is wrong), is look for a symbol name used both in the template and in a body of code that appears in a template var. 21:58:03 If so, I rename the one in the template. 21:58:05 do you know about all the papers on implementing macros? 21:58:13 is there are reason you are not following those? 21:58:24 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 240 seconds] 21:58:58 Not overly in either direction. 21:59:05 I mostly hacked this up from reading R5RS 21:59:59 http://www.cs.indiana.edu/~dyb/pubs/bc-syntax-case.pdf 22:00:08 LeoNerd: the simplest approach I've seen (recommended in some old paper) is to generated a uid, change all incoming symbols from 'foo to ['foo uid], then after expansion do it again, but change ['foo uid] back to 'foo 22:00:56 "incoming symbols" ? 22:01:05 symbols in the arguments to the macro 22:01:39 Right.. But how does that help? E.g. I'll just rename things back to colliding names, no? 22:02:28 BTW: why [] instead of () ? 22:02:37 Pure evil. 22:02:39 +1 22:02:40 pjb++ 22:02:52 evil-- 22:03:14 Compare :-) :-] :-> }:-} 22:03:28 8-X 22:03:59 Hrmmm... 22:04:15 So this is an academic paper of quite dense reading, and uses [], and describes syntax-case. :/ 22:04:33 Yes. 22:05:57 LeoNerd: if ['foo uid] gets bound, then its like an automatic gensym, and otherwise you lookup 'foo in the environment associated with the uid 22:06:56 I'm beginning to suspect I may be missing a step somewhere 22:07:22 ... also is it necessary to recursively expand all the macros at once, to do this, or can they be done lazily? 'cause currently I just expand a macro lazily at the point I would execute it as a function 22:07:45 LeoNerd: If you implement macros hygienically, it should not matter. 22:07:52 Righty.. so that's useful to know 22:08:18 The "if" is a huge one, though. 22:08:39 Because the kinds of hygienic systems I know rename everything, and you've already said that you don't. 22:09:50 Well,.. if a symbol name in the macro template never appears in any of the template var. replacements, then surely I don't need to rename it? 22:10:15 E.g. given the classic (or A B C), if none of A B nor C name 'tmp', then I don't have to rename the tmp I use to implement or 22:11:10 checking to see what you need to rename is probably more work than just renaming everything 22:11:15 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 22:11:18 So my candidates for rename are limited to only those in the intersection. 22:11:30 LeoNerd: There is no real advantage to [] over (), but some people prefer it for "clauses" i.e. (let ([a x][b y]) body) or (syntax-rules () [(foo bar) bar][(foo bar baz) (baz bar)]) 22:11:31 Well.. OK. So, if I rename -everything-, then surely nothing works? :) 22:11:32 LeoNerd: What about the "if"? That needs to be renamed too. Ditto with the "let". 22:11:40 ijp: Ooh. I see... :) 22:11:48 cky: Ya.. that sortof is my point... :/ 22:12:15 LeoNerd: If you fail to rename "if", "let", "lambda", etc. (stuff that your macro uses in its expansion), your macro is not hygienic. 22:12:33 Even "define" needs to be renamed. :-) 22:12:34 Umm... 22:12:44 *CampinSam* hopes you guys will forgive him for this silly question.. but how do you find a percentage with scheme? 22:12:53 I'm not sure I follow. If those -are- renamed, then how does the code remain working? 22:12:54 CampinSam: Percentage? 22:12:54 -!- erg_ is now known as erg 22:12:59 cky: yes.. 22:13:06 well, with the tagging system described above, you dont actually need to rename anything, just leave the tags on and keep a dictionary of environments 22:13:11 CampinSam: I don't understand your question. 22:13:18 same way as in mathematics 22:13:35 for example.. : how would you get 5% of 100 22:13:37 in scheme 22:13:46 (* 100 5/100) 22:14:08 Or, perhaps, to follow word order: (* 5/100 100). :-) 22:14:14 heh 22:14:30 asynchrony: OK.. So... perhaps with an example to stare at, may be easier. I'll try to come up with two minimal cases, one that needs rename ,one that doesn't.. and try to work it through 22:14:56 LeoNerd: You realise objects can be bound to more than one name, right? 22:15:32 Go on..? 22:15:41 Too bad rudybot died. 22:15:44 Otherwise I'd demonstrate. 22:15:47 Example: 22:15:58 (define-syntax let2 (make-rename-transformer #'let)) 22:16:29 Now, you can use let2 exactly like let. 22:17:03 So, yes, when you rename identifiers in a macro, like "let", etc., you do have to create new bindings for those new names. 22:17:20 And you bind them to the current value of the thing being renamed. 22:17:35 Right... 22:18:05 but then how to know what to bind it to? 22:18:08 destroy-samename-decepticon 22:18:58 LeoNerd: All you need is to create some unique names. 22:19:05 Those unique names are generally called gensyms. 22:19:24 There's a big step I'm not following here... 22:19:48 So.. I can easily generate unique names/tags/etc/ of every symbol in the entire macro replacement. That's fine. 22:20:15 Those are now all dangling. I need to bind them to something. So for each one I have to make a choice, as to what to bind it to. I don't follow how to do that. 22:20:23 -!- euccastro [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has quit [Ping timeout: 252 seconds] 22:22:25 you know what the symbols are bound to in the macro's environment, right? 22:22:38 OK.. here's http://pastie.org/3197892 22:22:55 Oh... at runtime? Hrmm... when it's expanded the first time? I suppose 22:23:49 ^-- so in that example, in the first chunk, I have to rename 'var' because those are two different vars (I currently do that), whereas in the second block I don't want to rename 'id' because it has to refer to the same 'id' inside and out. 22:23:51 in general macros are only expanded once 22:24:02 otherwise they're fexprs I think 22:24:04 Yes.. that's sortof what I mean 22:24:19 Does that not depend dynamically on the execution path until the first time the macro was seen? 22:25:36 LeoNerd: Okay, two concepts here: 1. point of definition, 2. point of use. 22:25:39 Whereas, at the time macro is expanded in both cases, the offending name is visible in its environment 22:25:47 LeoNerd: A macro's lexical context is the first one. 22:25:48 And at the time the macro is defined, too 22:25:56 dnolen [~user@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 22:26:01 Oooh... Oh I see.. 22:26:03 A macro cannot use any of the second (point of use) lexical context. 22:26:14 Right. Good. 'cause currently my code doesn't pass that in :) 22:27:00 The renaming is so that, once expanded, the expansion output does not inadvertantly use anything defined in the point-of-use context. 22:27:23 Yah 22:27:41 I'm aware why, I'm not aware how. I wasn't thinking about the point of the macro's definition. 22:27:52 :-) 22:28:07 So I think I can do this now 22:28:12 Excellent! 22:28:17 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 252 seconds] 22:28:24 I already have $env->defines($name) to test that 22:28:45 .oO( Ohyes, my interpreter is written in Perl ;) ) 22:28:50 Wow. 22:28:52 Brave. 22:29:00 LeoNerd: ah, like Hails'. 22:29:07 It's a liiiiiittle slow currently. 22:29:16 LeoNerd: Compile to Parrot. 22:29:21 there really arent enough scheme interpreters written in perl 22:29:30 I can do 2.6 calls/sec(!) to (length (filter even? (itoa 1000))) 22:29:31 asynchrony: Nor Parrot implementations of Scheme. :-P 22:29:46 cky: :) 22:29:55 asynchrony: I'm gonna put this on CPAN once it's done. Or at least, once it can implement all of R5RS (minus the vectors for now) 22:30:44 I did one in javascript, but it was slow. pesky continuations. 22:30:54 Wheee! Cyclic ref. 22:31:02 cky: is Parrot actually usable for, anything? 22:31:11 $env->set( $name => Lispm::Macro->new( env => $env, ... ) ); 22:31:12 is scheme in perl.. 22:31:28 asynchrony: I hope so! 22:31:43 is ANY universal VM useful for anything? 22:31:50 Parrot would be quite good for a Scheme, because it has CPS/tailcalls, for one thing 22:31:51 (rhetorical question) 22:32:05 the lua vm is very scheme friendly 22:32:13 I started off implementing my Scheme using real Perl tailcalls for Scheme tailcalls, and real Perl lambdas for Scheme lambdas. 22:32:26 *asynchrony* didnt know Perl had tailcalls 22:32:36 Only I've decided that Scheme lambdas are better done as a structure of (body,vars,env) because then they're introspectable 22:32:40 asynchrony: Yes. @_ = (args...); goto &func; 22:32:49 Yah. goto &$someotherfunc; is a tailcall. Syntax is icky 22:32:58 my eyes hurt ... 22:33:00 :) 22:33:06 Hence we wrote Sub::Call::Tail; so now you can return tail otherfunc( $args ); and it's a tailcall 22:33:23 LeoNerd: I bet it desugars to what I wrote above. ;-) 22:33:29 Yup 22:33:47 It's written as an ENTERSUB check.. which is shockingly close to a Scheme macro 22:33:57 Hahahaha. 22:34:10 Downside: They have to be written in C. Upside: They can rewrite the surrounding context of a callsite, as well as their internals 22:35:20 :-) 22:35:28 (syntax-rules (tail) ((return tail func . args) (begin (set! @_ args) (goto func))) is aaaabout as close a Scheme-ism as I can reasonably think up 22:35:39 Anyway, I should hacking my macro expander 22:37:51 :-P 22:39:13 leo2007 [~leo@222.130.129.13] has joined #scheme 22:39:20 Booo... 22:39:35 so.. now my clean test becomes dirty again :( 22:40:01 Can someone comment on my above paste - the (define var "clean") on line 5 - does that collide with the uses of 'var' in the macro on lines 1-4 ? 22:40:11 I now get "dirty" out of it again :( 22:40:16 It decided not to rename var because of that 22:40:55 Hmm.. but maybe that test -is- wrong... 22:41:21 -!- toekutr [~user@50-0-51-2.dsl.static.sonic.net] has quit [Remote host closed the connection] 22:41:41 Ahh.. OK so if I change it to (let ((var "clean")) (macro var)) then it becomes clean again 22:41:59 That's what was confusing me - can someone confirm; should that be the case? 22:43:41 What's your paste again? I tried locating it in the scrollback but not spotting it. 22:44:13 Onemo, I'll make a new one 22:44:42 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 22:45:02 MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has joined #scheme 22:45:41 http://pastie.org/3198024 22:45:41 -!- homie [~levgue@xdsl-84-44-178-126.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:47:47 LeoNerd: maybe it would be easier to check the macro-expansion 22:48:02 It would, if I had a debugger capable of printing the result.. 22:48:06 *LeoNerd* shall have to hack one up 22:48:47 LeoNerd: That is actually expected. 22:49:04 LeoNerd: Because you are using (define) at the top-level, essentially, in your macro. 22:49:17 So basically that just stomped over the top-level define you had for "clean". 22:49:54 cky: Riiiight :) OK.. 'cause my previous unit test for macro hygine used to be the top case, and it used to yield "clean". 22:50:03 I suspect because of overzealous symbol renaming 22:52:14 shouldn't the macro be producing something like (define %witness-protected-var "dirty") ? 22:52:36 Sure. 22:52:38 I'll get back to you on that. rightnow I don't have a debug printer :) 22:52:50 Then later on, you have (define %witness-protected-var "clean") (macro %witness-protected-var). 22:53:04 -!- panterax [~panterax@31.176.133.188] has quit [Ping timeout: 245 seconds] 22:53:26 panterax [~panterax@31.176.155.198] has joined #scheme 22:53:30 asynchrony: Remember. Wrapping a top-level (define) with a (begin) doesn't change its top-levelness. 22:53:35 isnt the (define var "clean") outside the scope of witness protection? 22:55:29 *cky* plays around on Racket and sees what happens there. :-P 22:55:37 I know, using Racket as the reference implementation, how shocking. 22:56:37 Hah, Racket says "clean". Nice. 22:56:44 So I misunderstood how things worked. :-) 22:57:21 However, testing with Guile, it says "dirty". (And Guile uses psyntax, which is a commonly-used expander.) 22:57:37 So, I leave it to the language lawyers to decide which is the correct behaviour. 22:57:42 the joys of multiple implementations 22:57:45 :-D 22:58:19 I think racket's right, but there should be an easy (easier than syntax-case) to get guile's behavior 22:59:22 Well, the real question is, when faced with multiple (define)s to the same top-level variable, is it a new binding each time, or is it more like "set!"? I think implementations have different opinions on this. 23:01:46 http://pastie.org/3198104 <== It Are Teh Work! 23:02:05 I allow (define) to behave like (set!) 23:02:18 (set!) is just guarded by the variable needing to exist already 23:02:26 Anyway; see expansions above 23:02:38 ((I lazily expand macros so I have to call the function first to see it) 23:07:33 ((also does anyone like my runtime control of whether procedures deparse? ;) ) 23:08:19 homie [~levgue@xdsl-84-44-178-126.netcologne.de] has joined #scheme 23:13:43 -!- zmv [~zmv@186.204.151.21] has quit [Quit: Leaving] 23:14:02 tessier [~treed@mail.copilotco.com] has joined #scheme 23:17:58 -!- fantazo [~fantazo@85-127-156-169.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 23:18:48 Doh! next bug: I forgot to expose symbols in the global env. for my special forms (if, lambda, ...) 23:19:00 Need those so the macro transformer doesn't rewrite those as well 23:19:46 jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has joined #scheme 23:26:58 -!- choas [~lars@p4FDC5F56.dip.t-dialin.net] has quit [Read error: Operation timed out] 23:27:58 realitygrill [~realitygr@adsl-76-226-139-212.dsl.sfldmi.sbcglobal.net] has joined #scheme 23:28:49 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #scheme 23:29:51 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 23:38:54 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 245 seconds] 23:52:21 -!- lonstein_ is now known as lonstein 23:56:16 euccastro [~euccastro@214.Red-83-59-7.dynamicIP.rima-tde.net] has joined #scheme