00:02:50 -!- githogori [~githogori@225.sub-75-208-12.myvzw.com] has quit [Ping timeout: 260 seconds] 00:24:18 -!- Nibble [~Nibble@90-227-5-107-no113.tbcn.telia.com] has quit [Quit: WeeChat 0.3.4] 00:42:50 adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has joined #scheme 01:08:56 -!- mjonsson [~mjonsson@38.109.95.149] has quit [Ping timeout: 240 seconds] 01:09:10 mjonsson [~mjonsson@38.109.95.149] has joined #scheme 01:11:03 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 01:14:19 pjb` [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 01:15:19 -!- leppie [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 01:16:11 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 276 seconds] 01:16:25 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 01:16:29 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 01:19:46 leppie [~lolcow@196-215-49-168.dynamic.isadsl.co.za] has joined #scheme 01:21:38 -!- pjb` is now known as pjb 01:27:03 -!- sale87 [~sale@unaffiliated/sale87] has quit [Ping timeout: 258 seconds] 01:35:05 -!- monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has quit [Quit: hello] 01:35:09 -!- Pepe_ [~ppjet@tri59-1-195-36-251-195.dsl.club-internet.fr] has quit [Ping timeout: 260 seconds] 01:37:11 pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has joined #scheme 01:37:56 monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has joined #scheme 01:40:24 saiko-chriskun [~chris-kun@fsf/member/saiko-chriskun] has joined #scheme 01:47:14 Ppjet6 [~ppjet@tri59-1-195-36-251-195.dsl.club-internet.fr] has joined #scheme 01:47:24 -!- Ppjet6 [~ppjet@tri59-1-195-36-251-195.dsl.club-internet.fr] has left #scheme 01:50:31 acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has joined #scheme 01:52:41 -!- pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 01:53:49 xwl [~user@123.108.223.27] has joined #scheme 01:56:00 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has quit [Quit: adu] 02:06:26 -!- saiko-chriskun [~chris-kun@fsf/member/saiko-chriskun] has quit [Quit: WeeChat 0.3.4] 02:10:31 saiko-chriskun [~chris-kun@fsf/member/saiko-chriskun] has joined #scheme 02:15:43 -!- tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has quit [Quit: Ex-Chat] 02:17:18 -!- gcartier_ [~gcartier@modemcable041.134-82-70.mc.videotron.ca] has quit [Ping timeout: 240 seconds] 02:21:03 mdmkolbe [~Not_Avail@2001:18e8:2:741:a6ba:dbff:feb7:6751] has joined #scheme 02:26:17 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has quit [Quit: Leaving] 02:44:29 -!- MrFahrenheit [~RageOfTho@users-146-140.vinet.ba] has quit [Ping timeout: 258 seconds] 02:46:44 rramsden [~rramsden@173.180.120.249] has joined #scheme 02:48:53 adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has joined #scheme 02:53:47 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:08:53 -!- realitygrill [~realitygr@adsl-76-232-150-230.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 240 seconds] 03:08:58 realitygrill_ [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has joined #scheme 03:14:56 protv_ [ubuntu@117.192.115.206] has joined #scheme 03:16:26 -!- protv [ubuntu@117.192.99.212] has quit [Ping timeout: 276 seconds] 03:23:44 http://www.leptoquark.net/~elly/mp.rkt most important program I will ever write. 03:23:58 tcleval [~funnyguy@186.213.59.84] has joined #scheme 03:24:14 what ide or editor people use for scheme? 03:24:26 I use emacs 03:24:54 Everyone uses Emacs, sometimes multiple Emacsen. I use GNU Emacs and Edwin. 03:25:06 evening, Riastradh 03:25:19 Hi. 03:25:27 how goes? 03:25:35 is there any slime like plugin for emacs to use with scheme? 03:25:52 How come English doesn't let one just say `goes' in answer to that? It works in French! 03:26:05 -!- mdmkolbe [~Not_Avail@2001:18e8:2:741:a6ba:dbff:feb7:6751] has left #scheme 03:26:25 *poof* 03:32:08 elly: does she appreciate scheme? 03:32:25 she does. 03:32:44 Good luck! 03:32:54 She said yes :) 03:32:59 Great! 03:33:05 (actually "Yes, and now I have to write a shell script.") 03:41:41 tcleval: Not everyone uses Emacs. :-) 03:42:02 *elly* oscillates 03:49:21 elly: Hopefully this was retroactive, otherwise spending time on IRC would be ... questionable. 03:49:38 retroactive? 03:49:54 I mean, she asked to be left alone for a bit so she can write her shell script :) 03:49:58 otherwise we would be in bed 03:50:12 As in -- written and answered a while ago. 03:50:25 Guess not... 03:50:51 oh, no - when I gave it to her, she ran it, and said "Yes, and now I need to write a shell script. Go wait in bed." 03:51:03 :) 03:51:04 she is writing a counter-proposal :P 03:51:15 BTW, in my course you'd get some slapping for nesting `if's instead of a `cond'. 03:51:20 pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has joined #scheme 03:51:45 I thought about that while I was writing it, but I was in a hurry :) 03:52:00 OK, OK. 03:52:04 (I thought to myself, "I don't have time to not be married to her any more.") 03:52:13 In that case I won't mention the one-space indentation too... 03:52:24 anyway, it worked on the first try :) I'm calling that a victory 03:52:27 pfft, that was paredit-mode 03:53:12 anyway, :) 03:53:21 elly: yes, you wouldn't want to do the same error as in Idiocracy. 03:53:26 -!- realitygrill_ [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has quit [Remote host closed the connection] 03:53:31 realitygrill [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has joined #scheme 03:53:34 pjb: oh? 03:53:40 *eli* slaps Riastradh transitively. 03:55:43 elly: http://www.youtube.com/watch?v=PSROlfR7WTo&feature=related Do not wait for marrying and making babies! :-) 03:56:08 we can't make babies, pjb :P 03:56:14 I am infertile, for one thing, and for another my partner is also female :) 03:56:33 Then you can't marry. 03:56:42 haha 03:56:46 pjb: It's MA. 03:56:51 By definition. 03:56:54 yes, it's MA 03:57:05 not in this state :) 03:57:09 MA has its own definition. 03:57:14 (Still a great movie though.) 03:57:15 Yes, politicians forbid gravity in law too. 03:58:27 anyway, we can get married here 03:58:58 *eli* happens to agree with the contextual political definition 04:00:36 Easy, probably, given that I come from a place that makes marriage related rules even more stupid. 04:00:36 -!- protv_ [ubuntu@117.192.115.206] has quit [Quit: leaving] 04:02:16 -!- bremner_ [~bremner@yantan.tethera.net] has quit [Quit: ZNC - http://znc.sourceforge.net] 04:02:43 ckrailo [~ckrailo@pool-173-71-46-119.dllstx.fios.verizon.net] has joined #scheme 04:02:46 bremner_ [~bremner@yantan.tethera.net] has joined #scheme 04:02:48 -!- arcfide [1000@c-69-136-5-227.hsd1.in.comcast.net] has left #scheme 04:03:32 -!- pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 04:03:47 realitygrill_ [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has joined #scheme 04:05:49 xwl` [~user@123.108.223.27] has joined #scheme 04:06:59 -!- xwl` [~user@123.108.223.27] has quit [Client Quit] 04:07:59 -!- realitygrill [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 260 seconds] 04:08:00 -!- realitygrill_ is now known as realitygrill 04:15:51 -!- xwl [~user@123.108.223.27] has quit [Ping timeout: 264 seconds] 04:16:59 pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has joined #scheme 04:18:35 -!- pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has quit [Client Quit] 04:19:39 pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has joined #scheme 04:19:57 -!- pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has quit [Client Quit] 04:22:46 aidalgol [~user@114-134-7-23.rurallink.co.nz] has joined #scheme 04:33:46 gremset [ubuntu@117.192.115.206] has joined #scheme 04:36:09 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has quit [Quit: Leaving] 04:45:34 -!- tcleval [~funnyguy@186.213.59.84] has quit [Quit: leaving] 04:47:45 jrt4 [~jrtaylori@207-118-45-56.dyn.centurytel.net] has joined #scheme 04:54:25 -!- mjonsson [~mjonsson@38.109.95.149] has quit [Remote host closed the connection] 04:58:15 githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has joined #scheme 05:13:08 -!- rramsden [~rramsden@173.180.120.249] has quit [Quit: Leaving] 05:19:10 -!- lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Remote host closed the connection] 05:56:58 gravicappa [~gravicapp@ppp91-77-167-194.pppoe.mtu-net.ru] has joined #scheme 06:08:23 superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has joined #scheme 06:25:41 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 246 seconds] 06:25:56 -!- ckrailo [~ckrailo@pool-173-71-46-119.dllstx.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 06:34:46 why has scheme never got the real productive role that it deserves? 06:35:39 ckrailo [~ckrailo@pool-173-71-46-119.dllstx.fios.verizon.net] has joined #scheme 06:50:23 It does, but because the increased productivity is a competitive edge, it's kept secret. 06:53:05 yea maybe so hehe 06:53:31 even though there some was crazy smh'ing when learning the past day has been smooth and I have some fairly large stuff done. 07:06:47 -!- gravicappa [~gravicapp@ppp91-77-167-194.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 07:07:41 -!- tupi [~david@189.60.162.71] has quit [Quit: Leaving] 07:15:28 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Remote host closed the connection] 07:15:58 I might crazy in some ways of wanting to use scheme for web development .....almost all my co workers are just PHP heads 07:16:27 -!- aidalgol [~user@114-134-7-23.rurallink.co.nz] has quit [Remote host closed the connection] 07:18:21 gravicappa [~gravicapp@ppp91-77-220-162.pppoe.mtu-net.ru] has joined #scheme 07:21:10 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has quit [Quit: adu] 07:27:15 homie` [~levgue@xdsl-78-35-189-245.netcologne.de] has joined #scheme 07:27:45 djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has joined #scheme 07:28:52 jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has joined #scheme 07:29:23 -!- homie [~levgue@xdsl-78-35-181-135.netcologne.de] has quit [Ping timeout: 246 seconds] 07:47:28 -!- djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 07:49:01 djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has joined #scheme 07:54:11 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 07:58:31 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 246 seconds] 07:58:55 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 08:01:59 -!- realitygrill [~realitygr@adsl-76-226-117-243.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 240 seconds] 08:08:16 -!- monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has quit [Quit: hello] 08:09:09 leo2007 [~leo@123.114.50.27] has joined #scheme 08:09:35 Riastradh: there? 08:09:44 wingo [~wingo@90.164.198.39] has joined #scheme 08:12:27 -!- shardz [~samuel@ilo.staticfree.info] has quit [Read error: Operation timed out] 08:16:03 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 08:17:56 shardz [~samuel@ilo.staticfree.info] has joined #scheme 08:19:58 mmc [~michal@82-148-210-75.fiber.unet.nl] has joined #scheme 08:27:54 Riastradh: sorry to pester you with paredit-convolute-sexp. But see this example of space issue: (let ((abc)) (progn| abc)) => (progn(let ((abc)) abc)) 08:56:53 -!- jrt4 [~jrtaylori@207-118-45-56.dyn.centurytel.net] has quit [Quit: Leaving] 09:08:26 rumina [~rumina@88-148-219-26.bb.dnainternet.fi] has joined #scheme 09:08:57 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Read error: Operation timed out] 09:14:58 -!- superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has quit [Quit: superjudge] 09:16:49 -!- EM03 [~dfsdfdsf@unaffiliated/em03] has quit [Quit: EM03] 09:29:47 -!- leo2007 [~leo@123.114.50.27] has quit [Ping timeout: 260 seconds] 09:32:53 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 09:36:10 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 246 seconds] 09:36:19 leo2007 [~leo@th041156.ip.tsinghua.edu.cn] has joined #scheme 10:07:20 araujo [~araujo@190.75.195.55] has joined #scheme 10:07:21 -!- araujo [~araujo@190.75.195.55] has quit [Changing host] 10:07:21 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 10:13:03 gremset_ [ubuntu@117.192.108.86] has joined #scheme 10:14:04 -!- gremset [ubuntu@117.192.115.206] has quit [Ping timeout: 264 seconds] 10:27:54 masm [~masm@bl15-234-183.dsl.telepac.pt] has joined #scheme 10:33:58 -!- ckrailo [~ckrailo@pool-173-71-46-119.dllstx.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 10:55:13 -!- homie` [~levgue@xdsl-78-35-189-245.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:58:49 homie [~levgue@xdsl-78-35-189-245.netcologne.de] has joined #scheme 10:59:34 xwl [~user@123.108.223.27] has joined #scheme 10:59:48 -!- rumina [~rumina@88-148-219-26.bb.dnainternet.fi] has left #scheme 11:02:49 lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #scheme 11:08:16 ijp [~user@host86-150-74-195.range86-150.btcentralplus.com] has joined #scheme 11:09:34 -!- gremset_ [ubuntu@117.192.108.86] has quit [Quit: No Ping reply in 180 seconds.] 11:10:08 gremset [ubuntu@117.192.108.86] has joined #scheme 11:13:18 tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has joined #scheme 11:13:33 -!- gremset [ubuntu@117.192.108.86] has quit [Read error: Connection reset by peer] 11:13:53 gremset [ubuntu@117.192.125.94] has joined #scheme 11:47:11 -!- jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 12:02:48 -!- leo2007 [~leo@th041156.ip.tsinghua.edu.cn] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 12:03:05 Pepe__ [~ppjet@bouah.net] has joined #scheme 12:15:09 djcb` [~user@a88-112-253-18.elisa-laajakaista.fi] has joined #scheme 12:15:14 bokr [~eduska@109.110.32.172] has joined #scheme 12:17:14 -!- djcb [~user@a88-112-253-18.elisa-laajakaista.fi] has quit [Ping timeout: 276 seconds] 12:34:43 gcartier_ [~gcartier@modemcable041.134-82-70.mc.videotron.ca] has joined #scheme 12:37:47 -!- gcartier_ [~gcartier@modemcable041.134-82-70.mc.videotron.ca] has left #scheme 12:40:41 Which schemes implement ER macros besides Chicken and Chibi? 12:41:07 MIT Scheme seems to implement them, as well 12:49:46 foof: A fix for fmt-c.scm, regarding C string literals: , also see paste description 12:52:46 -!- gravicappa [~gravicapp@ppp91-77-220-162.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 12:58:39 leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has joined #scheme 13:03:51 -!- bokr [~eduska@109.110.32.172] has quit [Quit: Leaving.] 13:18:22 -!- sjamaan [~sjamaan@netbsd/developer/sjamaan] has quit [Ping timeout: 240 seconds] 13:24:13 Guest89418 [~sjamaan@frohike.xs4all.nl] has joined #scheme 13:24:26 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 13:25:02 -!- Guest89418 is now known as sjamaan 13:25:07 -!- sjamaan [~sjamaan@frohike.xs4all.nl] has quit [Changing host] 13:25:07 sjamaan [~sjamaan@netbsd/developer/sjamaan] has joined #scheme 13:35:18 MrFahrenheit [~RageOfTho@users-146-140.vinet.ba] has joined #scheme 13:37:46 -!- tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has quit [Quit: Ex-Chat] 13:48:11 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 260 seconds] 13:55:41 -!- xwl [~user@123.108.223.27] has quit [Ping timeout: 240 seconds] 13:58:38 -!- djcb` [~user@a88-112-253-18.elisa-laajakaista.fi] has quit [Remote host closed the connection] 13:59:30 soveran [~soveran@186.19.214.247] has joined #scheme 14:05:36 -!- Pepe__ is now known as Pepe_ 14:25:52 -!- AtnNn [~welcome@modemcable060.239-177-173.mc.videotron.ca] has quit [Ping timeout: 246 seconds] 14:28:06 elly: Super duper congrats!!! 14:28:29 elly: You two are such nerds. :-) 14:31:23 superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has joined #scheme 14:33:06 AtnNn [~welcome@modemcable060.239-177-173.mc.videotron.ca] has joined #scheme 14:35:53 -!- lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Read error: Operation timed out] 14:54:02 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 15:01:24 soveran [~soveran@186.19.214.247] has joined #scheme 15:02:32 tauntaun [~Crumpet@64.134.66.72] has joined #scheme 15:09:00 Lectus [~fred@189.104.223.17] has joined #scheme 15:17:25 mjonsson [~mjonsson@38.109.95.149] has joined #scheme 15:23:22 realitygrill [~realitygr@adsl-76-226-101-210.dsl.sfldmi.sbcglobal.net] has joined #scheme 15:28:06 realitygrill_ [~realitygr@76.226.216.49] has joined #scheme 15:29:41 -!- realitygrill [~realitygr@adsl-76-226-101-210.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 260 seconds] 15:29:42 -!- realitygrill_ is now known as realitygrill 15:39:06 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 15:40:48 dnolen [~davidnole@184.152.69.75] has joined #scheme 15:41:44 tupi [~david@189.60.162.71] has joined #scheme 15:42:14 -!- Lectus [~fred@189.104.223.17] has quit [Quit: Ex-Chat] 15:43:58 elly, congratulations!! Do we ever get to see the shell script counterproposal? 15:47:04 Why did I deserve a slap, and how can one slap transitively? What did paredit do wrong? 15:48:03 peterhil` [~peterhil@a91-152-135-21.elisa-laajakaista.fi] has joined #scheme 15:49:13 Riastradh: I had a good look at your LOOP/WHILE example, and implemented this: http://paste.lisp.org/display/121870 15:49:20 gnomon: what is this? :) 15:49:21 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 15:50:20 Riastradh: Is datum->syntax necessary to make the naive versions work? 15:51:00 (loop (stop '(stop 0))) 15:51:06 wingo, check your scrollback for about twelve hours ago. 15:51:29 (loop (stop (let ((stop (lambda (x) 'crafty))) (stop 0)))) 15:51:50 Oh, actually, the latter will work. But not this: 15:52:00 (loop (stop ((lambda (stop) (stop 0)) (lambda (x) 'crafty)))) 15:53:07 Riastradh: Wait, where does that go, and what should it do? 15:54:10 These are valid uses of LOOP as I described it. The first should give the list (STOP 0); the second and third should give the symbol CRAFTY. (Perhaps I ought to have written: (loop (stop ((lambda (stop) (stop 'lose)) (lambda (x) 'win)))).) 15:54:36 They illustrate problems with code-walking substitution. 15:55:07 haha that is cute! 15:55:12 elly: congrats! :) 15:55:48 Riastradh: OK, fair enough. Can you explain how datum->syntax and free-identifier=? help here? 15:56:22 You can fix both of these problems for this case of code-walking substitution (in the last case of LOOP, replace K by STOP), but I suspect that another one will remain, and you really don't want to go debugging that one. 15:56:39 I agree, it's ugly 15:57:11 In ER-LOOP, replace STOP by ,(datum->syntax 'STOP (car e)) or something. 15:57:52 Then both (loop (stop 0)) and (define-syntax while (syntax-rules () ((WHILE condition body0 body1+ ...) (LOOP (IF condition (STOP 0)) body0 body1+ ...] will work. 15:58:17 Why is (car e) in datum->syntax? 15:58:49 What's the significant difference here? LOOP needs to know the hygiene context of its caller. Is its caller the user? Is its caller some particular instance of the WHILE macro? It needs to know that in order to use the caller's rename cache to get a name identical to what the caller would have used if the caller wanted the name STOP. 15:59:33 *sjamaan* nods 15:59:41 -!- cbrannon [~cbrannon@gentoo/developer/cbrannon] has quit [Quit: Changing server] 16:00:12 So, why did your datum->syntax call use two arguments? 16:00:21 cbrannon [~cbrannon@gentoo/developer/cbrannon] has joined #scheme 16:00:22 |17:57| ( Riastradh) In ER-LOOP, replace STOP by ,(datum->syntax 'STOP (car e)) or something. 16:00:32 The second argument tells DATUM->SYNTAX what rename cache to get at. 16:00:59 But that's just a symbol with the name of the macro, isn't it? 16:01:09 *sjamaan* guesses "no" :) 16:01:17 It may be. In that case, DATUM->SYNTAX may return just the symbol STOP. 16:01:58 It may be #[syntactic-closure 123 {environment of while} loop]. 16:02:06 -!- realitygrill [~realitygr@76.226.216.49] has quit [Quit: realitygrill] 16:02:54 Suppose we implemented SYNTAX-RULES in terms of ER-MACRO-TRANSFORMER, so that WHILE's body looked like `(,(w:rename 'LOOP) (,(w:rename 'IF) ,condition (,(w:rename 'STOP) 0)) ...). 16:03:52 Then when LOOP's transformer runs (datum->syntax 'STOP (car e)), where (car e) is what (w:rename 'LOOP) gave, the DATUM->SYNTAX is tantamount to (w:rename 'STOP) -- which gives the same name as WHILE's transformer got by evaluating (w:rename 'STOP). 16:05:34 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 240 seconds] 16:07:49 hm 16:08:46 So actually, it would be like passing the renaming procedure of WHILE along to LOOP and using that to rename the stop symbol, instead of its own? 16:08:54 Right. 16:09:38 Are there cases where you'd want to use another renamer than the one of the surrounding macro environment? 16:10:02 I don't know. 16:10:05 (or the toplevel, if there is none) 16:10:35 Where does free-identifier=? come in? 16:14:00 I don't remember what FREE-IDENTIFIER=? and BOUND-IDENTIFIER=? mean. 16:15:08 ok :) 16:15:08 By the way, my internet connection is a bit flaky today 16:15:08 So if I don't respond it might be because of that 16:16:23 Damn, I just noticed my comments are wrong in the code; the traversing versions do show the correct output 16:16:27 ah well 16:18:32 Riastradh: Which Schemes implement ER macros combined with datum->syntax so that I can test this? 16:19:50 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 16:20:39 -!- leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has quit [Ping timeout: 260 seconds] 16:23:20 realitygrill [~realitygr@76.226.216.49] has joined #scheme 16:24:38 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:25:06 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 16:28:31 None that I know of, sjamaan. 16:28:36 You can use riaxpander for tests. 16:31:55 I noticed it's only available for Chicken 3. Do you think it's hard to port to 4? 16:42:36 -!- mjonsson [~mjonsson@38.109.95.149] has quit [Read error: Operation timed out] 16:45:37 leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has joined #scheme 16:46:38 who is the market for chez scheme? 16:46:43 Nisstyre [~nisstyre@infocalypse-net.info] has joined #scheme 16:51:14 monqy [~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net] has joined #scheme 16:54:40 Riastradh: ok, I found a chicken 3 installation and indeed, (datum->syntax 'stop (car e)) did the trick. But I find it worrying that you don't know what free-identifier=? does either. Doesn't this mean that aside from it being hard to implement, these macro systems are also (too) hard to use correctly? 16:56:12 mjonsson [~mjonsson@38.109.95.149] has joined #scheme 16:56:27 Too many small subtle things to get wrong and no way to find out until your macro breaks when someone tries to use it 16:58:23 -!- cbrannon [~cbrannon@gentoo/developer/cbrannon] has quit [Quit: leaving] 16:59:43 Lectus [~chatzilla@189.104.223.17] has joined #scheme 17:00:15 Hello! Anyone here uses chicken implementation? I tried to install an extension and got the message that it can't load setup-download. 17:00:21 How to fix this? 17:09:43 -!- realitygrill [~realitygr@76.226.216.49] has quit [Quit: realitygrill] 17:09:46 -!- tauntaun [~Crumpet@64.134.66.72] has quit [Quit: Ex-Chat] 17:11:06 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 17:13:55 cbrannon [~cbrannon@gentoo/developer/cbrannon] has joined #scheme 17:19:22 pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #scheme 17:31:41 -!- samth_away is now known as samth 17:36:28 ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #scheme 17:47:02 realitygrill [~realitygr@76.226.216.49] has joined #scheme 17:52:46 -!- saiko-chriskun [~chris-kun@fsf/member/saiko-chriskun] has quit [Quit: WeeChat 0.3.4] 17:52:51 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 17:53:11 saiko-chriskun [~chris-kun@fsf/member/saiko-chriskun] has joined #scheme 17:55:02 -!- gremset [ubuntu@117.192.125.94] has quit [Read error: Operation timed out] 17:59:04 elly, congratulations! 17:59:58 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Quit: Leaving] 18:01:22 sjamaan, I think that (FREE-IDENTIFIER=? ) is essentially (NAME=? (EMPTY-ENVIRONMENT) (EMPTY-ENVIRONMENT) ), and (BOUND-IDENTIFIER=? ) is essentially (EQ? ). 18:01:58 tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has joined #scheme 18:02:38 -!- realitygrill [~realitygr@76.226.216.49] has quit [Quit: realitygrill] 18:02:41 What does the name comparison with empty environments do? 18:02:51 NAME=? answers the question `Is the denotation of name-a in environment-a the same as the denotation of name-b in environment-b?'. 18:03:45 But aren't all syntactically identical names equal to eachother in the empty environment? 18:03:58 How does it differ from eqv?, then? 18:04:18 There exist names and such that (NOT (EQV? )) but (FREE-IDENTIFIER=? ) under the definition I gave. 18:04:34 dullard [~user@188-223-137-38.zone14.bethere.co.uk] has joined #scheme 18:04:54 Example: (close-syntax 'FOO env) and (close-syntax (close-syntax 'FOO env) env0). 18:05:10 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: leaving] 18:05:25 Sounds like (eq? (strip-syntax a) (strip-syntax b)) 18:05:31 No. 18:05:49 Counterexample: (close-syntax 'FOO env) and (close-syntax 'FOO env0). 18:06:25 Those aren't free-identifier=? 18:06:26 It's not the question `Are these the same names?' but `Do these names have the same meaning in their respective environments?'. 18:07:11 ah, so if you renamed them on import they'd be free-identifier=? even though the symbols would be different 18:07:22 Sure. 18:07:23 Hi everyone. I'm trying to understand a bit of scheme code and came across this use of an ellipses in syntax-rules arguments: (_ a (b ... c) d) does c match the last element in the list? 18:07:53 dullard: yes, if your Scheme supports the relevant extension 18:07:59 (otherwise it's a syntax error) 18:08:23 sjamaan: lovely, thanks 18:09:15 (The reason I don't remember immediately exactly what BOUND-IDENTIFIER=? and FREE-IDENTIFIER=? do is that I don't usually use them because they don't exist in the Scheme systems I use.) 18:10:05 (In Racket, BOUND-IDENTIFIER=? is probably not just EQV?; it's probably more like EQV? after stripping source location information off.) 18:11:28 *sjamaan* nods 18:12:35 Riastradh: Why is the car of the ER syntax call an environment? 18:13:08 It seems like a bit of a hack to pass it on like that, though I guess it works 18:13:28 leo2007, thanks, I've pushed a couple fixes to paredit-convolute-sexp. Its handling of whitespace is still pretty sketchy; please let me know if you find more corner cases and how you would like to see them handled. 18:14:31 sjamaan, in many cases that will give you a name produced from the same rename cache as you want. (E.g., if WHILE has a template that looks like (LOOP ), then LOOP will be renamed with the right rename cache.) 18:15:50 sjamaan, I suspect that there are screw cases, but I don't think anyone will ever encounter them in practice, and I haven't thought of a better mechanism for handling them. 18:16:18 Does this work everywhere? 18:16:29 Here is an example of a screw case: (define-syntax zot (syntax-rules () ((ZOT) loop))) (define-syntax while (syntax-rules () ((WHILE condition body0 body1+ ...) ((ZOT) (IF condition (STOP 0)) body0 body1+ ...] 18:16:50 Does (datum->syntax NAME (car expression)) work in syntax-case too? 18:17:31 Yes, that's how you usually express it. 18:17:58 The underlying mechanism might be different from just (car expression), and it might handle the screw cases slightly differently, but it's approximately that. 18:18:50 But does the user specify (car expression) there too? 18:18:56 Roughly, yes. 18:19:00 jrtayloriv [~jrtaylori@207-118-45-56.dyn.centurytel.net] has joined #scheme 18:19:01 You usually write it like this: 18:19:10 Riastradh: seems to work pretty well. Thanks for the quick fix. 18:19:46 (define-syntax loop (lambda (stx) (syntax-case stx () ((LOOP body0 body1+ ...) (with-syntax ((STOP (datum->syntax 'STOP (syntax LOOP)))) (syntax (CWCC (LAMBDA (STOP) ...] 18:20:24 So you use SYNTAX-CASE's pattern matching rather than (car expression); that's all. 18:20:42 hm 18:24:01 if I know that I can download a racket package by requiring some symbol, how can I download the actual source files without racket? 18:25:17 ecraven: with the raco planet tool 18:25:17 ecraven, the files are all at planet.racket-lang.org 18:25:25 ecraven: http://docs.racket-lang.org/planet/cmdline.html 18:25:43 ecraven: see the fetch command 18:26:37 Hmm, that looks to me like it doesn't satisfy `without Racket'. 18:27:43 Well, you could look at that tool's source code :) 18:28:09 Depends on the definition of w/o racket I guess 18:28:32 Huh? 18:29:14 What definition of `without Racket' could possibly entail having Racket installed and handy? 18:29:25 Riastradh, he might mean "without running racket and requring that symbol" 18:29:44 you can browse the files on planet.racket-lang.org, then use html2text to convert them :) 18:32:28 -!- pygospa [~TheRealPy@kiel-5f77b131.pool.mediaWays.net] has quit [Disconnected by services] 18:32:40 pygospa [~TheRealPy@kiel-5f7691b9.pool.mediaWays.net] has joined #scheme 18:33:16 wingo, I think the market for Chez Scheme is the following set: {arcfide} 18:33:54 (I excluded its authors from the set, although I suppose it might reasonably be {IU, arcfide}.) 18:46:53 Riastradh: least fixed point? 18:52:48 Least fixed point? 18:55:44 It's most variable 18:56:24 how oxymoronic 18:57:43 jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has joined #scheme 18:58:38 realitygrill [~realitygr@76.226.216.49] has joined #scheme 19:02:24 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 248 seconds] 19:15:29 stis [~stis@host-90-239-51-131.mobileonline.telia.com] has joined #scheme 19:34:28 gravicappa [~gravicapp@ppp91-77-220-162.pppoe.mtu-net.ru] has joined #scheme 19:34:43 cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #scheme 19:38:26 homie` [~levgue@xdsl-84-44-152-35.netcologne.de] has joined #scheme 19:40:00 -!- homie [~levgue@xdsl-78-35-189-245.netcologne.de] has quit [Ping timeout: 260 seconds] 19:45:13 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 19:46:40 -!- superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has quit [Quit: superjudge] 19:52:25 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Read error: Connection reset by peer] 19:52:59 cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #scheme 20:00:00 -!- leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has quit [Ping timeout: 248 seconds] 20:04:18 -!- jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 20:07:39 archman [~archman@unaffiliated/archman] has joined #scheme 20:07:53 hello 20:10:40 i'm starting to learn scheme (chicken implementation) and i'm having problems finding out how to do a non-blocking read from file, since i'd like a program to terminate upon receiving SIGTERM. this is my code so far: http://paste.lisp.org/display/121880 20:11:17 so the '(pipedata (call-with-input-file mypipe read-line))' part seems to block the program, ignoring SIGTERM 20:11:45 the purpose of this is a clear daemon termination upon shutting down / rebooting 20:11:57 any help appreciated! 20:13:00 will i need to use call/cc or zmq for that stuff? or is there a procedure which can just check the fifo if there's any data on it, and continue the program execution? 20:13:40 There's also #chicken, I think, although I think there's a large overlap with this channel. 20:14:39 i'd also like to get some ideas of how this should work from any schemer 20:14:56 It shouldn't block, AFAIK. I don't know why it does 20:15:10 I don't either 20:15:26 it certainly does, since it ignores 'pkill' 20:15:38 i can't terminate it without using 'kill -9'... 20:15:49 Trying to find out which call it ends up (source, strace etc) might help dig it out 20:15:55 unless there's documentation 20:15:57 ok 20:16:08 Can you boil it down to a simple script and send that to the mailinglist? 20:16:32 I think you should be able to demonstrate the problem with just one or two lines of code 20:16:40 Doing so might help you pinpoint when and why it breaks 20:19:06 sjamaan: http://lists.nongnu.org/archive/html/chicken-users/2011-04/msg00047.html 20:20:22 You never got a reply? 20:20:26 any call to ffi will block the runtime's scheduler and signal handling 20:20:42 C-Keen: This isn't ffi 20:20:49 sjamaan: read-line? 20:20:55 archman: So, is it blocked in open()? 20:21:10 C-Keen: Read-line is blocking? 20:21:41 Normally, reading procedures should not block. They try to read bits and then suspend the thread if they get EAGAIN 20:21:42 If it's waiting for kernel (system call), then it would be blocked. 20:21:59 At least, that's what would happen in TCP reads. I don't know as much about regular file reads though 20:23:05 And that's a FIFO, I think. But that shouldn't be different than reading from stdin? 20:23:06 soveran [~soveran@186.19.214.247] has joined #scheme 20:23:31 hm, I do think stdin is blocking... 20:23:58 sjamaan: well the posix unit is a rough 1:1 mapping 20:24:32 sjamaan: and I am not sure what is happening inside with-input-from-file when passed on a fifo 20:24:35 C-Keen: read-line isn't posix 20:24:54 sjamaan: but the "port" used here is 20:25:07 aye 20:25:25 I guess anything trying to read from a named pipe won't respond to SIGTERM, then 20:25:42 Although that seems somehow strange to me. 20:26:55 Possibly http://bugs.call-cc.org/ticket/300 is relatd 20:26:57 related* 20:28:00 cat on a fifo dies on sigterm, though 20:28:32 That's even stranger 20:28:35 -!- homie` [~levgue@xdsl-84-44-152-35.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:29:52 -!- gravicappa [~gravicapp@ppp91-77-220-162.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 20:31:54 homie [~levgue@xdsl-84-44-152-35.netcologne.de] has joined #scheme 20:33:51 sjamaan: sorry for replying late, but no, i got no replies on it 20:34:05 some guys on #chicken even said that that might be a bug 20:34:31 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 20:36:16 -!- ravi_ [~ravi@118-92-157-20.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 248 seconds] 20:38:39 read-buffered? hmm, there's no such thing in chicken 20:39:08 aaah, i didn't notice the '(currently undocumented)' part of it, nvm 20:39:44 It's probably in the prerelease version 20:39:55 4.6.0 obviously doesn't have it 20:40:12 open doesn't return EAGAIN. It blocks until it returns or it is interrupted. 20:40:37 aaah crap :( 20:40:58 how would you guys to such program functionality? 20:41:01 do* 20:41:08 yes, open. Does it block on open right now? 20:41:13 When open returns EINTR, Chicken needs to deliver any pending signals/interrupts/thread-switchings. 20:41:32 EAGAIN would be on read 20:42:40 If there are no threads pending, and Chicken just runs `while ((fd = open(...)) != -1 && errno == EINTR);' then you will lose because that loop will never terminate until you SIGKILL it (or send any other signal whose default action is to terminate the process and for which Chicken has not installed a handler). 20:43:22 s/!=/==/1 20:46:29 http://blog.alwaysmovefast.com/using-epoll-with-chicken-scheme 20:46:35 maybe using epoll might be an alternative 20:46:48 although using epoll seems like an overkill for this... 20:47:20 That looks completely broken unless it hooks correctly into Chicken's threads and interacts with every other part of the run-time system that has to do with I/O, events, and interrupts. 20:48:12 YokYok [~david@nietwork.net] has joined #scheme 20:51:14 gcartier_ [~gcartier@modemcable041.134-82-70.mc.videotron.ca] has joined #scheme 20:52:01 Try reducing your problem as much as you can to elicit the hanging behaviour. 20:52:54 Oh, yikes, popen. 20:53:26 gremset [ubuntu@117.192.99.117] has joined #scheme 20:54:31 Riastradh: i thought of doing a (sleep 2) after 'polling' the file for new data, but i dunno what to use for that ... 20:54:58 For example, try just running (begin (create-fifo "/tmp/lose") (call-with-input-file "/tmp/lose" read-line)), and then run `echo foo > /tmp/lose'. 20:55:49 ok 20:57:29 That, or instead of `echo foo > /tmp/lose', send SIGTERM or whatever to the Scheme process. 20:57:43 If SIGTERM terminates the process, try it after you've set up a signal handler. 20:57:51 Riastradh: it returned the string 20:58:39 ravi_ [~ravi@118-92-157-20.dsl.dyn.ihug.co.nz] has joined #scheme 20:59:55 Bahman [~Bahman@2.146.20.73] has joined #scheme 21:00:01 -!- YokYok [~david@nietwork.net] has quit [Quit: leaving] 21:00:24 Riastradh: and yes, pkill terminated the process 21:00:53 Hi all! 21:02:41 Riastradh: i don't understand, where should i put what? 21:03:19 -!- ravi_ [~ravi@118-92-157-20.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 252 seconds] 21:04:26 I'm just suggesting that you try little bits and pieces of your program, or try breaking your program into parts, until you've found the smallest example that isolates the problem. 21:04:55 aah, ok! 21:05:01 will try something 21:05:27 And be aware that (a) Unix is hard and full of fiddly details, and (b) Chicken does not appear to be engineered to deal with those details very gracefully. 21:05:55 maybe i should implement that in c, but i like scheme better... 21:07:06 Either way it will be your responsibility to deal with those details. 21:10:14 Gogo worse-is-better. 21:22:05 lbc_ [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #scheme 21:22:56 archman: could you boil down your program to a different test case? http://paste.lisp.org/display/121881 read-line reacting to pkill per se works for me. with or without setting a handler 21:23:18 bei it sigterm sigkill or else 21:24:00 C-Keen: yeah, terminates for me too 21:24:11 archman: so the problem is probably elsewhere 21:24:14 can it be that the process is getting forked? 21:24:36 archman: maybe, please try to pin it down with as little code as possible 21:24:42 ok 21:24:45 thanks! 21:24:54 archman: thanks for the report 21:24:59 np 21:25:09 I am off to bed. Good night 21:25:17 night! 21:30:40 -!- dullard [~user@188-223-137-38.zone14.bethere.co.uk] has quit [Remote host closed the connection] 21:39:22 Riastradh: I disagree that Unix is hard. But it is full of stupid details indeed. 21:40:08 Riastradh: and your "obvious idiom" made me laugh. 21:40:11 -!- infid [~infid@rrcs-173-198-12-38.west.biz.rr.com] has quit [Ping timeout: 240 seconds] 21:41:56 infid [~infid@rrcs-173-198-12-38.west.biz.rr.com] has joined #scheme 21:42:25 ASau`: Have you read the "Worse is Better" essay? 21:42:34 -!- alexgordon [~alexgordo@beyond.conceited.net] has left #scheme 21:44:56 -!- rdd [~rdd@c83-250-52-16.bredband.comhem.se] has quit [] 21:46:24 cky: sure. 21:49:27 -!- Lectus [~chatzilla@189.104.223.17] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0.1/20110413222027]] 21:50:56 -!- stis [~stis@host-90-239-51-131.mobileonline.telia.com] has quit [Ping timeout: 248 seconds] 21:56:54 zanea [~zanea@219-89-171-61.jetstart.xtra.co.nz] has joined #scheme 22:10:43 -!- samth is now known as samth_away 22:16:51 -!- archman [~archman@unaffiliated/archman] has left #scheme 22:20:34 -!- cbrannon [~cbrannon@gentoo/developer/cbrannon] has quit [Ping timeout: 260 seconds] 22:28:14 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 276 seconds] 22:28:54 -!- em [~em@unaffiliated/emma] has quit [Read error: Connection reset by peer] 22:29:15 emma [~em@unaffiliated/emma] has joined #scheme 22:30:40 -!- homie [~levgue@xdsl-84-44-152-35.netcologne.de] has quit [Remote host closed the connection] 22:30:53 rdd [~rdd@c83-250-52-16.bredband.comhem.se] has joined #scheme 22:33:21 -!- gcartier_ [~gcartier@modemcable041.134-82-70.mc.videotron.ca] has left #scheme 22:38:14 cky, what do you think about worse is better? 22:39:00 Is worse actually better? :P 22:40:24 appamatto: I'm not sure what to think. 22:41:17 I think one day the mainstream programming world will be ready for Lisp, and it will be a golden age of enlightenment. Or something. ;-) 22:42:12 (By "Lisp" here, I mean primarily CL and Scheme, maybe Arc; I do not mean Clojure.) 22:42:19 -!- Euthydemus [~euthydemu@vaxjo4.213.cust.blixtvik.net] has quit [Ping timeout: 240 seconds] 22:42:42 cbrannon [~cbrannon@gentoo/developer/cbrannon] has joined #scheme 22:43:46 Euthydemus [~euthydemu@vaxjo4.213.cust.blixtvik.net] has joined #scheme 22:48:02 cky, +1 for not Clojure. 22:50:08 -!- mmc [~michal@82-148-210-75.fiber.unet.nl] has quit [Quit: Leaving.] 22:53:14 DT``: :-) 22:54:55 what is "anti-Lisp" about Clojure 22:55:25 ? (/me knows nothing about Clojure) 22:56:07 syntax and the absence of conses. 22:58:21 I'm not sure about Lisp. 22:58:29 Especially in its present form. 23:03:16 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 264 seconds] 23:03:36 bremner_: To add to DT``'s point, the things I've noticed so far that are "not quite Lisp" are: 1. no conses, 2. lambda-list must be specified as a vector (not a list), 3. , is a whitespace char (unquote with ~), 4. 'symbol is different from `symbol (the latter is namespace-qualified). 23:04:04 By "so far", well, I haven't played with Clojure very much myself, so, take what I say with a grain of sal. 23:04:08 *salt 23:04:45 cky: pardon my ignorance, but what do you mean by a lambda-list? 23:04:52 AFAIK, symbols aren't interned. 23:05:05 bremner_: (lambda (foo bar) ...) ; the (foo bar) is the lambda list. 23:05:25 In Clojure, you use (fn [foo bar] ...) IIRC (where [] is a vector). 23:05:31 The system won't allow you to use a list there. 23:05:35 oh, strange. 23:05:41 Uh huh. 23:07:15 http://arcanesentiment.blogspot.com/2011/01/clojures-unconventional-symbols.html 23:07:16 http://tinyurl.com/3n7w3k2 23:07:23 imho this defeats the purpose of symbols. 23:14:20 mejja [~user@c-0eb9e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:27:22 -!- emma is now known as em 23:30:41 Checkie [11587@unaffiliated/checkie] has joined #scheme 23:35:30 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 23:39:29 ASau`, perhaps I ought to have said `Unix is full of little details with complex interactions that are hard to get straight together'. Turning the API of Unix system calls, signals, processes, &c., into composable abstractions is non-trivial. 23:40:46 I agree. 23:40:49 gremset_ [ubuntu@117.192.98.252] has joined #scheme 23:41:29 And there is almost no effort put into Chicken to do that. 23:41:38 Ha. 23:41:53 Sometimes it pisses me off. 23:42:20 E.g. right now I've run into some problem with run-program (SBCL) and ext:run-program (ECL), 23:42:40 -!- gremset [ubuntu@117.192.99.117] has quit [Ping timeout: 260 seconds] 23:43:16 so that it is easier to write stupid sh one-liner(!) than find what they do wrong. 23:44:06 And I'm not sure that chicken provides similar functionality. 23:44:19 Most probably, it is the same stupid wrapper around system(3). 23:44:35 ASau`: What are you trying to do that system() isn't handling? 23:44:48 `anything' 23:44:51 I want to avoid dealing with shell escaping. 23:45:06 Riastradh: :-) 23:45:07 (Why does it matter at all?) 23:45:31 I want to avoid parsing makefiles, and thus use make itself to parse them. 23:45:34 ASau`, no, Chicken gives you an option! You can use system(3), or popen(3). 23:45:45 Oh! 23:45:46 Right. 23:45:56 popen(3) is so much different from system(3). 23:46:12 They both give you shell shock, in different ways. ;-) 23:46:47 ASau`: So, what you want is something like Perl's multi-argument system function. 23:46:50 ASau`: Right? 23:48:14 Basically, I want something intermediate between exec and popen. 23:48:19 ASau`: (Just for the record, system("echo", "| rm -Rf /") in Perl is supposed to echo "| rm -Rf /", not wipe your filesystem. Multi-argument system() does not use the shell.) 23:48:29 Perhaps, posix_spawn. 23:48:35 posix_spawn is frustrating. 23:48:38 QNX has a better version of it. 23:49:29 What's frustrating about posix_spawn is that the only facility it provides to set up the child's file descriptor table is a sequence of actions (dup, close, &c.) to apply to the parent's file descriptor table. 23:50:11 QNX's spawn lets you give an array of file descriptors; if the array is `map', then file descriptor n in the child is file descriptor map[n] in the parent. 23:50:45 But that doesn't handle any of the terminal cruft, and it doesn't help you with waiting for subprocess completion sensibly or job control. 23:52:32 tcleval [~funnyguy@187.58.89.76] has joined #scheme 23:52:45 I suspect that all those are implemented as primitive wrappers around the same system/popen, 23:52:53 I have mit-scheme installed, how can I start editing on edwin? 23:53:00 tcleval: scheme --edwin --edit 23:53:02 perhaps I should check that, but I don't think it pays off. 23:53:03 gremset [ubuntu@117.192.99.147] has joined #scheme 23:53:27 system and popen are essentially a mistake to use anywhere outside a small C application. 23:54:13 Riastradh: I see only mit-scheme prompt 1 ]=> 23:54:27 Did you see any errors, tcleval? 23:54:31 Riastradh: that's why I want posix_spawn at least. 23:54:32 What happens if you try evaluating (edit)? 23:54:47 Riastradh: no 23:54:54 Not that I'm satisfied with that thing. 23:55:13 (edit) gives me erros 23:55:21 What errors, tcleval? 23:55:29 I ll paste them 23:55:58 ASau`, MIT Scheme comes close to having a sensible subprocess abstraction, except that it doesn't support general file descriptor mapping like QNX's spawn. (Partially this is because it is the same interface on Unix and Windows.) 23:56:46 -!- gremset_ [ubuntu@117.192.98.252] has quit [Ping timeout: 258 seconds] 23:58:03 Riastradh: http://paste.lisp.org/display/121884 23:58:49 -!- Bahman [~Bahman@2.146.20.73] has quit [Quit: Farewell] 23:59:19 Huh. What about `scheme --no-init-file --edwin --edit'? 23:59:32 (Do you have a .scheme.init or .edwin file?)