00:05:59 andreer [andreer@flode.pvv.ntnu.no] has joined #scheme 00:07:48 mbohun [~mbohun@202.124.72.17] has joined #scheme 00:07:48 -!- fradgers- [~fradgers-@5adb10a1.bb.sky.com] has left #scheme 00:09:33 nicktick [~na@unaffiliated/nicktick] has joined #scheme 00:12:00 toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has joined #scheme 00:13:25 aidalgol [~user@114-134-6-5.rurallink.co.nz] has joined #scheme 00:23:08 hadronzoo [~user@75.20.238.206] has joined #scheme 00:27:18 asarch [~asarch@189.188.158.185] has joined #scheme 00:29:51 outworlder [~outworlde@187.114.96.89] has joined #scheme 00:30:11 davazp [~user@83.55.180.105] has joined #scheme 00:31:07 KevinsBack [4a2c4d70@gateway/web/freenode/ip.74.44.77.112] has joined #scheme 00:31:12 or was. 00:31:40 hi kate. I was at #Lisp as well and got booted off of scheme 00:31:51 KevinDHaX0r [4a2c4d70@gateway/web/freenode/ip.74.44.77.112] has joined #scheme 00:31:58 hi Kate. 00:32:02 -!- KevinsBack [4a2c4d70@gateway/web/freenode/ip.74.44.77.112] has left #scheme 00:32:58 -!- aidalgol [~user@114-134-6-5.rurallink.co.nz] has quit [Quit: Sleeping machine to test WoL...] 00:33:14 Scheme is a good language. Scheme based OSes r kool, and call/cc is a great command. 00:36:36 TR2N [email@89-180-179-16.net.novis.pt] has joined #scheme 00:39:57 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: leaving] 00:40:03 -!- alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has quit [Ping timeout: 265 seconds] 00:40:34 -!- MonononcQc is now known as MononcQc 00:43:27 this group is quite 00:48:30 Hi 00:50:12 not always, it's pretty active some times 00:50:15 -!- foof` is now known as foof 00:51:46 ScSh would make a good Scheme OS if it were extended !!!! 00:52:17 SCSH is dead 00:52:40 the macros and utilities it provided are easy to port to any implementation though 00:54:18 Riastradh: Joerg Wittenberger is working on askemos.org, a project which I believe originally used rscheme and now chicken 00:55:00 -!- asarch [~asarch@189.188.158.185] has quit [Remote host closed the connection] 00:55:03 Do you know how to contact him? Can you tell him that his use of MUTEX-UNLOCK! is incorrect, because it can return at any time, not necessarily when someone applied CONDITION-VARIABLE-{SIGNAL,BROADCAST}! to the relevant mutex? 00:57:07 anyone know call/cc who can teach me. 00:57:20 i am having a hard time with call/cc command. 00:57:28 KevinDHaX0r: The Little Schemer knows 00:57:39 oh. thnx. 00:57:45 I will check it out. 00:57:58 I used the Little Lisper older ver. of the Little Schemer 00:58:49 Good night 00:58:54 -!- Komi [Komi@62.32.135.78] has left #scheme 01:00:07 aidalgol [~user@114-134-6-5.rurallink.co.nz] has joined #scheme 01:00:50 -!- tessier [~treed@mail.copilotco.com] has quit [Changing host] 01:00:50 tessier [~treed@kernel-panic/copilotco] has joined #scheme 01:08:31 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 01:10:54 Riastradh: there doesn't seem to have been a lot of discussion on that topic on the SRFI-18 list 01:11:43 -!- Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 01:12:00 just this: http://srfi.schemers.org/srfi-18/mail-archive/msg00008.html with a rather vague response 01:12:03 -!- hadronzoo [~user@75.20.238.206] has quit [Remote host closed the connection] 01:12:14 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 01:12:27 hadronzoo [~hadronzoo@adsl-75-20-238-206.dsl.rcsntx.sbcglobal.net] has joined #scheme 01:13:35 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 01:19:09 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 01:21:01 it's hard to come up with good, simple uses of threads for test cases or just playing at the repl :/ 01:23:00 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 01:26:18 -!- mbohun [~mbohun@202.124.72.17] has quit [Quit: Leaving] 01:31:25 mbohun [~mbohun@202.124.72.17] has joined #scheme 01:31:34 -!- jcowan is now known as secretpens 01:31:40 -!- secretpens is now known as jcowan 01:36:53 -!- aidalgol [~user@114-134-6-5.rurallink.co.nz] has quit [Remote host closed the connection] 01:37:49 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 01:38:18 "secretpens" ? 01:39:03 foof, yes, there wasn't much discussion, so I think my rationale is as good as any. 01:40:36 -!- imran_sr [~Imran@71-6-87-18.static-ip.telepacific.net] has quit [Quit: Leaving] 01:42:46 you write lock/unlock in pairs either way 01:43:32 I meant to join a channel and changed my nick instead. 01:49:07 -!- toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has quit [Quit: toast`] 01:49:48 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Quit: Leaving] 01:51:24 toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has joined #scheme 01:51:54 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 01:52:52 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Client Quit] 01:54:20 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: This computer has gone to sleep] 01:56:36 -!- KevinDHaX0r [4a2c4d70@gateway/web/freenode/ip.74.44.77.112] has quit [Disconnected by services] 01:56:51 -!- RageOfThou [~RageOfTho@users-55-165.vinet.ba] has quit [Read error: Connection reset by peer] 02:01:04 Riastradh: I've switched to the "normal exit = refuse to handle" convention. 02:07:04 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 02:08:13 -!- lvillani [~lvillani@fedora/lvillani] has quit [Quit: Leaving] 02:10:48 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 265 seconds] 02:13:53 why did they name it racket in windows ? 02:14:19 Nothing to do with Windows. 02:14:25 ok 02:19:16 All versions of the former PLT Scheme are now called Racket. 02:22:01 aidalgol [~user@114-134-6-5.rurallink.co.nz] has joined #scheme 02:24:16 foof, if CONDITION-VARIABLE-WAIT! unlocks, waits, and locks the mutex, then MUTEX-LOCK! and MUTEX-UNLOCK! can be paired. But if it doesn't lock the mutex again, then you need an extra MUTEX-LOCK!. 02:24:33 And in SRFI 18, MUTEX-UNLOCK! leaves the mutex in the unlocked state. 02:24:42 asarch [~asarch@189.188.158.185] has joined #scheme 02:25:12 jcowan: FWIW I prefer `raise' so as not to cause confusion with process signalling 02:25:17 -!- moell [~user@150.181.35.213.dyn.estpak.ee] has quit [Ping timeout: 245 seconds] 02:25:37 Ah. What's your view on that, Riastradh? Raise conditions or signal them? 02:25:42 moell [~user@150.181.35.213.dyn.estpak.ee] has joined #scheme 02:26:44 I always say `signal' unless the lingo of the context dictates `raise' or `throw'. Note that `raise' can cause the same confusion with process signalling because of the C standard library routine `raise'. 02:27:19 I don't like any of the three verbs, but `signal' is more traditional and prevalent in Lisp land. (Examples: Common Lisp, Emacs Lisp, MIT Scheme, Dylan) 02:27:48 Riastradh: pthread_cond_wait locks the mutex 02:27:59 jwillia3 [~chatzilla@c-71-201-145-103.hsd1.il.comcast.net] has joined #scheme 02:28:00 Yes...? 02:28:23 so joining or splitting the two operations has nothing to do with whether or not you write lock/unlock in pairs 02:29:19 jcowan: If you're looking for a verb, `moot' is both apropos and underused. :-) 02:29:42 Unfortunately, it has two self-contradictory senses and can't be used. 02:29:44 Let F be the operation that unlocks a mutex and waits on a condition variable, atomically. If F additionally locks the mutex, then it shouldn't be called MUTEX-UNLOCK!; in that case, MUTEX-LOCK! and MUTEX-UNLOCK! can be written in pairs. If F doesn't lock the mutex, and it is not called MUTEX-UNLOCK!, then there will be an extra MUTEX-LOCK!. 02:29:45 Like "cleave". 02:31:05 What I don't know is whether an operation that leaves the mutex unlocked is useful. 02:32:35 In most systems with which I am familiar, the operation for waiting on a condition variable locks the mutex. 02:33:17 -!- asarch [~asarch@189.188.158.185] has quit [Remote host closed the connection] 02:34:06 Right, I don't think anyone has suggested a version which doesn't lock the mutex. 02:34:20 But that's precisely what SRFI 18's MUTEX-UNLOCK! does(n't). 02:34:49 In Java, waiting *unlocks* the mutex. 02:35:22 Yes, the class of operations under discussion always first unlocks the mutex and then waits for the condition variable (with no observable window of time between the two). 02:35:42 What I am discussing is whether the operation subsequently locks the mutex again. 02:35:51 It certainly should. 02:36:11 What I am discussing is why should the wait operation be merged into mutex-unlock! 02:36:14 For example, pthread_cond_wait, Chez's CONDITION-WAIT, and the NetBSD kernel's cv_wait all subsequently lock the mutex. 02:36:23 Java, too. 02:36:43 SRFI 18's MUTEX-UNLOCK!, which, when given a condition variable, serves as the wait operation, does not subsequently lock the mutex -- as its name suggests, when it returns the mutex is unlocked. 02:37:17 asarch [~asarch@189.188.158.185] has joined #scheme 02:37:45 What's the rationale behind this design? Why should MUTEX-UNLOCK! take condition variable arguments at all? 02:37:58 How confusing. 02:38:12 Here is my theory, chandler. 02:38:31 Suppose it is useful to have an operation that unlocks a mutex and waits on a condition variable, and then does not lock the mutex again. 02:39:20 In that case, folding the operation into MUTEX-UNLOCK! allows MUTEX-LOCK! and MUTEX-UNLOCK! to be written in pairs. 02:39:51 If the operation is instead called CONDITION-VARIABLE-WAIT!, then there will always be one more MUTEX-LOCK! than MUTEX-UNLOCK!. 02:40:28 Granted, *if* it is useful. But I don't see the utility. 02:40:31 That is my theory about the rationale for the design of SRFI 18's operation to wait on a condition variable. 02:40:42 Now it is time for me to vanish for a couple of hours. 02:40:56 *jcowan* vanishes Riastradh. 02:41:56 -!- acarrico1 [~acarrico@pppoe-68-142-61-242.gmavt.net] has quit [Ping timeout: 252 seconds] 02:42:29 -!- jwillia3 [~chatzilla@c-71-201-145-103.hsd1.il.comcast.net] has left #scheme 02:42:37 -!- outworlder [~outworlde@187.114.96.89] has quit [Quit: outworlder] 02:42:42 -!- toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has quit [Quit: toast`] 02:47:42 acarrico [~acarrico@pppoe-68-142-61-242.gmavt.net] has joined #scheme 02:49:50 toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has joined #scheme 02:51:15 M_Lion [439f2c33@gateway/web/freenode/ip.67.159.44.51] has joined #scheme 02:53:55 -!- M_Lion [439f2c33@gateway/web/freenode/ip.67.159.44.51] has left #scheme 02:55:16 -!- aidalgol [~user@114-134-6-5.rurallink.co.nz] has quit [Remote host closed the connection] 03:01:35 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Read error: Operation timed out] 03:05:19 -!- kephas [~pierre@AStrasbourg-551-1-5-164.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 03:08:09 -!- nicktick [~na@unaffiliated/nicktick] has quit [Read error: Connection reset by peer] 03:08:27 nicktick [~na@unaffiliated/nicktick] has joined #scheme 03:09:24 -!- asarch [~asarch@189.188.158.185] has quit [Remote host closed the connection] 03:13:33 emma_ [~em@unaffiliated/emma] has joined #scheme 03:14:08 -!- hadronzoo [~hadronzoo@adsl-75-20-238-206.dsl.rcsntx.sbcglobal.net] has quit [Quit: hadronzoo] 03:15:23 -!- nicktick [~na@unaffiliated/nicktick] has quit [] 03:18:08 nicktick [debian-tor@gateway/tor-sasl/nicktick] has joined #scheme 03:18:10 asarch [~asarch@189.188.158.185] has joined #scheme 03:18:35 ysph [~user@adsl-221-198-178.mgm.bellsouth.net] has joined #scheme 03:20:25 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 03:21:28 -!- emma_ is now known as emma 03:31:00 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 260 seconds] 03:34:12 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 260 seconds] 03:36:57 -!- saint_cypher [~saint_cyp@70-36-245-104.dsl.static.sonic.net] has quit [Ping timeout: 265 seconds] 03:37:17 abhaya [abhaya@gateway/shell/anapnea.net/x-qwsablqkziixotge] has joined #scheme 03:38:57 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 03:40:20 -!- mmc1 [~michal@93-39-32-36.ip74.fastwebnet.it] has quit [Ping timeout: 265 seconds] 03:40:57 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 03:41:57 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 245 seconds] 03:44:48 pavelludiq [~quassel@83.222.190.201] has joined #scheme 03:45:48 hadronzoo [~hadronzoo@ppp-70-251-121-94.dsl.rcsntx.swbell.net] has joined #scheme 03:46:45 -!- pavelludiq [~quassel@83.222.190.201] has quit [Remote host closed the connection] 03:53:58 -!- toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has quit [Quit: toast`] 03:56:27 toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has joined #scheme 03:57:36 -!- IJP [~Ian@host86-174-204-139.range86-174.btcentralplus.com] has quit [Quit: leaving] 04:04:19 hohoho [~hohoho@p4ae269.tokynt01.ap.so-net.ne.jp] has joined #scheme 04:05:59 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has left #scheme 04:09:29 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 04:10:03 emma [~em@unaffiliated/emma] has joined #scheme 04:11:19 mrk00lnerd [5f9ae6fc@gateway/web/freenode/ip.95.154.230.252] has joined #scheme 04:11:50 Hi 04:12:08 hello 04:13:10 -!- mrk00lnerd [5f9ae6fc@gateway/web/freenode/ip.95.154.230.252] has quit [Client Quit] 04:13:44 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Ping timeout: 248 seconds] 04:16:15 hola 04:17:17 -!- homie [~user@xdsl-87-79-84-161.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:18:41 Gumug [~Carter@ppp-70-129-190-21.dsl.spfdmo.swbell.net] has joined #scheme 04:24:52 -!- doc_who [62e78c20@gateway/web/freenode/ip.98.231.140.32] has quit [Ping timeout: 252 seconds] 04:25:29 -!- Gumug [~Carter@ppp-70-129-190-21.dsl.spfdmo.swbell.net] has quit [Quit: Gumug] 04:32:11 -!- hadronzoo [~hadronzoo@ppp-70-251-121-94.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 04:44:27 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 04:53:31 pizza_ [pizza@poipu/supporter/pizza-milkshake] has joined #scheme 05:00:24 -!- asarch [~asarch@189.188.158.185] has quit [Remote host closed the connection] 05:18:57 homie [~user@xdsl-87-79-84-161.netcologne.de] has joined #scheme 05:20:12 -!- kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has quit [Remote host closed the connection] 05:24:12 -!- ysph [~user@adsl-221-198-178.mgm.bellsouth.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:53:29 hullo 06:01:40 -!- foof [~user@lain.inunome.com] has quit [Ping timeout: 260 seconds] 06:13:55 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 265 seconds] 06:13:57 lo 06:13:59 and above 06:16:47 foof [~user@lain.inunome.com] has joined #scheme 06:22:20 -!- luz [~davids@189.60.69.82] has quit [Quit: Client exiting] 06:30:20 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 06:34:37 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 276 seconds] 06:41:11 -!- davazp [~user@83.55.180.105] has quit [Read error: Connection reset by peer] 06:45:48 masm [~masm@2.80.146.59] has joined #scheme 07:17:07 fradgers- [~fradgers-@5adb10a1.bb.sky.com] has joined #scheme 07:18:03 -!- fradgers- [~fradgers-@5adb10a1.bb.sky.com] has left #scheme 07:18:09 fradgers- [~fradgers-@5adb10a1.bb.sky.com] has joined #scheme 07:24:03 karme [~user@static.180.75.40.188.clients.your-server.de] has joined #scheme 07:42:21 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:43:07 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 07:47:13 alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has joined #scheme 07:50:05 HG` [~HG@xdsl-92-252-121-52.dip.osnanet.de] has joined #scheme 07:54:03 eli, is there a description anywhere of the rationale for the design and use continuation barriers? I am looking not for you to give that rationale off the cuff, but rather for a reference. 07:56:20 Failing that, can anyone answer why replacing a correct use of CWEC by CWCC should fall afoul of continuation barriers? 07:58:09 Obviously, the following is not a correct implementation of continuation barriers: (define (c-w-c-barrier p) (let ((done? #f)) (d-w (let ((once? #f)) (lambda () (if once? (error)) (set! once? #t))) (lambda () (begin0 (p) (set! done? #t))) (lambda () (if (not done?) (error] 07:59:11 And neither is (define (c-w-c-barrier p) (d-w (let ((once? #f)) (lambda () (if once? (error)) (set! once? #t))) p (lambda () 0]. 08:07:19 Furthermore, obviously the following is not a correct implementation of CWCC: (define (cwcc p) (c-w-composable-c (lambda (c) (p (lambda vs (abort-c-c (d-c-p-t) (lambda () (apply c vs], because that can cross continuation barriers that CWCC-created escape procedures are not allowed to cross. 08:09:17 It is not clear to me, however, how that implementation differs from the semantics of CWCC in PLT Scheme except as it is related to continuation barriers. 08:14:30 mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has joined #scheme 08:15:43 I'm off to bed, hours past my bedtime, but I'll read answers tomorrow if there are any. 08:19:13 -!- mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has quit [Ping timeout: 265 seconds] 08:25:45 mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has joined #scheme 08:44:42 -!- mbohun [~mbohun@202.124.72.17] has quit [Quit: Leaving] 08:56:25 -!- leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 09:00:23 -!- xwl_ [~user@esprx04x.nokia.com] has quit [Read error: Connection reset by peer] 09:02:17 offby1` [~user@q-static-138-125.avvanta.com] has joined #scheme 09:04:07 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Ping timeout: 276 seconds] 09:05:28 -!- NNshag [user@lns-bzn-30-82-253-154-4.adsl.proxad.net] has quit [Ping timeout: 260 seconds] 09:06:48 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 09:10:13 -!- homie [~user@xdsl-87-79-84-161.netcologne.de] has quit [Ping timeout: 264 seconds] 09:11:25 schmir [~schmir@mail.brainbot.com] has joined #scheme 09:11:30 leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has joined #scheme 09:18:58 NNshag [user@lns-bzn-32-82-254-36-219.adsl.proxad.net] has joined #scheme 09:27:44 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 265 seconds] 09:36:53 Komi [Komi@62.32.131.114] has joined #scheme 09:41:30 -!- alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has quit [Remote host closed the connection] 09:42:34 Nils^ [steele@beegees.mtveurope.org] has joined #scheme 09:53:35 homie [~user@xdsl-87-79-50-191.netcologne.de] has joined #scheme 10:01:39 -!- nicktick [debian-tor@gateway/tor-sasl/nicktick] has quit [Remote host closed the connection] 10:01:41 -!- mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has quit [Ping timeout: 265 seconds] 10:04:43 Hi schemers, I'm using (regexp-substitute/global) from (ice-9 regex) to get commentary out of strings, but somehow I can't find the correct regular expression for that. The start is right, "asdasds %commentary string", it finds the commentary correct but after that nothing 10:06:37 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 264 seconds] 10:07:05 the naive regexp was [^\\%]%.*\n 10:07:39 tried it with \\n, \r, #\newline, #\linefeed, even breaking the regexp-string in the source file with enter. didn't work 10:08:07 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:11:14 mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has joined #scheme 10:12:39 Nils^: I don't know ice-9 regex, but usually, $ is used to match the end of line. 10:13:01 Is \% the start of a comment? What about %% ? 10:13:29 "[^\\%]%.*$" 10:14:01 % is the start 10:14:07 \% is not a comment 10:14:10 this part works 10:14:34 so % followed by anything, including another %%, is a comment and gets a match 10:14:53 Yes, but [] matches only one character, so ok for \, but [^%]% makes the comment start on the last %. 10:14:59 And similarly, what about "hello world !% comment", is the ! part of the comment? 10:15:13 With [^\\%], it is part of what is matched. 10:15:26 Also, you have a problem if the % is on the first column. 10:16:10 (Should I quote Jamie Zawinsky?) 10:16:26 if you like :) 10:16:42 Is it "I had a problem and used regular exp, then I had two problems?" 10:16:42 Again, what about "blah \" hello % \" blah % comment" ? 10:16:48 Right. 10:16:58 pjb: its obvious that my regexp is not working, I get that. 10:17:04 I started yesterday with regexp 10:17:25 Depending on the language in whcih these comments are embedded, it may even not be possible to do it with regular expressions... 10:17:44 "blah \" hello % \" blah % comment" ? 10:17:46 the \ are newlines? 10:18:10 oh no 10:18:11 No, they're just escape inside the string. the actual line is: blah " hello % " blah % comment 10:18:24 Where yuo have a % inside a 'string'. 10:18:35 yes, I feared that example :) in this way the % is not a commentary 10:18:57 alaricsp [~alaric@router1.hotdesktop.biz] has joined #scheme 10:19:11 So far, a regexp could still be built, but in this language, can strings span several lines? 10:19:46 Its Lilypond, there are only strings and instructions started by \ 10:20:08 comments start with % and take the rest of the line 10:20:38 and %{ comments %} can span lines, but lucily I found an example in the web to copy and paste this case :) 10:22:05 Nils^: beware, again, %{ probably allows %{ and %} %}. 10:22:13 And THIS cannot be done with regular expressions. 10:22:29 (unless you accept to limit the depth, and to deal with gigantic regular expressions). 10:22:32 %\\{[^%\\{]*%\\} 10:22:39 is mine 10:22:57 escaping is because of scheme 10:23:40 Nils^: in conclusion, I would advise to write a mini-parser to extract the comments. 10:24:04 You don't need to tokenize most of the language, only the parts that are significant for your purpose, like the strings. 10:24:15 bbl 10:24:50 hm, I thought I'll do that and this was my attempt. I wanted to strip comments and whitsspace and empty line before the actual processing. 10:30:10 Gumug_ [~Carter@ppp-70-129-190-21.dsl.spfdmo.swbell.net] has joined #scheme 10:36:35 Blkt [~user@160.80.129.224] has joined #scheme 10:39:13 good day everyone 10:40:52 alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has joined #scheme 10:42:07 kephas [~pierre@AStrasbourg-551-1-67-22.w92-141.abo.wanadoo.fr] has joined #scheme 10:49:19 -!- Blkt [~user@160.80.129.224] has quit [Quit: Error: do not makunbound t] 10:57:52 -!- kephas [~pierre@AStrasbourg-551-1-67-22.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 10:58:45 kephas [~pierre@AStrasbourg-551-1-67-22.w92-141.abo.wanadoo.fr] has joined #scheme 10:59:52 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 11:02:03 -!- Checkie [1689@unaffiliated/checkie] has quit [Ping timeout: 252 seconds] 11:03:00 nowhere_man [~pierre@AStrasbourg-551-1-67-22.w92-141.abo.wanadoo.fr] has joined #scheme 11:03:18 -!- kephas [~pierre@AStrasbourg-551-1-67-22.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 11:22:44 -!- NNshag [user@lns-bzn-32-82-254-36-219.adsl.proxad.net] has quit [Read error: Operation timed out] 11:27:37 asarch [~asarch@187.132.139.75] has joined #scheme 11:32:23 -!- asarch [~asarch@187.132.139.75] has quit [Client Quit] 11:49:28 Nshag [user@lns-bzn-21-82-64-117-225.adsl.proxad.net] has joined #scheme 11:49:42 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 11:50:20 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 12:00:18 Lasher [~weechat@mail.dacoda.ro] has joined #scheme 12:00:22 hello 12:01:02 it's there a way to make a clean list out of x lists recursively? 12:02:02 to have something like ((a b) (c d) (e f g) (h i j)) instead of ((((a b) (c d)) (e f g)) (h i j)) ? 12:06:19 tgb33 [~tgb33@c-75-68-63-31.hsd1.nh.comcast.net] has joined #scheme 12:16:02 -!- saccade_ [~saccade_@COMBINATOR.MIT.EDU] has quit [Read error: Operation timed out] 12:16:04 -!- XTL [t6haha00@rhea.oamk.fi] has quit [Ping timeout: 276 seconds] 12:20:08 ok it seems that the only way to achieve this is using a vector of lists 12:27:10 -!- tgb33 [~tgb33@c-75-68-63-31.hsd1.nh.comcast.net] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158]] 12:30:04 XTL [t6haha00@rhea.oamk.fi] has joined #scheme 12:34:32 Lasher: not sure if it really is what you want: (define (limited-flatten t) (fold-right (lambda(x y) (cond [(and (list? x) (any list? x)) (append (flatten x) y)] [else (cons x y)])) '() t)) 12:35:50 ups replace flatten with limited-flatten in the body 12:35:57 Lasher: What kind of syntax are you looking for? 12:42:09 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 12:42:18 nicktick [debian-tor@gateway/tor-sasl/nicktick] has joined #scheme 12:43:22 (define a '(a b c)) (define b '(c d e f)) (limited-flatten (list a b)) 12:43:26 Unhandled exception 12:43:54 uh 12:44:02 did you try (append (list a) (list b)) ? 12:44:58 lol 12:45:03 nice 12:45:10 :) 12:45:19 thanks 12:45:26 np 12:47:20 -!- leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has quit [Ping timeout: 248 seconds] 12:47:31 ? 12:48:23 -!- samth [~samth@punge.ccs.neu.edu] has quit [Remote host closed the connection] 12:48:43 actually 12:48:46 it doesn't work 12:49:35 paste.lisp.org 12:49:39 (define c (append (list a) (list b))) (append (list c) (list a)) 12:49:51 You don't do that 12:49:58 c is already a list of lists 12:50:02 (append c (list a)) 12:50:20 right 12:52:17 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 265 seconds] 12:53:23 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 13:03:29 whats best in case of token->trigger scheme function. A hashtable or case ? 13:05:49 case is likely faster 13:10:13 -!- Komi [Komi@62.32.131.114] has quit [] 13:11:32 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 245 seconds] 13:13:04 -!- hohoho [~hohoho@p4ae269.tokynt01.ap.so-net.ne.jp] has quit [Ping timeout: 276 seconds] 13:15:05 does an image library exist? 13:15:57 Lasher: for what scheme implementation? 13:16:23 there is common lisp imagemagick 13:16:48 Great advice in #scheme 13:16:59 lol. 13:17:05 plt scheme has image libraries mon 13:17:23 Chicken too 13:17:44 And doesn't MIT scheme have that library they use in SICP? 13:18:26 I wouldn't be surprised. 13:19:03 yeah I guess the problem is that I'm using Ikarus 13:19:10 I always wondered about that lib 13:19:29 I know there aren't any img lib on Ikarus, but maybe an external one exists 13:19:47 SICP maybe? 13:19:50 Lasher: AFAICT Ikarus is not very widely used yet, so don't expect too much from it in the way of libs 13:20:11 You will probably need to roll your own 13:28:21 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 13:28:35 sorry, a question again: Can I use case with regular expressions? 13:30:00 No, but some Scheme have a regex-case 13:31:06 guile, lets see 13:42:49 samth [~samth@punge.ccs.neu.edu] has joined #scheme 13:43:05 saccade [~saccade@dhcp-18-111-84-184.dyn.mit.edu] has joined #scheme 13:46:03 Riastradh, for design/rationale, I'd look at Adding Delimited and Composable Control to a Production Programming Environment by Flatt, Yu, Findler, and Felleisen 13:50:27 I don't see anything in that paper about continuation barriers. 13:52:21 -!- saccade [~saccade@dhcp-18-111-84-184.dyn.mit.edu] has quit [Quit: This computer has gone to sleep] 13:56:30 leppie [~lolcow@196-215-36-144.dynamic.isadsl.co.za] has joined #scheme 13:56:57 alaricsp, Google Groups bounced my message, because, in replying to all, I cc'd the working group mailing list that you cc'd. 13:57:18 Yes, I guessed that might have happened - I'll forward it in 13:57:42 I was nearing the end of an epic hour-long reply to that post this morning, when VMware decided it would be a good point to halt my VM, so I lost it, to my immense chagrin :-( 13:57:49 I shall regenerate it as soon as I can, however 13:58:42 why do people write long emails in places that don't save them? 13:59:10 samth: Because people don't learn ;) 13:59:14 There seems to be this unfounded notion that e-mail programs don't crash. 13:59:29 Riastradh, there's a brief discussion of threads in that paper, which discusses continuation barriers implicitly 13:59:59 also, see http://docs.racket-lang.org/reference/eval-model.html?q=barrier#%28part._prompt-model%29 14:00:00 -rudybot:#scheme- http://tinyurl.com/36acnx6 14:00:09 although you may have read that already 14:00:32 Yes, I've read that. 14:00:33 -!- alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 14:00:37 alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has joined #scheme 14:01:25 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 14:01:27 Perhaps I ought just to give my four questions: 14:02:12 1. What is the general intend about what situations in which one wants to use continuation barriers? 14:02:33 2. Why do continuation barriers prohibit not only re-entry but also exit by full continuations? 14:02:45 askhader: Yeah... I didn't *set out* to write a long email. It just became long while I was writing it. 14:03:01 Ah, my favorite flavor. 14:03:35 3. Given a reason for that, why does it not also apply to escape-only continuations and prompt aborts? 14:03:53 Or, instead of 2 and 3: Why are my definitions of C-W-C-BARRIER both wrong? 14:04:26 4. What is wrong with my definition of CWCC in terms of composable continuations and aborts? 14:04:44 if what you want is citations, those are the only places i can give you 14:04:53 No, now I just want answers. 14:04:59 if you want answers from matthew to those questions, you should ask on the mailing list 14:05:18 Can I send mail to the mailing list without subscribing? 14:05:45 Riastradh, yes, but it will take longer, since it will have to be manually approved by Eli (I think) 14:05:48 OK. 14:06:37 -!- ski [~slj@c-0712e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 264 seconds] 14:19:31 -!- HG` [~HG@xdsl-92-252-121-52.dip.osnanet.de] has quit [Quit: Leaving.] 14:21:46 MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has joined #scheme 14:28:27 -!- mmc [~michal@93-39-32-36.ip74.fastwebnet.it] has quit [Quit: Leaving.] 14:29:28 -!- Gumug_ [~Carter@ppp-70-129-190-21.dsl.spfdmo.swbell.net] has quit [Quit: Gumug_] 14:32:57 bye 14:32:58 -!- Lasher [~weechat@mail.dacoda.ro] has quit [Quit: WeeChat 0.2.6.1] 14:33:25 FareWell [~Fare@wsip-70-164-182-189.lv.lv.cox.net] has joined #scheme 14:34:08 JoelMcCracken [~joelmccra@66.37.58.254] has joined #scheme 14:34:51 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 14:50:23 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:58:50 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 14:59:28 eli, help! I'm trapped in a limbo of mailing list moderator approval. 15:01:30 Riastradh, eli is probably not awake atm 15:02:06 No? Stayed up too late last night wrestling a Fangorian lambda beast? 15:02:19 lvillani [~lvillani@fedora/lvillani] has joined #scheme 15:03:13 Or on a distant planet in the Klaatu Nebula with a different time zone? 15:05:35 -!- FareWell [~Fare@wsip-70-164-182-189.lv.lv.cox.net] has quit [Quit: Leaving] 15:05:39 mere time zones do not constrain eli 15:07:31 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 265 seconds] 15:10:36 -!- nicktick [debian-tor@gateway/tor-sasl/nicktick] has quit [Remote host closed the connection] 15:13:20 cinch [~cinch@unaffiliated/cinch] has joined #scheme 15:19:29 nicktick [debian-tor@gateway/tor-sasl/nicktick] has joined #scheme 15:28:08 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 15:28:48 luz [~davids@189.60.69.82] has joined #scheme 15:45:47 Komi [Komi@83.231.19.221] has joined #scheme 15:48:10 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Quit: leaving] 15:50:00 jewel [~jewel@196-210-134-12.dynamic.isadsl.co.za] has joined #scheme 15:50:42 karme` [~user@stgt-5f709cd3.pool.mediaWays.net] has joined #scheme 15:51:43 -!- karme [~user@static.180.75.40.188.clients.your-server.de] has quit [Read error: Connection reset by peer] 15:55:28 -!- karme` [~user@stgt-5f709cd3.pool.mediaWays.net] has quit [Ping timeout: 265 seconds] 15:57:42 -!- luz [~davids@189.60.69.82] has quit [Remote host closed the connection] 15:59:05 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 16:02:52 -!- ASau` [~user@77.246.230.215] has quit [Quit: off] 16:03:08 luz [~davids@189.60.69.82] has joined #scheme 16:03:34 ASau` [~user@77.246.230.215] has joined #scheme 16:11:02 sunnyps [~sunny@120-88-37-13.thane.hns.net.in] has joined #scheme 16:12:16 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 16:13:00 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 260 seconds] 16:15:29 hotblack23 [~jh@p4FC5ADF8.dip.t-dialin.net] has joined #scheme 16:16:04 -!- toast` [~toast`@c-71-231-102-232.hsd1.wa.comcast.net] has quit [Quit: toast`] 16:18:14 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 16:21:00 xwl [~user@125.34.169.83] has joined #scheme 16:21:17 -!- MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has quit [Read error: Connection reset by peer] 16:21:42 MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has joined #scheme 16:24:32 emma [~em@unaffiliated/emma] has joined #scheme 16:25:13 mathk [~mathk@lns-bzn-56-82-255-221-211.adsl.proxad.net] has joined #scheme 16:37:56 tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #scheme 16:38:00 -!- jewel [~jewel@196-210-134-12.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 16:41:15 -!- lvillani [~lvillani@fedora/lvillani] has quit [Ping timeout: 240 seconds] 16:44:00 lvillani [~lvillani@151.95.122.133] has joined #scheme 16:44:07 -!- lvillani [~lvillani@151.95.122.133] has quit [Changing host] 16:44:08 lvillani [~lvillani@fedora/lvillani] has joined #scheme 16:52:17 -!- Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 16:52:49 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 16:54:33 schmir [~schmir@p54A90EBA.dip0.t-ipconnect.de] has joined #scheme 17:03:40 Checkie [10490@unaffiliated/checkie] has joined #scheme 17:04:20 -!- sunnyps [~sunny@120-88-37-13.thane.hns.net.in] has quit [Ping timeout: 260 seconds] 17:05:07 -!- lvillani [~lvillani@fedora/lvillani] has quit [Ping timeout: 276 seconds] 17:07:33 lvillani [~lvillani@fedora/lvillani] has joined #scheme 17:23:28 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 17:26:49 -!- schmir [~schmir@p54A90EBA.dip0.t-ipconnect.de] has quit [Ping timeout: 265 seconds] 17:30:40 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Read error: Connection reset by peer] 17:33:02 gravicappa [~gravicapp@ppp85-140-64-4.pppoe.mtu-net.ru] has joined #scheme 17:34:44 kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has joined #scheme 17:36:59 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 17:37:02 -!- alaricsp [~alaric@router1.hotdesktop.biz] has quit [Quit: Leaving] 17:39:39 kar8nga [~kar8nga@i-80.vc-graz.ac.at] has joined #scheme 17:50:24 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Quit: Leaving.] 17:58:31 -!- lvillani [~lvillani@fedora/lvillani] has quit [Quit: Leaving] 18:06:44 choas [~lars@p5B0DC00B.dip.t-dialin.net] has joined #scheme 18:19:04 -!- abhaya [abhaya@gateway/shell/anapnea.net/x-qwsablqkziixotge] has quit [Quit: leaving] 18:20:38 incubot: "flush early, flush often" 18:20:43 pasted "early queue code" at http://www.common-lisp.net/paste/display/504 18:21:46 has anyone used an SCGI implementation in scheme, by the way? 18:21:57 looks like gambit and racket have one 18:24:44 -!- mathk [~mathk@lns-bzn-56-82-255-221-211.adsl.proxad.net] has quit [Read error: Connection reset by peer] 18:24:53 mathk [~mathk@lns-bzn-20-82-64-40-93.adsl.proxad.net] has joined #scheme 18:25:06 i've been using scheme over fastcgi for a couple of years; but fastcgi seems to be moribund. not sure if scgi fares any better, frankly. 18:33:00 for some reason, i can't quite bring myself to run a scheme webserver behind a proxy (even though that's effectively what {fast,s}cgi is). 18:33:35 klutometis: that's how chickadee runs 18:33:46 I'm not sure why using a reverse proxy is any different - it just means that the protocol connecting the proxy to the application is regular old HTTP. 18:35:22 proq [~user@unaffiliated/proqesi] has joined #scheme 18:35:33 -!- hotblack23 [~jh@p4FC5ADF8.dip.t-dialin.net] has quit [Quit: Leaving.] 18:35:34 I've been running spiffy on some machines without problems (no proxy). 18:35:49 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 18:36:33 mario-goulart: that's interesting; chickadee runs over spiffy? has it been fairly stable? 18:37:00 klutometis: yes, and the new chicken wiki will be spiffy too. 18:37:20 klutometis: as far as I know, chickadee has been pretty stable. 18:37:38 i have to set up a web service for doctors, who are notoriously cranky and intolerant of glitches; which is why i've been reluctant to try a scheme-based server. 18:37:47 maybe it's time, though, to do some testing. 18:38:14 mario-goulart: How well would it react to intentional DoS-ing? 18:38:38 Most of the small web servers I've seen do little or nothing to prevent resource exhaustion in those scenarios. 18:38:52 chandler: my thoughts, too; i've done some stress testing of compiled scheme behind fastcgi, and it seems to hold up relatively well. 18:39:03 chandler: spiffy would do nothing 18:39:51 An anti-DoS module would be nice, indeed. 18:40:33 Is there any known DoS detection algorithm to be followed? 18:40:39 mario-goulart: spiffy has a module-based architecture? 18:40:46 klutometis: yes 18:40:53 nice; i'll have to take a look. 18:41:19 klutometis: Chicken has a scgi egg, but it hasn't been ported to Chicken 4 yet 18:41:25 It should be trivial to port though 18:42:35 sjamaan: oh, nice; i didn't see this: http://www.call-with-current-continuation.org/eggs/3/scgi.html 18:42:45 And indeed, Spiffy doesn't have anything special against DoS attacks. Patches are welcome though ;) 18:42:52 mario-goulart: I think a sufficient approach would be to (a) limit the number of active connections, (b) kill connections according to a least-recently-transmitted policy, and (c) set a timeout for connections in the receiving headers phase, and another timeout for sending data. 18:43:59 chandler: wouldn't (c) mess up with things like comet and long live connection intentionally requested to avoid the multiple requests overhead? 18:44:30 If the server is blocking before responding to a request, don't time out. 18:44:32 I think there's a parameter for (a). Not sure, though. 18:45:10 But the client shouldn't be allowed to connect or start sending a request and then block indefinitely before finishing sending headers. 18:45:16 Ah, yes. `max-connections'. 18:45:58 chandler: ah, alright. 18:46:36 mario-goulart: if nobody's claimed it, do you mind giving me permission to port scgi to chicken 4? 18:46:56 klutometis: sure! That would be very nice! 18:47:22 mario-goulart: Furthermore, if the server has data to send to the client but hasn't actually been able to send it for several seconds, the connection should be terminated as well. 18:47:49 mario-goulart: thanks! 18:50:11 chandler: very good points. Thanks for the tips. 18:50:23 klutometis: the scgi directory has been created for you. 18:51:55 mario-goulart: great; this should come in handy. 18:52:34 does anyone know enough clojure, by the way, to understand the following statement? "It helps to distinguish collections/data-structures and seqs/iteration. In both CL and Scheme they are conflated, in Clojure they are separate." 18:52:40 http://clojure.org/lisps 18:53:15 i've skimmed the clojure docs on seqs and data-structures; but i still can't fathom what the implicit criticism of scheme is. 18:54:38 i think he's complainging that map is list-specific, and you need something else for vector-map 18:54:53 rather than having the iterators be orthogonal to the data 18:55:10 samth: I thought something like that too, but CL does have sequence procedures built in that work on both lists and strings, for example 19:00:47 as I understand it, the idea is that you encapsulate a collection in a 'seq', and work on that 19:01:04 you call map with a 'seq', not a list, or a vector, or anything else 19:01:33 http://clojure.org/sequences 19:01:34 aha 19:01:45 klutometis: interesting page. 19:02:05 tizoc: so seqs aren't unlike an immutable view of a collection; but they are unlike immutable conses. 19:02:38 I think a seq is an abstraction similar to Scheme's port abstraction over file descriptors 19:02:40 So these are similar to Racket's sequences? 19:02:55 I guess there's a way to generate sequences from generator procedures? 19:03:36 chandler: i had a feeling there might be an analogous racket-structure 19:04:52 -!- xwl [~user@125.34.169.83] has quit [Ping timeout: 245 seconds] 19:07:30 i came across that statement via this article, by the way, that calls ruby and python bad lisps: http://programmingzen.com/2010/07/09/thoughts-on-clojure/ 19:08:00 i wonder why clojure succeeded, though, where SISC failed; and i wonder if racket will be successful merely by distancing itself from scheme. 19:08:34 The power of users community 19:08:56 mario-goulart: the community that clojure has? right; i wonder how it achieved that. 19:09:04 it achieved buzz somehow; it's really mysterious. 19:09:08 klutometis: Timing, I think 19:09:09 easy: it's not scheme. :-) 19:09:20 There was a huge anti-Java sentiment a couple years back 19:09:54 Especially with the up and coming new languages like Ruby which had a big attitude that said "we do everything different from Java because it's evil" 19:09:54 sjamaan: maybe you're right; all of a sudden, languages on the JVM were sexy. but no one thought of poor old SISC, even though it touts the same library support that clojure does. 19:09:59 I mean, it's not fragmented and people are not too picky. 19:10:00 yeah 19:10:07 People wanted the JVM because of the libs 19:10:16 But not Java 19:10:31 So any *new* language on the JVM created a lot of buzz 19:10:36 oconnore [~oconnore@thingy.cs.umass.edu] has joined #scheme 19:10:43 Also think Scala and Groovy 19:10:47 JRuby 19:10:48 etc 19:11:12 i guess SISC was before it's time, then; kind of a shame, too, because it outperformed java itself once and awhile. 19:11:21 s/it's/its/ 19:11:26 sjamaan: good point 19:11:51 yeah, SISC was old news, nothing new was happening to it at the time all those new languages sprang up 19:12:05 I think SISC has mostly petered out, hasn't it? 19:12:11 WoodenBoy [~WoodenBoy@87-194-114-233.bethere.co.uk] has joined #scheme 19:12:30 yeah, you're probably right; i haven't shipped anything in it in going on three years now. 19:12:44 Yesterday Komi said the last commit was 200 and some days ago. 19:12:49 it's probably too late for a scheme-on-the-jvm revival, too; since it will be old news before it comes out. 19:13:23 (latest, don't know if it was really the last) :-) 19:13:25 yeah, unfortunately 19:13:39 Someone could pick up SISC and extend it 19:13:50 But I still think it's too late 19:14:00 Clojure is here to stay 19:14:01 too bad chicken is so wedded to C; i take it that it would be a non-trivial project to come up with an alternative compilation target ;) 19:14:10 There's Javahack :) 19:14:19 And llvm. :-) 19:15:25 SISC suffers from being significantly slower than the JVM itself. 19:15:47 sjamaan: this? meant to try it back in the day; never got around to it. 19:15:47 On the other hand, there's no other way to shoehorn a full Scheme onto the JVM. So, Scheme per se is a dead letter on that platform. 19:15:58 klutometis: never tried it either, but that's what I meant 19:16:15 What about kawa? 19:16:16 chandler: Is clojure faster? 19:16:16 chandler: i was able to beat java in some cases, actually, with compiled sisc. 19:16:33 klutometis: Really? That's very, very surprising to me. 19:16:33 mario-goulart: AFAIK kawa isn't taken seriously around these parts :) 19:16:57 -!- oconnore [~oconnore@thingy.cs.umass.edu] has quit [Quit: Leaving] 19:17:34 sjamaan: no? Do you know why? 19:17:56 mario-goulart: I'm not sure, but I think it doesn't have full continuations or tail call optimization 19:18:02 Something like that 19:18:03 Except for the geocities-look site, of course. 19:18:08 heh 19:18:13 geocities rock! 19:18:23 rocked. :-) 19:18:45 right 19:19:02 *gnomon* looks in on the Geocities Preservation Project 19:21:21 AFAIK the JVM has little support for continuations. But that's just what I heard. I don't know much about that. 19:21:33 chandler: indeed; i'll see if i can pull up the old benchmarks some day. 19:21:33 sjamaan: Clojure maps directly to Java semantics, so it should in many cases be as fast as Java, or close. 19:22:02 klutometis: I'd be interested, as I still find this very, very surprising. Perhaps the JIT translated the SISC interpreter well. 19:22:03 ah yes, no TCO and call/cc in clojure 19:22:57 java 7 was supposed to support TCO via dynamic-invocation, i thought; but it was pulled. 19:23:33 http://www.baptiste-wicht.com/2010/04/java-7-more-dynamics/ 19:25:26 SISC supports both continuations/tco 19:26:05 Yes, but that's what requires the use of an interpreter written in Java. 19:26:19 yes, quite a performance hit 19:26:45 Also in the JVM Lisp world there's ABCL, which is alive but only has a handful of people using or working on it. 19:27:01 ABCL doesn't support TCO in the compiler though 19:27:23 it does in the interpreter, yet the interpreter is slower than SISC 19:27:59 Well, it's not required to. 19:28:30 if it is worth something i'm working on a faster scheme on the JVM that supports TCO 19:28:42 Komi: trampoline? 19:29:20 Komi: good news! 19:29:24 klutometis: no, it's similar to a metacircular interpreter inside a while loop 19:29:34 interesting 19:29:42 it gets its speed via intensive specialization 19:30:00 but no continuations 19:30:12 (at least until i figure a way to make them fast) 19:30:20 I wonder if a Cheney-on-the-MTA approach (never return, throw when the stack hits some predetermined threshold) would work well. 19:30:39 it might work 19:31:07 Hmmm. java backend for chicken anyone? 19:31:10 i'm considering doing it just by writing the interpreter in continuation-passing-style 19:31:29 but if i do that i might hit some problems with TCO 19:31:52 another approach is writing it in Scala (which supports continuations) 19:31:53 mario-goulart: exactly; maybe over llvm? 19:32:11 How does Scala implement continuations? 19:32:32 klutometis: it would be amazing 19:33:19 Ah. The title of their paper says it all: "Implementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform" 19:34:12 asarch [~asarch@189.188.159.212] has joined #scheme 19:34:23 That's interesting, but it wouldn't help with implementing Scheme, and if you wrote an interpreter in Scala using this technique you'd basically wind up with the same thing as a hand-written CPS interpreter. 19:35:06 yes, it's more of a tradeoff, i prefer writing Scala than Java because it's much cleaner 19:35:32 but then again you end up with a 6mb overhead in the final .jar 19:36:05 ! 19:36:06 If you use all of Scala, right? I've seen claims that one or more of the Java optimization tools can successfully strip out unused parts of the Scala runtime. 19:36:22 There are people writing Android apps in Scala using that technique. 19:36:26 chandler: yes, Proguard does that 19:36:38 Ah, that's it. 19:36:50 but it's buggy 19:36:52 (You can tell just how little I pay attention to the JVM part of the world.) 19:37:04 if i use proguard at all with my interpreter it no longer works 19:37:15 unless i say Proguard: "do not optimize anything" 19:37:38 then at least i get about 30% less size in the final .jar 19:38:09 chandler: well, the JVM has interesting properties 19:38:32 It does? I think we've been discussing two interesting properties that it *doesn't* have. :-) 19:38:39 i'm interested in the performance part 19:39:20 a "simple" interpreter with no bytecode that dispatchs on objects can be very fast 19:39:25 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Remote host closed the connection] 19:39:50 Faster than, say, Racket? 19:39:59 well, for some definitions of "very fast" 19:40:15 think about the speed of CPython or even Lua 19:40:26 but nowhere near the Racket's JIT 19:40:42 Lua or LuaJIT? There's a substantial delta, there. 19:40:51 Lua of course 19:40:55 any JIT will be faster 19:41:26 but we are talking of a < 3.000 loc interpreter (excluding the runtime) 19:41:43 easy to debug and to experiment with, so it's nice 19:42:12 Komi: in Java or using a scheme for the JVM as host? 19:42:29 mario-goulart: everything is written in Java 19:42:41 Hmmm. Impressive. 19:43:00 another choice would be to write as much as possible in Scheme itself 19:43:03 I thought 3kLOC was the minimum size for any java program. :-) 19:43:13 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 19:43:24 but it's not viable if you're looking for performance and it's an interpreter 19:43:29 heh 19:43:53 mario-goulart: 90% of which is the same boilerplate repeated over and over, spread throughout 15-20 different files and a directory tree eight levels deep. :-) 19:44:00 mario-goulart: i can't argue with that, Java is awful in a lot of respects 19:44:10 chandler: Exactly. :-) 19:44:28 that's the reason i wanted to use Scala :) 19:44:54 And some XML for the data part. 19:45:15 don't forget javadoc documentation, ant scripts... 19:45:17 It's nice that an interpreter in Java can be made fast, but I guarantee you that I can write a JIT-compiled implementation of your choice of language semantics faster and with fewer lines of code in Racket. 19:46:13 chandler: would that give me all the libraries the JVM has access to? 19:47:11 That's kind of a bogus argument. 19:47:13 anyway, i would love to implement it in Racket JIT-enabled but i don't think it would be that easy 19:47:39 i would discuss the details if you want 19:48:01 and share the semantics which are not very amenable to JITs 19:48:27 If the draw is that the JVM has a lot of libraries, that's lovely for shops where leveraging those libraries is a productivity win. If you're writing your own toy implementation, though, being able to use it in an enterprise-scale environment is never going to happen anyhow, so why make that the defining reason behind your core dependency? I don't really understand the lure. 19:48:33 *gnomon* shrugs 19:48:40 Anyhow, as long as you're having fun with it. 19:49:12 gnomon: i do it just for fun 19:49:48 so far this has been the easier way to get good performance with the semantics i want 19:50:01 If fun is the motivation, I guess the part that I don't understand is either why you've decided to build it with such un-fun tech, or alternatively why you consider Java to be fun. 19:50:21 gnomon: because i've been unable to find a better choice 19:50:31 Ok. 19:50:50 i don't want to use C/C++ and deal with garbage collection myself 19:51:04 or use Boehm or have to deal with pointers 19:51:14 it's just fustrating for me 19:51:51 i don't like Java but it's the only platform that has given me good performance with that semantics 19:52:10 i tried writing it in Common Lisp though 19:52:46 it also was annoying 19:53:22 because i would need type annotations everywhere to get close to the performance of the Java version 19:54:51 If you found ekeing performance out of an implementation in Common Lisp difficult, I'd imagine you have few options. 19:55:55 Regarding JVM libraries, I find that a difficult sell. It's often said that Java is a horrible language with good libraries. I've wondered how that can be the case. So far, when I've looked at the supposed good libraries I've come to the conclusion that they're actually crap, as one would expect from code written in that language. 19:56:40 I would be interested in hearing about the difficult semantics, though. 19:56:46 i have to agree to that :) 19:57:00 in particular i hate everything that has to do with dates in Java 19:57:21 chandler, that more or less jibes with my experience. I think the argument that "Java has good libraries" should probably be amended to "Java has *many* libaries". 20:01:18 Or "Java has Enterprise libraries", whatever that means. 20:01:49 But somehow buzzwords are a plus. 20:02:32 mario-goulart: I think it's their way to claim dibs on making the software for starships when we finally discover warp technology ;) 20:02:55 :-) 20:03:41 mario-goulart, in my experience "enterprise" tends to mean "lots of logging", and sometimes also "includes facilities for failover". 20:04:03 But mostly the logging thing 20:06:45 Funny. Just yesterday I wanted to get a string representation for a query from a preparedStatement (for logging, ironically) and I couldn't find a clean way to do that. 20:08:47 Then I went shopping. 20:08:54 mario-goulart: Did you check out the simple-logging egg? 20:09:15 Also, I think we have a syslog egg 20:09:21 sjamaan: no. simple-logging to me is display. :-) 20:09:28 That IS simple :) 20:09:58 sjamaan: the preparedStatement thing I mentioned is for java. I mean I had a java problem. 20:10:41 oh 20:10:51 That's ironic indeed 20:11:31 gnomon: In my experience "enterprise" means "nobody with any understanding of what we do is paying attention to how we spend money, so we are spending it all being as useless as possible while still eventually delivering what is asked for". 20:11:41 Java is an excellent tool for this. 20:12:39 chandler, 's'truth. I've had the lovely experience of interacting with and contrasting "enterprise" software developed internally and the kind developed by contractors. 20:13:43 Interestingly, it seems like there isn't a strong correlation between the type of development and the quality of the results: rather, it all boils down to whether the dev team actually cares about delivering something that doesn't suck. 20:14:22 However, I *did* find a very interesting correlation: whether developed internally or externally, if the devs are included in the support escalation chain - even if only tangentially - then the quality tends to be dramatically better. 20:14:26 Who knew? 20:15:20 Avoiding thrice-weekly 4AM pages is apparently a wonderful motivator for making supportable software. 20:17:39 Heh. 20:21:28 -!- MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has quit [Read error: Connection reset by peer] 20:21:45 MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has joined #scheme 20:21:49 I think java is a language for bosses. It's maintained by a big company (Enterprise++); there are lengthy APIs for the most stupid things, although they are pretty limited; it requires lots of code for simple things (more code = more productivity); and the static strong typing gives the impression that if it compiles, it's bug-free (not even memory leaks, whatever that means for bosses). 20:23:19 Any monkey can put the parts of the API together and make a runnable program, given Eclipse and enough disk space for the code. 20:30:21 -!- alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 20:30:36 -!- nicktick [debian-tor@gateway/tor-sasl/nicktick] has quit [Remote host closed the connection] 20:30:36 saint_cypher [~saint_cyp@70-36-245-104.dsl.static.sonic.net] has joined #scheme 20:31:30 (and enough RAM for Eclipse) 20:43:51 karme [~user@2a01:4f8:100:51c1::4] has joined #scheme 20:50:34 -!- JoelMcCracken [~joelmccra@66.37.58.254] has quit [Quit: This computer has gone to sleep] 21:00:47 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:04:49 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Ping timeout: 264 seconds] 21:14:05 homie` [~user@xdsl-78-34-108-208.netcologne.de] has joined #scheme 21:15:59 -!- karme [~user@2a01:4f8:100:51c1::4] has quit [Remote host closed the connection] 21:16:45 -!- homie [~user@xdsl-87-79-50-191.netcologne.de] has quit [Ping timeout: 260 seconds] 21:20:20 -!- cinch [~cinch@unaffiliated/cinch] has left #scheme 21:25:16 xissburg [~chatzilla@187.3.13.225] has joined #scheme 21:31:02 RageOfThou [~RageOfTho@users-33-59.vinet.ba] has joined #scheme 21:32:14 -!- MrFahrenheit [~RageOfTho@users-33-59.vinet.ba] has quit [Read error: Connection reset by peer] 21:33:39 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 21:36:38 -!- Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 21:47:45 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 21:52:21 adadglgmut [~adadgltmu@cpe-174-100-207-183.neo.res.rr.com] has joined #scheme 21:52:22 -!- adadgltmut [~adadgltmu@cpe-174-100-207-183.neo.res.rr.com] has quit [Ping timeout: 245 seconds] 21:55:02 -!- xissburg [~chatzilla@187.3.13.225] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.6/20100625231939]] 21:58:50 -!- adadglgmut [~adadgltmu@cpe-174-100-207-183.neo.res.rr.com] has quit [Ping timeout: 265 seconds] 22:02:13 -!- kar8nga [~kar8nga@i-80.vc-graz.ac.at] has quit [Remote host closed the connection] 22:13:23 -!- choas [~lars@p5B0DC00B.dip.t-dialin.net] has quit [Quit: leaving] 22:35:07 davazp [~user@83.55.180.105] has joined #scheme 22:38:15 -!- samth is now known as samth_away 22:40:55 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 22:53:15 R3cur51v3 [~Recursive@rrcs-97-77-55-50.sw.biz.rr.com] has joined #scheme 23:02:33 -!- Checkie [10490@unaffiliated/checkie] has quit [Ping timeout: 252 seconds] 23:04:52 -!- R3cur51v3 [~Recursive@rrcs-97-77-55-50.sw.biz.rr.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 23:10:37 -!- luz [~davids@189.60.69.82] has quit [Quit: Client exiting] 23:14:55 -!- fradgers- [~fradgers-@5adb10a1.bb.sky.com] has left #scheme 23:15:03 R3cur51v3 [~Recursive@rrcs-97-77-55-50.sw.biz.rr.com] has joined #scheme 23:22:12 -!- masm [~masm@2.80.146.59] has quit [Quit: Leaving.] 23:22:29 aidalgol [~user@114-134-6-5.rurallink.co.nz] has joined #scheme 23:28:12 -!- mathk [~mathk@lns-bzn-20-82-64-40-93.adsl.proxad.net] has quit [Quit: ..zzZzzZ] 23:32:08 -!- R3cur51v3 [~Recursive@rrcs-97-77-55-50.sw.biz.rr.com] has quit [Ping timeout: 252 seconds]