00:10:43 amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has joined #scheme 00:19:23 ken-p [n=ken-p@84.92.70.37] has joined #scheme 00:22:46 -!- cky [n=cky@cpe-024-211-255-155.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 00:27:36 -!- wingo [n=wingo@243.Red-88-17-204.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 00:30:38 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 00:38:41 sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 00:47:57 foof: ping 00:51:38 -!- synthase [n=synthase@adsl-220-168-6.mob.bellsouth.net] has quit [Read error: 110 (Connection timed out)] 00:53:44 sphex__ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 00:55:34 -!- Nshag [i=user@Mix-Orleans-106-2-145.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 00:56:20 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 00:56:28 -!- sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 00:57:57 cky [n=cky@166.166.116.98] has joined #scheme 01:03:21 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 01:14:56 Riastradh: BTW, the examples in the email that you sent had one case where mzscheme failed -- and it was actually still failing if it wasn't inside a function (related to jitting only function code); and now it should pass them too. 01:16:20 -!- sepult [n=buggarag@xdsl-87-78-26-100.netcologne.de] has quit [Read error: 110 (Connection timed out)] 01:22:54 -!- soupdragon [n=f@amcant.demon.co.uk] has quit [Read error: 113 (No route to host)] 01:23:18 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:26:10 AlcariTheMad [n=Administ@75.25.105.52] has joined #scheme 01:29:57 incubot: is EVAL a transgendered EVE? 01:30:00 ...to create social change and achieve full civil rights, dignity, and self-respect for gay, lesbian, bisexual, and transgendered individuals through education, youth advocacy, anti-violence efforts, and fighting discrimination of all forms, to achieve full participation in society of persons belonging to a sexual minority. 01:30:46 *sladegen* shouts: legalize eval marriages! 01:31:31 sladegen: but only if both parameters are hot 01:32:44 absolute zero feels as hot as melting point of iron. 01:34:02 -!- Lectus [n=Lectus@189.105.50.149] has quit [" HydraIRC -> http://www.hydrairc.com <- It'll be on slashdot one day..."] 01:40:47 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 02:03:17 -!- Daemmerung [n=goetter@64.146.161.228] has quit ["Smoove out."] 02:04:45 eval is just one letter away from evil 02:09:46 speaking of eval: http://blog.thetonk.com/archives/dont-be-lazy-dont-use-eval 02:09:59 or rather: http://blog.thetonk.com/archives/dont-be-lazy-dont-use-eval#comment-168 02:10:04 that was fun 02:10:12 that's the case of a prof tearing his student a new one 02:12:04 does scheme have an equivalent of python's new.function ? 02:12:23 AlcariTheMad: what does new.function do? 02:12:43 >>> new.function 02:12:46 NameError: name 'new' is not defined 02:12:52 import new 02:12:52 do you mean `new'? 02:12:54 then try 02:13:02 it creates a function object 02:13:09 from a code object and globals dict 02:13:33 a function object? so you can pass it around in a variable, I guess? 02:13:38 AlcariTheMad: looks like anonymous functions to me 02:13:40 try lambda 02:14:11 foo = new.function(compile('print 5', 'exec', ''), dict(__builtins__)) 02:14:17 foo() 02:14:32 -!- p1dzkl [i=p1dzkl@cl-88.cph-01.dk.sixxs.net] has quit ["changing servers"] 02:14:44 yeah, lambda; what else do you need? 02:14:58 you want to specify the environment? 02:15:02 p1dzkl [n=p1dzkl@1505ds1-str.0.fullrate.dk] has joined #scheme 02:16:44 jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has joined #scheme 02:17:16 it isn't lambda, it creates a function from one of several sources at runtime 02:17:24 *jcowan* unvanishes, looking around for that dratted what's-his-name. 02:17:48 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit ["Leaving"] 02:18:41 AlcariTheMad: how is that distinct from lambda? be more specific 02:19:38 its like eval'ing a define then? 02:20:00 its fairly specific to the way python's internals work 02:20:02 jcowan: it turns out that drat v. is a back-formation from drat int., a rather vulgar form of imprecation 02:21:12 AlcariTheMad: then i wouldn't expect there to be a scheme or X equivalent; you're doing two things, though: reifying a function and assigning it to foo 02:22:06 i'm not sure i'm describing it correctly, but you're right either way 02:22:41 AlcariTheMad: i'm just trying to figure out what x = new.function() does that (define x (lambda (...))) doesn't 02:23:04 you can pass an arbitrary string of code to it 02:23:14 at run time 02:23:15 so it's like eval? 02:23:18 yes 02:23:44 incubot: (define x (eval "(lambda () (display 'harro))")) (x) 02:23:44 Error: call of non-procedure: "(lambda () (display 'harro))" 02:23:59 hmm; something along those lines? 02:24:06 something like that 02:24:16 it actually takes a 'code object' 02:24:22 which represents byte compiled python code 02:24:50 the bytecode -ness of it shouldn't have much to do with its behavior though? 02:25:07 so you could open a .pyc(byte compiled python) file and do a bit of magic too it and pass it to new.function 02:25:10 it's effectively an eval, avoiding unnecessary extra parsing? 02:25:21 converting raw code into a function 02:25:28 incubot: (define x (eval (with-input-from-string "(lambda () (display 'harro))" read))) (x) 02:25:29 harro# 02:25:36 I mean, if you were using a different python interpreter, would it still work? 02:26:00 incubot: (define x (eval (with-input-from-string "(lambda () 'harro)" read))) (x) 02:26:00 harro 02:26:21 it probably wouldn't 02:26:30 depends on what interpreter 02:26:40 so it's basically a cpython feature? 02:26:54 some interpreters use the same bytecode, iirc 02:26:56 ah 02:27:43 i think jython uses JVM bytecode, but i'm pretty sure it doesn't make .pyc files 02:29:46 python for .net, on the other hand, would handle it 02:29:52 whatever it is you won't find it in r5rs scheme (or r6rs either, i think). but unique, advanced scheme implementations (like mit-scheme, plt, gambit) most probably provide such facilities... 02:30:32 or can be hacked easier or harder to do. 02:33:01 synthase [n=synthase@adsl-220-168-6.mob.bellsouth.net] has joined #scheme 02:33:46 klutometis: Indeed. drat = God rot it! 02:38:30 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 02:41:00 Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 02:42:05 Kirakishou [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 02:42:32 -!- Kirakishou is now known as Guest99007 02:44:01 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Remote closed the connection] 02:44:01 -!- Guest99007 [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Remote closed the connection] 02:44:23 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 02:44:43 -!- jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has quit ["Bailing out"] 02:49:45 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 02:53:15 tjafk1 [n=timj@e176198236.adsl.alicedsl.de] has joined #scheme 02:57:42 -!- Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 03:06:37 Riastradh: The conservative checks are just for debugging purposes. They'll go away when the last of the bugs in the precise GC are fixed (maybe today). 03:07:12 peter_12: I'm in the process of ditching Boehm. 03:09:00 -!- tjafk2 [n=timj@e176208051.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:14:45 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 03:22:15 foof: in favor of what for the gc? 03:22:58 My own precise GC. The blog entry p1dzkl linked describes what I'm doing. 03:25:18 foof: do you have your chibi code on github or something like that? 03:25:51 It's a mercurial repository. I haven't made it available anywhere. 03:26:04 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:26:22 sigh. so many distributed version controls systems. 03:26:27 will you make it available? 03:27:49 he'd better... plan9 is open source so scheme for plan9 should be oss, too. 03:28:14 Well, the tarballs will include full source :) 03:28:44 (foof your table-based blog markup is funky) 03:29:24 it's reddity awesome. 03:29:25 Footnotes at the bottom of the page always bugged me. 03:29:43 foof: it is the side notes that make the layout weird 03:30:01 I guess when the dust has settled had make the repo available... right now I'm still doing so many refactorings and global rewrites that trying to sync patches would be a mess. 03:30:17 s/had make/I'll make/ 03:31:24 -!- GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has left #scheme 03:32:25 do you have a list of dependencies? For example, I think it would be great to have a small scheme interpreter that only requires C89 or maybe C99. 03:33:31 Once Boehm is gone it will only require C89 + some very minimal extensions in C99 also used in Plan 9 (which hates C99). Making it into an OS is on my todo-list. 03:33:56 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 03:34:20 (Namely, it uses named field initializers in struct literals: {.field = value}, and those could be removed in a pinch.) 03:34:59 foof: so it will only have C99 as its requirement? 03:35:02 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 03:35:13 A toy OS, mind you - I just want to see a repl running on bare metal :) 03:35:43 wow. Making it into an OS. That is kind of crazy. 03:35:48 good crazy 03:35:51 but crazy 03:36:40 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 03:39:03 foof: just curious. when do you think you will have this round of changes complete for release? 03:40:14 I wasn't working on it for a while... I just started back up a few days ago as part of gsoc, and will be doing a lot of work on it the next two months. 03:40:31 elias` [n=c@host86-159-170-69.range86-159.btcentralplus.com] has joined #scheme 03:40:38 Since people are interested I'll try to make a new release sometime this week. 03:41:04 will that be with Boehm out? 03:41:17 yes 03:41:56 i.e. mostly I want people to stop downloading the old enormous tarball because my server can't handle the traffic :/ 03:42:18 :-) 03:42:27 Basically I'm looking for a very small Scheme implementation in which to sink my spare time. I don't know if you need help but I'm a detailed code reviewer. 03:42:37 I'm especially interested in embeddings. 03:43:39 What do you want to embed it in? 03:44:20 foof: web server and text editor 03:44:50 OK, text-editor (Emacs replacement) is high on my todo-list :) 03:45:23 I have a slightly ulterior motive. I'm not necessarily interested in pure Scheme. I'm interested in scheme with concurrency. 03:45:37 maybe something like Erlang concurrency 03:45:57 ... I was about to say "no way" until you said Erlang :) 03:47:16 I've looked at termite a bit. Interesting. I'm not sure immutable Scheme is so great, however. 03:47:17 Well it would be great if you set up your chibi like a community project publicly on sourceforge or something similar. 03:47:28 peter_12: http://code.google.com/p/termite/ 03:47:46 klutometis: yes :-) 03:47:46 peter_12: nm ;) 03:47:50 ... sourceforge does not inspire confidence of late :/ 03:47:55 github ftw 03:48:01 or google code 03:48:06 Does github support hg? 03:48:15 git git git! 03:48:16 "git"hub 03:48:19 there was talk of some hg-git bridge recently 03:48:20 :) 03:48:28 http://hg-git.github.com/ 03:48:38 klutometis: I read that hg and git are "seemless" now 03:48:52 peter_12: interesting 03:49:26 foof: yes an emacs replacement (with a vim mode) 03:49:39 and a strong concept of "project" 03:50:00 and built-in persistence 03:50:19 sladegen: built-in persistence? 03:50:31 Strong yes on vim mode and persistence. 03:50:43 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 03:51:36 peter_12: mnesia like... hard to describe exactly what i'd like in one sentence. 03:52:27 peter_12: (since van rossum's biased consecration of hg and code.google's subsequent adoption, i feel a git-hg holy war coming on; good thing, then, that they're not mutually exclusive) 03:53:15 The fact that Guido praises hg makes me question it :/ 03:53:18 klutometis: I just don't like that there are so many DVSs 03:53:25 emacs tries, but it's clunky and not so out of the box. but perhaps all great tools needs personal hackitude. 03:53:28 foof: I was thinking the same thing 03:53:40 hg is all python scripts isn't it? 03:53:42 On the other hand, he's probably just praising it because it's python, irrespective of any quality issues. 03:54:03 peter_12: DVCS is new; let the field shake out a little; it's clear, i think, who the fore-runners are 03:54:12 foof: that's exactly the bias i mean 03:54:42 klutometis: I was putting bias aside and just thinking anything in general Guido thinks is good is probably bad. 03:55:06 ... so when I put bias _back_ in, it meant I shouldn't assume hg is bad :) 03:55:29 foof: is all the description of chibi as a "toy implementation" a red herring? 03:56:00 It depends on what you mean by toy. 03:56:07 aren't all scheme toys? 03:56:13 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 03:56:25 sladegen: in the highest sense of toy, i suppose 03:56:26 no. It depends on what *you* mean by "toy". You write it ;-) 03:56:45 sladegen: like classical mechanics, for instance 03:56:59 I like classical mechanics 03:57:09 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 03:57:21 The core will stay small (which does not preclude lots of modules). 03:57:21 is that "toy physics"? 03:57:31 I will actively fix any bugs. 03:57:39 foof: the core staying small is good 03:58:17 You'll get "reasonable" performance. The only benchmark I bothered to run was fibonacci, and it was about 100x faster than tinyscheme and 2-3 times faster than Guile. 03:58:40 foof: I don't really care about that. 03:58:53 *sladegen* pulls out his ... spinning thingy toy. 03:59:08 Well, at 100x you should care. I really think tinyscheme is unusable. 03:59:24 imagine serving a web page. The majority of the server-side time is spent in the database. The majority of the full page serving is spent on the wire. The actual time in the server-side script might be as low as 5%. 03:59:44 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 04:00:04 yes 100x is a big difference and worthy. 04:00:14 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 04:00:30 by "I don't really care" i mean I care but I'm not obsessed. 04:00:36 Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 04:00:45 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 04:00:57 peter_12: but 5% being 1 and 100 seconds is a difference.... even 2-5 multiplier is a lot and still not an "order of". 04:02:19 foof: Well I'm chomping at the bit now to see your new code. I suppose I'll spend my time reading your current version for now. 04:02:40 peter_12: apparently; even though i find it more satisfying than post-modern physics 04:02:49 OK... I should be getting back to work instead of chatting anyway :) 04:03:02 klutometis: I find classical physics much more satisfying. 04:03:21 Enough so that I switched to Math at the end of my degree. 04:03:26 ;-) 04:12:47 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 04:13:18 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 04:41:22 -!- Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 04:42:46 Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 04:56:28 -!- luz [n=davids@189.122.121.232] has quit ["Client exiting"] 04:59:37 sourceforge has git and hg support 05:00:03 perhaps committing to one automatically updates the other VCSs (also svn, cvs, etc)? 05:00:21 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Read error: 110 (Connection timed out)] 05:06:22 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:22:01 -!- easy4 [n=easy4@c-68-45-192-148.hsd1.pa.comcast.net] has left #scheme 05:25:35 thesnowdog_ [i=thesnowd@122.110.52.21] has joined #scheme 05:31:50 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 05:37:42 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 05:38:54 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 05:42:43 -!- thesnowdog [i=thesnowd@114.73.138.51] has quit [Read error: 110 (Connection timed out)] 05:43:06 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Client Quit] 05:43:22 ejs [n=eugen@164-216-178-94.pool.ukrtel.net] has joined #scheme 05:47:15 *sladegen* writes a dvcs shell scrip that randomizes which dvcs one uses on each occasion... hillarity ensues. 05:53:50 foof: even a stopped guido is right twice a year 05:54:29 it's the second law of rossum's universal rules, look it up 06:07:35 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 06:11:44 incubot: ask me 'bout my daddy 06:11:47 is your daddy also your boyfriend? 06:12:30 incubot: no, you are my daddy 06:12:33 (daddy) 06:13:01 incubot: yes, my daddy 06:13:04 who is your daddy and what does he do? 06:13:26 I thought we made that clear. 06:16:33 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:16:35 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 06:17:11 bah, thrice damned mzscheme... 06:17:52 can't figure why it's taking 200 megabytes of memory per process. It's a really simple CGI program. 06:17:56 incubot: before kids and dogs, my life was relatively shit-free; except for the taurine kind endemic to institutions, of course 06:17:59 But lo, the errors are endemic. 06:18:08 plt yet again drags my computer to a halt 06:18:41 synx: switch to chicken? 06:19:09 switch ha 06:20:17 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit ["bye"] 06:20:19 synx: heh, exactly; though i remember when you first came on #scheme, you were much less partisan ;) 06:20:32 you've been here for, what, about a year? 06:21:00 I dunno. 06:21:13 jgracin [n=jgracin@93.159.74.33] has joined #scheme 06:21:37 I do use chicken just fine. It's just I came in before chicken 4 was out, so... namespace issues put my hairs on end 06:21:45 -!- jgracin [n=jgracin@93.159.74.33] has quit [Client Quit] 06:23:46 in the chicken world, we call that goose flesh 06:23:56 birds of a feather and all that 06:24:11 see who's being partisian now 06:24:51 lol, i don't even like cheese much 06:25:41 -!- ejs [n=eugen@164-216-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 06:26:16 ...that's parmigiano not partisan 06:26:39 oh sorry 06:26:58 i don't really know french too well 06:27:57 ... 06:29:17 enough with the eclipses already ... 06:29:27 ... 06:29:57 man, i love jests of false modesty; makes me think zbigniew would be a formidable poker opponent 06:30:12 klutometis: \vdots 06:30:31 \cdots, surely? 06:30:43 \ldots is the one true dots 06:31:07 next you're going to tell me you use horizontal tabs ... 06:31:13 weirdos 06:32:56 . 06:32:57 . 06:32:57 . 06:33:15 gentlemen, the foofs have it 06:33:24 zbigniew: not if my audience consists of martians; who read diagonally, apparently, on account of the third eye 06:33:30 (fooves?) 06:33:49 klutometis: \ddots, then 06:38:53 ejs [n=eugen@164-216-178-94.pool.ukrtel.net] has joined #scheme 06:45:46 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Remote closed the connection] 06:45:49 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 06:48:14 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #scheme 06:51:48 zbigniew: indeed; also in the sense that it befooves thee (not) to chibi 06:54:35 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 06:59:07 thesnowdog__ [i=thesnowd@122.110.52.21] has joined #scheme 07:00:00 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Remote closed the connection] 07:00:03 antoszka [n=antoszka@cl-142.mbx-01.si.sixxs.net] has joined #scheme 07:16:51 sepult [n=buggarag@xdsl-87-78-72-52.netcologne.de] has joined #scheme 07:18:28 elias` [n=c@host86-159-170-69.range86-159.btcentralplus.com] has joined #scheme 07:18:49 -!- thesnowdog_ [i=thesnowd@122.110.52.21] has quit [Read error: 110 (Connection timed out)] 07:19:33 -!- ejs [n=eugen@164-216-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 07:21:14 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 07:22:00 -!- Arelius [n=indy@64.174.9.113] has quit [Read error: 110 (Connection timed out)] 07:23:59 -!- AlcariTheMad [n=Administ@75.25.105.52] has left #scheme 07:31:30 RageOfThou [n=RageOfTh@92.36.172.2] has joined #scheme 07:32:17 -!- thesnowdog__ is now known as thesnowdog 07:42:14 ct2rips [n=ct2rips@blfd-4db1daf7.pool.einsundeins.de] has joined #scheme 07:45:01 ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has joined #scheme 07:49:16 -!- FunkyDrummer [n=RageOfTh@92.36.212.85] has quit [Read error: 110 (Connection timed out)] 08:02:01 -!- ct2rips [n=ct2rips@blfd-4db1daf7.pool.einsundeins.de] has quit ["Noch da, noch da ... Uuuuund weg."] 08:07:26 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 08:07:59 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 08:15:24 justjohnny [n=eNHASA@24.103.197.179] has joined #scheme 08:29:10 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 101 (Network is unreachable)] 08:29:20 barney [n=bernhard@p549A0820.dip0.t-ipconnect.de] has joined #scheme 08:40:18 Arelius [n=indy@64.174.9.113] has joined #scheme 08:44:10 Edico [n=Edico@unaffiliated/edico] has joined #scheme 08:57:49 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 08:58:37 i have been developing this largeish app in scheme, ~ 2K LOC. i'm starting to notice that alot of my errors are type errors ... that can be caught at compile time; is there anyway to make macros catch these fo rme? 08:58:54 otherwise, it's when I hit a dispatch table and it goes "err, I have no idea what to do with that object; sorry" 09:03:36 unit tests 09:03:53 .oO( 2kloc is large? ) 09:04:09 unless you can staticly determine the types involved 09:20:20 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:27:17 foof: How's the debugging of Chibi Scheme going? 09:32:21 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 09:32:51 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 09:36:54 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 09:39:15 -!- justjohnny [n=eNHASA@24.103.197.179] has quit [Connection timed out] 09:42:10 Well, I just cleaned my whole apartment and only found a couple bugs... a spider and a silverfish. 09:42:28 what's chibi scheme? 09:43:56 foof: Does a silverfish fall into the bug category? 09:43:57 lowlycoder: Foof's Scheme implementation. 09:44:34 foof: I hope you implemented precise garbage collection for your house. ;-) 09:45:05 nah, lazy ones work too :p 09:45:30 collect-by-need :p 09:46:02 antoszka: Kingdom: Animalia, Phylum: Arthropoda, Class: Insecta 09:46:32 `Right. 09:48:24 They like tatami and books, which I have a plenty. 09:49:13 pbusser2: It works if I include a scan of the C stack, which means the logic is correct, I'm just forgetting to protect some variables somewhere. 09:51:12 Ragnaroek [i=54a6758b@gateway/web/ajax/mibbit.com/x-d96780ec1f7de234] has joined #scheme 09:52:48 foof: What is tatami? 09:53:14 jewel [n=jewel@dsl-242-134-212.telkomadsl.co.za] has joined #scheme 09:56:11 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Remote closed the connection] 09:57:35 http://en.wikipedia.org/wiki/Tatami 10:03:19 Ah ok. 10:17:36 anyone know of a good scheme impl that targets llvm? 10:18:33 Nope. 10:19:18 I think most Scheme implementors flee in terror at the sight of llvm. 10:20:54 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 10:21:20 foof: Why? 10:22:16 Because it's extremely large and complicated for what it does. 10:22:50 It actually isn't *that* complicated if you go through some of the documentation and stuff. I'm considering targeting it. 10:22:51 -!- amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has quit ["Farewell"] 10:24:33 Quadrescence: What do you think is the added value of LLVM in the context of Scheme? 10:25:12 pbusser2: Well, nothing specifically to scheme, but it's general abilities to optimize and such 10:28:02 -!- thesnowdog [i=thesnowd@122.110.52.21] has quit [Read error: 60 (Operation timed out)] 10:28:20 foof: What's interesting about your Scheme 10:28:21 ? 10:28:46 Quadrescence: It's very small and still quite fast. 10:30:02 Compliant to any of the standards? 10:35:57 who's scheme impl is very small and very fast? 10:39:22 what are immediate symbols? 10:41:53 Quadrescence: R5RS 10:52:28 lowlycoder: Chibi Scheme by foof. 10:54:51 It's only fast in comparison to other small Schemes. 11:10:49 so not something like gambit 11:11:07 there should be a ? somewhere 11:13:48 so? not something like gambit. 11:14:20 hotblack23 [n=jh@p5B054813.dip.t-dialin.net] has joined #scheme 11:17:19 -!- sepult [n=buggarag@xdsl-87-78-72-52.netcologne.de] has quit ["leaving"] 11:32:13 -!- ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 11:48:44 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 11:55:19 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:55:57 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 11:56:35 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:20:52 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 12:21:07 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:22:30 Mr-Cat [n=Mr-Cat@95-24-189-80.broadband.corbina.ru] has joined #scheme 12:31:08 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 12:33:00 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 12:42:30 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 12:42:47 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:43:46 anyone here fmailiar with ypsilon scheme? 12:46:36 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 12:47:05 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 12:49:55 Nshag [i=user@Mix-Orleans-106-1-47.w193-248.abo.wanadoo.fr] has joined #scheme 12:55:12 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 12:56:29 hedgee [n=cky@166.166.121.74] has joined #scheme 13:01:12 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 101 (Network is unreachable)] 13:11:56 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 13:12:55 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 13:18:28 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 13:19:25 -!- cky [n=cky@166.166.116.98] has quit [Read error: 110 (Connection timed out)] 13:40:38 -!- hedgee is now known as cky 13:41:37 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:42:25 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:55:32 thesnowdog [i=thesnowd@74.147.220.203.dial.dynamic.acc01-aubu-gou.comindico.com.au] has joined #scheme 13:59:39 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 14:00:01 reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:06:10 -!- marcoecc [i=me@gateway/gpg-tor/key-0x9C9AAE7F] has quit [Remote closed the connection] 14:06:11 /clear 14:13:11 sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 14:13:16 Mestoco [n=user@bbwirelessgw1-ff98c300-64.dhcp.inet.fi] has joined #scheme 14:28:13 -!- sphex__ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 14:31:08 -!- danking [n=danking@pinball.ccs.neu.edu] has quit [Read error: 60 (Operation timed out)] 14:33:22 danking [n=danking@pinball.ccs.neu.edu] has joined #scheme 14:39:09 MrFahrenheit [n=RageOfTh@92.36.154.64] has joined #scheme 14:39:12 easy4 [n=easy4@c-68-45-192-148.hsd1.pa.comcast.net] has joined #scheme 14:48:22 -!- RageOfThou [n=RageOfTh@92.36.172.2] has quit [Read error: 110 (Connection timed out)] 15:24:51 -!- gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Client Quit] 15:27:58 ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has joined #scheme 15:28:12 -!- reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 15:29:26 -!- hotblack23 [n=jh@p5B054813.dip.t-dialin.net] has quit ["Leaving."] 15:29:45 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 15:30:38 mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 15:34:43 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 15:37:13 choas [n=lars@p5B0DBEF1.dip.t-dialin.net] has joined #scheme 15:37:21 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 15:44:25 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:44:33 -!- soupdragon [n=f@amcant.demon.co.uk] has quit [Read error: 113 (No route to host)] 15:45:02 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 15:45:20 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 15:46:11 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 15:50:10 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 15:56:28 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit ["Leaving"] 15:58:20 -!- barney [n=bernhard@p549A0820.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)] 16:02:22 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 16:02:57 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:07:31 Madars [n=null@unaffiliated/madars] has joined #scheme 16:10:28 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 16:15:15 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit ["Lost terminal"] 16:17:42 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 16:18:47 barney [n=bernhard@p549A0820.dip0.t-ipconnect.de] has joined #scheme 16:21:34 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 16:22:11 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 16:22:27 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:23:10 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 16:26:06 f__ [n=f@amcant.demon.co.uk] has joined #scheme 16:29:38 -!- f__ [n=f@amcant.demon.co.uk] has quit [Client Quit] 16:30:57 nijh2s [n=ngxy@p1135-ipbfp601fukuokachu.fukuoka.ocn.ne.jp] has joined #scheme 16:32:48 luz [n=davids@189.122.121.232] has joined #scheme 16:34:00 -!- soupdragon [n=f@amcant.demon.co.uk] has quit [Read error: 110 (Connection timed out)] 16:39:26 -!- p1dzkl [n=p1dzkl@1505ds1-str.0.fullrate.dk] has quit [Remote closed the connection] 16:40:46 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Read error: 110 (Connection timed out)] 16:42:25 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:43:55 eli, sorry, what was that about examples failing in MzScheme and the JIT? I think I'm missing some context. 16:45:08 Riastradh: this -- Here's what I first thought when I heard `SRFI 45 leak tests': . 16:45:28 Oh, I see. 16:45:39 The last example there would (still) fail in mzscheme if the code is at the toplevel -- not inside a function. 16:45:46 Huh. OK. 16:45:47 And now it doesn't. 16:46:41 does PLT bundle a compiler into the interpreter to enable JIT? 16:47:13 peter_12: PLT is a dynamic system -- the compiler *is* part of it. 16:47:16 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 16:47:33 *gnomon* hands offby1 a cup of tea and half a toasted bagel 16:47:36 peter_12: IOW, at the user level there is no distinction between a compiler and an interpreter. 16:47:37 athos [n=philipp@92.250.250.68] has joined #scheme 16:47:57 eli: right. but the JIT needs a compiler and PLT supplies one. 16:48:18 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 16:48:34 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 54 (Connection reset by peer)] 16:48:44 foof [n=user@dn157-046.naist.jp] has joined #scheme 16:48:49 peter_12, a JIT doesn't "need a compiler". A JIT may be based on another compiler, true, but that's rare. More often, a JIT *is* a compiler. It compiles code paths into machine code with its own code generator. 16:49:01 peter_12: That doesn't make sense. PLT has a bytecode compiler as part of the system. The JIT is just a component that turns that into machine code. 16:50:05 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Nick collision from services.] 16:50:11 -!- offby1` is now known as offby1 16:50:15 eli: so it is straight from PLT byte code to machine code? 16:50:40 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 60 (Operation timed out)] 16:50:45 I don't know what "straight" is doing there (like, what other steps you would expect), but yes. 16:51:06 eli: it could go through C along the way? 16:51:17 Byte code to turing machine to intercal to machine code. 16:51:41 peter_12: In that case it wouldn't be a JIT. 16:51:58 hmm 16:54:32 Lectus [n=Frederic@189.105.71.10] has joined #scheme 16:55:23 Well, it could still be a JIT, eli; it would just be awfully slow. 16:55:39 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 16:56:23 "Just In Time" -> "Eventually, If You're Patient" 16:56:40 just wait a moment jit 16:56:41 peter_12: Yeah, it could be considered a JIT -- one that is slow, and big. In a similar way that C programs that embed GCC could be considered as JIT-ing. 16:57:12 peter_12: But the PLT jitter falls under the more expected definition of the word. 16:57:23 It wouldn't be incredibly slow if you used TCC: http://bellard.org/tcc/ 16:57:31 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 16:58:53 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:02:41 chandler, on that note, have you heard about landley's project to graft a simple front end on top of the Fabrice Bellard's far higher quality code generator from qemu? The project is called qcc. Should be very promising for that kind of application. 17:03:14 Hm! 17:03:16 No, I hadn't. 17:03:20 repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:03:21 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 17:03:37 chandler, see http://lists.impactlinux.com/pipermail/qcc-impactlinux.com/2009-May/000002.html for the announcement, I think. 17:03:40 -rudybot_:#scheme- http://tinyurl.com/m3ya4a 17:03:46 Yes, I just found that. 17:04:17 It's a shame that the namespace conflicts with the QuakeC Compiler, QNX's C compiler and it looks like at least one or two other projects. Hadn't noticed that until I tried to google it. 17:04:27 -!- nijh2s [n=ngxy@p1135-ipbfp601fukuokachu.fukuoka.ocn.ne.jp] has quit ["Riece/4.0.0 Emacs/22.1 (gnu/linux)"] 17:04:54 -!- ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 17:06:12 Gosh, is there a SUSv4 already? 17:08:39 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 17:21:15 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 17:22:13 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 17:22:43 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:31:40 TinyCC compiles the Linux kernel in a matter of seconds. 17:31:53 It doesn't do shared objects AFAIK though. 17:32:20 -!- repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 17:33:41 Riastradh: So it seems -> http://www.opengroup.org/onlinepubs/9699919799/toc.htm 17:38:34 GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has joined #scheme 17:39:10 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 17:41:26 wingo [n=wingo@243.Red-88-17-204.dynamicIP.rima-tde.net] has joined #scheme 17:41:38 good day. 17:52:11 -!- barney [n=bernhard@p549A0820.dip0.t-ipconnect.de] has quit [Remote closed the connection] 17:55:39 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 17:57:10 AlcariTheMad [n=Administ@adsl-75-15-187-86.dsl.bkfd14.sbcglobal.net] has joined #scheme 17:58:04 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 18:00:16 jao [n=jao@249.Red-88-18-102.staticIP.rima-tde.net] has joined #scheme 18:00:33 borism_ [n=boris@195-50-201-17-dsl.krw.estpak.ee] has joined #scheme 18:05:56 Riastradh: http://torvalds-family.blogspot.com/2009/06/happiness-is-warm-scm.html 18:05:59 *mejja* trolls 18:06:55 -!- borism [n=boris@195-50-204-37-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 18:07:43 wingo: hi 18:07:54 howdy mejja 18:08:07 Hiato [n=1@dsl-245-14-154.telkomadsl.co.za] has joined #scheme 18:08:11 pbusser2, TCC doesn't compile the current Linux kernel anymore. Give it a try. 18:21:10 gnomon: It required some patches yes. 18:25:07 -!- Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 18:29:20 -!- Lectus [n=Frederic@189.105.71.10] has quit [Read error: 104 (Connection reset by peer)] 18:32:07 Lemonator [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 18:48:57 -!- Hiato [n=1@dsl-245-14-154.telkomadsl.co.za] has quit ["Leaving."] 18:54:37 moghar [n=user@unaffiliated/moghar] has joined #scheme 18:56:52 antoszka [n=antoszka@cl-142.mbx-01.si.sixxs.net] has joined #scheme 18:58:24 -!- bohanlon [n=bohanlon@TUBERIUM.CLUB.CC.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 18:58:28 bohanlon [n=bohanlon@TUBERIUM.CLUB.CC.CMU.EDU] has joined #scheme 19:00:44 lolcow [n=lolcow@dsl-243-41-58.telkomadsl.co.za] has joined #scheme 19:03:04 gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 19:03:27 -!- gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Client Quit] 19:08:13 -!- leppie [n=lolcow@196.210.200.237] has quit [Read error: 60 (Operation timed out)] 19:10:36 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 19:13:55 -!- lolcow is now known as leppie 19:26:02 flaschenwein [n=olaf_rog@p50808234.dip0.t-ipconnect.de] has joined #scheme 19:26:11 -!- flaschenwein [n=olaf_rog@p50808234.dip0.t-ipconnect.de] has left #scheme 19:26:19 flaschenwein [n=olaf_rog@p50808234.dip0.t-ipconnect.de] has joined #scheme 19:28:36 the dangers of coding outside: i just got shit on by a swallow. 19:29:09 heh 19:29:21 lol 19:29:36 :) 19:30:06 Same thing happened to me a while ago. And worse: I wasn't even coding. 19:31:53 Greg02_ [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 19:32:50 -!- moghar [n=user@unaffiliated/moghar] has quit [Remote closed the connection] 19:33:05 moghar [n=user@unaffiliated/moghar] has joined #scheme 19:34:01 wingo, maybe that was just critical feedback about the code you were writing. 19:35:19 gnomon: i was writing release notes. clearly i should not be writing documentation ;) 19:37:34 Did you drop a comma? Swallows are real sticklers for punctuation. 19:39:04 :) 19:42:39 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 19:43:19 wingo: that's good luck in japan, i've heard 19:43:44 when you consider the probability, i.e. shit vs. the surface area of the earth; it is pretty low 19:44:06 X-Scale2 [i=email@89.180.196.113] has joined #scheme 19:44:34 That's only if you consider birds to be randomly distributed. In my experience, the same things that attract humans (shade, food, water) tend to attract birds. 19:45:06 Are you saying that it is possible to manufacture luck? You may be on to something there, chandler. 19:45:34 That's not quite what I was suggesting, but perhaps my car is just very lucky. 19:46:34 Clever. Just like bees grow from jars of honey, and flies grow from jars of rancid meat, perhaps luck grows from outdoor eateries that attract birds to my croissants. 19:46:42 Running badblocks on a new 1.5TiB drive: 88.07% done, 3:23:00 elapsed. It'll be scary when exabyte drives hit the market. 19:46:52 You'll have to set aside a weekend or something. 19:47:15 Riastradh, you left out "jars of X" in your last stanza, there. 19:47:24 Maybe jars of bird seed? 19:47:52 (also, hullo! Happy Sunday afternoon) 19:48:28 Perhaps the jar of flour from which the croissants are made. 19:49:04 Perhaps ajar of doors that lets birds inside the establishment? Or as may be more appropriate, the subway station? 19:50:29 chandler: good point; or at least the unnaturally tame flying rats. not so sure about sparrows, though; maybe there's a negative covariance 19:51:02 s/sparrows/swallows/ 19:52:21 by the bye, is there anyway to instruct htmlprag not to escape quotes? it screws up my @import rules 19:53:34 I thought htmlprag was a parser? 19:55:55 it's also an shtml->html translator; i need (style (@ (type "text/css")) "@import \"index.css\";") to yield 19:56:18 not: 19:56:26 s/index.css/survey.css/ 19:56:29 klutometis: You can feed symbols to sxml, I think. 19:56:33 Are you sure that's not correct? 19:56:48 sjamaan: it doesn't seem to work in FF 19:57:15 klutometis: as in (& quot), which will yield "? or the symbol |"|? 19:57:59 arcfide: ^^ 19:58:10 arcfide: yes, |"| works; thank you 19:58:24 What a hack 19:58:26 klutometis: Hang on, I had to deal with SXML and literal quoting a little wihle ago and I tihnk there are some various ways to handle it. Reading Oleg's code will give you more information. That's what I did. 19:58:44 sjamaan: indeed 19:58:48 There's some built in means of quoting the fields instead of translating them, but I don't remember what it was. 19:59:00 With pre-post-order you can supply shortcuts to make it skip stuff in the output 19:59:09 But this is htmlprag, and that works differently 19:59:30 sjamaan: yeah; i'm basically writing shtml by hand, and then using apache to call htmlprag to output html 19:59:46 (with pre-post-order you'd prepend some stuff to the universal-conversion-rules, shortcutting the default ones) 19:59:58 arcfide: does htmlprag depend on oleg's sxml stuff? 20:00:11 only intellectually 20:00:20 klutometis: I don't know, but I didn't realize you were doing something weird like that. :-) 20:00:47 I generate my static pages automatically through my own scripts, and then feed the generated HTML pages to Apache, I don't do that on the fly. 20:00:51 klutometis: Try to find out if it has a CDATA handler 20:00:57 -!- X-Scale [i=email@89-180-130-239.net.novis.pt] has quit [Success] 20:00:59 And the dynamic pages I serve through mod_lisp. 20:01:08 arcfide: i do the same on both counts 20:01:24 arcfide: it's beautiful; i basically get to write html with paredit sans compilation step 20:01:28 wingo: Do you use MIT Scheme's mod_lisp library? 20:01:40 arcfide: no, i wasn't aware it had one 20:01:43 i wrote my own 20:02:01 klutometis: You really don't want to generate it before serving it? If it is static, and you care enough about performance to want Apache to do it without a layer, then I think compilation is faster. 20:02:20 wingo: MIT Scheme has a library, and I have a library that's mostly interface compatible with it written for Chez Scheme. 20:02:46 wingo: I'm going to be extending my library to handle submissions, which MIT Scheme's doesn't handle at the moment, as far as I can see. 20:02:58 arcfide: you mean like POST? 20:03:03 wingo: Yes. 20:03:06 mine does POST 20:03:12 wingo: What implementation? 20:03:17 wingo: Is the code fairly portable? 20:03:17 sjamaan: good idea; alternatively, i don't pass it through universal-conversion-rules, but write an &-rule in the translation table myself 20:03:23 arcfide: guile, but it should be fairly portable 20:03:26 Ack! 20:03:28 google for tekuti 20:03:29 *arcfide* backs away. 20:03:31 ack? 20:03:44 *arcfide* carefully approaches with his HAZMAT gear. 20:03:48 heh 20:03:54 #\U+06 20:03:58 *wingo* calls bullshit :) 20:04:10 arcfide: it probably is faster to compile; but it's so convenient to write with JIT shtml->html. for static things, i don't notice much of a slowdown 20:04:13 Most of my stuff is written with MIT's library in mind, so...do you have some documentation you can reference? 20:04:27 arcfide: nope, just code 20:04:29 You can always build a cache if you find it's too slow 20:04:30 although 20:04:34 rotty ported it to r6rs 20:04:41 check file timestamp to see if it needs updating 20:05:13 tekuti is blogging software? 20:05:15 -!- X-Scale2 is now known as X-Scale 20:05:23 sjamaan: nice 20:05:25 it runs wingolog.org 20:05:40 klutometis: That's basically what ssp does too ;) 20:06:46 sjamaan: spiffy server pages? 20:06:59 wingo: I'm dependent on Apache 1.x and mod_lisp.c, is that going to be a problem? 20:07:09 klutometis: Server Side Programming. 20:07:18 arcfide: nope 20:07:23 Also the name of MIT Scheme's web programming package. 20:07:36 it just depends on mod_lisp's socket interface 20:07:45 klutometis: aye, spiffy/scheme server pages 20:07:48 which i assume is the same over apache 1.x or 2.x 20:07:57 Hrm.... 20:08:01 I'm a little hesitant. 20:08:01 arcfide: aha; apparently spiffy laid claim, too 20:08:14 *rotty* is currently abstracting out the webserver interface from his IRClogs code, and will then run both Tekuti and IRClogs into the same HTTPd (all in one OS process running the Scheme implementation) 20:08:19 Acronym overloading FTW! 20:08:21 arcfide: you don't have to use it :) but the code is there if you want to twist it into something you want :) 20:08:22 :) 20:08:35 Right. 20:08:40 rotty: neat! 20:08:47 sjamaan: i was always hesitant to run a scheme server behind apache for performance reasons, but that's essentially what happens with fastcgi anyway; so maybe it's time to set aside that prejudice 20:08:55 :) 20:09:11 klutometis: Apparently a lot of us having been doing it. :-) 20:09:13 ssp doesn't cache the resulting html though 20:09:19 It caches the scheme code 20:09:19 Performance concerns of what? Apache? 20:09:24 HEH! 20:09:53 klutometis: And are you really going to need the highest performance out there? What are you doing? Preparing for Slashdot or something? 20:10:00 chandler: heh; it's anti-occham to multiply entities, e.g. servers 20:10:19 i have gotten slashdotted, and my guile-behind-mod_lisp thing did fine 20:10:23 wingo: Do you mind giving me a technical overview of your code? I'm used to the MIT Scheme stuff, but if your code is clean, I might take it over mine. 20:10:26 arcfide: yeah, it's silly; definitely a case of pre-mature optimization 20:10:45 arcfide: the blog side or the mod_lisp side? 20:10:56 I think running things behind a reverse proxy (or mod_lisp etc) is fairly sane. Let something else handle all possible malformed clients, and put the logic code somewhere where it can assume that it is talking to a sane client. 20:11:31 wingo: the mod_lisp side. Right now, I have everything modularized into nice little libraries, and my parsing is done using easy to maintain parser combinators. I looked at some chicken code for handling some RFC stuff related to this, and the code wasn't direct enough for my tastes. 20:11:50 And mod_lisp is very easy to deal with. 20:12:14 arcfide: how does it compare with fastcgi in terms of convenience? 20:12:59 arcfide: There's a mod_chicken? 20:13:01 wingo: I'm almost done with a full implementation of RFC822 the way I like, and some other minor libraries, at which point I was going to tackle extending the MIT Scheme model for mod_lisp to handle POST documents, but if you have a way of handling things that's nicer, then I'm all for it. 20:13:15 wingo pasted "minimal mod_lisp wrapper" at http://paste.lisp.org/display/81853 20:13:32 sjamaan: No, but there are libraries for handling POST data from HTTP requests, and it didn't suit me. 20:13:32 it relies on some helper libs, but rotty has r6rs versions of it all 20:14:01 klutometis: What do you mean by convenience? 20:14:07 *rotty* has also done rfc822 building on Riastradh's http code inside schemantic-web 20:14:27 wingo: nice; wish i would have had that when i was debating mod_lisp/fastcgi 20:14:33 i think parscheme is pretty neat, btw :-) 20:14:34 rotty: I'm building rfc822 on top of Riastradh parsing combinators, but it's going to be used in conjunction with some of the semantic web stuff. 20:14:50 rotty: Does that mean you've done this work for me? If so, cool, I'd love to take it from you. :-P 20:15:11 *arcfide* wonders where everyone was when he last asked for libraries. 20:15:17 arcfide: I'll prepare a link, hold on :-) 20:15:32 wingo: What is this lisp paste I am reading? 20:15:44 arcfide: it is (tekuti mod-lisp) 20:15:50 wingo: Unfortunately (or fortunately) I am not using an R6RS Scheme yet. 20:16:02 arcfide: i know the feeling :) 20:16:10 wingo: Sorry, I don't speak Guile, what does it do? 20:16:47 runs an event loop, listening for new connections, and runs procedures to satisfy those connections 20:16:48 rotty: Is it a full, complete RFC822 implementation that parses things both using the simple message parsing defined in the appendix as well as structurized fields with appropriate data bastractions and the like? 20:17:12 arcfide: fastcgi is nice, because mod_fcgi spawns servers; all i have to do is provide a quaternary loopback-function with std{in,err,out} and environment 20:17:19 it also has some hooks to maintain an up-to-date view on the backing store, which is a git repo 20:17:25 no, it's very basic 20:17:47 klutometis: As far as implementing a library, mod_lisp is VERY simple to implement, and very easy to handle. As for using it, that depends on the library you use. 20:18:05 rotty: Oh, well, then, in that case, I'm happy to inform you that I'll have a full implementation in a little bit, probably within the week. ;-) 20:18:15 all of that is r5rs scheme, except the module definition header... 20:18:21 just renamed the stuff from s48-http-client.scm, essentially 20:18:24 arcfide: doesn't rfc 2822 supercede 822, btw? 20:18:40 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 20:19:00 klutometis: Does it? Everyone seems to point me to 822, so that's what I've been using, if there is a newer one, I'll take it. 20:19:11 wingo: Hm, let me give some comparison. 20:19:36 arcfide: http://www.faqs.org/rfcs/rfc2822.html "This standard supersedes the one specified in Request For 20:19:42 Comments (RFC) 822" 20:19:46 arcfide: nice. 20:20:10 arcfide, rfc2822 was published in 2001, 19 years after 822. 20:20:10 klutometis: How different is it? 20:20:17 Very, very similar. 20:20:26 gnomon: Okay, well, then maybe I'll just switch over to it then. 20:21:06 wingo: I assume that the code you pasted is the internals, and not the application interface? 20:21:41 arcfide: tough to say, i only use it in that one application 20:21:53 wingo: Okay, let me paste something I'm used to. 20:22:01 Or actually... 20:22:14 it works by that handle-request function 20:22:25 which receives an alist of headers and the post data 20:22:28 and some other metadata 20:22:42 *wingo* paging in this knowledge from disk ;) 20:23:12 ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has joined #scheme 20:23:49 20:24:37 wingo: See Chapter 3 for the "Web Application" side of Descot, which is build on the MIT Scheme model of mod_lisp, though the underlying implementation is written by me for Chez Scheme. 20:24:43 I'm trying to compare the programming interface to the above. 20:25:11 ah descot sounds quite nice btw 20:25:31 rotty: Also planned is a good implementation of base64 and some other things, to get a clean implementation of POST handling for mod_lisp, which should give me a nice mod_lisp library to build Descot on top of. 20:25:41 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 20:25:43 And, will help me fill out the initial "example" server and indexer. 20:25:46 mod_lisp ends up being your event loop, no? 20:25:54 wingo: The event loop is hidden. 20:26:10 wingo: I don't ever deal with the event loop. 20:26:13 but you have to `accept' on the socket, no? 20:26:20 wingo: No, that's handled in the mod_lisp library. 20:26:25 ah ok. 20:26:42 wingo: I just define the server and the necessary information, pages, handlers, and mime-types that I am going to use, and the mod_lisp library handles the rest. 20:27:12 arcfide: FWIW: http://dev.dawgmatix.com/cgi-bin/darcsweb.cgi?r=spenet;a=headblob;f=/libraries/rfc822.sls 20:27:14 -rudybot_:#scheme- http://tinyurl.com/nhslm3 20:27:29 The library submission stuff is terribly out of date, and that's what I'm fixing. I'm replacing it with a simpler parser based submission that will give meaningful error messages (for some definition of meaningful) on library submissions. 20:27:30 wingo pasted "(tekuti web)" at http://paste.lisp.org/display/81854 20:27:46 arcfide: perhaps that makes things clearer? ^ 20:28:05 it's the mod-lisp event loop that calls handle-request 20:28:42 the comments certainly don't elucidate anything :/ 20:29:00 wingo: Okay...hehe, so, if I were to write an application using your library, what would I need to do? 20:29:30 rotty: What features does your library have? 20:29:49 arcfide: implement a handle-request function and return sxml from it 20:30:15 And what does the HANDLE-REQUEST procedure look like? 20:31:13 handle-request ALIST INDEX -> SXML 20:31:24 where INDEX is a functional data store 20:31:33 wingo: Functional data store? 20:32:10 it's never updated imperatively 20:32:21 rotty: I wish i would have known you were doing something like this. :-) I might have had an easier time writing mine. Mine is almost finished with the structured field stuff, and is heavily documented (as much as I feel sane doing). 20:32:36 like a monadic state value 20:32:41 Without getting shat upon? 20:32:45 :P 20:33:21 arcfide: it's somewhat modelled after sunet: http://www.scsh.net/resources/sunet.html 20:33:28 sjamaan: I am encased in a box that some people call a "home", birds do not enter here. :-) Although, I might get it from this channel when they realize that it's documented using noweb. :-) 20:33:48 :) 20:34:11 wingo: So, what exactly will HANDLE-REQUEST receive as its arguments? 20:34:17 -!- Mr-Cat [n=Mr-Cat@95-24-189-80.broadband.corbina.ru] has quit [Remote closed the connection] 20:34:24 And what can I return? 20:34:27 Just SXML? 20:34:31 -!- Ragnaroek [i=54a6758b@gateway/web/ajax/mibbit.com/x-d96780ec1f7de234] has quit ["http://www.mibbit.com ajax IRC Client"] 20:34:34 it currently uses libsoup for implementing http, but the API should be such that you can switch in a native HTTP implementation 20:34:48 rotty: What are we talking about again? :-) RFC822? 20:35:18 arcfide: an alist, and something that the user-supplied maybe-reindex function returns 20:35:31 Aaah. 20:35:38 Okay, and the alist is the header data, right? 20:36:09 So, I would just take what I wanted, and generate the page as SXML, and then return it? 20:36:49 yes exactly 20:37:22 wingo: And then your library would display the transcoded (?) SXML in XHTML form to the waiting Apache server. 20:37:29 arcfide: oh, sorry, I was talking about my HTTPd thingy 20:37:39 rotty: You have an httpd thingy too!? 20:37:40 LOL 20:37:54 Oh, I can't wait till you folks all start submitting things to Descot. 20:38:04 yeah, the one running http://rottyforge.yi.org/irclogs/ 20:38:13 *arcfide* is motivated to finish up the useable submission interface on Descot *really fast*. 20:38:30 arcfide: yes that is correct 20:38:34 arcfide: my SXML "tasks" might be interesting to you :-) 20:38:39 actually i think it is a little more complicated than that 20:38:52 wingo: Okay, so what if I wanted to render, say, a PDF on the fly, and return that with the mime-type of 'application/pdf to the server, how would I do that? 20:39:12 you return an alist which should have an 'output value -- that proc is called with the socket as the argument 20:39:36 as you can see in write-body 20:39:47 to set a mime type, you would have to influence write-headers 20:40:19 anyway, silly alist datastructures. 20:40:32 rotty pasted "Counter task usings SXML "tasks"" at http://paste.lisp.org/display/81856 20:41:26 is descot like cpan but for scheme? 20:41:28 wingo: Hrm, it appears that there's a lot less infrastructure to your library. 20:41:35 peter_12: Ack! You speak blasphemy! 20:41:36 arcfide: indeed 20:41:47 well is it? 20:42:03 as it is part of an application, and not a proper library. 20:42:28 wingo: I'm inclined to stick with mine because I think it abstracts what's going on a bit better, but I will probably take a closer look at your library as time permits. I encourage input on my mod_lisp library if you think that one of our implementations is "superior," so that we aren't all writing our own thing. 20:43:15 peter_12: No, it's a metalanguage, set of protocols and interfaces, as well as guides to facilitate the intercommunication of library repositories and library management tools within the Scheme community. 20:43:29 *arcfide* smiles innocently. 20:43:48 Basically, Descot is how a bunch of server and tools that want to handle and talk about libraries communicate. It is actually not tied to Scheme. 20:44:00 arcfide: actually as the more i hack, the more i'm ok with multiple implementations of things :) 20:44:04 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 20:44:13 that sounds complicated! 20:44:17 so i do look forward to seeing your lib. 20:44:18 So, the intent is to take all the existing work that people have done in library management in Scheme and enable us all to share informaiton and index things simply. 20:44:53 peter_12: It sounds fancy, but it's really just a way that all the servers can talk to each other, sort of like Bit Torrent. 20:46:01 So, for example, I can host a server that mirrors and indexes a bunch of other servers, and then provide a search service that indexes Chicken Eggs, PLaneT libraries, and all sorts of other libraries that are out in the wild, and you, the user, can use Snow or any other Library management tool that you or someone else wrote to grab and install those libraries in some way on your machine. 20:46:41 big stuff 20:47:07 Hopefully it will make our lives better. 20:47:08 :-) 20:47:24 But at the moment I'm finishing up the part that lets people submit libraries to servers and get useful information back. 20:47:24 that is always the hope 20:47:43 wingo: Well, the library is already out there. 20:48:09 wingo: Once submissions are supported and the rest of the libraries are cleaned up a bit, I'll be releasing another version of the Chez Libs, and you can download them as a tarball. Right now they are available via CVS. 20:48:41 CVS? for an anarchistic library distribution? :) 20:48:47 wingo: No no. 20:49:22 wingo: It's the way I handle my code, and that's how I distribute my latest and greatest. I make releases and host them on my Gopher server. Descot is independent of any particular retrieval mechanism. 20:49:42 wingo: I was speaking in reference to your looking forward to my [mod_lisp] lib. 20:50:05 ah, cool 20:50:33 wingo: I merely wanted to point out that it is already available for public scrutiny. It tends to follow the same model as MIT Scheme's libraries, which are also available. I have written a minimal blog framework around it, actually. :-) u 20:50:55 I stopped developing that a few years ago, but I'm going to bring it back up to enable a blog on my Descot page and my personal page. 20:51:13 And finally, I'll have a blog framework the way I want. :-P 20:51:44 But right now, it doesn't look nearly as featureful as your tekuti. 20:52:48 Actually, what features does Tekuti have? 20:53:27 not very much, just posting and commenting, and reverting any change; and tagging, atom feeds, and some miminal archival stuff 20:53:48 wingo: Okay, that's more than I have. I have archives, posting, and . . . that's it. :-) 20:53:56 http://wingolog.org/archives/2008/02/29/im-telling-you is more of an overview 20:54:05 hehe 20:54:18 arcfide: as long as it's not wordpress, the world is a better place :-) 20:54:59 -!- moghar [n=user@unaffiliated/moghar] has quit [Read error: 113 (No route to host)] 20:55:23 My plans are to add Posting by email, RSS Feeds, comments, tagging, and maybe that blog postback or whatever thing. 20:56:07 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 20:56:35 yeah i looked at pingback and it's quite complicated 20:56:49 wingo: It's last on the list. 20:57:24 arcfide: I'd consider RSS a must-have, much more important than posting by email 20:57:27 However, I'll be modularizing every piece, so hopefully each of those pieces will form a separate library that people can use on their own. If I get the pingback thing going, then, well, others could use it as well. 20:57:30 (or atom, preferably) 20:57:36 sjamaan: I want posting by email for my own sake. :-) 20:57:45 sjamaan: Why Atom? 20:57:49 ah, I thought comment posting 20:57:55 Atom is properly specified 20:57:58 RSS is not 20:58:14 sjamaan: No, hehe, I don't want any web interface to posting, actually, and I just want to either upload the posts directly, or post via email. 20:58:22 sjamaan: I see, good enough for me. 20:58:29 *arcfide* reads about tekuti. 20:59:13 moghar [n=user@157.185.jawnet.pl] has joined #scheme 20:59:19 (btw abut that "task" thingy: the point is that the output will get server as chunked encoding to the client) 20:59:31 /server/served/ 20:59:50 rotty: Give me some moments while I figure out tekuti, then I want to ask you questions about Tasks. 21:00:26 rotty: ah, i see 21:01:26 wingo: So, do you think you could isolate out the essential parts of your tekuti and make it so that it could be integrated into code bases and embedded in other web applications, rely on an arbitrary format for data stores, not have a dependency on git, and be easy to recode to using a different mod_lisp version? 21:02:47 rotty: okay, sorry, so much chatter today. :-) What exactly are these SXML Tasks things? 21:02:57 arcfide: i could, but that's low on my priority list :) 21:03:30 wingo: Okay, well, I guess we can see the results with which we end in our two parallel development paths. 21:03:55 arcfide: yeah sure. happy hacking :) 21:04:20 wingo: Let me know if you isolate out any of your code into portable libraries that I might find useful. What license do you use? 21:04:43 arcfide: normally GPLv3, sometimes LGPLv3 21:04:48 Oh... 21:04:49 Hehehe. 21:04:51 :-P 21:04:54 :P 21:05:05 *arcfide* whistles nonchalantly. 21:06:59 That's why the wheel keeps getting reinvented: because different wheels come with different licenses ;) 21:07:05 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 21:07:45 sjamaan: yep, sounds like it. :-) 21:08:19 descot needs to be proprietary? 21:08:33 wingo: No. Hehe, why ask that? 21:09:07 oh I don't know :) 21:09:53 I generally use ISC licenses to suit my own needs, and to enable commercial development, but I don't do that on everything. 21:11:10 i'm somewhat hypocritical. most of the scheme code that i use i write, so if i need it in a commercial context, i just provide it under whatever other license i need. 21:11:26 haha 21:11:38 wingo: Nothing wrong with that! 21:17:41 -!- choas [n=lars@p5B0DBEF1.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 21:21:13 -!- copumpkin [n=pumpkin@Aeropuerto.Kiewit.Dartmouth.EDU] has quit [Read error: 60 (Operation timed out)] 21:25:34 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 21:26:56 Nothing prevents the use of GPL'd programs in commercial products except the reticence of the products' creators to contribute improvements and derivatives of the GPL'd software to the public whence it came. These same creators of commercial products are often not reticent, however, to contribute large sums of money instead, to particular vendors. 21:29:13 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 21:29:44 -!- ikaros [n=ikaros@f051147170.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 21:29:45 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Read error: 60 (Operation timed out)] 21:30:04 p1dzkl [n=p1dzkl@1505ds1-str.0.fullrate.dk] has joined #scheme 21:30:56 -!- jewel [n=jewel@dsl-242-134-212.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 21:31:08 is it common for a scheme to provide a way to make top-level definitions from within an expression context? 21:31:35 What does that mean? 21:32:25 (if (provided? 'thing) (define (frob-with-thing) ...)) 21:32:42 provide a toplevel def of frob-with-thing and use SET! 21:32:43 arcfide: it's a way to embed procedures into SXML markup that may need a larger chunk of time to run, and can produce output incrementally. The output will be transparently served with 'chunked' encoding. Those procedures get passed a yield procedure as an argument 21:32:57 you can do namespacing using closures 21:33:05 What problem are you trying to solve, wingo? 21:33:07 (is closures the right word..) 21:33:47 ... which they use after they have produced a chunk output, or have done some part of the overall computation 21:33:52 Riastradh: usually, it's when you ship code that depends on a runtime feature that may reasonably be present or absent at the target site 21:34:06 if it's present, you'd like to expose some more API to the programmer 21:34:13 if not, well, that's cool. 21:34:29 like if you make code to run on two different versions of a language runtime. 21:34:32 A dynamic API? That sounds scary 21:34:44 So why not expose the API and a flag indicating whether or not it works, and if it doesn't then signal an error when someone tries to use it? 21:34:59 rotty: Um, wait, so...why is it important? Are you saying that it has a way of serving data that isn't computed yet? 21:35:27 arcfide: I use it for search, which might take a while 21:35:35 rotty: Or, do you mean, it's a way of producing the output in stages, rather than waiting for the entire computation to finish before producing the output? 21:35:38 Riastradh: that would be an alternate way of doing things. however i seem to recall that a number of schemes provide toplevel-define! facilities 21:35:46 i.e. larceny's interpretation of set! 21:35:47 So, half a page could be served, while the other half is being computed? 21:35:55 gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 21:35:56 wingo: Chicken does that too 21:36:10 But I don't think providing a dynamically determined API is a good idea 21:36:17 arcfide: yep. and allow other computations have a go between the stages (so multiple search can run concurrently in a single OS thread) 21:36:18 sjamaan: you're probably right, there. 21:36:23 It's better to do what Riastradh suggested 21:37:42 arcfide: part of a page is computed, then output. now another part of another page may be computed and output. switch back to first page computation, etc. 21:38:02 I see. 21:38:10 -!- mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 21:38:31 wingo, no, most Scheme systems don't, particularly those that have sensible module systems. 21:38:38 I don't have an immediate need for it, but I can definitely see its use, and I'll probably be interested in working with the idea a little later. 21:39:37 Riastradh: for varying definitions of sensible ;) 21:40:35 too often peoples' definition of sensible is "second-class"... 21:40:46 `Second-class'? 21:41:00 as in, not first-class 21:44:08 If by `second-class' you mean that modules are descriptions of the components of a program, rather than objects that the program is meant to reflexively operate upon, then that does characterize sensible module systems. 21:44:24 Rather, that is a characteristic of sensible module systems. 21:44:37 would you guys mind breaking this before i send it to C.L.S.? http://www.scheme-survey.org/ 21:44:48 Riastradh: also, did i include your least-favorite implementation this time? 21:45:12 hehe 21:46:07 Riastradh: then we may disagree :) 21:46:49 attila_lendvai [n=ati@adsl-89-132-4-35.monradsl.monornet.hu] has joined #scheme 21:46:51 i loathe no scheme. 21:47:14 wingo: other: none. rationale: i loathe no scheme 21:47:23 mind submitting? i've used up my ip ;) 21:47:40 -!- pfo [n=pfo@chello084114049188.14.vie.surfer.at] has quit [Read error: 60 (Operation timed out)] 21:48:43 hahahaha 21:48:46 that's funny :) 21:48:58 http://www.scheme-survey.org/results.scm 21:49:04 gnomon__ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 21:49:29 nice; my favorite parts are the word-scheme associations; they're weighted based on frequency of occurrence and association 21:49:45 i hope there are some bizarre emergent phenomena 21:49:56 Aaaah! You have pictures for the results. Can't you also give us text versions? I'm using Lynx here. 21:50:08 At all I get is an internal server error. 21:50:22 I forgot. What did I say was my least favourite Scheme? 21:51:07 probably guile ;) 21:51:23 Riastradh: try again? you didn't; it would have compromised you anonymity 21:51:49 arcfide: good point; let me fire up the text drivers for gnuplot and graphviz 21:52:03 but my "other" point is out of the pretty picture 21:52:07 also, some input is breaking it; which is good 21:52:21 i'm not sure what input that is, though 21:53:47 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit ["Leaving."] 21:55:22 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 21:55:45 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 21:56:41 hmm; other is so popular, i may have to differentiate the space a little 21:58:18 heh @ gambit graph 22:00:14 klutometis: You have so many Scheme's there that you go into the world of one-time-homework schemes too (at least one that I know) that were never intended to be "real". 22:00:37 klutometis: In addition, having some many options means that a single choice is meaningless. 22:00:52 attila_lendvai_ [n=ati@adsl-89-134-0-9.monradsl.monornet.hu] has joined #scheme 22:00:59 (But that's kind of obvious when you have more schemes than potential voters.) 22:01:10 *arcfide* chuckles. 22:01:14 eli: indeed; i limited the space previously to well-known schemes; the complaint then was that i hadn't serviced their favorite pet-peeve 22:01:20 Why is that a problem? Lots of these schemes people either don't know or don't actively loathe 22:02:03 dont give choice leave "other" renamed to "name of scheme" 22:02:22 What's better then -- an active Scheme that is actively loathed or an inactive one that is inactively loathed. 22:02:47 eli: even with almost N=75, there are still more other votes than named schemes 22:02:57 than perhaps pre-generate names already used.... 22:02:57 Perhaps the real measure should be loathing factor divided by active-ness. 22:03:10 just trying to make PLT look better 22:03:11 sladegen: that's interesting 22:03:29 soupdragon: Huh? Who said anything about PLT? 22:03:37 *soupdragon* 22:03:49 *sjamaan* guesses what soupdragon picked 22:03:51 (Easy to answer, look at the last few sentences in the log.) 22:04:23 *soupdragon* picked guile though 22:04:27 heh, k 22:04:32 klutometis: The number of "other" entries -- given the number of implementations and the number of people, is actually a good indication of how the scheme "community" looks like... 22:05:02 what does that indicate? 22:05:13 good evening btw 22:05:26 klutometis: i'm so brilliant, clicking one of the "tags" pre-fills "name of the scheme" box. 22:06:00 eli: indeed; that may be the one interesting result 22:06:10 sladegen: there you go; i should have known better than to populate the list statically 22:06:39 klutometis: it's Web2k+ stupid ;) 22:07:03 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 22:07:32 sladegen: heh; this is Web1.995k 22:11:23 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 22:12:26 -!- easy4 [n=easy4@c-68-45-192-148.hsd1.pa.comcast.net] has quit [Remote closed the connection] 22:16:33 *arcfide* laughs at the Gambit entry. 22:16:54 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 22:17:35 -!- attila_lendvai [n=ati@adsl-89-132-4-35.monradsl.monornet.hu] has quit [Read error: 110 (Connection timed out)] 22:19:02 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 22:21:08 arcfide: i see you fired up a graphical browser; i meant to have some ascii alts, didn't get around to it 22:23:04 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Read error: 60 (Operation timed out)] 22:24:46 -!- gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Connection timed out] 22:24:48 finally figured out that submitting a blank form broke it; good to know; should go to results now 22:25:37 need some more data to get interesting word associatins; hopefully C.L.S. will comply 22:25:53 -!- joast [n=rick@76.178.184.231] has quit [Read error: 110 (Connection timed out)] 22:27:17 -!- soupdragon [n=f@amcant.demon.co.uk] has quit ["Leaving"] 22:35:54 none of the entries that filled out "other" without also checking the radio button were counted 22:36:04 rectified now 22:36:51 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 22:37:13 -!- moghar [n=user@unaffiliated/moghar] has left #scheme 22:37:31 -!- gnomon__ is now known as gnomon 22:37:43 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 22:40:16 akiross [n=akiross@host-62-10-6-86.cust-adsl.tiscali.it] has joined #scheme 22:41:11 hi 22:41:43 akiross: salutation 22:42:02 well, I'm quite new to lisp and scheme world. I'm reading Structure and Interpretation of computer programs, so I'm learning scheme 22:42:09 hi klutometis 22:42:40 akiross: congratulations on choosing SICP, it will change your life 22:42:57 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 22:43:11 oh, thanks 22:43:28 hoping so :D 22:43:31 -!- wingo [n=wingo@243.Red-88-17-204.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 22:44:04 anyway, I'm using s48 while the book uses mit-scheme... 22:44:37 ... and I feel rather uncomfortable with the fact that (define) doesn't return a value. Is there a way of changing this? 22:44:56 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 22:45:26 akiross: DEFINE is used for its side effect; such functions don't normally return a value 22:45:35 what do you want it to return, exactly? 22:46:09 akiross: you are confusing lambda with define... perhaps. 22:46:11 well, actually I love the idea that "anything has a value". I'd return the name of the procedure/variable... But well, just a my thought. 22:46:34 no well, lambdas are un-named, right? Defines aren't. 22:46:50 DEFINE is not a function; nor are DEFINE forms even expressions, so `returning a value' is nonsensical here. 22:46:57 define is not a function... i.e. scheme is a "mess"-) 22:47:01 ah ok. This is much clearer. 22:47:19 akiross: whoops; i misspoke 22:47:28 np :) 22:47:58 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [Client Quit] 22:48:13 well thanks, I'm returning to learn! :D this really makes me happy. 22:48:58 (In addition to what Riastradh said "... for its side effect" only makes sense in a limited R5RS top-level kind of way.) 22:49:35 Definitions are part of the structure of programs, just as expressions are. 22:50:09 oh, ok. But I still feel this to be inconsistent :S 22:50:45 just a personal feeling anyway, maybe it'll pass away with practice. 22:51:42 akiross: what languages do you have experience with that might have fostered this expectation? 22:51:50 akiross: Do you know what should the value of `2+3' should be? 22:52:07 (Not in Scheme.) 22:53:21 klutometis, well I'm not a languages expert... I'm still learning so I guess most of my feelings are from my fantasy :D I'm experienced only with C++ 22:53:24 would anyone that filled out , by the way, without selecting the "other" radio button; mind resubmitting? 22:53:28 bug fixed 22:53:49 akiross: so you expect things like x = 2 to "return" 2 22:54:07 akiross: Do you know what should the value of `2+3' should be? 22:54:09 eli, well, I see different interpretation for your question. 22:54:25 the value of 2+3 is 5. But 2+3 is a different thing itself. 22:54:31 (klutometis: `x=2' is a broken abuse of `='...) 22:54:47 eli: indeed; i'm just trying to gauge where this expectation comes from 22:54:59 akiross: OK, and what about the value of `assuming x=2, take x+3'? 22:55:01 klutometis, "x=2" well in C++ it has value equal to 2 22:55:22 akiross: Ignore the C++ idea of `x=2' for a moment. 22:55:39 ok. Ignored. 22:55:57 akiross: So what is the value of `assuming x=2, x+3'? 22:56:03 i guess 5? 22:56:15 OK, now how about `assuming x=2'? 22:57:24 well, this become more complex :) what is a "value"? that is an expression. If an expression itself is a valid value in an hypothetical language, than it's value is "assuming x=2" with no side effects. 22:57:49 if you mean, a "number" by "value", then i guess it's any number, or no-one. 22:57:55 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Remote closed the connection] 22:58:06 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 22:58:09 akiross: I'm talking about practical uses in conversations. 22:58:18 Riastradh: would you mind resubmitting the survey? i suspect you encountered the aforementioned bug 22:58:26 oh, well i don't even give a value to that. 22:59:17 Ignoring the philosophical options, there is no value to that -- it's just an assumption that is made; and `define' in Scheme is very similar to exactly that kind of an assumption. 22:59:57 ok, I see your point 23:01:10 but well, I'm rather interested in philosophical options :D as I said, that "thing" can have a value based on what value we want to give it 23:01:53 The philosophical options can be iteresting, but at the scheme-newbie stage they won't help you much. 23:02:31 sure. But I'm studying scheme with some purposes in mind and these kind of aspects are important to me 23:03:07 One of them views `define' as an expression with a side-effect; a concept that can be very confusing because `define' is usually not used for its side-effect. A healthier view is of `define' as a binding construct -- something that creates a *new* binding. 23:03:18 ...and often a new scope. 23:05:06 please, can you clarify what is this side-effect? maybe i run into it while reading the book, but I'm not sure if i got it. 23:06:15 side-effect is when you get drunk and fall off a cliff. 23:06:25 ahaha no, ok :D 23:06:50 it's clear what a side-effect is, but i'm talking about the side-effect of define 23:07:26 ... as apart of creating the binding, I don't know other uses nor side effects (yes, i'm really a n00b :D) 23:08:18 it changes environment, if environment was a first class object one could philosphically ask define to return new environment. 23:08:32 ah ok, thanks! 23:09:21 akiross: "Side effect" is the usual name for something that "happens". 23:09:44 akiross: For example, changing the value of a binding, or printing something, or throwing an error. 23:09:47 it's unexplicated untypeness of time. 23:09:48 ok ok :) in C++ there are many side effects... I'm used to that concept. 23:10:27 akiross: Yes, in C++ you do almost everything with side-effects, which is a pretty sad state. 23:11:00 incubot: what is side-effect? 23:11:03 note that my begin one, which was side-effect free, was not optimized 23:11:57 eli, well, a good C++ programmer should try to minimize this! That's the challenge... But of course, C++ is like "side-effect based" from some perspective, so it's like impossible :D 23:12:03 DEFINE forms are not about side effects; they're about the lexical structure of the program. 23:12:23 In fact, they take `effect' prior to the evaluation of their right-hand side expressions. 23:12:25 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Read error: 110 (Connection timed out)] 23:12:25 akiross: btw scsh has sicpy mods if you do ",open sicp" 23:13:03 wow! 23:13:46 it's mostly useless but newest scheme48 removed them. 23:15:24 incubot: don't do it! 23:20:44 Lectus [n=Frederic@189.105.71.10] has joined #scheme 23:22:35 That structure is designed for the first edition of SICP, not the second edition. 23:28:50 gnomon_ [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 23:32:09 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 23:45:16 -!- Nshag [i=user@Mix-Orleans-106-1-47.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 23:50:01 well, have to go. Thanks everyone :) have a nice day/evening/whateveristhere 23:52:48 -!- attila_lendvai_ is now known as attila_lendvai 23:53:57 elias` [n=c@host86-159-170-69.range86-159.btcentralplus.com] has joined #scheme 23:59:18 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)]