00:00:41 MrFahrenheit [~RageOfTho@users-33-252.vinet.ba] has joined #scheme 00:13:52 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 00:34:18 -!- Checkie [7436@unaffiliated/checkie] has quit [Ping timeout: 252 seconds] 00:42:53 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 246 seconds] 00:48:12 eli, Mailman sent me a welcome message upon my subscription to the users list. This message gave the URI , which gives a 404. 00:49:04 -!- karlw [~karl@75-149-50-209-SFBA.hfc.comcastbusiness.net] has quit [Quit: Computer has gone to sleep] 00:50:16 -!- hadronzoo [~hadronzoo@64.134.146.106] has quit [Quit: hadronzoo] 00:56:45 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 01:04:32 sjamaan [~sjamaan@frohike.xs4all.nl] has joined #scheme 01:04:32 -!- sjamaan [~sjamaan@frohike.xs4all.nl] has quit [Changing host] 01:04:32 sjamaan [~sjamaan@netbsd/developer/sjamaan] has joined #scheme 01:08:22 soupdragon [~quantum@unaffiliated/fax] has joined #scheme 01:10:00 hadronzoo [~hadronzoo@ppp-70-251-131-55.dsl.rcsntx.swbell.net] has joined #scheme 01:32:13 -!- MrZen [~dsc@89.211.189.121] has quit [Quit: Don't Panic.] 01:32:13 11111111111111111111111111111111111111111111111111111____ 01:34:18 Checkie [15336@unaffiliated/checkie] has joined #scheme 01:34:48 asarch [~asarch@189.188.149.200] has joined #scheme 01:35:18 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 01:38:25 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 264 seconds] 01:39:12 -!- asarch [~asarch@189.188.149.200] has quit [Client Quit] 01:40:52 asarch [~asarch@189.188.149.200] has joined #scheme 01:41:19 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 01:43:21 homie [~user@xdsl-87-79-49-215.netcologne.de] has joined #scheme 02:01:21 karlw [~karl@75-149-50-209-SFBA.hfc.comcastbusiness.net] has joined #scheme 02:01:45 -!- Checkie [15336@unaffiliated/checkie] has quit [Ping timeout: 252 seconds] 02:03:01 -!- asarch [~asarch@189.188.149.200] has quit [Remote host closed the connection] 02:08:13 where is that visual comparison for languages? 02:08:28 you can't see it? 02:08:34 "how php coders see..." 02:08:53 *karlw* sighs 02:09:54 I know you know what I knew you knew I ment 02:18:36 -!- tessier [~treed@mail.copilotco.com] has quit [Changing host] 02:18:36 tessier [~treed@kernel-panic/copilotco] has joined #scheme 02:27:32 RageOfThou [~RageOfTho@users-55-104.vinet.ba] has joined #scheme 02:31:20 -!- MrFahrenheit [~RageOfTho@users-33-252.vinet.ba] has quit [Ping timeout: 265 seconds] 02:45:03 davazp [~user@83.55.180.105] has joined #scheme 02:58:19 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 03:11:10 toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has joined #scheme 03:11:14 -!- toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has left #scheme 03:11:27 -!- hadronzoo [~hadronzoo@ppp-70-251-131-55.dsl.rcsntx.swbell.net] has quit [Ping timeout: 265 seconds] 03:15:52 hadronzoo [~hadronzoo@ppp-70-251-75-4.dsl.rcsntx.swbell.net] has joined #scheme 03:20:55 -!- RageOfThou [~RageOfTho@users-55-104.vinet.ba] has quit [Ping timeout: 252 seconds] 03:32:27 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:34:58 -!- soupdragon [~quantum@unaffiliated/fax] has quit [Quit: soupdragon] 03:39:04 sunnyps [~sunny@45.snat-111-91-110.hns.net.in] has joined #scheme 03:39:45 -!- sunnyps [~sunny@45.snat-111-91-110.hns.net.in] has quit [Client Quit] 03:40:02 sunnyps [~sunny@45.snat-111-91-110.hns.net.in] has joined #scheme 04:10:48 asarch [~asarch@189.188.149.200] has joined #scheme 04:18:35 -!- luz [~davids@189.60.69.82] has quit [Quit: Client exiting] 04:21:23 -!- asarch [~asarch@189.188.149.200] has quit [Quit: Leaving] 04:39:51 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 04:42:09 Boo. 04:45:21 katesmith [~katesmith@unaffiliated/costume] has joined #scheme 04:48:53 Boo^U2 04:50:45 Boo^(pi*i) 04:55:20 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 248 seconds] 04:55:29 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 04:57:27 Hmm. I don't really know why you'd want to be able to invoke the current condition handler as an ordinary procedure. 04:57:44 But it might be useful as a building-block for some different kind of condition system. 05:00:58 malcolmci [~malcolmci@203.171.96.17.static.rev.aanet.com.au] has joined #scheme 05:03:48 Consider the following use of condition handlers: 05:04:33 (with-handler general-foo-handler (lambda () (with-handler particular-foo-handler procedure))) 05:06:11 Inside the dynamic extent of the call to PROCEDURE, the current condition handler is not useful for handling foo conditions. Only the stack of condition handlers as a whole is useful for it. 05:06:46 Checkie [14348@unaffiliated/checkie] has joined #scheme 05:06:58 Even worse, suppose the inner handler signals a condition that it expects the outer handler to handle. 05:07:36 Well, how about exposing the whole stack as a list, then? That would allow you to modify their behavior arbitrarily. 05:07:51 How about showing examples of real programs that use this? 05:22:58 KevinDHaX0r [439f2c33@gateway/web/freenode/ip.67.159.44.51] has joined #scheme 05:25:21 -!- davazp [~user@83.55.180.105] has quit [Read error: Connection reset by peer] 05:27:04 By the way, Google Groups bounced my reply to you, with message-id <20100710232044.3992498284@pluto.mumble.net>. 05:28:59 ...er. 05:28:59 is their is lisp bot here that will allow me to evaluate code? 05:29:00 Not that one.. 05:29:12 This one: <20100710224515.7259F98284@pluto.mumble.net>. 05:30:57 rat_ [~quassel@c-24-22-21-120.hsd1.or.comcast.net] has joined #scheme 05:42:01 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Quit: leaving] 05:43:07 -!- hadronzoo [~hadronzoo@ppp-70-251-75-4.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 05:48:12 How many people here use the Y-Combinator. 05:58:21 gravicappa [~gravicapp@91.78.228.203] has joined #scheme 06:00:58 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 06:04:20 KevinDHaX0r, the y combinator is not really a practical tool that people use in daily life 06:08:53 I need it because I am using a lisp bot that does not allow me to define functions. I am using it to allow me to write recursive functions in that limited bot. 06:16:24 -!- KevinDHaX0r [439f2c33@gateway/web/freenode/ip.67.159.44.51] has left #scheme 06:28:31 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 06:30:13 let there be let. 06:30:37 cpr420 [~cpr@unaffiliated/cpr420] has joined #scheme 06:30:54 -!- karlw [~karl@75-149-50-209-SFBA.hfc.comcastbusiness.net] has left #scheme 06:43:35 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 06:51:48 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 260 seconds] 07:22:51 -!- malcolmci [~malcolmci@203.171.96.17.static.rev.aanet.com.au] has quit [Quit: Leaving] 07:29:18 hadronzoo [~hadronzoo@ppp-70-251-75-4.dsl.rcsntx.swbell.net] has joined #scheme 07:31:24 -!- hadronzoo [~hadronzoo@ppp-70-251-75-4.dsl.rcsntx.swbell.net] has quit [Client Quit] 07:33:25 -!- homie [~user@xdsl-87-79-49-215.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:38:26 homie [~user@xdsl-87-79-49-215.netcologne.de] has joined #scheme 07:52:31 masm [~masm@2.80.151.206] has joined #scheme 08:01:06 -!- rat_ [~quassel@c-24-22-21-120.hsd1.or.comcast.net] has quit [Remote host closed the connection] 08:11:20 wingo [~wingo@83.32.65.144] has joined #scheme 08:18:45 -!- drwho [~drwho@c-76-124-164-157.hsd1.pa.comcast.net] has quit [Remote host closed the connection] 08:42:52 fradgers- [~fradgers-@5adb10a1.bb.sky.com] has joined #scheme 08:47:19 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Remote host closed the connection] 09:07:46 jewel [~jewel@196-210-134-12.dynamic.isadsl.co.za] has joined #scheme 09:41:54 -!- leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 09:46:04 hotblack23 [~jh@p4FC598F4.dip.t-dialin.net] has joined #scheme 09:50:27 Blkt [~user@dynamic-adsl-94-37-236-62.clienti.tiscali.it] has joined #scheme 09:51:28 hhomar [~hhomar@92.26.153.167] has joined #scheme 09:52:51 good day everyone 10:10:01 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:11:53 -!- Nshag [user@lns-bzn-36-82-251-61-22.adsl.proxad.net] has quit [Read error: Operation timed out] 10:22:42 -!- homie [~user@xdsl-87-79-49-215.netcologne.de] has quit [Read error: Connection reset by peer] 10:38:06 Nshag [user@lns-bzn-44-82-249-193-94.adsl.proxad.net] has joined #scheme 10:49:57 slom [~slom@pD9EB5099.dip.t-dialin.net] has joined #scheme 10:51:55 good day 11:04:41 -!- xwl [~user@125.34.169.83] has quit [Remote host closed the connection] 11:10:40 xwl [~user@125.34.169.83] has joined #scheme 11:31:54 homie [~user@xdsl-87-79-191-120.netcologne.de] has joined #scheme 11:46:30 -!- sunnyps [~sunny@45.snat-111-91-110.hns.net.in] has quit [Remote host closed the connection] 11:49:09 -!- homie [~user@xdsl-87-79-191-120.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:50:09 -!- slom [~slom@pD9EB5099.dip.t-dialin.net] has quit [Remote host closed the connection] 11:50:59 slom [~slom@pD9EB5099.dip.t-dialin.net] has joined #scheme 11:55:40 MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has joined #scheme 11:55:57 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 12:02:11 homie [~user@xdsl-87-79-191-120.netcologne.de] has joined #scheme 12:13:00 -!- slom [~slom@pD9EB5099.dip.t-dialin.net] has quit [Remote host closed the connection] 12:14:48 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Remote host closed the connection] 12:24:59 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 12:29:16 ASau [~user@83.69.227.32] has joined #scheme 12:36:20 kingping_ [~kp@95.70.85.123] has joined #scheme 12:36:24 Hello 12:45:15 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 12:47:37 schmir [~schmir@p54A91858.dip0.t-ipconnect.de] has joined #scheme 12:48:12 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 12:51:18 hi all. i just wrote my first scheme program, and wanted to get some opinions : http://codepad.org/6IMMaM2Z 12:57:08 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 12:59:21 -!- schmir [~schmir@p54A91858.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 13:00:44 -!- kingping_ [~kp@95.70.85.123] has quit [Quit: x] 13:01:15 ASau [~user@83.69.227.32] has joined #scheme 13:04:30 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 13:06:25 ASau [~user@83.69.227.32] has joined #scheme 13:09:16 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 13:09:39 leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has joined #scheme 13:11:09 angstrom: looks just fine to me! If you want an exercise you could try making both functions tail recursive 13:13:12 ASau [~user@83.69.227.32] has joined #scheme 13:14:39 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Read error: Connection reset by peer] 13:14:59 andreer: looks complicated. but i'll give it a try. 13:15:17 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 13:16:51 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 13:17:59 ASau [~user@83.69.227.32] has joined #scheme 13:19:31 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 13:20:29 chittoor [~chittoor@117.204.53.46] has joined #scheme 13:22:52 kenpp [~kenpp@188-222-117-86.zone13.bethere.co.uk] has joined #scheme 13:23:32 -!- Blkt [~user@dynamic-adsl-94-37-236-62.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 13:23:58 bgs100 [~ian@h106.238.22.98.dynamic.ip.windstream.net] has joined #scheme 13:24:01 -!- bgs100 [~ian@h106.238.22.98.dynamic.ip.windstream.net] has quit [Changing host] 13:24:01 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 13:30:00 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 13:36:28 alvatar [~alvatar@95.127.222.87.dynamic.jazztel.es] has joined #scheme 13:36:32 sunnyps [~sunny@225.snat-111-91-106.hns.net.in] has joined #scheme 13:37:42 lvillani [~lvillani@fedora/lvillani] has joined #scheme 13:43:31 slom_ [~slom@pD9EB5099.dip.t-dialin.net] has joined #scheme 13:45:45 -!- acarrico [~acarrico@pppoe-68-142-61-242.gmavt.net] has quit [Ping timeout: 240 seconds] 13:57:10 -!- chittoor [~chittoor@117.204.53.46] has quit [Ping timeout: 265 seconds] 14:22:36 dzhus [~sphinx@95-26-7-206.broadband.corbina.ru] has joined #scheme 14:27:13 tone12345 [bc52292f@gateway/web/freenode/ip.188.82.41.47] has joined #scheme 14:29:17 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:34:23 -!- jewel [~jewel@196-210-134-12.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 14:36:12 -!- slom_ [~slom@pD9EB5099.dip.t-dialin.net] has quit [Remote host closed the connection] 14:40:01 Blkt [~user@dynamic-adsl-94-37-236-62.clienti.tiscali.it] has joined #scheme 14:44:22 I know C and i want to learn a functional language, SICP is a good book? 14:44:28 -!- xwl [~user@125.34.169.83] has quit [Ping timeout: 258 seconds] 14:45:57 It is a good book, but whether you can learn a functional language is another thing 14:47:08 Jafet: ?? 14:47:35 If you find it inscrutable, there is htdp. 14:49:46 but SICP is better than htdp? 14:58:29 Better for what? 14:59:23 for getting the concepts 15:00:02 ...the concepts of scheme? Either is fine 15:03:37 -!- tone12345 [bc52292f@gateway/web/freenode/ip.188.82.41.47] has quit [Quit: Page closed] 15:08:10 chittoor [~chittoor@117.204.52.34] has joined #scheme 15:16:18 Blkt` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has joined #scheme 15:19:52 -!- Blkt [~user@dynamic-adsl-94-37-236-62.clienti.tiscali.it] has quit [Ping timeout: 248 seconds] 15:28:27 luz [~davids@189.60.69.82] has joined #scheme 15:29:33 -!- Blkt` is now known as Blkt 15:40:59 rtra [~rtra@unaffiliated/rtra] has joined #scheme 15:48:04 Endiannes [~Endi@cdma-92-36-94-2.msk.skylink.ru] has joined #scheme 15:48:26 katesmith [~katesmith@unaffiliated/costume] has joined #scheme 16:08:14 -!- hotblack23 [~jh@p4FC598F4.dip.t-dialin.net] has quit [Quit: Leaving.] 16:16:48 soupdragon [~quantum@unaffiliated/fax] has joined #scheme 16:28:43 -!- dzhus [~sphinx@95-26-7-206.broadband.corbina.ru] has quit [Ping timeout: 260 seconds] 16:33:23 -!- Endiannes [~Endi@cdma-92-36-94-2.msk.skylink.ru] has quit [Ping timeout: 260 seconds] 16:37:13 -!- gravicappa [~gravicapp@91.78.228.203] has quit [Ping timeout: 264 seconds] 16:38:53 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 16:39:55 Endiannes [~Endi@cdma-92-36-94-2.msk.skylink.ru] has joined #scheme 16:40:37 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 258 seconds] 16:43:18 gravicappa [~gravicapp@ppp85-140-116-152.pppoe.mtu-net.ru] has joined #scheme 16:44:38 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 16:50:19 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 16:51:11 Should DYNAMIC-WIND allow multiple simultaneous entrances in different threads, or should it prohibit that, and should there be a separate operation that can be used to explicitly allow it, when it is known that the state modified by the winding and unwinding procedures is thread-local? 16:55:13 -!- e-future [~e-future@unaffiliated/sergio/x-8197433] has quit [Ping timeout: 264 seconds] 16:58:46 -!- sunnyps [~sunny@225.snat-111-91-106.hns.net.in] has quit [Quit: Ex-Chat] 17:20:17 -!- dfeuer [~dfeuer@wikimedia/Dfeuer] has quit [Ping timeout: 245 seconds] 17:43:13 *rtra* wonders how's TDD looked upon by the scheme/lisp community, in general 17:43:18 So I don't know most of the folks I see in this channel, most of whom just lurk, as far as I've observed. What do you all do with Scheme? 17:43:33 Oh, hi! 17:43:41 i learn it 17:43:49 currently building a website with the sceme webserver. 17:43:50 scheme 17:43:53 for simulation 17:43:56 rtra, there is no more general consensus in `the Scheme/Lisp community' than there is in the `programming community' in general. 17:44:28 BDD 17:45:09 rtra, that said, many Lisp programmers use perhaps not test-driven development, but something like it: exploratory programming, where you build up programs out of little pieces that you run at the REPL immediately. 17:46:02 This is especially so in cases where it is not clear a priori what the program is going to look like, or even what the sublanguage you will use to write the program will look like, rendering it impossible to write tests a priori. 17:46:16 ive actually written my own test frameword 17:46:18 *k 17:46:23 I use scheme to compute answers to things 17:46:54 Riastradh: well how you actually build the code and testing are two diff components imo 17:47:01 csmrfx, what sort of simulations? What's BDD? 17:48:05 Social simulations, how cash flows in a community.. BDD is behaviour driven developement 17:48:27 would do AI with it too, but I am not smart enough!! 17:50:41 maybe if I just define the right parameters in the simulation, ai will emerge... 17:54:37 How come you folks always seem to lurk when I'm around? 17:54:40 as for the lurking, i'm a noob who has done some lovely scheming on univ, then dropped out after burning out with my delayed sleep syndrome and got as far from computers as i could for a few years. I'm now coming back to programming. I'm currently focusing on ruby because it seems to be the least painful way of making some bucks in the near-future. My interest in scheme and PLs in general is something I want to deepen after I secure 17:54:40 some financial security, so... nothing to say for now, but i sure drop in the occasional knowledge bit on my ~/.notes from this channel 17:55:30 -!- MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has quit [Read error: No route to host] 17:55:49 MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has joined #scheme 17:55:52 What are some interesting things you've put in your notes, rtra? Do you have any questions about them? 17:58:49 hi 17:59:07 Hi, soupdragon. What sort of things do you use Scheme to compute answers to? 17:59:23 Riastradh Sussmans & Wisdoms book 17:59:47 Riastradh: did you ever teach at a university? 17:59:50 That's a nice book. 18:00:19 In a sense, perhaps, but I am not a professor or anything. 18:00:28 if you allow me, i have been wondering if something like rvm is not missed by lisp people 18:00:41 What's rvm, rtra? 18:00:42 rvm seems really powerful and useful 18:00:42 I was just wondering if all the kids are very complacenent and act like they don't want to understand anything 18:01:04 Royal Victorian Medals? 18:01:14 rvm takes care of installing and using different versions of ruby interpreters 18:01:19 "RVM is a command line tool which allows us to easily install, manage and work with multiple ruby environments from interpreters to sets of gems" 18:01:23 I don't miss it because I never heard of it 18:01:44 -!- wingo [~wingo@83.32.65.144] has quit [Ping timeout: 265 seconds] 18:02:16 Riastradh: so what you do wit it? 18:02:34 give or take a few 'do's 18:03:37 Well, these days, I am not doing very much with Scheme, although apparently I have gotten roped into contributing to the Scheme working groups, at least on minor matters. 18:04:34 I dont really program in any language anymore 18:04:36 I use Scheme for various personal purposes -- for example, my editor and mail client is written in Scheme. 18:07:09 When I need to crunch numbers, I typically use Scheme to do so, because it is the nice language with the fastest usable implementation of which I am aware for numerical purposes. This may sound strange, and you may suggest Matlab or similar, but (1) although Matlab is reasonably high-level, it is not a very nice language, and (2) the implementation of Matlab is terrible. 18:07:09 ok 18:08:02 I hate matlab lol 18:08:10 I had to use it in classes 18:08:12 well if you can use it for 'stuff' it must be working 18:08:25 (I mean scheme) 18:08:43 (The only reason that some programs in Matlab run fast is that the real meat of those programs is really written in Fortran or C. If you wrote it in Matlab, it would be unusably slow.) 18:09:11 Riastradh: do you implement your own math routines or are you using a lib, or? 18:09:13 (The same is true of other environments, such as, say, Python with NumPy/SciPy, too.) 18:09:23 I would like to write my own CAS but my struggle is that the more code I wrote the more worry there is about errors 18:09:33 rtra, sometimes I implement my own; sometimes I steal code from sources such as scmutils. 18:09:57 for example if you implement a new type of number, the algorithms do not know whether this number system has associativity or not 18:10:32 schmir [~schmir@p54A90B4E.dip0.t-ipconnect.de] has joined #scheme 18:10:39 I don't really understand how people can write such a large program which works well 18:11:36 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 18:12:40 So what do you folks think about DYNAMIC-WIND and threads? 18:13:38 I need to write an engine with proper threading 18:13:53 and it is slightly mind boggling 18:16:44 -!- hhomar [~hhomar@92.26.153.167] has quit [Quit: WeeChat 0.3.2] 18:17:25 -!- schmir [~schmir@p54A90B4E.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 18:20:53 Blkt` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has joined #scheme 18:23:36 Riastradh: do you have an opinion on R, btw? 18:23:51 No. I have never used it. 18:24:27 -!- Blkt [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has quit [Ping timeout: 245 seconds] 18:24:42 Blkt`` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has joined #scheme 18:27:05 Riastradh: it might be an interesting alternative to number-crunching in scheme; it actually was implemented in scheme (originally), and still has some nice functional artifacts. 18:27:30 beyond that, the libraries are supposedly unequaled. 18:27:37 Does it have a native-code compiler capable of open-coding floating-point arithmetic without boxing? 18:28:05 nope; one has to descend into C (much like matlab). 18:28:22 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 18:28:32 And does it have a compiler that does a good job at closure analysis? 18:28:43 -!- Blkt` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has quit [Ping timeout: 258 seconds] 18:29:42 MIT Scheme has both. The unboxing part is not as nice as I'd like, and perhaps some day I'll adapt the compiler to make it much nicer, but it's still decent enough for many purposes. 18:31:20 What MIT Scheme doesn't have is generic arithmetic for which floating-point numbers are still unboxed, but neither does anyone else (yet). 18:33:12 drwho [~drwho@c-76-124-164-157.hsd1.pa.comcast.net] has joined #scheme 18:33:44 no compiler, of course. R's main virtues are that it 1) prevents you from reimplementing e.g. polynomial regression fitting for the nth time, 2) has reasonable functional semantics, 3) has a Lisp-like C interface (greenspun's 10th). 18:33:49 karlw [~karl@75-149-50-209-SFBA.hfc.comcastbusiness.net] has joined #scheme 18:34:00 as long as you don't mind reimplemting the core algorithms, though, scheme wins on all accounts. 18:34:53 SLIB seems to have done some of that work, anyway. 18:34:59 Is there a Scheme that natively supports Active Directory? 18:35:46 karlw: "native", as in: not over FFI? 18:36:32 Or, I don't have to worry about FFI. 18:36:33 What's Active Directory? 18:36:47 karlw: http://www.bowron.us/?p=348 18:36:49 FFI, though. 18:37:07 -!- ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has quit [Ping timeout: 276 seconds] 18:37:12 Microsoft's implementation of LDAP. 18:38:56 I could use IronScheme and bind it to the C# libraries. 18:40:58 Apparently, MS said it would officially support a Lisp dialect in .NET but never got around to it. 18:44:30 *sjamaan* chuckles 18:47:14 Like the Kin 18:47:32 -!- lvillani [~lvillani@fedora/lvillani] has quit [Quit: Leaving] 18:48:02 Komi [Komi@83.231.89.76] has joined #scheme 18:48:09 hi 18:48:16 Hi. 18:48:24 Riastradh: hello 18:49:06 Komi: Do you have a question? 18:50:05 karlw: there is a discount if i have many? 18:50:07 :) 18:50:14 alexsura1i [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 18:51:17 Yes, but it doesn't matter since I charge a flat rate of 0 USD per question. 18:52:15 Oh, but it's all eur here! 18:53:23 According to current conversion rates 0 USD is 0 EUR. 18:53:35 :) 18:53:57 Well, here is one question anyway: 18:54:30 is there some way to capture the lexical environment of a given closure for debugging purposes? 18:54:40 in particular, i would like to do this: 18:55:04 (define (some-closure args) (if (something) (start-repl-in-this-environment) ...) 18:55:21 so i can examine the bindings 18:56:06 Which implementation do you use? 18:56:16 PLT Racket and SISC mostly 18:56:37 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 18:58:56 Komi, it may be possible to write a macro that examines the lexical environment and generates an expression to reify it. 18:59:39 I'm guessing you should use an implementation with first-class environments, like MIT Scheme. 19:01:04 Riastradh: how would the macro work? 19:01:54 Almost every Scheme system has first-class environments, karlw. 19:02:43 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Remote host closed the connection] 19:03:18 Komi, first, find whether there is an operation to map a syntax object to a list of names bound or a list of bindings in that syntax object's lexical environment. 19:05:16 (In MIT Scheme, incidentally, there is no operation to go from a syntactic environment (or a syntactic closure, which is approximately the analogue of a syntax object) to such a list of names or bindings.) 19:12:09 the concept of syntactic closures seems interesting 19:17:34 I found using syntactic closures painful 19:20:19 hadronzoo [~hadronzoo@adsl-209-30-46-234.dsl.rcsntx.sbcglobal.net] has joined #scheme 19:23:50 -!- alvatar [~alvatar@95.127.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 19:25:02 i think there are a lot of interesting applications to first-class environments besides debugging 19:25:25 but not the ones provided by R5RS 19:25:58 Remember: `first-class environment' just means a first-class object representing a lexical environment, not necessarily an operation in a program that reifies the lexical environment surrounding the use of the operation. Such an operation yields a first-class environment, but is not the only way to obtain one. 19:26:36 Every Scheme system usually has some first-class representation of environments inside it, and usually this is exposed in some capacity to users of the system. 19:26:56 let's consider a Scheme that exposes all possible operations in environments 19:27:27 creating them, defining new variables in them, mutate them and so on 19:28:01 For example, in MIT Scheme, I can run a REPL in a fresh environment that has only the exposed bindings of MIT Scheme, and in which definitions do not affect any other environments: (repl/start (push-repl (extend-top-level-environment system-global-environment))). 19:28:31 that's more close to what i want 19:28:41 Sure. Most Scheme systems provide this. In MIT Scheme, there's an ENVIRONMENT-DEFINE procedure, an ENVIRONMENT-LOOKUP procedure, and so on. In Scheme48, there's an ENVIRONMENT-DEFINE!, an ENVIRONMENT-REF, and so on. 19:30:01 Gödel was an asshole, for the record 19:30:30 are there any Scheme's that provide both lexical and dynamic scope and that first-class environments? 19:32:36 some applications i can think of that would be: 19:33:06 In most Scheme systems, dynamically scoped bindings are expressed through first-class objects, which might be found as the values of lexical variables. For example, Scheme48 provides objects called fluids, a procedure (FLUID ) which returns 's current value, and a procedure (LET-FLUID ) which lets the value of be for the dynamic extent of a call to . 19:33:43 debugging, shared networked repls (each user on his own environment, global is shared), lexically-scoped modules/namespaces, etc 19:34:10 but there is one particular thing i'm interested the most 19:34:35 an OO system based on both dynamic/lexical scopes and first-class environments 19:34:36 Sure. For example, SLIME48 could do something like that. 19:34:51 (networked and shared REPLs) 19:35:06 (or rather, networked REPLs on a common Scheme system) 19:35:07 Slime48 is like Slime but for Scheme48? 19:35:35 Yes. It doesn't work any more -- I stopped maintaining it several years ago when upstream SLIME changed in ways I wasn't happy with. 19:36:13 about the OO thing... 19:36:33 As for building data abstractions with first-class environments, MIT Scheme did that a long time ago. For example, one might define pairs as follows: 19:36:44 (define (cons car cdr) (the-environment)) 19:36:51 (define (car pair) (access car pair)) 19:36:57 (define (cdr pair) (access cdr pair)) 19:37:04 (define (set-car! pair a) (set! (access car pair) a)) 19:37:11 Here THE-ENVIRONMENT and ACCESS are primitive syntax. 19:37:57 may not be the most efficient representation but it's interesting 19:38:09 The problem with building programs this way is that it makes programs very, very hard to reason about, and impossible to compile in order to run them efficiently. 19:38:42 mmm, consider R5RS augmented with the following forms: 19:38:58 So around the latter half of the eighties, when the second iteration of LIAR, the compiler, was under development, they decided to drop THE-ENVIRONMENT and build programs differently. 19:39:12 (new [optional parent]) : creates a new environment with parent as well, it's parent or the current environment if none specified 19:39:47 (in environment) : evaluates all the following forms in the environment specified 19:40:01 (not different to eval with second parameter though) 19:40:09 and: 19:40:32 (dynamic! (lambda ...)) : makes the closure use dynamic scope instead of lexical scope 19:41:10 it's often been said that closures are poor man objects or objects are poor man closures and so on 19:41:18 i think environments are the most similar thing to objects 19:41:31 because they not only have state but also inheritance 19:41:53 consider: 19:42:08 (define point (in (new) 19:42:12 (define x ...) 19:42:16 (define y ...) 19:42:56 (In MIT Scheme, your IN was called IN-PACKAGE.) 19:43:07 (define method (dynamic! (lambda () (* x y))))) 19:43:11 and now: 19:43:29 (define my-point (in (new point) 19:43:33 (define x 20) 19:43:36 (define y 30)) 19:44:02 (in my-point (method)) would return 600 because the closure uses dynamic scope 19:44:12 and resolves the variables in the current "object" 19:44:17 Objects are a useful abstraction, it doesn't matter how they're implemented (as long as it's done well). 19:44:30 Before you go on, first let me note that there is no general definition of `object-oriented programming' that everyone agrees on -- the situation is nowhere close to that. See . (When I say `object', all I mean is something that can be stored in a variable, passed to or returned from a procedure, and so on.) 19:45:12 well, the point here is: without any notion of OO in the language itself 19:45:33 and just mechanisms to provide first-class environments and both lexical/dynamic scope 19:45:53 Okay, point taken. 19:45:57 you can easily model and OO system like that of C# or Java (not that i think those models are the best in the world) 19:45:57 but it's interesting 19:46:59 I'm going to skip ahead over a discussion of the meaning of `object-oriented' for a moment, but don't forget that. I don't think dynamic scope is really what you want here. Example: I want to write a method that iterates over a list, doing something with some instance variable. 19:47:52 (in (new) (define proc (spawn-me-up-a-process)) (define kill-it (dynamic! (lambda (signals) (for-each (lambda (signal) (kill proc signal)) signals] 19:48:05 Problem: Here's how we defined FOR-EACH: (define (for-each proc list) ...) 19:49:04 why is this a problem? 19:49:17 (sorry i'm re-reading trying to understand) 19:49:51 I wanted to refer to the instance variable called PROC, to send a signal to the process, but inside the procedure I passed to FOR-EACH, I passed *that*procedure* to the kill system call, because FOR-EACH also had a local variable called PROC. 19:50:20 Really, dynamic scope in the literal sense -- where the *meaning* of a name (in the case of a variable, the location where you find its value) depends on the time at which you use the name -- is a mistake. 19:51:20 The problem is that the implementations of abstractions leak left and right all over the place. The mere names that you use for local variables affect the use of the abstraction. 19:51:23 but for-each would be lexical 19:51:23 not dynamic 19:51:31 so no worries here 19:52:20 Can you be more specific about what function DYNAMIC! serves? 19:53:10 Here is a trivial implementation of a method-dispatching object constructor that uses a macro called DISPATCHER. I'll give the definition of DISPATCHER in a moment, but here's an example of its use: 19:53:53 (define (make-point x-pos y-pos) (define (x) x-pos) (define (y) y-pos) (define (move dx dy) (set! x-pos (+ x-pos dx)) (set! y-pos (+ y-pos dy))) (dispatcher x y move)) 19:53:54 abusead [~abusead@CPE001cf068222b-CM0014e825df0e.cpe.net.cable.rogers.com] has joined #scheme 19:54:24 Here's how I might use this: (let ((p (make-point 0 0))) ((p 'move) 1 2) (list ((p 'x)) ((p 'y)))) ;Value: (1 2) 19:54:38 dynamic! makes a closure use dynamic scope for it's bindings 19:54:56 for example: 19:55:06 Now, DISPATCHER is very mundane. All that it does is to expand into this: (lambda (name) (case name ((x) x) ((y) y) ((move) move) (else (error "Unknown method:" name] 19:55:23 There is no need for dynamic scope, first-class environments, or anything of the sort, in order to make this work. 19:55:37 (define square-some-free-variable (lambda () (* x x))) 19:55:47 (dynamic! square-some...) 19:56:05 This is a common idiom in Scheme. Can you explain what makes the idiom you're looking for different? 19:56:15 square-some... would resolve 'x' in the current environment, not in the one it was defined 19:58:00 it's the combination of both dynamic/lexical scope that would give you control to define "static" methods and "overriden" ones and how their bindings are resolved in the child or the parent "object" 19:58:23 the dispatcher way to do it it's also interesting 19:58:31 but how would i express inheritance with it? 19:58:49 ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has joined #scheme 19:59:33 ouch, i have to go take dinner 19:59:53 Riastradh: this conversation has been very interesting, thank you a lot :) 19:59:53 Instead of calling ERROR in the ELSE clause of the CASE, call another dispatcher. 20:00:25 oh, i would never thought of doing that 20:00:32 i may try and play with it 20:00:42 thanks again, have to go 20:00:44 Before you go, look for, or remember to look for, a paper by Jonathan Rees and Norman Adams called something rather bland like `OOP in Scheme', from about 1988. 20:01:00 i'll look for it in the readscheme website 20:01:02 :) 20:01:08 -!- Komi [Komi@83.231.89.76] has left #scheme 20:01:41 Mkman [~tiago@bl17-41-47.dsl.telepac.pt] has joined #scheme 20:07:13 -!- karlw [~karl@75-149-50-209-SFBA.hfc.comcastbusiness.net] has quit [Quit: Computer has gone to sleep] 20:27:36 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 20:32:09 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 20:39:17 -!- Endiannes [~Endi@cdma-92-36-94-2.msk.skylink.ru] has quit [Quit: C++4ever.] 20:42:26 -!- rtra [~rtra@unaffiliated/rtra] has quit [Read error: Operation timed out] 20:53:38 -!- chittoor [~chittoor@117.204.52.34] has quit [Quit: Leaving] 20:53:44 -!- Blkt`` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has quit [Ping timeout: 260 seconds] 20:58:27 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 21:00:43 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:02:33 -!- kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has quit [Read error: Connection reset by peer] 21:03:23 kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has joined #scheme 21:07:54 -!- TR2N [email@89-180-179-16.net.novis.pt] has quit [Quit: Time left until the Epochalypse: 27yrs 27wks 2days 12hrs 5mins 58secs] 21:09:03 Blkt`` [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has joined #scheme 21:09:44 -!- alexsura1i [~alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Quit: Lost terminal] 21:09:45 TR2N [email@89.180.179.16] has joined #scheme 21:10:40 -!- Blkt`` is now known as Blkt 21:14:27 Komi [Komi@83.231.89.76] has joined #scheme 21:14:31 hello 21:14:56 -!- elly [~elly@unaffiliated/elly] has quit [Changing host] 21:14:56 elly [~elly@atheme/member/elly] has joined #scheme 21:18:16 What happens in pthreads if thread T locks a mutex M, T terminates, and then T' tries to lock M? 21:21:08 jeapostrophe_ [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 21:21:10 -!- jeapostrophe_ is now known as jeapostrophe 21:21:12 *Komi* never used pthreads 21:22:41 In MIT Scheme, T's termination causes M to become unlocked. In Gambit and SRFI 18, if T' tries to lock M, MUTEX-LOCK! first locks M and then signals an error, which can be ignored in order for T' to proceed with a lock on M. In Scheme48, T' blocks until some kind soul releases M, but there's no reliable way to know whether M is owned by a terminated thread. 21:23:23 asarch [~asarch@187.132.134.145] has joined #scheme 21:26:14 It seems to me the MIT Scheme approach is better, isn't it? 21:26:14 -!- jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Read error: Connection reset by peer] 21:26:15 jeapostrophe_ [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 21:26:57 It is more error-prone. 21:27:03 ...than the Gambit approach. 21:27:18 -!- jeapostrophe_ [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Client Quit] 21:27:34 It puts the responsibility on you to identify when your data structure is in a consistent state. 21:28:14 If you are careful to ensure that your data structure is always in a consistent state, then it's what you want. Otherwise, it masks legitimate problems. 21:30:23 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 21:30:31 Maybe is this the information you were interested in? 21:30:46 http://cs.pub.ro/~apc/2003/resources/pthreads/uguide/glossary.htm 21:30:54 the "Orphaned Mutex" part 21:37:12 -!- hadronzoo [~hadronzoo@adsl-209-30-46-234.dsl.rcsntx.sbcglobal.net] has quit [Quit: hadronzoo] 21:39:45 -!- nowhereman [~pierre@AStrasbourg-551-1-9-124.w86-213.abo.wanadoo.fr] has quit [Remote host closed the connection] 21:40:23 nowhere_man [~pierre@AStrasbourg-551-1-9-124.w86-213.abo.wanadoo.fr] has joined #scheme 21:40:52 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 276 seconds] 21:40:54 Apparently POSIX 2008 introduced operations for dealing with this situation. 21:42:58 wingo [~wingo@65.Red-79-151-125.dynamicIP.rima-tde.net] has joined #scheme 21:43:00 A mutex can be created with the `robust' attribute, in which case if its owner terminates before unlocking it, the next pthread_mutex_lock will return EOWNERDEAD. The next caller of pthread_mutex_lock can either unlock it, rendering it permanently unusable, or call pthread_mutex_consistent, marking it usable again. 21:43:13 ...but nobody supports this yet, except maybe recent versions of Solaris. 21:44:24 -!- asarch [~asarch@187.132.134.145] has quit [Quit: Leaving] 21:44:34 Oh, maybe some recent versions of Linux support it, too. 21:47:12 I suposse Windows systems do their own thing 21:47:29 maybe that's why SBCL always had problems with threading on Windows 21:49:23 -!- gravicappa [~gravicapp@ppp85-140-116-152.pppoe.mtu-net.ru] has quit [Ping timeout: 265 seconds] 21:53:07 Riastradh: Dunno if you're married to POSIX mutexes, but good 'ole SYSV semaphores have some facilities for allowing a semaphore to come unstuck if the holding process dies 21:53:34 Is this "I have a pthreads mutex and want to know what happens in this case", or "I want this state of affairs, and am wondering how to do it, possibly with pthreads mutexes"? 21:56:22 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 22:00:29 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 22:05:43 This is `I found that Scheme48, MIT Scheme, and Gambit all behave differently. I wonder how pthreads behaves.' 22:05:46 dfkjjkfd [~paulh@6-13-ftth.onsnetstudenten.nl] has joined #scheme 22:06:35 jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 22:06:42 (`...how pthreads behave.'?) 22:07:31 -!- Mkman [~tiago@bl17-41-47.dsl.telepac.pt] has left #scheme 22:08:22 Blkt` [~user@dynamic-adsl-94-34-47-161.clienti.tiscali.it] has joined #scheme 22:09:45 (What is "'ole" a contraction of? `Whole'? `Stole'? `Cajole'?) 22:10:17 The ole thing 22:12:06 -!- wingo [~wingo@65.Red-79-151-125.dynamicIP.rima-tde.net] has quit [Ping timeout: 265 seconds] 22:12:08 -!- Blkt [~user@dynamic-adsl-78-13-243-213.clienti.tiscali.it] has quit [Ping timeout: 248 seconds] 22:12:22 alaricsp, do you have a reference for this property of SysV semaphores? 22:13:01 It seems on Windows a thread will release the ownership of an abandoned mutex but it will also emit WAIT_ABANDONED as an error indicating that the resorces may be in an undefined state. 22:13:39 -!- jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Quit: jeapostrophe] 22:14:11 Komi, so if T' attempts to lock M, is T' granted the lock, and can it proceed happily? 22:14:26 That is, can it happily ignore the WAIT_ABANDONED error? 22:14:29 Riastradh: Looking... 22:16:43 Riastradh: http://netbsd.gw.com/cgi-bin/man-cgi?semop++NetBSD-current or http://linux.die.net/man/2/semop so we know it's not NetBSD specific - see SEM_UNDO flag 22:18:29 PS: I think "pthreads" is a singular, as it refers to a library, but that's just me ;-) And "'ole" can be a contraction of "hole" in the UK: "Shut your cake 'ole!", but I gather it's short for "old" in the Southern USA, or at least in charicatures thereof. 22:18:37 -!- andreer [andreer@flode.pvv.ntnu.no] has quit [Ping timeout: 245 seconds] 22:19:44 Riastradh: i don't really know, the documentation is confusing 22:19:48 "If the thread proceeds as though the mutex object had not been abandoned, it is no longer considered abandoned after the thread releases its ownership. This restores normal behavior if a handle to the mutex object is subsequently specified in a wait function." 22:20:19 rtra [~rtra@unaffiliated/rtra] has joined #scheme 22:22:34 And it also is contradictory, in another paragraph in the documentation: 22:22:48 "If a mutex is abandoned, the thread that owned the mutex did not properly release it before terminating. In this case, the status of the shared resource is indeterminate, and continuing to use the mutex can obscure a potentially serious error." 22:23:53 The former quotation describes semantics; the latter quotation is advice. They don't seem contradictory to me. 22:23:59 So it seems you have no choice but handle the WAIT_ABANDONED error or probably hells breaks loose. 22:24:22 The latter quotation should say `may be indeterminate' rather than `is indeterminate'. 22:27:29 antoszka_ [~antoszka@unaffiliated/antoszka] has joined #scheme 22:27:37 -!- antoszka_ [~antoszka@unaffiliated/antoszka] has quit [Client Quit] 22:28:31 alaricsp, OK. So SysV semaphores exhibit the same semantics as MIT Scheme in this case. 22:29:24 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 260 seconds] 22:29:43 -!- offby1` is now known as offby1 22:29:46 -!- offby1 [~user@q-static-138-125.avvanta.com] has quit [Changing host] 22:29:46 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 22:30:15 Reading through the examples it looks like you may ignore the WAIT_ABANDONED message and proceed acquiring ownership of the mutex, but you're not advised to do so. 22:31:55 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Read error: Connection reset by peer] 22:33:47 ...except that SysV semaphores apply to processes, not to threads. 22:34:34 In fact, when you do: result = WaitForSingleObject(Mutex, timeout) 22:34:57 you may get the messages WAIT_OBJECT_0 (everything ok) or WAIT_ABANDONED 22:35:08 Messages? 22:35:15 and in both cases the ownership of the mutex object is granted 22:35:42 the second message just means: i grant you the ownership but be aware that it was an abandoned mutex by a thread that terminated without releasing it 22:38:04 Right, that's about the same as POSIX.1-2008 robust mutices, except that they additionally require you to call pthread_mutex_consistent if you think the data structure is consistent. 22:40:06 more than messages what you receive are just dword values which indicate the success/failure status of acquiring the mutex 22:40:25 kenpp` [~kenpp@188-222-117-86.zone13.bethere.co.uk] has joined #scheme 22:40:35 however i think this raises one interesting question 22:40:36 -!- kenpp [~kenpp@188-222-117-86.zone13.bethere.co.uk] has quit [Read error: Connection reset by peer] 22:41:23 because you are granted the ownership, the mutex is no longer abandoned 22:42:08 that happens automatically, even if you decide: "this is inconsistent" 22:42:43 can you mark the mutex as abandoned again so other threads can notice? 22:52:43 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 22:54:35 homie- [~user@xdsl-87-79-165-25.netcologne.de] has joined #scheme 22:56:57 -!- homie [~user@xdsl-87-79-191-120.netcologne.de] has quit [Ping timeout: 240 seconds] 22:58:30 e-future [~e-future@unaffiliated/sergio/x-8197433] has joined #scheme 23:05:27 must go, have a good night :) 23:05:31 -!- Komi [Komi@83.231.89.76] has quit [] 23:06:26 -!- cpr420 [~cpr@unaffiliated/cpr420] has quit [Quit: Bye!] 23:06:58 -!- saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 23:07:26 -!- Blkt` [~user@dynamic-adsl-94-34-47-161.clienti.tiscali.it] has quit [Remote host closed the connection] 23:07:48 jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 23:09:33 -!- jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Client Quit] 23:10:57 jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 23:16:42 acarrico [~acarrico@pppoe-68-142-61-242.gmavt.net] has joined #scheme 23:18:51 -!- ve [~a@vortis.xen.tardis.ed.ac.uk] has quit [Ping timeout: 252 seconds] 23:24:02 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 23:24:58 -!- jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Quit: jeapostrophe] 23:25:45 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 23:31:39 jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has joined #scheme 23:32:58 -!- jeapostrophe [~jay@pool-173-76-209-217.bstnma.fios.verizon.net] has quit [Client Quit] 23:39:02 -!- MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has quit [Read error: Connection reset by peer] 23:39:26 MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has joined #scheme 23:46:10 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 23:55:37 -!- MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has quit [Read error: No route to host] 23:56:00 MrFahrenheit [~RageOfTho@users-55-92.vinet.ba] has joined #scheme 23:59:50 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 240 seconds]