00:01:17 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 00:03:54 -!- morphir [n=morphir@217.168.81.9] has quit [Read error: 110 (Connection timed out)] 00:05:38 gweiqi [n=greg@69.120.126.163] has joined #scheme 00:05:59 -!- hotblack23 [n=jh@p5B053D1B.dip.t-dialin.net] has quit [Remote closed the connection] 00:06:29 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 00:06:33 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 00:12:29 annodomini [n=lambda@64.30.3.122] has joined #scheme 00:13:20 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 00:13:36 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 00:21:09 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 00:21:34 -!- yosafbri` is now known as yosafbridge 00:29:26 masquerade [n=robert@host108-118.student.udel.edu] has joined #scheme 00:30:40 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 00:33:54 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has left #scheme 00:38:26 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #scheme 00:41:29 *klutometis* instantiates a well-timed arthropod to coincide with arcfide's yawn 00:46:31 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 110 (Connection timed out)] 00:47:16 -!- hadronzoo [n=hadronzo@ppp-70-251-242-10.dsl.rcsntx.swbell.net] has quit [] 00:49:05 el_ermitanio [n=el_ermit@84.79.67.254] has joined #scheme 00:52:27 X-Scale [i=email@2001:470:1f08:b3d:0:0:0:2] has joined #scheme 01:08:45 -!- masquerade [n=robert@host108-118.student.udel.edu] has quit [] 01:10:37 -!- el_ermitanio is now known as maxote 01:14:10 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 01:19:24 annodomini [n=lambda@64.30.3.122] has joined #scheme 01:24:56 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 01:30:05 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 01:34:16 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 01:36:39 orgy_ [n=ratm_@pD9FFEACF.dip.t-dialin.net] has joined #scheme 01:40:34 -!- orgy_ [n=ratm_@pD9FFEACF.dip.t-dialin.net] has quit [Client Quit] 01:43:41 -!- masm [n=masm@a83-132-152-110.cpe.netcabo.pt] has quit [Read error: 113 (No route to host)] 01:47:50 HG` [n=wells@222-153-100-184.jetstream.xtra.co.nz] has joined #scheme 01:51:32 seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has joined #scheme 01:53:40 -!- orgy` [n=ratm_@pD9FFEA17.dip.t-dialin.net] has quit [Read error: 101 (Network is unreachable)] 01:55:27 -!- benny [n=benny@i577A08C1.versanet.de] has quit [Read error: 110 (Connection timed out)] 02:00:28 hadronzoo [n=hadronzo@gateway.publicvpn.net] has joined #scheme 02:05:08 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 02:08:07 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 02:17:04 tasty arthropods 02:22:26 ttmrichter [n=ttmricht@119.96.10.130] has joined #scheme 02:23:16 -!- HG` [n=wells@222-153-100-184.jetstream.xtra.co.nz] has quit [] 02:25:00 HG` [n=wells@222-153-100-184.jetstream.xtra.co.nz] has joined #scheme 02:36:58 j85wilson [n=j85wilso@cpe-75-187-46-126.columbus.res.rr.com] has joined #scheme 02:37:05 PLT scheme help 02:37:11 Why can't I (require srfi/1)? 02:37:13 rudybot: help PLT scheme 02:37:14 *offby1: expecting: help [] 02:37:22 j85wilson: you're using the wrong language 02:37:28 #lang scheme 02:37:29 rudybot: eval (require srfi/1) 02:37:30 *offby1: your scheme sandbox is ready 02:37:34 j85wilson: oh :-| 02:37:37 module language 02:37:41 j85wilson: what happens when you try? 02:38:03 module: identifier already imported from a different source in: \n third \n srfi/1 \n scheme 02:38:07 aaah 02:38:24 I figure this must be a familliar problm 02:38:26 rudybot: eval (require (all-except-in srfi/1 third)) 02:38:27 *offby1: error: eval:1:9: all-except-in: not a require sub-form in: (all-except-in srfi/1 third) 02:38:29 hmph 02:38:35 rudybot: help all-in-except 02:38:36 *offby1: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ..., join , part , tell ..., emote ..., for ..., nick , system ..., top-eval ... 02:38:40 rudybot: help all-except-in 02:38:41 *offby1: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ..., join , part , tell ..., emote ..., for ..., nick , system ..., top-eval ... 02:38:44 *sigh* 02:38:47 rudybot: help require 02:38:47 *offby1: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ..., join , part , tell ..., emote ..., for ..., nick , system ..., top-eval ... 02:38:51 damn. 02:39:24 please hold for that URL. 02:39:30 I imagine this must be a common problem 02:39:48 rudybot: eval (require (except-in srfi/1 third)) 02:39:51 yay 02:39:53 j85wilson: do that. 02:40:03 You may need to list more identifiers than just "third" though,. 02:40:18 that seems ... obtuse. 02:40:32 *offby1* smites own forehead 02:40:34 rudybot: doc except-in 02:40:35 *offby1: http://docs.plt-scheme.org/reference/require.html#(form._((lib._scheme%2Fbase..ss)._except-in)) 02:40:39 THAT's what I meant. 02:41:16 j85wilson: are you using crufty old v372? 02:41:20 Or slick hot lovely v4? 02:41:23 *offby1* bets on the former 02:42:07 should be named in-except 02:42:34 except-in makes it look like you're requiring only tcp-listen, somewhere, except not in srfi/1 02:42:58 or just (except) or something 02:43:23 oh damn. I thought I had a v4 here. It is a 3.99-mumble 02:43:24 (require (from-except a b...meh 02:44:26 I think in some sense (require (except third) srfi/1 srfi/31 foo-module) would be clearest. Meaning not to import third from any of the listed modules. 02:44:45 only downside is that you might in some cases need multiple require statements. 02:44:52 rudybot: doc require 02:44:52 j85wilson: your sandbox is ready 02:44:52 j85wilson: http://docs.plt-scheme.org/reference/require.html#(form._((lib._scheme%2Fbase..ss)._require)) 02:45:03 *j85wilson* builds a sandcastle 02:46:32 I actually want (require (only-in srfi/1 iota))... 02:49:03 oooh 02:49:09 *j85wilson* makes turtle fractals 02:49:48 -!- HG` [n=wells@222-153-100-184.jetstream.xtra.co.nz] has quit ["Leaving."] 02:50:43 meanburrito920_ [n=John@adsl-99-165-16-235.dsl.lsan03.sbcglobal.net] has joined #scheme 02:50:48 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 02:50:58 unfortunately, they look rather like random walks. 02:53:47 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [Read error: 113 (No route to host)] 03:02:21 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit ["!"] 03:09:48 -!- seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has quit [] 03:10:09 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 03:20:20 benny [n=benny@i577A0F4A.versanet.de] has joined #scheme 03:45:24 j85wilson: (#%require srfi/1) 03:48:29 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 03:49:29 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 03:51:21 -!- stepnem [n=stepnem@topol.nat.praha12.net] has quit [Read error: 113 (No route to host)] 03:52:02 neale [i=heffalum@woozle.org] has joined #scheme 03:52:18 does R5RS define an identity function? 03:52:28 (procedure) 03:54:42 values 03:54:44 cool, thanks 03:54:45 -!- neale [i=heffalum@woozle.org] has left #scheme 03:58:07 ... did he just ask, correct, answer, and thank himself? 03:58:47 *eli* wondered the same 03:59:43 -!- hadronzoo [n=hadronzo@gateway.publicvpn.net] has quit [] 04:00:07 It's like this practical joke of asking someone where some street is, 04:00:21 and when they tell you they don't know you explain where it is. 04:04:00 j85wilson: that's odd. You said "rudybot: doc ..." and he responded "your sandbox is ready" ?! 04:04:08 http://www.codinghorror.com/blog/archives/001227.html <- that's depressing :( 04:04:38 *offby1* prefers to look for his keys under the lamppost 04:05:18 offby1: of course he did. 04:05:32 rudybot: doc cons 04:05:33 eli: your scheme sandbox is ready 04:05:33 eli: http://docs.plt-scheme.org/reference/pairs.html#(def._((quote._~23~25kernel)._cons)) 04:05:40 rudybot: init r5rs 04:05:40 eli: your r5rs sandbox is ready 04:05:42 rudybot: doc cons 04:05:42 eli: http://docs.plt-scheme.org/r5rs-std/r5rs-Z-H-9.html#%25_idx_408 04:05:48 offby1: See? 04:06:23 well, I _see_, but I don't _understand_. 04:06:35 don't make me look at the source! nooooo 04:07:21 offby1: To know what binding you mean by `cons', you need to turn it (the `cons' symbol) to an identifier (a binding from some module). 04:08:01 So rudybot needs a sandbox to know what you might happen to mean by `cons' -- the sandbox turns it into an identifier. 04:08:23 ah! 04:08:26 now, that makes sense. 04:08:27 The alternative would be a more complicated `doc' command where you specify which module you want. 04:08:37 I guess I figured it was looking up _symbols_, not _values_. 04:08:43 Not very Scheme-y of me. 04:09:00 And even then you'd need to actually require the module, which means evaluating code, which means that you'd ... need a sandbox. 04:09:20 rudybot: doc last 04:09:20 eli: no docs for a current binding, but provided by: scheme/list, scheme, srfi/1 04:09:48 y'all can tell how closely I've examined the recent patches. 04:09:52 to wit: not very. 04:10:03 offby1: It does the symbolic lookup as an alternative, when if fails to find something, but the name appears somewhere else. 04:10:10 ah. 04:10:58 offby1: Given that I'm the one who wrote the sandbox, it shouldn't be considred too bad if you didn't examine my patches... 04:11:16 protocol demands that I scrutinize them oh so carefully! 04:11:22 I have let down the great tradition. 04:11:38 That implies that you should look at the sandbox sources too. 04:11:52 And the rest of the modules that are ever involved. 04:12:00 Including the C code, for fun. 04:12:09 And don't forget looking at the GCC sources. 04:12:44 And then there's the linux kernel, the cpu specs and implementation, the wiring on the server etc etc etc. 04:12:45 you've convinced me! From now on, I commit anything anyone sends me. 04:12:54 :) 04:13:01 boy, life's gonna be a lot easier from now on 04:13:55 Oh, and BTW, you know about the "trusting trust" thing, right? 04:16:01 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:16:36 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 04:16:39 sure 04:16:41 a classic 04:19:50 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 04:20:39 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 04:21:05 -!- kniu [n=kniu@128.237.252.161] has quit [Read error: 110 (Connection timed out)] 04:30:09 -!- npe [i=npe@naist-wavenet125-199.naist.jp] has quit [Remote closed the connection] 04:36:43 What's the "trusting trust" thing? 04:37:37 synx: a paper by ken thompson 04:38:31 okay I think I found it. 04:39:20 yeah, it's probably the first hit on Google. 04:39:24 seangrove [n=seangrov@wsip-70-183-57-143.oc.oc.cox.net] has joined #scheme 04:41:57 synx will probably love it 04:44:26 eh 04:44:42 that's what md5s are for 04:45:00 or sha2 if you prefer 04:45:18 you don't understand, md5sum was also written in C, and compiled. 04:46:58 I understand. But once you have md5sum created and laborously examined for bugs, you don't have to duplicate the process for other programs. 04:47:48 [Besides, you should expect a meteor catastrophe more than expecting each GCC binary to have the exact same checksum] 04:47:57 it is possible to examine the machine code after all, just very slow. 04:48:08 Sure sure. 04:48:55 I'm just saying you have to use the GCC binary with a md5 sum you recognize, to compile a new GCC binary. 04:49:00 yes, let me study this disassembly with my compromised disassembler when the source code is right there. No, no, I'll 'od -c' and eyeball it. 04:49:08 synx: As someone who doesn't trust his ISP for random scheme bits, you're awfully inconsistent. 04:50:01 no see the scheme bits are cover for the real dirt 04:51:04 Even perfectly good assembler can be compromised by unexpected hardware. RAM readers and such. 04:58:44 hadronzoo [n=hadronzo@ppp-70-251-242-10.dsl.rcsntx.swbell.net] has joined #scheme 05:06:23 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Read error: 113 (No route to host)] 05:08:57 ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has joined #scheme 05:09:35 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 05:10:12 tjafk2 [n=timj@e176201100.adsl.alicedsl.de] has joined #scheme 05:12:29 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 05:16:12 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 05:24:53 fatal: terminating due to unexpected hardware error: found unexpected hardware 05:25:05 amazinglly informative, that. 05:25:05 minion: advice for fatal 05:25:06 fatal: #11900: You cannot just paste code with no understanding of what is going on and expect it to work. 05:25:13 ah right. 05:25:19 minion is always right. 05:26:09 I found out this evening that I discovered the Thue-Morse sequence in elementary school. 05:26:13 Kinda creeped me out. 05:26:16 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 05:26:36 "... a nice girl with a pair of legs that don't quit unexpectedly" 05:27:05 by "found out" I mean "found that this random sequence I found interesting actually had a name and real uses" 05:27:34 -!- tjafk1 [n=timj@e176216058.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 05:27:54 you discovered a random sequence? 05:28:21 well, not random in its elements, but random as in not otherwise significant (to me at the time) 05:29:49 http://en.wikipedia.org/wiki/Thue-Morse_Sequence 05:34:17 foof [n=user@isa7-dhcp-116-153.naist.jp] has joined #scheme 05:36:52 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 05:39:03 kniu [n=kniu@CMU-324590.WV.CC.CMU.EDU] has joined #scheme 05:41:54 http://funcall.blogspot.com/2009/03/i-hate-lisp.html <- I'm not quite sure what jrm is trying to accomplish with that, it isn't exactly funny. 05:42:36 Irony. That's all. 05:44:45 it's just a cute story about his initial reaction to lisp. 05:44:56 probably The Road to Lisp has more. 05:46:46 I think I may hate Joe. "Gerry Sussman and Chris Hanson are giving a series of 5 whirlwind lectures on advanced symbolic programming. I'm sitting in [...]" 05:46:49 *Daemmerung* fumes 05:57:31 no fumar 05:59:39 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 05:59:50 how do I trace a function? 06:00:50 bitweiler - on what implementation? 06:00:58 mit 06:04:08 kspaans [i=kspaans@artificial-flavours.csclub.uwaterloo.ca] has joined #scheme 06:06:32 Ugh, searching for things written in Scheme is so hard. 06:06:41 Is there an NNTP library for Scheme? 06:06:59 More specifically, for reading NNTP-formatey files, a parser. 06:08:00 kspaans: I haven't used it much yet, but see http://synthcode.com/scheme/hato/ 06:08:09 -!- melgray [n=melgray@c-71-197-146-242.hsd1.wa.comcast.net] has quit [] 06:09:30 I believe there's an nntp library in plt scheme 06:09:32 rudybot: doc nntp 06:09:32 *offby1: no docs for a current binding, but provided by: net/nntp 06:09:42 rudybot: eval (require net/nntp) 06:09:45 rudybot: doc nntp 06:09:45 *offby1: http://docs.plt-scheme.org/net/nntp.html#(def._((lib._net%2Fnntp..ss)._nntp)) 06:09:48 QED 06:11:44 offby1: You're a gentleman and a scholar. 06:11:54 i got it now ;) 06:12:03 ... but apparently not a sir. 06:13:17 Did I just do what I think I did? That would be embarassing. 06:14:21 kspaans: don't thank me; thank rudybot 06:14:48 foof: and don't cast aspersions on my masculinity, or I'll be forced to engage you in a duel. 06:15:08 .oO("who can rave loudest about pickup trucks") 06:39:17 -!- X-Scale [i=email@2001:470:1f08:b3d:0:0:0:2] has quit [Connection timed out] 06:50:16 -!- ttmrichter [n=ttmricht@119.96.10.130] has quit [Connection timed out] 06:51:02 ecraven [n=nex@140.78.42.103] has joined #scheme 06:56:16 ttmrichter [n=ttmricht@221.234.215.111] has joined #scheme 07:00:32 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 07:00:55 -!- meanburrito920_ [n=John@adsl-99-165-16-235.dsl.lsan03.sbcglobal.net] has quit ["has been attacked by a grue"] 07:01:48 -!- seangrove [n=seangrov@wsip-70-183-57-143.oc.oc.cox.net] has quit [] 07:02:40 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 07:18:54 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 07:19:04 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 07:39:32 seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has joined #scheme 07:40:10 -!- SchemeNate [i=nathan@lambda.caesium.org] has quit [Read error: 110 (Connection timed out)] 07:47:09 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit ["Smoove out."] 07:48:19 -!- Khisanth [n=Khisanth@151.204.133.189] has quit ["Leaving"] 08:02:11 mmc [n=mima@gw1.teleca.fi] has joined #scheme 08:04:12 Arelius [n=Indy@209.77.67.98] has joined #scheme 08:06:36 ASau` [n=user@host121-231-msk.microtest.ru] has joined #scheme 08:07:30 Stupid questions: is there unwind-protect and what to use for such lookup? 08:19:30 it isn't in R6RS, but some schemes have it -- gauche does, for instance. Schemes do not generally have APROPOS ; use the documentation. 08:20:22 Khisanth [n=Khisanth@pool-151-204-133-189.ny325.east.verizon.net] has joined #scheme 08:25:49 -!- mmc [n=mima@gw1.teleca.fi] has quit ["Leaving."] 08:27:39 mmc [n=mima@gw1.teleca.fi] has joined #scheme 08:30:25 elias` [n=me@unaffiliated/elias/x-342423] has joined #scheme 08:49:17 iion_tichy [n=Bjoern@e179065170.adsl.alicedsl.de] has joined #scheme 08:55:05 mngbd [n=user@vie-nas-ge-0-2.onenet.at] has joined #scheme 09:07:27 -!- hark [n=strider@hark.slew.org] has quit [Remote closed the connection] 09:07:44 hark [n=strider@hark.slew.org] has joined #scheme 09:14:54 -!- hark [n=strider@hark.slew.org] has quit [Remote closed the connection] 09:15:20 Mr-Cat [n=Miranda@hermes.lanit.ru] has joined #scheme 09:15:48 hark [n=strider@hark.slew.org] has joined #scheme 09:19:16 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has quit [Read error: 104 (Connection reset by peer)] 09:19:19 MichaelRaskin_1 [n=raskin@213.171.48.239] has joined #scheme 09:19:37 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit ["%"] 09:20:48 -!- seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has quit [] 09:25:29 masm [n=masm@a83-132-152-110.cpe.netcabo.pt] has joined #scheme 09:26:01 ejs [n=eugen@nat.ironport.com] has joined #scheme 09:26:43 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 09:29:13 -!- mngbd [n=user@vie-nas-ge-0-2.onenet.at] has quit [Read error: 110 (Connection timed out)] 09:29:17 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 09:30:27 -!- Arelius [n=Indy@209.77.67.98] has quit [] 09:38:42 -!- iion_tichy [n=Bjoern@e179065170.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 09:39:30 iion_tichy [n=Bjoern@e179065170.adsl.alicedsl.de] has joined #scheme 09:43:03 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 09:47:15 alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has joined #scheme 09:52:03 -!- alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has quit [Read error: 104 (Connection reset by peer)] 10:01:00 alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has joined #scheme 10:07:53 -!- tomelam [n=tomelam@122.167.106.193] has quit ["Quitting!"] 10:09:33 Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has joined #scheme 10:10:29 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 10:13:23 -!- jao [n=jao@40.Red-83-33-183.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 10:14:44 -!- iion_tichy [n=Bjoern@e179065170.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 10:23:02 asdfc [n=user@vie-nas-ge-0-2.onenet.at] has joined #scheme 10:38:46 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 10:42:49 -!- benny [n=benny@i577A0F4A.versanet.de] has quit [Read error: 113 (No route to host)] 10:43:14 benny [n=benny@i577A0F4A.versanet.de] has joined #scheme 10:43:51 -!- asdfc [n=user@vie-nas-ge-0-2.onenet.at] has quit [Remote closed the connection] 10:44:02 asdfc [n=user@vie-nas-ge-0-2.onenet.at] has joined #scheme 10:46:22 -!- MichaelRaskin_1 [n=raskin@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 10:50:24 -!- brandelune [n=suzume@pl064.nas934.takamatsu.nttpc.ne.jp] has quit [] 10:50:30 orgy` [n=ratm_@pD9FFEACF.dip.t-dialin.net] has joined #scheme 10:52:53 -!- hadronzoo [n=hadronzo@ppp-70-251-242-10.dsl.rcsntx.swbell.net] has quit [] 10:58:34 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 11:10:15 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 11:13:30 Cale_ [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 11:18:22 LobsterMan [n=a@host72-50.student.udel.edu] has joined #scheme 11:19:58 can anyone tell me...why is this recursive? 11:19:58 http://rafb.net/p/kslzxV79.html 11:20:06 i thought it's iterative since you're dec'ing c 11:20:16 pardon the messy form 11:20:27 dec'ing n* 11:24:58 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Nick collision from services.] 11:25:00 -!- Cale_ is now known as Cale 11:34:29 LobsterMan: Who said, that was recursive? 11:35:18 let me dig up the url i found it at 11:35:48 -!- ttmrichter [n=ttmricht@221.234.215.111] has quit [Read error: 110 (Connection timed out)] 11:35:51 about 1/5 down the page 11:35:52 http://academic.udayton.edu/SaverioPerugini/courses/cps343/lecture_notes/scheme.html 11:35:54 -rudybot:#scheme- http://tinyurl.com/af9az4 11:35:54 under simple functions 11:36:10 And what was said precisely? The function is recursive, since it calls itself, but the process is iterative, since control context does not grow. 11:36:20 Nshag [n=shagoune@Mix-Orleans-106-2-62.w193-248.abo.wanadoo.fr] has joined #scheme 11:36:41 -!- asdfc [n=user@vie-nas-ge-0-2.onenet.at] has quit [Remote closed the connection] 11:36:49 ttmrichter [n=ttmricht@59.174.135.76] has joined #scheme 11:36:58 how would i go about making a recursive process to determine the nth element of a list then? i've been thinking about this for a while and i can't really see an easy way 11:37:47 i even have coins sitting out on my desk to play with as a list X\ 11:37:55 -!- foof [n=user@isa7-dhcp-116-153.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 11:39:57 it seems like it would be something like keeping track of the difference between n and the size of the list 11:42:34 -!- troter [n=troter@nurikabe.timedia.co.jp] has quit ["Leaving..."] 11:43:45 is this a difficult problem or am i just missing something glaring? 11:45:55 foof [n=user@dn157-046.naist.jp] has joined #scheme 11:45:55 dlt____ [n=dlt@201.80.187.243] has joined #scheme 11:46:53 we had someone asking the same question a few days ago 11:47:25 were they from a udel ip addresS? 11:47:27 lol 11:47:39 do you have something illustrating what is meant by "recursive process"? That page of lab notes you posted doesn't seem to mention it 11:48:07 i'm going by the sicp book, and i like to think i know the difference between the 2 11:48:19 http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_%_sec_1.2.1 ^_^ 11:48:20 -rudybot:#scheme- http://tinyurl.com/cogoz4 11:49:02 good, that's the sense we're used to it in here :) 11:49:11 it's really easy to calculate this iteratively, i just used a wrapper function and then a count variable in my sub-function 11:49:27 but strictly recursively seems more difficult 11:50:35 to me, the question of writing NTH to be a recursive process seems ridiculous -- the definition given in those notes is a recursive function, but as it's tail recursive it's an iterative process 11:51:02 all you need to do to inhibit tail recursion though, is do something to the result of the recursive call 11:51:29 I think offby1 gave the suggestion to who i assume was your classmate: (reverse (reverse (nth (- n 1) (cdr ls)))) 11:51:57 isnt decrementing n making it an iterative process though? 11:52:13 my assignment is "Code iterative and recursive process versions of length and nth." 11:53:36 later on in the assignment we're supposed to code append and reverse, so i think we may not supposed to use those for this part 11:53:55 darkenergy [n=gmt@216.147.139.234] has joined #scheme 11:54:07 a recursive process is characterised by having to keep an operation on the stack to perform on the result of the recursive call 11:54:36 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:54:39 yeah 11:55:14 does that apply to tail recursion? 11:55:19 in the example above, that's (reverse (reverse _)) -- decrementing N doesn't affect it 11:55:40 MichaelRaskin_1 [n=raskin@213.171.48.239] has joined #scheme 11:56:03 tail recursion is the absence of any such deferred operations, where the result of the recursive call is returned unaltered 11:56:12 yeah 11:56:25 essentially you have a tracking variable to go along with each evaluation 11:56:33 so a tail-recursive procedure will always correspond to an iterative process, and a non-tail recursive procedure to a recursive process 11:56:59 I tend to think of it in terms of stack consumption 11:57:28 so somehow...cumulatively with each step, i need to "get closer" to finding that nth result 11:57:42 by just deferring more operations until i reach my "base case" 11:57:48 at which point it's all evaluated and i get my answer 11:57:54 but the hard part is actually doing that :D 12:00:37 hmm....i think i kind of see what you were hinting at above 12:06:32 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 12:07:48 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 12:09:32 -!- darkenergy [n=gmt@216.147.139.234] has left #scheme 12:12:40 fasta [n=a@217.109.160.5] has joined #scheme 12:14:50 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:15:52 Is there a way to generate a random Scheme program and run it basic machine operation by machine operation and count the instructions of said program? It should also be possible to stop the computation at _any_ time. 12:18:40 (The generation and running needs to happen at run-time. ) 12:19:39 dlt__ [n=dlt@201.80.187.243] has joined #scheme 12:22:02 dlt_ [n=dlt@201.80.187.243] has joined #scheme 12:23:27 Cheshire [n=yoo@amcant.demon.co.uk] has joined #scheme 12:23:45 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 12:24:25 higepon879 [n=taro@FL1-118-109-128-58.tky.mesh.ad.jp] has joined #scheme 12:24:39 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 12:25:31 R6RS doesn't care about when (file-options no-create no-fail) is specified and file doesn't exist. 12:28:12 -!- dlt____ [n=dlt@201.80.187.243] has quit [Read error: 145 (Connection timed out)] 12:29:31 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 12:29:54 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 145 (Connection timed out)] 12:37:57 ejs [n=eugen@94-248-26-125.dynamic.peoplenet.ua] has joined #scheme 12:38:57 -!- Cheshire [n=yoo@amcant.demon.co.uk] has quit ["Quitting!"] 12:44:32 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 12:50:57 dlt__ [n=dlt@201.80.187.243] has joined #scheme 12:51:49 -!- dlt_ [n=dlt@201.80.187.243] has quit [Read error: 104 (Connection reset by peer)] 12:53:46 dlt____ [n=dlt@c91192dd.static.bhz.virtua.com.br] has joined #scheme 13:03:08 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 13:03:52 -!- ejs [n=eugen@94-248-26-125.dynamic.peoplenet.ua] has quit [Read error: 145 (Connection timed out)] 13:04:14 ejs [n=eugen@nat.ironport.com] has joined #scheme 13:07:49 stepnem [n=stepnem@topol.nat.praha12.net] has joined #scheme 13:11:36 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 110 (Connection timed out)] 13:20:52 -!- kryptiskt_ [n=irc@cust-IP-129.data.tre.se] has quit [Read error: 110 (Connection timed out)] 13:21:26 Cheshire [n=yoo@amcant.demon.co.uk] has joined #scheme 13:22:14 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 13:22:43 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:26:20 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 13:29:42 dlt__ [n=dlt@201.80.187.243] has joined #scheme 13:30:07 ejs [n=eugen@94-248-26-125.dynamic.peoplenet.ua] has joined #scheme 13:32:24 -!- Cheshire [n=yoo@amcant.demon.co.uk] has quit ["Quitting!"] 13:35:35 xwl [n=user@114.245.142.136] has joined #scheme 13:47:37 -!- dlt____ [n=dlt@c91192dd.static.bhz.virtua.com.br] has quit [Read error: 110 (Connection timed out)] 13:48:24 -!- orgy` [n=ratm_@pD9FFEACF.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 13:49:12 mngbd [n=user@vie-nas-ge-0-2.onenet.at] has joined #scheme 13:51:33 Cheshire [n=yoo@amcant.demon.co.uk] has joined #scheme 13:52:01 langmartin [n=user@75.148.111.133] has joined #scheme 13:58:18 dlt____ [n=dlt@201.80.187.243] has joined #scheme 13:58:24 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 104 (Connection reset by peer)] 14:06:31 -!- xwl [n=user@114.245.142.136] has quit [Remote closed the connection] 14:12:19 xwl [n=user@114.245.142.136] has joined #scheme 14:13:20 Edico [n=Edico@unaffiliated/edico] has joined #scheme 14:30:29 -!- fasta [n=a@217.109.160.5] has quit ["Ex-Chat"] 14:33:31 dlt__ [n=dlt@c91192dd.static.bhz.virtua.com.br] has joined #scheme 14:36:10 -!- dlt____ [n=dlt@201.80.187.243] has quit [Connection reset by peer] 14:36:12 dlt_ [n=dlt@201.17.146.221] has joined #scheme 14:47:57 aaco [n=aaco@unaffiliated/aaco] has joined #scheme 14:53:37 -!- dlt__ [n=dlt@c91192dd.static.bhz.virtua.com.br] has quit [Read error: 110 (Connection timed out)] 14:54:22 yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has joined #scheme 14:54:58 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 14:55:29 fzort [n=mpersano@201.6.8.150] has joined #scheme 14:57:08 hi 14:58:37 you guys know spoj.pl? 15:00:03 lokathor [n=daniel@71-221-178-129.bois.qwest.net] has joined #scheme 15:00:20 fzort, I think you may be asking that question in the wrong channel. 15:01:28 -!- fzort [n=mpersano@201.6.8.150] has left #scheme 15:01:42 -!- lokathor [n=daniel@71-221-178-129.bois.qwest.net] has left #scheme 15:01:46 hey fzort, do you know goatse.cx? 15:01:50 -!- masm [n=masm@a83-132-152-110.cpe.netcabo.pt] has quit [Read error: 104 (Connection reset by peer)] 15:01:53 I also think "fzort" sounds like what you'd hear if you stuck your finger into a socket ... if you remained conscious 15:02:46 masm [n=masm@a83-132-152-110.cpe.netcabo.pt] has joined #scheme 15:07:53 foof, I happen to know what it sounds like if you stick something into a socket, and FZORT is nothing like it. :-) 15:07:58 Much to mild. 15:08:10 s/to/too/ 15:08:23 Sorry, offby1 ^^^ 15:09:49 I dunno; that word just sounds like there should be lightning bolts and smoke around it. 15:09:58 OK, _if you're a cartoon character_ and you stick your finger in a socket. 15:10:14 offby1, it does sound strangely electric though, I agree. 15:10:45 When you actually stick your finger into an electrical socket, it is more like "ZPOPBANG!" 15:10:59 Followed by the smell of burnt flesh. 15:11:05 :-) 15:11:06 And then "$%^&*(!!!", I'd imagine. 15:11:16 gnomon: Oh no, they don't talk after that. :-) 15:11:40 Well, maybe some do. 15:11:54 Followed by eerie passivity, like Jack Nicholson at the end of "One Flew Over The Cuckoo's Nest" 15:12:01 I think those electric arcing machines make a fzort type of sound. 15:12:12 Heheh. 15:15:51 -!- ASau` [n=user@host121-231-msk.microtest.ru] has quit ["Off"] 15:15:51 -!- xwl [n=user@114.245.142.136] has quit [Remote closed the connection] 15:17:29 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 15:19:05 Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has joined #scheme 15:19:14 dlt__ [n=dlt@201.80.187.243] has joined #scheme 15:20:08 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 15:22:54 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 15:25:03 pitui [n=pitui@135.207.174.197] has joined #scheme 15:27:26 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 15:29:33 sounds like my team leader, zero effort (he suggested today we write variable as the type name, but without vowels...) 15:29:45 I believe, sockets don't suite well for sticking fingers into them. But when I once touched a bare wire, I didn't hear anything at all :P 15:30:09 and I assume the sound his brain makes goes zfort, then silence 15:30:31 Omitting vowels... Some Hebrew stuff, I guess 15:31:28 i would've preferred sms talk :p 15:32:06 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 145 (Connection timed out)] 15:33:33 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #scheme 15:34:04 -!- arcfide [n=arcfide@99.137.203.229] has quit ["Exam time."] 15:35:32 perhaps the canonical spelling is "frotz" 15:37:10 -!- dlt_ [n=dlt@201.17.146.221] has quit [Read error: 110 (Connection timed out)] 15:38:21 lokathor [n=daniel@71-221-178-129.bois.qwest.net] has joined #scheme 15:40:52 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 15:41:32 jlongster [n=user@75.148.111.133] has joined #scheme 15:44:12 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 131 (Connection reset by peer)] 15:44:25 dlt__ [n=dlt@201.80.187.243] has joined #scheme 15:46:21 Onece I saw a glossary of typical comic book sounds, but unfortunately didn't save a link 15:50:33 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit ["rebooting"] 15:50:46 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:51:05 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit ["rebooting"] 15:51:48 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 15:52:13 -!- langmartin [n=user@75.148.111.133] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 15:56:12 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:56:58 -!- synthase [n=synthase@68.63.48.10] has quit [No route to host] 15:58:18 langmartin [n=user@75.148.111.133] has joined #scheme 16:00:13 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 16:00:41 kryptiskt_ [n=irc@cust-IP-129.data.tre.se] has joined #scheme 16:01:24 synthase [n=synthase@68.63.48.10] has joined #scheme 16:03:46 -!- yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 16:03:48 yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has joined #scheme 16:06:24 annodomini [n=lambda@130.189.179.215] has joined #scheme 16:08:27 bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has joined #scheme 16:20:53 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 104 (Connection reset by peer)] 16:20:56 dlt____ [n=dlt@201.80.187.243] has joined #scheme 16:21:35 -!- higepon879 [n=taro@FL1-118-109-128-58.tky.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 16:22:33 -!- mmc [n=mima@gw1.teleca.fi] has quit ["Leaving."] 16:27:04 -!- yhara [n=yhara@7.193.12.221.megaegg.ne.jp] has quit [Read error: 113 (No route to host)] 16:30:13 -!- ejs [n=eugen@94-248-26-125.dynamic.peoplenet.ua] has quit [Read error: 110 (Connection timed out)] 16:32:40 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 16:35:27 athos [n=philipp@92.250.204.223] has joined #scheme 16:53:20 morphir [n=morphir@217.168.81.9] has joined #scheme 16:55:28 -!- proq [n=user@unaffiliated/proqesi] has quit [Remote closed the connection] 16:56:06 foof [n=user@dn157-046.naist.jp] has joined #scheme 16:56:57 proq [n=user@38.100.211.40] has joined #scheme 17:03:27 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 17:07:04 -!- alaricsp [n=alaricsp@88-202-213-29.rdns.as8401.net] has quit [] 17:09:38 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 54 (Connection reset by peer)] 17:13:45 -!- lokathor [n=daniel@71-221-178-129.bois.qwest.net] has quit ["quit"] 17:17:42 Arelius [n=Indy@209.77.67.98] has joined #scheme 17:17:49 -!- jld [i=jdev@panix5.panix.com] has quit ["brb"] 17:26:54 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 17:28:12 jewel [n=jewel@iburst-41-213-48-245.iburst.co.za] has joined #scheme 17:37:31 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 17:38:02 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 17:38:48 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 17:42:23 varbl 17:42:29 related to harbl? 17:43:44 dlt__ [n=dlt@201.80.187.243] has joined #scheme 17:46:04 schmalbe [n=bernhard@p549A01E7.dip0.t-ipconnect.de] has joined #scheme 17:48:28 -!- dlt____ [n=dlt@201.80.187.243] has quit [Read error: 60 (Operation timed out)] 17:48:44 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 104 (Connection reset by peer)] 17:48:50 dlt__ [n=dlt@201.80.187.243] has joined #scheme 17:55:44 ejs [n=eugen@92-49-208-199.dynamic.peoplenet.ua] has joined #scheme 18:04:49 -!- ttmrichter [n=ttmricht@59.174.135.76] has quit [Connection timed out] 18:05:53 ttmrichter [n=ttmricht@59.172.142.231] has joined #scheme 18:10:13 jld [i=jld@panix5.panix.com] has joined #scheme 18:14:10 -!- Arelius [n=Indy@209.77.67.98] has quit [] 18:15:15 tjafk1 [n=timj@e176210149.adsl.alicedsl.de] has joined #scheme 18:25:23 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 18:28:24 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 18:28:42 -!- tjafk2 [n=timj@e176201100.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 18:31:26 *j85wilson* attempts to write a piece of code to clean the house for him. 18:33:48 -!- ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has quit [Read error: 60 (Operation timed out)] 18:41:20 aaco_ [n=aaco@unaffiliated/aaco] has joined #scheme 18:42:38 -!- aaco [n=aaco@unaffiliated/aaco] has quit [Nick collision from services.] 18:42:42 -!- aaco_ is now known as aaco 18:47:10 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 18:50:36 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 18:57:55 JoelMcCracken [n=joelmccr@CMU-221270.WV.CC.CMU.EDU] has joined #scheme 18:58:44 ecraven` [n=nex@140.78.42.103] has joined #scheme 18:58:44 -!- ecraven` [n=nex@140.78.42.103] has quit [Remote closed the connection] 19:00:35 seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has joined #scheme 19:02:59 So here's a trick. Some database queries can take a few seconds or more to execute. Is it necessary for my GUI interface to freeze and stop functioning during that time? 19:03:37 no 19:04:44 I can't seem to find a way around it though. 19:04:53 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 19:05:12 snikeris [n=snikeris@96.227.237.127] has joined #scheme 19:05:27 threads? 19:05:35 I mean you have to call the C function sqlite3_step for sqlite (for instance), and it just sits there until the results are ready. 19:05:41 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 19:05:57 So make the interface code run in one thread, and the backend code run in another. 19:06:21 and learn the joys of thread syncing 19:06:25 heh heh heh 19:06:38 write it in erlang 19:06:50 -!- jewel [n=jewel@iburst-41-213-48-245.iburst.co.za] has quit [Read error: 110 (Connection timed out)] 19:06:57 or termite 19:07:03 i still avoid threads, unless really needed 19:07:07 That'd be great, but the sqlite3_step code doesn't invoke any of the scheme routines to yield for other threads. 19:07:23 eh? Your scheme only has cooperative multitasking? 19:07:25 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 19:07:32 I don't avoid threads, really, but definitely try to encapsulate them as much as possible. 19:07:47 Yes j85wilson plt-scheme only has cooperative multitasking. 19:07:50 argh 19:07:53 how obnoxious. 19:08:15 It is pretty dang annoying. 19:08:36 I think several schemes have only cooperative multitasking 19:09:14 I'm still in favor of a M:N based thread model, with heavy emphasis on M. But anyway. Many schemes do not use preemptive kernel threads. 19:09:56 Even on SMP machines? What a ... failure? ... to use the hardware. 19:10:04 My best idea so far is to write a C library that interfaces with sqlite3_step... and calls it in a separate thread. 19:10:24 synx: do that, would be easiest :) 19:10:32 j85wilson: eh, multiprocess is best for SMP usage far as I can tell. 19:10:32 that does sound like a decent idea. 19:10:38 well ok 19:10:47 then make your code multiprocess 19:10:56 synx: it's only at the C level that plt's threads are "cooperative". 19:11:02 Anyway, then this interface yields to the cooperative scheme threads in its cooked up step function, while getting the real results from some queue from the real step function's thread. 19:11:03 there is a sense in which it is the same. (although certainly not every sense) 19:11:20 That's true eli sorry. 19:11:24 synx: You could solve this at the C or ffi level, as done for several oter interface. 19:11:42 -!- mngbd [n=user@vie-nas-ge-0-2.onenet.at] has quit [Remote closed the connection] 19:11:43 synx: And the result will be -- surprise -- that you will need to use threads. 19:11:47 There's a ffi solution? 19:11:52 mngbd [n=user@vie-nas-ge-0-2.onenet.at] has joined #scheme 19:12:05 Hi all, I just got MIT/GNU scheme set up in emacs; however, it seems to lack completion. Is there a way to set up completion, of procedure names for example, in emacs? 19:12:16 Yeah I know that much at least. 19:13:10 synx: Such interfaces usually give you some function that can be used to do it. See readline for example. (Without it, each prompt will necessarily lock the whole process.) 19:13:42 I'll take a look, thanks. 19:14:29 snikeris: if you're using MIT, you might take a look at edwin. It is an emacs that uses scheme instead of emacs lisp. Unfortunately, I don't use it (or MIT scheme, or emacs) myself, so I can't tell you much more than that. 19:14:50 yes, a lisper who doesn't emacs. Cue the ridicule. 19:15:18 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Connection reset by peer] 19:15:21 repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 19:16:07 eli: in drscheme, is there anything resembling readline support in the interactions regions? I can certainly arrow up, end, enter, to get a previous entry, but this is many more keystrokes than the typical readline arrow-up. 19:17:39 eli: I'm fairly sure sqlite doesn't have that sort of interface. Really doesn't make sense for the library to implement that sort of thread queue type thing, as you'd want to optimize it for your language. 19:18:51 dlt____ [n=dlt@201.80.187.243] has joined #scheme 19:19:10 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Connection timed out] 19:19:17 Like for instance having a pool of worker threads that all modules share for dealing with lengthy blocking functions. 19:19:32 j85wilson: C-up or M-p 19:19:39 ahhh 19:19:40 thank you. 19:20:00 oh that is so much better. 19:20:29 synx: I don't know why you say that it doesn't make sense to for the library to have it -- it makes just as much sense as readline does. 19:20:54 synx: You also get the same issue with any GUI library (including sdl, allegro, and X). 19:21:00 ooh no wait, sqlite3 may indeed have such an interface... 19:21:38 understood eli... 19:23:30 synx: btw, another alternative to the readline interface is a callback interface -- instead of calling a function that just sits there until it has an answer, you use a (scheme) callback that will recieve it when it's ready. 19:23:40 -!- snikeris [n=snikeris@96.227.237.127] has left #scheme 19:23:51 -!- MichaelRaskin_1 [n=raskin@213.171.48.239] has left #scheme 19:24:34 or it may be called several times to indicate progress 19:24:49 Yes, that too. 19:27:15 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has left #scheme 19:27:56 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 19:32:27 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 19:34:30 melgray [n=melgray@70.99.250.82] has joined #scheme 19:36:00 -!- repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 19:36:42 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 110 (Connection timed out)] 19:39:47 When you use a _cprocedure as a function pointer, do you pass the scheme procedure callback as an argument, or do you put in the definition of the _cprocedure as maybe-wrapper? 19:40:25 or #:wrapper or whatnot 19:43:37 synx: `_cprocedure' is much less convenient than `_fun'. 19:44:08 I guess so. But either way, where do I pass the scheme callback? 19:44:22 With `_fun', you just use types as usual. For example: (_fun _int (_fun _int -> _int) -> _void) is an interface to a function that takes a (callback) function. 19:44:45 With `_cprocedure' it would be similar but more tedious. 19:45:10 jewel [n=jewel@iburst-41-213-48-245.iburst.co.za] has joined #scheme 19:46:06 What about (_fun _int (_fun _int -> _int -> (values 42)) -> _void) 19:46:22 Is that making an implied callback function that applies 42 to values? 19:47:06 Or can you just pass a scheme function as the second argument when calling that (_fun _int (_fun _int -> _int) -> _void)? 19:47:28 jao [n=jao@40.Red-83-33-183.dynamicIP.rima-tde.net] has joined #scheme 19:47:57 Huh? What do you expect (values 42) to do there? 19:48:15 And yes, you just pass in a Scheme function. 19:49:03 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 19:49:07 synx: To see some examples: http://svn.plt-scheme.org/plt/trunk/collects/tests/mzscheme/foreign-test.ss 19:49:10 I don't really know, but I'll just not use it. 19:49:11 -rudybot:#scheme- http://tinyurl.com/b2o2cf 19:49:21 And that corrsponds to the C code in .../foreign-test.c 19:49:46 How do you set up the contract for a foreign procedure that takes a function pointer argument? 19:49:53 (values 42) at that place will be evaluated as usual -- giving you 42, and an error that 42 is not a C type. 19:50:11 Functions in C are always pointers. 19:50:47 Just cpointer? I guess 19:51:36 (Of course, nothing in ANSI C or POSIX guarantees that a function pointer can be cast to or from a non-function pointer without making demons fly out your nose...) 19:51:54 or maybe procedure? since I'm passing a procedure... 19:53:39 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 19:54:52 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 19:55:00 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 19:57:28 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 19:58:14 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 19:58:45 synx: At the foreign interface level, functions are always pointers. The example that I wrote above is an interface to a "pointer to a function" -- but there is no way to pass in "a function". 20:07:29 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 20:07:54 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 20:10:14 dlt__ [n=dlt@201.80.187.243] has joined #scheme 20:15:04 -!- clog [i=nef@bespin.org] has quit ["^C"] 20:15:26 clog [i=nef@bespin.org] has joined #scheme 20:18:26 sweet, it's working! 20:21:13 only caveat is you cannot do database stuff in more than one scheme thread, but who needs that 20:21:40 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 20:22:38 I guess you can do database stuff with another sqlite database in another thread. anyway 20:23:04 on another computer! 20:23:08 :) 20:24:13 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 20:25:17 now all I need is some ridiculously lengthy SQL query to verify that it's invoking the scheme threads in a timely mannery. 20:27:56 ...manner 20:28:07 -!- dlt____ [n=dlt@201.80.187.243] has quit [Read error: 110 (Connection timed out)] 20:28:25 does it not have a sleep function? 20:30:32 -!- dlt__ [n=dlt@201.80.187.243] has quit [Read error: 110 (Connection timed out)] 20:33:08 not in the query language. I'll just use LIKE on some huge blobs. 20:35:40 melgray_ [n=melgray@70.99.250.82] has joined #scheme 20:38:54 -!- kniu [n=kniu@CMU-324590.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 20:45:15 just had a great language design idea 20:45:36 make strings different from lists so things like REVERSE have to be written for lists and for strings twice 20:45:59 so we get like 50 list functions and then another 50 STRING-* versions 20:46:22 or let them share a common interface 20:49:36 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 20:53:55 sorry leppie 20:53:57 I am sacrasm 20:53:59 -!- melgray [n=melgray@70.99.250.82] has quit [Read error: 110 (Connection timed out)] 20:58:16 -!- schmalbe [n=bernhard@p549A01E7.dip0.t-ipconnect.de] has quit [Remote closed the connection] 21:07:31 -!- JoelMcCracken [n=joelmccr@CMU-221270.WV.CC.CMU.EDU] has quit ["This computer has gone to sleep"] 21:08:27 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 60 (Operation timed out)] 21:09:36 -!- ejs [n=eugen@92-49-208-199.dynamic.peoplenet.ua] has quit [Read error: 110 (Connection timed out)] 21:16:44 jgracin [n=jgracin@82.193.210.126] has joined #scheme 21:19:08 saccade_ [n=saccade@BRAIN-AND-COG-SEVEN-FORTY-THREE.MIT.EDU] has joined #scheme 21:19:50 mmt [n=mmt@TEP.MIT.EDU] has joined #scheme 21:20:35 Riastradh: hey Mr. Cambpell 21:20:39 you around? 21:20:48 s/bp/pb/ 21:20:49 Camb-pell 21:21:15 or in your case, s/b-p/p-b/ :) 21:21:56 Wondering if there's a simple way to fire off a background process from MIT scheme 21:22:16 starting blocking subprocesses is easy, but backgrounded ones is a little trickier 21:22:46 I've tried run-shell-command w/ "nohup command > /dev/null 2&>/dev/null < /dev/null" for example 21:22:51 but no luck 21:26:24 Cheshire: Or have 50 list functions and 1 string function, (string->list) :> 21:30:19 -!- seangrove [n=seangrov@cpe-76-90-50-75.socal.res.rr.com] has quit [] 21:33:58 kniu [n=kniu@CMU-324590.WV.CC.CMU.EDU] has joined #scheme 21:34:33 -!- jgracin [n=jgracin@82.193.210.126] has quit [Remote closed the connection] 21:35:14 hadronzoo [n=hadronzo@ppp-70-251-242-10.dsl.rcsntx.swbell.net] has joined #scheme 21:36:51 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 21:37:23 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 21:38:43 oh well, wrote a small C file to fork() and system call! n/m 21:40:34 Hi. 21:40:46 hello 21:40:52 hey 21:41:15 hmm... 21:41:24 what? 21:41:56 trying to figure out how to run something only when you cannot continue back into a procedure anymore. 21:43:04 When an error is raised, or the procedure evaluates to a final expression, do some sort of cleanup. But not if the procedure is just invoking a continuation somewhere else, and return continuations "exist" to come back. 21:43:33 But do evaluate if the procedure continues without leaving any continuations back. 21:44:03 I guess basically just looking to bind some of my own state to the continuation itself. 21:44:06 mmt, if you want to run a subprocess in the background with standard I/O file descriptors inherited from the Scheme process's standard I/O file descriptors, use (START-SUBPROCESS-IN-BACKGROUND ), where contains strings of the form "=". 21:44:13 synx, "only when you cannot continue back" gives me this knee jerk reaction to mention DYNAMIC-WIND 21:44:43 Cheshire: yeah, but dynamic-wind invokes the cleanup routine every time you continue out of the procedure, even when you then continue back into it. 21:44:49 synx, there is an answer to that question in . Search for `control brackets' or something. 21:45:39 Riastradh how do you format the text into column like thatL? 21:45:46 *Riastradh* blinks. 21:46:11 is it columnar-by-construction? 21:46:22 or some kind of automatic tool 21:46:26 M-q 21:46:31 M-x auto-fill-mode RET 21:46:40 oh very nice 21:46:42 thanks :) 21:48:00 mmt, or did you want to run a process with no controlling tty, its own process group, and no standard I/O file descriptors? 21:48:05 hey what if I just installed a finalizer on the continuation object? no...but then the procedure might call/cc twice, making two continuation objects... 21:48:25 synx, did you look where I pointed? 21:48:31 mmt, if that's the case, then use START-BATCH-PROCESS. 21:48:42 I'm reading it Riastradh 21:48:43 Sorry, START-BATCH-SUBPROCESS. 21:51:44 Riastradh: hi :) 21:52:37 Riastradh: that might be just what I need 21:53:26 mmt, I hear that you are kludging up something involving FIFO files for lack of TCP communication capability. Is what I hear accurate? 21:54:31 yep 21:54:49 I'm just kludging a poor man's FFI 21:54:52 What precisely is lacking? 21:54:58 :) dumping straight to python's stdin 21:55:09 my desire to write something elaborate 21:55:20 hehe 21:55:22 maybe I could use netcat 21:55:30 but that's UDP based if I recall 21:55:36 Let me be more precise. What TCP communication capability do you need that you believe you don't have? 21:55:39 so, a macro here, a lot of string kludging there 21:55:50 I have the TCP communication capability 21:55:51 its all there 21:56:05 I just don't have the patience to write something sensible on both the scheme and python ends 21:56:17 (There are two different netcats, both of which support TCP and UDP.) 21:56:34 Riastradh: that's a neat idea, though I don't know what e means by cell? nor how make-gc-finalizer works in that case. 21:56:38 I'm confused. Where did FIFO files enter into it? 21:56:39 hm 21:56:55 well, it seemed that MIT Scheme's subprocesses were blocking calls only 21:57:00 at least in the documentation 21:57:02 netcat does both UDP and TCP 21:57:06 so, the FIFO allows me to chat with it 21:57:08 The synchronous processes are, yes, synchronous. 21:57:19 right 21:57:23 synx, a cell is an object with one mutable location for a subobject, just as a pair is an object with two mutable locations for subobjects. 21:57:35 Oh, so like a box? 21:57:38 so, I'm firing up a background process that pulls from the FIFO, and writing the commands to the FIFO 21:57:44 Sometimes such objects are called boxes, yes, synx. 21:57:52 mmt, huh? 21:57:57 pairs are not mutable that I know of... 21:58:04 Riastradh: as in mkfifo FIFO 21:58:25 Riastradh: as an aside, start-batch-subprocess doesn't seem to be Google-able, where can I find documentation for it? 21:58:41 mmt, yes, I know; what I don't understand is what you are trying to accomplish with this process (where by `background' I presume you don't mean that literally as something to do with job control). 21:59:04 Riastradh: well. I want to interactively send commands to a python interpreter 21:59:08 also ->environment looks kind of weird... is that environment variables? 21:59:08 mmt, there is no documentation for the lower layer. Use the source, or ask me precise questions about what you want. 21:59:43 synx, the effect of the GC finalizer code is to run the protection thunk when the cell containing it is garbage-collected. 21:59:59 synx, you need not read any more closely into it. 22:00:34 That's what I guessed. Now I just have to figure out ->environment... 22:00:38 No, you don't. 22:01:09 The trouble with a finalizer I see is that if you (set! return (call/cc return)) as is common, then the first continuation gets garbage collected, yet a second continuation may be used to re-enter the procedure. 22:01:11 The effect of the GET-DYNAMIC-STATE, SET-DYNAMIC-STATE! cruft is to make the protection thunk run in the same dynamic state as it was written. In other words, it transfers control (through wind points) to the same DYNAMIC-WIND state as the UNWIND-PROTECT appeared in. 22:01:18 So you'll close the database, then return back into the procedure... 22:01:52 wind points... 22:02:25 la la la 22:07:40 Goodness. I think you're right. I identified the wrong criterion for when the protection thunk should be run. The remedy is straightforward, though. 22:07:46 Riastradh: what arguments does start-batch-subprocess take? 22:08:05 mmt, the same as START-SUBPROCESS-IN-BACKGROUND. 22:09:35 Both return subprocess descriptors. You can send signals to them with SUBPROCESS-SIGNAL, kill them with SUBPROCESS-KILL, wait for them to terminate with SUBPROCESS-WAIT, query their termination status with SUBPROCESS-STATUS, &c. 22:11:26 allotrop1 [n=allotrop@simpsons.cs.byu.edu] has joined #scheme 22:11:30 -!- allotrop1 [n=allotrop@simpsons.cs.byu.edu] has left #scheme 22:12:01 synx, what I think, after a moment's consideration, is the correct criterion is that control can never re-enter the protected extent. Hence: (define (*unwind-protect thunk protector) (let ((protector-cell (make-protector-cell protector))) (dynamic-wind (lambda () (identity-procedure protector-cell)) thunk values))) 22:13:16 -!- jewel [n=jewel@iburst-41-213-48-245.iburst.co.za] has quit [Read error: 110 (Connection timed out)] 22:14:45 Oh so you're saying that by getting a reference to the protector-cell, then calling thunk, when continuations to that call are all unreachable, it will also garbage collect the protector-cell. 22:15:04 Yes. 22:15:56 Of course it'd also need to catch exceptions, but yeah otherwise that seems like a fine idea. 22:16:00 No. 22:16:29 Sorry, let me retract that. I jumped to a conclusion about pronoun referents. What is `it' here? 22:17:05 amsanian [n=sam@c-24-131-182-64.hsd1.mn.comcast.net] has joined #scheme 22:17:48 -!- lisppaste [n=lisppast@common-lisp.net] has quit ["Want lisppaste in your channel? Email lisppaste-requests AT common-lisp.net."] 22:17:48 -!- minion [n=minion@common-lisp.net] has quit ["Common Lisp IRC library - http://common-lisp.net/project/cl-irc"] 22:18:02 -!- amsanian [n=sam@c-24-131-182-64.hsd1.mn.comcast.net] has quit [Client Quit] 22:19:26 amsanian [n=sam@c-24-131-182-64.hsd1.mn.comcast.net] has joined #scheme 22:22:36 Riastradh: make-subprocess-context is hard to find :) 22:22:46 It's defined by DEFINE-STRUCTURE in syncproc.scm. 22:22:49 yep 22:22:50 It's not interesting. 22:22:54 I realize 22:23:02 but: 22:23:05 ;Unbound variable: make-subprocess-context 22:23:12 Riastradh: the garbage collector 22:23:17 lisppaste [n=lisppast@common-lisp.net] has joined #scheme 22:23:19 It's not exported. 22:23:34 *nod*, but its the required third argument to start-batch-subprocess 22:23:34 -!- saccade_ [n=saccade@BRAIN-AND-COG-SEVEN-FORTY-THREE.MIT.EDU] has quit [Read error: 110 (Connection timed out)] 22:23:58 rather, the environment variable seems to make use of the context 22:24:00 No, it's not. 22:24:00 I said that wrong 22:24:03 No, it doesn't. 22:24:18 The third argument to START-BATCH-PROCESS is a vector of the form #("=" ...). 22:24:29 here is the name of an environment variable and its value. 22:24:52 I see. I was thrown off by: (subprocess-context/environment context) 22:24:54 minion [n=minion@common-lisp.net] has joined #scheme 22:25:01 specbot [n=specbot@common-lisp.net] has joined #scheme 22:25:02 If you're reading the source, and you want to learn about the basic subprocess interface, ignore syncproc.scm except to see how it is applied. 22:25:03 which is how these environments were being pulled throughout that file 22:25:08 syncproc.scm is an application of process.scm. 22:26:17 (Excuse me: the third argument to START-BATCH-SUBPROCESS, not to START-BATCH-PROCESS, which doesn't exist.) 22:26:38 don't worry, I interpolated 22:27:26 Riastradh: sorry to not RTFS, but how do you kick off a subprocess? 22:27:34 What does `kick off' mean, exactly? 22:27:54 n/m 22:30:50 these subprocesses won't make sense of things like "<" will they? (i.e. input from a file) 22:32:02 Use START-PIPE-SUBPROCESS if you want to do that, or craft precisely what you need using MAKE-SUBPROCESS and what you can glean from the definitions of START-BATCH-PROCESS, START-PIPE-SUBPROCESS, &c. 22:33:25 What precisely do you need? 22:33:56 I'm trying to run $ python -i < /tmp/thefifo 22:34:16 But actually I have a modified solution. 22:34:19 Ah. Sorry, you'll have to be a little cleverer about that. 22:35:27 Specifically, rather than opening a pipe, you'll use: (let* ((channel (file-open-input-channel "/tmp/thefifo")) (process (make-subprocess ... channel ...))) (channel-close channel) process) 22:40:26 okay, I give up 22:40:30 (A `channel' corresponds on Unix with a file descriptor, without any Scheme data structures doing buffering or anything.) 22:40:31 TCP and netcat it is 22:40:46 Riastradh: the problem is the way MIT Scheme is blocking on opening FIFOs 22:41:01 On *opening*? 22:41:02 so, the MIT Scheme docs show how to open TCP sockets, but not how to read /write to them 22:41:05 yep 22:41:16 the reader wants a writer to be there and vice-versa 22:41:22 I see. 22:41:30 the FIFO looks empty if there is no writer 22:41:35 TCP sockets are represented as Scheme ports. 22:41:37 but MIT Scheme blocks until there is a reader 22:41:42 Riastradh: that's wonderful :) 22:46:08 Argh. 22:46:14 n? 22:46:17 ? rather 22:46:30 Merely opening the file shouldn't block. 22:48:03 -!- langmartin [n=user@75.148.111.133] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:50:06 -!- aaco [n=aaco@unaffiliated/aaco] has quit ["Leaving"] 22:52:49 haha, man, python can't accept strings from netcat 22:53:09 *sigh* it points to a syntax error at the end of each line, probably a strange escape character 22:53:13 arcfide [n=arcfide@99.137.203.229] has joined #scheme 22:53:27 Has anyone used the Essence Parser Generator. 22:53:28 ? 22:53:30 Not I. 22:53:46 I don't believe in parser generators :/ 22:53:54 and writing them by hand doesn't work eithre 22:53:54 Hrm, Riastradh, quick response that. :-) 22:54:36 I was just curious about it, since a friend of mine is looking for a decent parsing framework. 22:54:49 At the moment, I'm finding Parscheme quite adequate, though. 22:55:39 I notice that it says it will run on R5RS and R6RS schemes, but then also says that it requires Scheme 48 to run. 22:55:41 ? 22:55:44 No. 22:55:55 The parser generator runs on Scheme48. 22:56:01 The generated parsers run pretty much anywhere. 22:56:06 Ah, I see. 22:56:12 Riastradh: You have heard of it? 22:56:16 Yes. 22:56:26 Is there a reason you didn't use it? 22:59:19 Riastradh: just wondering, but as write to the output port, what character set is it assuming? 22:59:25 Riastradh: something akin to ASCII? 22:59:35 It seemed easier to implement parscheme the way I wanted than to figure out Essence and fhow to make it work the way I wanted. Also, pgg is very complex software. 22:59:53 mmt, strings in MIT Scheme are octet vectors. Usually they are interpreted as ISO-8859-1. 23:00:15 The string type and the `vector-8b' type are identical. You can use procedures such as VECTOR-8B-REF if you'd rather use integers than characters. 23:00:55 If you want to deal with Unicode, you'll have to use wide strings or operations that yield strings of UTF-8 octets. 23:01:14 Riastradh: The combination of netcat --TCP--> netcat | python works 23:01:34 but for some reason, MIT scheme's strings cause it to complain around the carriage return 23:02:03 -!- amsanian [n=sam@c-24-131-182-64.hsd1.mn.comcast.net] has quit [] 23:04:17 Riastradh: okay, a hexdump reveals that netcat simply transmits "0x0a" at the end, where as MIT scheme does "0x0d 0x0a" 23:04:42 or I guess "CR LF" vs. "LF" 23:05:01 Sorry, what do you mean by `transmits' here? 23:05:06 Can you clarify the precise flow of information? 23:05:46 For example, `When I evaluate (NEWLINE SOCKET) in MIT Scheme, then the other endpoint of the socket receives the octets 0d 0a.' 23:05:47 Scenario one: 23:06:01 ah, no, its that "import matplotlib;\n" 23:06:20 arrives with both a 0x0d and 0x0a on it 23:06:29 on the end that is, after the "import matploblib;" 23:06:30 So when you (WRITE-STRING "import matplotlib;\n" SOCKET), the Python process reads a carriage return? 23:06:36 yes 23:06:42 (port/set-line-ending socket 'LF) 23:07:18 great thanks :) 23:09:04 By default, sockets use CRLF line endings. 23:09:09 If you want to be absolutely sure that octets are preserved, use 23:09:12 (port/set-line-ending socket 'BINARY) 23:09:15 (port/set-coding socket 'BINARY) 23:09:27 that didn't fix things actually 23:09:31 still sends CRLF 23:09:42 I'll add the BINARY lines now 23:10:22 Hmm. 23:10:31 I'm on crack 23:10:36 I was missing an error message: ;The object LF is not in the correct range. 23:10:43 \#LF or something? 23:11:07 Works for me. 23:11:10 What version of Scheme are you using? 23:11:38 -!- Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has quit [Remote closed the connection] 23:11:38 Mechanics 23:11:44 oh 'lf 23:11:48 Oh. 23:11:49 its case sensitive in mechanics 23:11:53 Yes. 23:12:19 ftw 23:12:51 great, it works now! 23:15:05 bombshelter13 [n=bombshel@209-161-230-178.dsl.look.ca] has joined #scheme 23:17:50 Riastradh: any suggestions as to the best way to block until netcat has successfully started up? 23:19:30 What does `successfully started up' mean? 23:21:32 I guess I'm looking to poll until the port in question has something bound to it on the other end 23:21:50 For what purpose? 23:21:54 I have a small race condition now, where I might not be able to connect because netcat hasn't gotten for enough along 23:21:59 (Can you remind me why netcat is involved again?) 23:22:09 My process now is: 23:22:20 start netcat | python as a background process 23:22:25 connect to the netcat port 23:22:46 orgy` [n=ratm_@pD9FFEACF.dip.t-dialin.net] has joined #scheme 23:22:58 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 23:23:11 Can you remind me why you aren't just talking with Python over a pipe, without any other processes involved? 23:23:53 via TCP or subprocesses? 23:24:15 There's no documentation on how to setup a pipe via subprocesses. 23:24:33 TCP has the long term advantage of being bidirectional, but the previous point is a lot more important to why I'm here now 23:25:40 (start-pipe-subprocess ...)? 23:26:05 (Call it just like you called START-BATCH-SUBPROCESS.) 23:26:17 (Read from its SUBPROCESS-INPUT-PORT and write to its SUBPROCESS-OUTPUT-PORT.) 23:28:03 oh 23:28:16 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 23:28:31 How much have I just simplified your life? Unfortunately, I can't give you the last couple of hours of it back. 23:30:10 parodyoflanguage [n=user@mmds-216-19-46-146.sqpk.az.commspeed.net] has joined #scheme 23:30:26 Can I ask why it is that the scheme websites don't recommend guile? 23:32:09 its been stallmanized 23:32:19 *morphir* giggles for him self 23:32:32 Maybe `the Scheme web sites' say why. 23:32:41 parodyoflanguage: i heard that the macro implementation in guile isn't that good, and the module system as well 23:33:06 but folks like andy wingo seem to be doing okay with it, and actively hacking on it 23:33:13 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 23:33:38 Specifically, Guile's macro and module systems are fundamentally broken in ways that are irreconcilable with Scheme. 23:34:41 Riastradh: how so? 23:35:23 Thanks for the info. And no, I haven't seen any particular explanation. 23:35:32 The procedure yielded by (LAMBDA (F) (F 1 2 (BEGIN (DISPLAY "Hello!") 3))) does not always display "Hello!". 23:36:01 :-) 23:36:05 you cannot be serious 23:36:11 I am absolutely serious. 23:36:19 impossible 23:36:28 Possible, in a language other than Scheme. 23:36:41 oh 23:37:04 Riastradh: is there a bug report of this? 23:37:05 (The language of which I speak is Guile.) 23:37:22 I don't know, hkBst. Probably, but the problem lies deep at the heart of Guile. 23:37:34 It's not a matter of fixing a typo. 23:37:38 is it true that Guile sucks? 23:37:39 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 23:37:48 I heard it was totally fine and ok 23:37:57 Riastradh: how would I reproduce this? 23:38:00 it's got RMS brand name 23:38:20 Well, try passing every possible object to that procedure! 23:38:21 Cheshire: so you do like elisp? 23:38:28 no 23:38:41 Cheshire, if you ask a more precise question, I might answer it. 23:39:01 I think of a continuation at first... 23:39:21 Should work... 23:39:27 No good. In Scheme, control doesn't enter the procedure (even if it is an escape procedure) until after the arguments are evaluated. 23:39:41 So in Scheme, the above procedure always displays "Hello!". 23:39:56 So what is it to break the meaning of the procedure? 23:40:24 I'll leave that to your imagination. 23:40:47 Some badly implemented laziness? 23:40:50 the arguments must be evaluated in a random order 23:41:02 Not exactly, mngbd, but that's a good guess. 23:41:05 gweiqi [n=greg@69.120.126.163] has joined #scheme 23:41:51 -!- jso [n=user@151.159.200.8] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:42:24 So what order does guile process arguments? 23:42:46 For procedure calls? Oh, I don't know; could be left-to-right, could be right-to-left, could depend on the procedure call. 23:43:05 Riastradh: it SEEMS to work... what should I pass it to make it fail? 23:43:15 What objects does Guile have that Scheme doesn't? 23:43:16 hkBst: IF 23:43:23 You spoiled the fun, mejja! 23:43:41 IF is a procedure? lol 23:43:42 Sorry! 23:43:46 No, it's not, Cheshire. 23:43:53 in Guile 23:43:56 Nope. 23:44:00 Well, in Haskell it could be. 23:44:03 IF is a special form. 23:44:04 is it a runtime macro? 23:44:04 It's a special operator; it has special evaluation rules. 23:44:12 Riastradh: why does this make guile broken? 23:44:15 Well, whether it's a macro is an implementation detail. 23:44:27 I am asking about implementation (Guile) :p 23:44:53 The language that Guile implements, however, fails to exhibit very important properties exhibited by Scheme, which lead to different interpretations of the above example. 23:45:23 I leave it up to your respective imaginations what ramifications this discrepancy has. 23:46:24 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 148 (No route to host)] 23:46:54 oh c'mon 23:47:00 Riastradh: tell us the punch-line! 23:47:22 macros are brokne 23:47:25 macros are broken 23:47:29 is that i t?! 23:47:46 The ramifications are not exactly that macros are broken. 23:47:59 it says 23:48:02 Guile implements R5RS 23:48:08 No, instead: *every*Guile*program* behaves in a way unpredicable by Scheme's evaluation model. 23:48:23 from earlier discussion, guile's interpreter has IF, and this allows it to do odd things that will fail as soon as the code is compiled. 23:48:26 At least, that's among the ramifications. 23:49:24 rudybot: eval if 23:49:25 zbigniew: your sandbox is ready 23:49:25 zbigniew: error: eval:1:0: if: bad syntax in: if 23:49:40 guile> if 23:49:40 # 23:49:49 -!- dmpk2k [n=dmpk2k@static-64-115-4-131.isp.broadviewnet.net] has quit [Read error: 104 (Connection reset by peer)] 23:50:08 is this primitive-macro! a good thing? 23:50:12 So I suppose additionally, the compiler and the interpreter implement different languages. 23:50:43 Riastradh: but if you don't use these extended semantics, what's left is Scheme... 23:50:49 No. 23:51:03 That would be so if it were only Guile's macros that were broken. 23:51:08 But as I said, every Guile program is broken. 23:51:15 (offtopic) Do you have a link for describing how to interact with the bots here? 23:51:23 s/for/for me/ 23:51:26 mngbd, mostly, say: `: help' 23:51:28 jso [n=user@151.159.200.8] has joined #scheme 23:51:28 lisppaste: help 23:51:28 Very carefully. 23:51:28 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 23:51:43 minion: advice for mngbd 23:51:43 mngbd: #11939: Because the computer cannot read your mind. Guess what? I cannot read your mind *either*. 23:52:07 ok, thanks 23:52:16 Riastradh: so what else is broken? 23:52:48 rudybot: help 23:52:49 mngbd: help [], version, quote, source, seen , uptime, init [], eval ..., give ..., apropos ..., desc , doc , later "tell" ... 23:52:52 Sorry, you're on your own now in the sea of consequences of Guile's non-Scheme evaluation model; I have to go now. 23:53:03 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 23:53:59 Riastradh: ok, thanks 23:54:20 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 23:56:05 mmt, send me an email if you have any further questions. I pay more frequent attention to email than to IRC. 23:59:13 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 23:59:16 I found a statement in the Guile manual: it says that the only (?) difference between Scheme and Guild are related to 1.) () and #f and 2.) case sensitivity. (http://www.galassi.org/mark//mydocs/guile-user_1.html) Lol? 23:59:22 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme