00:00:45 peter_12 [n=peter_12@189.200.14.119] has joined #scheme 00:01:16 happy new year guys! 00:01:52 (let ((lambda (rule world))) 00:07:52 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit ["Lost terminal"] 00:08:06 alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 00:10:45 -!- peter_12 [n=peter_12@189.200.14.119] has quit [] 00:11:02 -!- davazp` [n=user@95.Red-83-55-182.dynamicIP.rima-tde.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:14:15 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 00:20:34 -!- copumpkin [n=copumpki@94.162.220.116] has quit [Read error: 110 (Connection timed out)] 00:20:35 -!- copumpkin_ is now known as copumpkin 00:23:49 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 00:38:50 happy new year 00:40:59 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Remote closed the connection] 00:45:11 -!- hotblack23 [n=jh@p5B05799A.dip.t-dialin.net] has quit ["Leaving."] 00:47:26 MononcQc [n=Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 00:48:24 wubbster [n=wubb@75.108.251.102] has joined #scheme 00:52:32 -!- wubbster [n=wubb@75.108.251.102] has left #scheme 00:53:38 proq` [n=user@71-20-201-84.war.clearwire-wmx.net] has joined #scheme 00:53:54 ejs [n=eugen@109-167-3-27.dynamic.peoplenet.ua] has joined #scheme 00:55:27 -!- proq [n=user@unaffiliated/proqesi] has quit [Read error: 60 (Operation timed out)] 00:55:46 *araujo* would like to get some nice scheme project for this new year to come 01:11:54 (cons 'happy (cons 'new (cons 'year! '()))) 01:14:02 -!- MononcQc [n=Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit ["Leaving"] 01:14:02 -!- morphir [n=morphir@84-52-234.12.3p.ntebredband.no] has quit [Read error: 54 (Connection reset by peer)] 01:14:05 morphir [n=morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 01:14:27 devslashnull [n=nope@dyn-77.greentreefrog.net.au] has joined #scheme 01:16:37 arcfide [n=arcfide@fl-76-2-117-102.dhcp.embarqhsd.net] has joined #scheme 01:16:53 Finally! I have submitted what I hope is my final project report for this previous semester. :-/ 01:17:14 On the plus side, the report doubles as a wonderful manual for using my sockets library. :-) 01:20:47 -!- Riastradh [n=riastrad@tissot.csail.mit.edu] has quit ["leaving"] 01:28:28 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 01:28:33 -!- sarimurat [n=salim@139.179.197.85] has quit [Read error: 110 (Connection timed out)] 01:31:56 -!- jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 01:32:03 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 01:34:39 -!- morphir [n=morphir@84-52-234.12.3p.ntebredband.no] has quit ["leaving"] 01:34:48 jonrafkind, elly, arcfide: Right, this tutorial would be complementary to a PL course. I'd much rather work the course in Haskell but that isn't for me to decide. 01:41:12 tommd: Um, so what exactly are you trying to do? 01:41:39 If you are teaching a PL course, then just teach the language from something like TSPL or The Little Schemer. 01:44:34 -!- x2cast2 [n=alvaro@181.23.222.87.dynamic.jazztel.es] has quit ["Leaving."] 01:53:34 QinGW [n=wangqing@211.151.251.254] has joined #scheme 01:59:46 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 02:00:00 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 02:01:13 -!- masm [n=masm@bl7-195-65.dsl.telepac.pt] has quit ["Leaving."] 02:08:56 -!- QinGW2 [n=wangqing@211.151.251.254] has quit [Connection timed out] 02:22:22 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 02:37:14 -!- tommd [n=Thomas_D@65-102-11-148.ptld.qwest.net] has quit [Read error: 110 (Connection timed out)] 02:38:04 MichaelRaskin: it sounds like one needs to distinguish between platonic realism and platonic idealism, then; the one expresses the perfection of the forms, while the other posits their independent existence 02:40:05 -!- aintme [n=user@89.37.221.87.dynamic.jazztel.es] has quit ["/* */"] 02:40:59 Fare [n=Fare@c-67-180-202-79.hsd1.ca.comcast.net] has joined #scheme 03:08:55 -!- Fare [n=Fare@c-67-180-202-79.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 03:15:26 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Read error: 54 (Connection reset by peer)] 03:16:07 alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 03:16:12 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Client Quit] 03:17:14 alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 03:23:23 -!- ejs [n=eugen@109-167-3-27.dynamic.peoplenet.ua] has quit ["This computer has gone to sleep"] 03:23:54 -!- arcfide [n=arcfide@fl-76-2-117-102.dhcp.embarqhsd.net] has quit [Read error: 60 (Operation timed out)] 03:29:04 -!- blackened`_ [n=blackene@ip-89-102-22-70.karneval.cz] has quit [] 03:29:32 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 03:31:52 Happy Nuevo Annos, #scheme 03:35:12 xwl [n=user@125.34.174.19] has joined #scheme 03:35:40 jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 03:46:01 -!- QinGW [n=wangqing@211.151.251.254] has quit [Connection timed out] 03:48:15 -!- proq` [n=user@71-20-201-84.war.clearwire-wmx.net] has quit [Read error: 104 (Connection reset by peer)] 03:49:11 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:50:20 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 03:51:30 johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has joined #scheme 04:12:09 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 04:18:46 -!- kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Remote closed the connection] 04:21:18 kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 04:22:08 -!- johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has left #scheme 04:51:55 -!- Mikaeel_Mohamed [n=Mohamdu@CPE0013f7bc6820-CM0013f7bc681c.cpe.net.cable.rogers.com] has quit [Read error: 60 (Operation timed out)] 05:04:30 -!- drwhat [n=d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Client Quit] 05:05:01 drwho [n=d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #scheme 05:07:04 happy new year 05:07:31 akemashite omedetou gozaimasu! 05:14:53 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 05:20:41 reprore_ [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:28:57 -!- reprore_ [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Client Quit] 05:29:02 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 05:40:47 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"] 05:47:58 QinGW [n=wangqing@211.151.251.254] has joined #scheme 05:51:15 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Read error: 60 (Operation timed out)] 05:52:01 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 05:53:24 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 05:57:41 -!- xwl_ [n=user@147.243.236.60] has quit [Remote closed the connection] 05:57:54 xwl_ [n=user@147.243.236.60] has joined #scheme 06:07:46 r00t_ [n=r00t@202.3.77.133] has joined #scheme 06:07:59 -!- r00t_ [n=r00t@202.3.77.133] has quit [Read error: 104 (Connection reset by peer)] 06:08:10 cornucopic [n=r00t@202.3.77.133] has joined #scheme 06:09:47 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [] 06:14:31 (+ (tms:year) 1) 06:15:20 (if (> (tms:year (current-time)) (tms:year prev-time)) 'happy!)) 06:15:24 happy new year guys 06:17:02 Happy is destructive 06:17:22 tends to be around here, what with all the drunk people. 06:17:23 :) 06:29:07 (happy!) 06:30:36 -!- xwl [n=user@125.34.174.19] has quit [Remote closed the connection] 06:36:54 Jafet: Mythbusters is an existence proof of that theorem 06:56:32 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:56:41 -!- kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Remote closed the connection] 07:07:03 kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 07:08:36 -!- leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [Read error: 60 (Operation timed out)] 07:14:22 Riastradh [n=riastrad@tissot.csail.mit.edu] has joined #scheme 07:16:53 Zoot fruegel! 07:17:06 Robofrance 29 07:20:04 Hmm. Slashdot is slashdotted. 07:20:35 slashdot still exists? 07:21:00 No, apparently it doesn't. 07:21:01 Netcraft Confirms: Slashdot is Dying 07:22:18 i think the parent company of slashdot just died, thinkgeek, slashdot, and sourceforge are all down 07:22:56 IceD^ [n=iced@live.bn.by] has joined #scheme 07:23:30 any way to create lists like '(1 2 3 ... N)? 07:23:39 Sure, just like that: 07:23:41 jonrafkind: Y2.01k 07:23:44 rudybot: eval '(1 2 3 ... N) 07:23:45 Riastradh: your sandbox is ready 07:23:45 Riastradh: ; Value: (1 2 3 ... N) 07:23:59 Belaf: fixed 07:24:14 rudybot: eval '(build-list (lambda (x) x) 10) 07:24:15 jonrafkind: your sandbox is ready 07:24:15 jonrafkind: ; Value: (build-list (lambda (x) x) 10) 07:24:22 rudybot: eval (build-list (lambda (x) x) 10) 07:24:22 jonrafkind: error: build-list: expected argument of type ; given # 07:24:32 rudybot: eval (build-list 10 (lambda (x) x)) 07:24:32 jonrafkind: ; Value: (0 1 2 3 4 5 6 7 8 9) 07:24:39 IceD^, for a slightly more helpful answer, see SRFI 1's IOTA. 07:29:24 probably there is more clever way for task - I need to iterate through 1 .. N and do (filter) on all elements 07:29:38 of course, I can do simple recursion 07:30:41 Using foof-loop, one might write (collect-list (for i (up-from 1 (to (+ n 1)))) (if (keep? i)) (generate-value i)). 07:51:09 -!- jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:56:27 elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has joined #scheme 07:56:30 Happy new year, Schemepeeps! 07:58:33 -!- Riastradh [n=riastrad@tissot.csail.mit.edu] has quit ["leaving"] 08:08:38 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 08:14:56 sarimurat [n=salim@139.179.197.76] has joined #scheme 08:18:48 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 08:20:03 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:23:25 *elly* prods foof with a pointed stick 08:23:41 ow 08:24:10 what are your thoughts on divorcing chibi's vm from its compiler? 08:24:36 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:24:54 why? 08:25:01 I'm not sure 08:25:09 isn't it the classy thing to do with vms? 08:26:48 unrelatedly: does chibi have an ffi? 08:26:53 yes 08:26:56 ooh 08:27:02 where is it? 08:27:17 see the README, and lib/*/*.stub examples 08:28:25 ooh, a module system! :D 08:29:44 heh, I like with-net-io 08:30:05 hrm 08:30:09 how's 2010 treating you so far? 08:30:23 pretty good 08:32:11 c-system-include sounds scary 08:33:09 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 08:34:01 where is the repl defined? 08:34:04 foof, is chibi your system? 08:34:11 allo elly :) 08:34:15 aha, found it 08:34:25 How crazy - I'm reading and pondering about Scheme implementation as we speak :) 08:34:32 I was hoping to come across some people speaking on such a topic :) 08:34:43 and hey, foof - how did your new year wind up? 08:34:44 :) 08:34:54 That reminds me, I need to read more of SICP. 08:35:07 hm, chibi is using 2MB sitting at the just-started repl 08:35:33 elly: chibi-scheme -h 1M 08:35:54 foof: that wasn't an expression of surprise at the size :P 08:36:16 hm, that's interesting 08:36:29 or -h 512K, but that may be too small for the default settings + init.scm + config.scm 08:36:41 that's interesting 08:36:49 valgrind doesn't seem to work on this machine 08:37:11 Woah. 08:37:20 foof, what kind of system is being used for lookups? 08:37:22 chibi-scheme -mchibi.heap-stats -p '(heap-stats)' to get an idea of what's in the default heap 08:37:29 like, symbols in an environment - the textual names? 08:37:30 ? 08:37:35 why? 08:37:49 just, pondering implementation. One thing that makes me wonder is, how to provide a super efficient way to lookup identifiers and what not. 08:37:55 Downside is, since hte identifiers the user defines are strings... 08:38:04 strings are farking slow be definition :P 08:38:10 foof: curiosity. 08:38:11 :) 08:38:13 -!- QinGW [n=wangqing@211.151.251.254] has quit [Read error: 60 (Operation timed out)] 08:38:13 that is what interning is for 08:38:42 doesn't even really matter, once the code is analyzed you don't do lookups at runtime 08:39:14 So, like, before you actually like... interpret the code... you kind of quickly preprocess it. 08:39:18 Make it easier for the machine to grok. 08:39:40 ie: translate the source into DTs that can be easier dealt with at runtime? 08:40:06 elderK: Honestly, SICP explains it better than I can :) 08:40:36 :) 08:40:45 Well, thanks for helping me at all, man. 08:40:46 :) 08:40:59 Seriously, about an hour ago - I had a weird thougth related from Forth, that seems to kind of connect here. 08:41:08 oh? 08:41:16 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:41:35 Threaded code - it made me think of wiring all the identifiers and crap of the Scheme source - to just addresses or whatever. that way, to machine doesnt lookup strings or anything - it doesn't need to. 08:41:51 since all of those things would be linked into the right place, in the engine... 08:41:53 or something 08:41:54 :) 08:42:01 *elderK* scratches his head. 08:42:02 :) 08:42:04 *elderK* smiles 08:42:16 If I'm annoying, forgive me. :P Surely you can feel my odd excitement and glee :D 08:42:35 forth hurts my head a bit 08:42:45 I think I can cure that problem by writing a forth interpreter 08:42:58 I wanted to do the same too, before I found Scheme. 08:43:07 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:43:13 It's driving me insane. I want to implement a Scheme interpreter, a reasonably decent one, in C. 08:43:22 By "reasonably decent", I mean not-totally-naive. 08:43:23 :) 08:43:28 well, hm 08:43:34 chibi is reasonably readable 08:43:37 Why does Forth hurt your head? :) It's damn terse. 08:43:56 -!- sarimurat [n=salim@139.179.197.76] has quit [Read error: 110 (Connection timed out)] 08:44:06 the interpreter implementation that I have in my head is painfully reflective 08:44:24 How doyou mean? :) 08:45:04 so 08:45:18 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:45:25 you can, if you are sufficiently crafty, implement your entire forth compiler in terms of the two builtins @ and ? 08:45:32 (pointer read and pointer write) 08:45:52 I'm afraid I don't posess the knowledge yet ot write a true compiler :( 08:45:57 elly, out of curiosity - what do you study? 08:46:02 I'm a CS student 08:46:04 :) I'm intending to restart Uni this year. 08:46:12 for the next semester, and then I'm done :) 08:46:18 :D Congrats. 08:46:30 thanks! 08:46:59 I did two and half years, dropped out, focussed on personal ukernel and adt research, and now... scheme ponderings and... back to uni to get my degree. 08:47:12 :P Was a technician for awhile... 08:47:13 lol 08:47:13 :) 08:47:18 heh 08:47:29 my field of specialization, such as it is, is kernel design and implementation :P 08:47:45 Really? That was my obsession, that and Memory management. 08:47:55 indeed 08:48:03 totally obsessed with my crazy goal of tracking memory without using memory :P 08:48:24 well, in an illusionary mind!@#$ kind of way. 08:48:24 :) 08:48:27 tracking in what sense? 08:48:38 well, allocations and such 08:48:41 :) you know. 08:48:45 leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 08:48:52 moment, phone 08:49:40 tracking allocations without any overhead is obviously impossible, though 08:50:07 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 08:51:35 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 08:52:42 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 08:52:49 Impossible is only a perception ;) 08:52:52 Only a viewpoint. 08:52:58 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 54 (Connection reset by peer)] 08:53:01 (Mom on phone, new year, etc :)) 08:53:18 I have heard people claim that before, but I do not believe it :P 08:55:26 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:55:33 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:55:55 No, truly. :P It's only a perception. 08:55:59 My scheme relied on transient tracking. 08:56:03 :P JIT in another sense. 08:56:14 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 08:59:31 Just in time tracking :) 08:59:31 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 08:59:38 If you're keen, elly, I'd love to have a converastion around it :D 08:59:49 It's kind of hard to find people interested enough to really... debate and such, you know. 09:00:57 QinGW [n=wangqing@211.151.251.254] has joined #scheme 09:01:29 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 09:01:44 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 09:03:39 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 09:03:54 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 09:05:56 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 09:06:12 proq [n=user@unaffiliated/proqesi] has joined #scheme 09:08:54 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 104 (Connection reset by peer)] 09:13:02 -!- kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 09:15:05 elly: still around? 09:15:06 :) 09:15:09 elderK: yep 09:15:11 what's up? 09:15:15 ^_^ Just glad you're still here. 09:15:16 lol 09:15:22 It's not often I meet kernel folks. 09:15:25 :D 09:15:42 The idea was simple: track only what you need to trakc, when you need to track it, in memory that's entirely transient. 09:16:01 how are you going to remember what you need to track and when? 09:16:06 the kernel design I built was pretty much around that idea - that and dynamic linking. 09:16:13 demand. 09:16:20 and clever release of assets. 09:16:31 er? 09:16:33 take page tables and suchlike, a simple page allocator - a stack, say. 09:16:41 okay... 09:16:46 :P rather me not rant? 09:16:50 no, I'm intrigued 09:17:08 I just don't understand how you know something was demanded without writing that down somewhere 09:17:31 Well, an example is a simple page allocator. A stack. Most people will allocate the memory required for the tracking of page allocations, format it as a stack, done. USe that entire "tracking area" of memory. 09:17:34 To me, that's unacceptable. 09:17:42 Depending on the memory present, that's a huge amount of crap. 09:17:47 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Connection timed out] 09:18:01 I found if you staggered allocations and release, and the data that you pushed onto said stack, 09:18:08 You could release all of it. 09:18:15 that's a really dumb way to write a frame allocator though 09:18:17 Yeah. 09:18:18 but still 09:18:30 I mean, if you're tracking chunks of _free memory_, you implicitly have a place to keep track of your free list :p 09:18:47 Take other schemes, buddy allocators or slab allocators and suchlike. 09:18:57 That's the entire idea of what I mean, about tracking. 09:19:03 Track everything in free memory, transient tracking, always. 09:19:08 oh, I see what you mean 09:19:20 if you're out of free memory, though, doesn't that break down? 09:19:25 well, no. 09:19:37 change how you track. 09:19:52 track whats free rather thanw hats in use :P 09:19:59 whats in use is simply what isnt tracked. 09:20:17 downside is, of course, that deallocation is a little weirder. 09:20:43 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 09:20:48 Its about this time (A little later) that I grew obsessed with dynamic linking, microkernel ideas and... making a system that was entirely dynamic, with no real overhead. 09:20:49 :) 09:20:55 I kind of achieved that, kind of. 09:21:03 that's trippy 09:21:10 And totally possible! 09:21:17 (the 'decide to track what's free instead of what's in use' trick) 09:21:42 I would have figured someone else woudl have thought htat at some point. 09:22:15 That kind of idea (oh the concept of "Zero/dead space") is what I base all my crazy kernel endeavours on :) 09:22:25 *elly* ponders 09:22:37 Take a buddy allocator, depending on how it's imp'lemented, its going to take a reasonable amount of memory. 09:22:41 for say, bitmaps... or trees, or whatever. 09:22:48 It's not cool to kepe that around. 09:22:49 :P 09:22:53 But everythign seesm to. 09:22:58 Linux certainly does. 09:23:16 well 09:23:27 you can just use an implicit free list allocator for stuff like that, but they are *slow* 09:23:29 Onl yuse memory for tracking, that isnt itself needed. Its free memory. When everything is allocated, no memory is needed for tracking, becuase theres nothing to track. 09:23:36 aye. 09:23:43 ;) and slow isn't something I'm interested in when it comes to this. 09:23:51 an implicit free list has no overhead either 09:23:57 you mean isn't something you're worried about? 09:24:02 :P The goal was simply "As small and as fast as possible" 09:24:06 ahh, I see 09:24:11 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 09:24:13 :) 09:24:19 THats why I dropped out. 09:24:22 foof: Good, thanks. Now I'll go back trying to break it again ;-) 09:24:29 I think the reason linux makes that tradeoff is that speed is more important to them than memory-efficiency 09:24:29 :( I was learning Java and basic C and basic data structures... 09:24:30 :) 09:24:48 I was learning more in my own time, hacking up crazy shit, than going to class - so, I didnt :P 09:24:52 and aye, that's true. 09:25:10 but there must be a way, to have speed... and release things that arent needed. 09:25:45 thinking of how it could be done though, just makes me visualize engines, pistons, cogs... everything interleaved in a weird seeming chaotic order of cool... 09:26:05 heh :P 09:26:13 now we are getting a bit philosophical for kernel implementation 09:26:14 It'd have to be really, really, really, really ... interleaved... and timed, freaking precisely. 09:26:20 ^_^ 09:26:27 :P I told you I was obsessed with it all :P 09:26:30 the idea of software that has to be precisely timed makes me feel vaguely itchy 09:26:35 And the brightside? Now this crazy enthusiasm comes to Scheme! :D 09:26:38 same for software that has to be interleaved :P 09:26:49 I will take simple over efficient any day of the week 09:26:52 Not interleaved as such - but in an abstract concept. 09:27:05 :) 09:27:13 :P I'm the reverse. 09:27:45 I tend to build things that ... are as simple as can be, given the kind of performance I desire. 09:28:10 which means it usually looks like arcane witchcraft mixed with whatever. 09:28:10 :) 09:28:19 But hey, what are your personal favourite bits of kernel stuff? 09:28:24 Any areas you are interested in the most? 09:28:30 visof [n=visof@41.238.232.132] has joined #scheme 09:28:51 I like capability systems a lot 09:29:02 I wish there was one out there that actually worked :P 09:29:09 transparent persistence is cool 09:29:21 Aye, I just... the snapshots? 09:30:16 :P See, the thing that makes me itchabout cap systems is that... they need to be persistent. The only way they can not say superuser that, superuser this on these files, is to make sure that the caps never get lost... 09:30:24 that the state is always saved? 09:30:26 afaik? 09:30:33 more or less, yes 09:30:47 and the solution to that is either that the entire system is transparently persistent, or that the capabilities are unforgeable in some way 09:30:54 (cryptographically, usually) 09:31:05 if you want it to be distributed they have to be unforgeable as well anyway 09:31:13 and distributed + transparently persistent go _so_ well together 09:31:57 :P 09:34:29 What's your take on SIPS and VMs? 09:34:38 SIPS? 09:35:45 software isolated processes 09:35:53 formally verified code. 09:36:00 those are orthogonal concepts 09:36:11 the processes on my linux laptop are (sort of) isolated from each other right now 09:36:32 well, aye, but they are isolated using the architectural features, no? 09:36:39 (of ht eprocessor) 09:36:40 yes, sure 09:36:51 SIPS is all about making that totally unneeded. 09:36:51 if they were all actually JVM bytecode or whatever I could eschew those features 09:36:56 aye, precisely. 09:37:11 why is that desirable? 09:37:19 -!- QinGW [n=wangqing@211.151.251.254] has quit [Connection timed out] 09:37:20 Usually SIPS is along with Single-address-space systems. 09:37:27 I dont know why, but it seems to be a "cool trend" 09:37:32 Pesronally, I think its a crock. 09:37:33 :P 09:37:57 pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has joined #scheme 09:37:59 I mean, using VMs to do things the OS should already be doing is also a cool trend 09:38:03 but it's still stupid :P 09:38:08 It has techniques and neat lessons, just like Microkernels - but total dogma and the "lets do this entirely and only this way!" is never cool, you know? 09:38:13 hahaha yeah. 09:38:20 :P My kingdom for sense! 09:38:20 :p 09:38:21 Moin moin! 09:39:43 elly: Which things the OS should already be doing are you talking about? 09:39:45 yo pbusser 09:40:04 aye, Im interseted in that too 09:40:37 JKGpp [n=juergen@dslb-092-074-125-210.pools.arcor-ip.net] has joined #scheme 09:42:09 pbusser: isolation between processes 09:42:32 pbusser: the "have a separate VM for your mail server and your web server" idea is insane - any isolation you need between those two _should_ be provided by your OS 09:43:11 aye 09:43:33 Although, how to achieve that kind of protection without hardware support... thats an interesting problem :) 09:44:06 that's where code verification could be useful indeed.... make sure the programs are 'safe' 09:46:42 kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 09:46:48 elderK: Isn't that what UNIX already does? 09:47:05 That's what all modern OSes do. 09:47:25 the question I say that is interested, is more to do with providing that protection with no hardware support and without VMs. 09:47:52 elderK: Ah, I see. 09:49:17 elly: The problem is that most operating systems are bad at containing processes. A VM is sometimes used as an extra barrier. 09:49:46 pbusser: yes, but OSes being bad at containing processes is a design problem of the OSes themselves and should not be papered over with an extra layer 09:49:57 amen! 09:50:05 elly: Oh sure it is a design problem. 09:50:09 In industry, it should 09:50:14 In OS design, it is a bug 09:50:15 hey there mike 09:51:11 Hello 09:54:16 elly: You can design the OS in a different way. But that means you're creating new problems. Like micro kernels result in more context switches. 09:54:36 pbusser: indeed. or you can design a monokernel that provides the isolation guarantees that you want :P 09:54:54 elly: The challenge is not to come with a new design, but to come with a design that has less problems overall than the old designs. 09:55:15 or you can be insane like me, and build a system that is in spirit, ukernel - but has the performance of a monokernel 09:55:57 Aye. 09:56:11 It reminds meof htat...saying 09:56:28 elderK: how are you planning to do that? 09:56:31 Writing a book isn't difficult, it's writing concisely - that's hard. 09:56:34 (ukernel that performs like a monokernel) 09:57:01 elly, I hate to say it - but it's a hybrid idea. 09:57:19 elderK: That's an easy thing to do actually. 09:57:20 namely? 09:57:21 the name 'hybrid' seems pretty slandered these days. 09:57:42 my project relied heavily on dynamic linking, a very.... customized linking engine. 09:57:48 all components were in effect modules. 09:58:01 every single compeont was hot swappable, while in execution. 09:58:27 the hard part of that was tracking every user of a given function, exported froms ome module - and when that module was changed, passing control to the new one, seemlessly. 09:58:43 and not updating symbols and the like, that weren't referenced or used, but were still in the symbolt ables and whatnot. 09:59:18 er... that sounds basically impossible to do safely 09:59:29 so - my linker tracked it all - users of functions, providers of functions and data - I could update some module, and it's clients would only have the functions they used, from that server, updated. 09:59:31 I mean, reloading a module out from under someone who's using it 09:59:31 It's not impossible. 09:59:38 what if the format of a struct changed? 09:59:51 Thats a part I sidestepped in my "investigations". 09:59:56 I was more interseted in making it possible. 10:00:04 That was my challenge :) Making it possible and structured. If that makes sense. 10:00:10 well, did it work at all? 10:00:12 Yes. 10:00:31 But then again - the test modules and such that I built, were pretty... uniform in how they handled data. 10:00:44 "simply"? 10:00:49 the structural definitions didnt change randomly, if they did change, other modules that understood were used. 10:00:54 ahh 10:01:12 That was about where the pondering started again :) 10:01:27 A mentor I had suggested using something like XML for communication... and such. 10:01:32 that lost respect for him, for me. 10:01:33 :P 10:01:47 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 10:01:52 haha 10:01:54 The idea wasn't for me to provide a system that would withstand stupidity in the core. 10:02:08 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 60 (Operation timed out)] 10:02:09 It was meant for investigation and.... well, flexibility. 10:02:13 as the CMU joke goes: "Hypercalls are XML now? Don't those happen kind of often?" "Not as often as they used to!" 10:02:19 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 60 (Operation timed out)] 10:02:22 lol 10:02:42 Another thing I waws interested in - inspired by L4 - was "Small spaces" 10:02:48 hrm? 10:02:52 I am not familiar with the concept 10:02:57 transparently shifting things, to different sized memory spaces - compacting them all together when possible. 10:03:11 Well, it's simple. If a program only has a VM size of say, 16M. 10:03:16 give it only a 16M address space. 10:03:22 but use segmentation to make it think it's somewhere bigger :P 10:03:41 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 10:03:51 ...? 10:03:51 when it grew, move it somewhere more suitable in the virtual address space, but, zero-copying, becuase of segmentation mixed iwth paging. 10:03:57 Moment, I'll get you the whitepaper. 10:03:57 ;) 10:03:59 what is the win there? 10:03:59 okay 10:04:10 The win in L4s case, was for IPC. 10:04:21 and transition from program to program, no context switches were needed, or less. 10:05:38 by just using segmentation? O_o 10:06:00 segmentation and paging 10:06:14 its a cooll idea, but, what makes it ugly is that it's tied specifically to the Intel architecture. 10:06:19 At least, for efficient use. 10:06:24 since it's done in hardware... and eventhen... 10:06:26 L4 has always had that as a design principle though 10:06:33 ANYWAY. I was pondering ways of doing it 100% portably. 10:06:51 using my crazy-assed linker. 10:07:16 elly, can I mail you the paper? 10:07:17 do you have any ideas? oO 10:07:28 um, I'd prefer if you just put it up somewhere or linked me to it 10:07:33 Okay, moment. 10:08:45 found it 10:09:13 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.7630 10:09:14 :) 10:11:35 See, I have all of these things - and things like it, archived. 10:11:44 :) I'm considering starting an "underground CS library" 10:11:52 underground? 10:11:54 for people who have zero access to things like the ACM and suchlike. 10:12:08 :P Underground because I have many, many, many stolen CS books.... 10:12:12 stolen meaning, you know, ebooks. 10:12:17 ah, indeed 10:12:19 o_O about 250G worth. 10:12:22 *elly* is a college student, etc :P 10:12:25 on pretty much every topic. 10:12:50 from Assembly and C to Maya and Rendering through to OS designs and hardware specifications... 10:12:59 *elderK* shrugs 10:13:02 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Read error: 60 (Operation timed out)] 10:13:05 hm 10:13:06 I'm a hoarder/collector in that sense I guess :) 10:13:17 I have not found all that many books that were worth keeping, honestly 10:13:22 Many, many whitepapers and such. 10:13:24 Well, aye. 10:13:32 That being said, I have a few classics :) 10:13:34 a lot of them tend to go out of date quickly 10:13:35 :P and a lot of junk. 10:13:39 the ones that don't, I have :P 10:13:44 lucky. 10:13:48 :) I only have them in ebook form. 10:14:07 The hardcopies I have are K&R C, and the entire IA32 architectural manuals. 10:14:17 I have quite a few hardcopies 10:14:20 more than I'd like, really 10:14:24 ^_^ and R5RS etc, that I printed :) 10:14:27 relaly? :O 10:14:28 but people throw them out and I can't just let go of them 10:14:32 yes 10:14:34 :O THROW THEM OUT!? 10:14:35 :O 10:14:40 Blapshemy!!!! 10:14:44 er, sphemy. 10:14:49 I have a textbook from 1962 on the implementation of lisp, algol, and fortran 10:14:55 it is fascinating reading 10:14:59 *elderK* drools 10:15:02 somebody just left it outside their office one day 10:15:06 *elderK* big wobbly watery anime-ish eyes 10:15:21 Man, that's like freaking treasure. 10:15:22 Seriously. 10:15:27 it is pretty sweet 10:15:47 we found a copy of the Smalltalk book in an empty office one day when wandering, but weren't sure if it was to be taken 10:16:21 The reason I want(ed)? to start a Underground CS Library, is because... it was really, really hard for me to find references and information that I needed, becuase I couldn't afford any of it - and the libraries here are pretty crap for CS stuff. 10:16:25 :O 10:16:27 elly: Weren't you the one who was working on Scheme on the bare metal? 10:16:32 People leave boosk around like that? :O 10:16:34 pbusser: >.> <.< 10:16:38 elderK: yeah 10:16:42 elderK: people throw out hardware too :P 10:16:45 :( I need to move to where you live. 10:16:52 pbusser: that reminds me, I should finish tht 10:16:54 that, even 10:16:58 elly: Heh! 10:17:01 seriously, scheme on baremetal, I'm keen on that. 10:17:06 superkeen. 10:17:14 it should not be that hard 10:17:25 chibi is more or less ideal 10:17:31 elly: Oh, then you have it finished next week, or what? :-P 10:17:40 hah :P 10:17:44 well, aye - but... do you compile to machine code? do you interpret bytecode? questions questions. 10:17:45 in my copious free time 10:17:54 chibi interprets bytecode, last time I looked 10:18:02 What kind of runtime support does it need, like, GC/MM? 10:18:17 link chibi against a kernelspace memory allocator 10:18:18 hehehe 10:18:35 elly: Which you waste on IRC otherwise anyway. :-P 10:18:55 pbusser: in my defense, it is 0517 here, and the probability of me doing useful work is zero 10:19:07 I hear you there :D 10:19:08 :) 10:19:11 I just finished writing the following nasty thing as a proof of concept: http://l.leptoquark.net/~elly/rg.c 10:19:31 gah, xcode 10:19:45 xcode? oO 10:19:48 *elly* uses vim :P 10:19:52 Same. 10:20:02 I couldn't be bothered opening a term 10:20:02 :P 10:20:13 anyway, it is a (semi-obfuscated) randomized kruskal's algorithm that I was playing with for dungeon layout in a roguelike 10:20:59 and is representative of the kind of code I write at >0500 :P 10:21:02 What I'd like to see / use, is a System's Scheme. 10:21:05 hahaha 10:21:06 :) 10:21:10 Roguelikes are cool. 10:21:16 'systems scheme' needs more work on the theoretical side 10:21:20 You a fan of Nethack or Drawf Fortress? 10:21:26 I have yet to see a convincing demonstration of a garbage-collected systems language 10:21:32 I am aware of both, but play neither 10:21:44 I was more thinking of finding a way to make it usable with explicit MM. 10:21:50 :P Crazy, yup. 10:21:51 :) 10:22:10 that would be... difficult 10:22:17 it is not clear how explicit MM interacts with e.g. closures 10:22:21 elly: What do you mean with a convincing demonstration of a garbage-collected systems language? 10:22:22 aye, precisely. 10:22:35 pbusser: "I have not seen one that I would program in." 10:22:41 pbusser: imagine a kernel written entirely in Scheme, without hardware support for GC, etc. 10:22:53 _entirely_ entirely 10:22:57 elly: How about the Lisp machines? 10:23:01 ^^^ 10:23:03 "scheme + some assembler helpers" is not interesting in that sense 10:23:11 hardware support for GC, pbusser... 10:23:15 pbusser: if I had a lisp machine, lisp would be an excellent systems language 10:23:18 but, er, yeah :P 10:23:26 elly, how do you do underlines? :) 10:23:36 what I actually have is a bunch of x86en, an ARM, a SPARC, and a vax 10:23:42 elderK: just type underscores on either side of a word 10:23:42 :O 10:23:47 elly: There is VLM, Virtual Lisp Machine. 10:23:47 *elderK* falls over 10:24:01 *elderK* more wattery eyes 10:24:01 pbusser: not really the same :P 10:24:04 aye. 10:24:07 elderK: are you alright? 10:24:13 I have a dead SPARC :(* 10:24:16 ahh 10:24:20 I have a living sparcstation 10:24:22 I bought it, was meant to be working... 10:24:31 -!- leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [Connection timed out] 10:24:32 Mine's a Sun enterprise I 10:24:33 I have a vax that was living when last powered on, which was a couple of months ago 10:24:47 (it's off due to having an 800-watt power draw and sounding like a jet aircraft) 10:24:47 :( but they shipped it to me sans hard disks, etc. 10:25:07 I cannot afford to buy a SCSI disk for it and suchlike. 10:25:13 heh 10:25:18 all of this is stuff I found or was given :P 10:25:19 Nor do I know of convertors so I can use USB keyboard with it... 10:25:20 elly: Nothing is stopping you from putting a Lisp machine CPU in an FPGA chip. :-P 10:25:32 Hardware, software, it's semantically the same anyway. 10:25:37 pbusser: the cooler thing imo, would be to make x86... a lisp machine. 10:25:39 pbusser: yes, but none of those will let me write the OS for my laptop in lisp! 10:25:41 not because its clean 10:25:44 but because itd be interesting. 10:26:19 :P Tell me I'm not alone in thinking that. 10:26:31 It's part of my desire to write a Scheme interpreter or a few... 10:26:44 I want to take Scheme back with me to my crazy maniacal mad-scientist-kernel-laboratory :) 10:28:41 There isn't much to gain from using a Lisp machine now that Lisp compilers are getting better 10:29:09 there is a kind of idealogical peace of mind that one gets from using a system that is nice all the way to the bottom, though :P 10:29:17 independent of any speed or stability benefits 10:29:35 Nice and horribly expensive 10:29:46 :P 10:30:12 If you want to do functional programming on the bare metal, you can write shaders 10:30:40 Although I'd term that dysfunctional programming 10:30:43 heh 10:31:13 Jafet: Which Lisp implementation will fire up a debugger when something goes wrong in the kernel? 10:32:02 I'm not sure what you're talking about. What kernel? 10:32:02 The elegance of the Lisp machines is that everything is using the same concepts, from the hardware up to the highest levels. 10:32:26 Jafet: The part of a software system which manages hardware resources. 10:32:48 You are talking about a hypothetical Lisp kernel? 10:33:15 -!- kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 10:33:31 Jafet: No, it is not hypothetical, it is how the Lisp machines worked. 10:34:21 *elly* sleeps 10:34:23 They start a debugger from a hardware trigger to handle kernel errors? 10:34:44 Goodnight elly 10:34:50 goodnight 10:34:54 Hope to speak to you again sometime soon :) 10:34:57 Jafet: It is the same debugger which is started when something goes wrong in an application. 10:35:05 and hey, hey, hey Jafet! 10:35:17 I don't see why it can't be done on a conventional hardware architecture. 10:35:24 aye, ditto 10:35:30 That's what I'm interestedin ,jafet. 10:35:36 !@#$ this keyboard... 10:35:39 Jafet: It would require ugly hackery. 10:35:45 ugly how? 10:36:07 pbusser: by saying that, do you not saying that all conventional lisp compilers/interpreters on X86 machine are hacks? :P 10:36:09 It would be an implementation detail. 10:36:21 Every programming system has ugly implementation details. 10:37:20 elderK: from a Lisp Machine perspective, they are 10:37:30 well, aye. 10:37:35 but then everything compared to LISPM is. 10:37:35 :) 10:37:47 but we don't live in a perfect world. 10:37:48 elderK: No, he's saying x86 machines are hacks ;) 10:37:48 :( 10:37:52 HAHAAHHAAHAHA 10:37:53 :P 10:37:53 the problem is doing fast IC's is hard and expensive, and C pays the bills for the folks that do it 10:37:57 Low blow, man 10:37:59 Low blow. 10:38:00 :P 10:38:01 but true. 10:38:01 :) 10:38:13 well, C and soon OpenCL 10:38:31 and the V's for FPGA makes 10:38:38 *makers 10:38:42 Consumer ICs aren't that fast 10:38:48 verilog and the like? 10:39:07 Jafet: consumer CPUs and GPUs are 10:39:09 relatively 10:40:00 I don't think so. 10:40:06 They are massive and overcomplicated 10:40:06 Guys, I'm signing back up for Uni preetty soon - Any chance I could ask your advice about... stuff? 10:40:11 ok, what do you think is faster? 10:40:25 I mean, POWER's faster than a top of the line Intel 10:40:28 Like, later mayhap. 10:40:28 but not by that much 10:40:38 I meant that you need to implement a different debugger for the kernel than for the Lisp code you write. 10:40:47 don't ask mine, I'm just hanging on until I getout 10:40:54 and graduated 10:41:07 pbusser, I don't see why that is the case. 10:41:40 :) 10:41:47 You get a ++ from me, Adamant, for that alone. 10:41:47 :) 10:41:49 :P 10:41:59 And you would have to hope that nothing goes too wrong when something goes wrong in the kernel, because there is no protection of any kind against data corruption. 10:42:04 elderK: don't give me a ++ until I'm done at the end of the year :P 10:42:18 :P Okay, well, I'll keep this hidden away until then :P 10:42:24 Good point. But that can happen with a lisp machine too, if I'm not mistaken 10:43:14 Jafet: How? 10:44:59 Ah, fudge it. It might not be pretty or efficient, but I want to - I'm going to write a lil attempt at a Scheme interpreter. 10:45:02 Just ot learn. 10:45:35 ML looks cool too 10:45:40 Can't the kernel bork the debugger as well? 10:45:46 Jafet: In a traditional kernel, which is written in C, a simple error will overwrite important data. Memory is a bunch of bytes without any type checking. In a Lisp machine, all memory access is type checked. 10:46:21 that lack of typechecking can be highly useful at times, though, pbusser. 10:46:38 Jafet: There are probably scenarios where the kernel can bork the debugger, but those are of such a low probability that they can be seen as hypothetical. 10:46:41 elderK: I would go with Haskell then go back and learn the specifically cool and different stuff in ML, like ML Modules 10:46:58 elderK: Like when? 10:47:03 many situations. 10:47:14 elderK: That isn't very specific. 10:47:22 Well, I want to give you a good answer. 10:47:24 Why are we comparing "traditional kernel" with lisp machine kernel? I thought we were comparing conventional architecture to the lisp machine. 10:47:25 But the more I think on it, it all depends. 10:47:29 ie: Structural composition. 10:47:35 You can have a cheap kind of inheritance going on, 10:47:38 by typecasting and such 10:47:48 but that isnt exactly an example. 10:48:01 You can write a kernel for a conventional architecture in lisp, ML, forth, or almost any other language you want 10:48:08 That is besides the point. 10:48:36 pbusser: it just, depends. Sometimes it is useful to be able to look at things in different views, without being restricted. If I want to see a float as hex, in some memory position - I Want to be able to do that. 10:49:12 -!- pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has quit [Read error: 54 (Connection reset by peer)] 10:49:21 Maybe I should just ssshhh :) 10:49:57 Jafet: You'd need to have some runtime support though, wouldn't you? Like, GC and suchlike? 10:49:59 There is no "hex" type 10:50:06 pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has joined #scheme 10:50:24 elderK, that is meaningless in the context of a kernel. It contains all its dependencies 10:50:31 good point. 10:50:34 (Except perhaps BIOS and bootloader code) 10:51:30 You hear me about the usefulness of being able to view anything as anything, dont you? 10:51:42 I mean, it's not useful in every situation - but it can be very, veyr useful in some. 10:51:53 but that may simply be my C-self talking :) 10:52:00 What does that even mean 10:52:28 Jafet: My point is that a Lisp machine isn't just a Lisp compiler bolted on some kind of OS running on some kind of CPU. It was a complete system where everything worked together. 10:52:40 It means exactly what it means :) 10:53:09 If you're talking about C's delightful memory model, then no. Laissez-faire programming is not something I'd advocate. 10:53:24 I'm not saying it great in all situations, please don't take it as that. 10:53:27 I'm simply saying that it has a place. 10:53:37 I'm simply saying it doesn't. 10:53:47 elderK: In the garbage can, that is where it belongs. :-P 10:53:56 pbusser, sure. But I think you can do a similar job on, say, x86 10:54:13 (After getting some bearded guy to switch you into 32-bit mode) 10:54:19 lol 10:54:22 Jafet: Sure, at the cost of more effort in getting the same functionality. 10:54:35 Ok, good 10:54:53 Jafet: actually, when I think about Lisp's kind of dynamic-type stuff, I click. Munging around with void and pointers or whatever isnt needed. 10:55:07 Lisp already lets you link to whatever you want, without typecasts and such. 10:55:10 *elderK* clicks 10:55:22 Lisp is usually strongly typed. 10:55:42 C isn't. Perl isn't, but it's more fun than C so I forgive it 10:55:56 Weak typing leads to horrible semantics. 10:56:01 The proper term I'm looking for is... strangely out of my head atm. 10:56:26 I guess I'm thinking how a vector can bind to all kinds of things. 10:56:42 or refer... 10:57:00 the value is strongly typed, but the binding isn't? or am I mistaken/ 10:57:35 #haskell is next door 10:58:48 :( What is the term I'm looking for? 11:01:47 hotblack23 [n=jh@p5B0557EB.dip.t-dialin.net] has joined #scheme 11:03:10 QinGW [n=wangqing@211.151.251.254] has joined #scheme 11:08:28 heh; this is funny: 11:08:40 "And now for something completely different (different from every other language, that is). In most languages, an expression must return one and only one value. In Swym, an expression can return /several/ values!" 11:08:47 http://www.chalicegames.com/swym/SwymWebIntro.html 11:08:49 what an asshole 11:10:33 lol. 11:10:49 :P Yeah, that's totally something new cough cough 11:12:22 I have never needed to use values 11:19:44 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Success] 11:20:14 -!- hotblack23 [n=jh@p5B0557EB.dip.t-dialin.net] has quit ["Leaving."] 11:24:17 -!- visof [n=visof@41.238.232.132] has quit [Read error: 113 (No route to host)] 11:26:00 visof [n=visof@41.238.234.58] has joined #scheme 11:27:47 luz [n=davids@189.122.90.116] has joined #scheme 11:35:14 xwl [n=user@125.34.174.19] has joined #scheme 11:42:28 Jafet: i used once them implementing memoized-bitonic-euclidean-salesman, for some reason 11:44:01 s/once them/them once/ 12:02:02 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 12:02:19 brandelune [n=suzume@pl571.nas982.takamatsu.nttpc.ne.jp] has joined #scheme 12:02:31 Edico [n=Edico@unaffiliated/edico] has joined #scheme 12:17:08 francogrex [n=user@81.88-243-81.adsl-dyn.isp.belgacom.be] has joined #scheme 12:17:59 Is there a scheme implementation that enable someone to build C type dll that could be linked to from other applications/execuatables like any dll would? 12:20:09 -!- Pepe_ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has quit [Read error: 60 (Operation timed out)] 12:20:13 Pepe_ [n=ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has joined #scheme 12:20:17 wake up all and answer 12:26:06 *pbusser* snores 12:26:06 -!- francogrex [n=user@81.88-243-81.adsl-dyn.isp.belgacom.be] has quit [Read error: 104 (Connection reset by peer)] 12:26:38 I would never ever want to load anything from such a DLL 12:27:38 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 12:29:07 Jafet: Why not? 12:29:42 francogrex: What you're looking for is an embeddable Scheme which compiles and runs on Windows. 12:29:45 Sergio` [n=Sergio`@a89-152-187-193.cpe.netcabo.pt] has joined #scheme 12:29:53 In addition to the joy of loading the DLL, I'd have to enjoy the FFI 12:30:28 -!- bipt [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has quit [Read error: 60 (Operation timed out)] 12:31:41 Chicken's FFI is okay. But then, FFI stuff is always a bit messy. 12:32:26 I've heard bad things from people who tried to use FFIs over DLLs 12:32:27 Chicken can be embedded. But I am not sure whether MS-Windows is a supported platform though. 12:32:41 Callbacks get fun, for example 12:32:48 Jafet: Dunno, I don't do MS-Windows. 12:32:59 Me neither 12:33:25 I have done some Chicken FFI stuff on Linux and it worked fine. I didn't need any callbacks though. 12:35:11 blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has joined #scheme 12:44:19 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:45:00 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:47:01 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:48:00 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:48:58 -!- xwl [n=user@125.34.174.19] has quit [Read error: 110 (Connection timed out)] 12:48:58 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:50:02 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:53:41 visof_ [n=visof@41.238.235.91] has joined #scheme 12:54:23 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:55:24 -!- visof_ [n=visof@41.238.235.91] has quit [SendQ exceeded] 12:55:36 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:57:00 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:58:03 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:59:02 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 12:59:40 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 12:59:57 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 13:01:38 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 13:03:57 choas [n=lars@p5B0DC32B.dip.t-dialin.net] has joined #scheme 13:07:20 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 13:07:27 -!- Foofie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 13:07:51 -!- devslashnull [n=nope@dyn-77.greentreefrog.net.au] has quit [] 13:08:08 Foofie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 13:10:10 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 13:10:57 -!- Foofie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 13:11:10 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 13:11:45 -!- visof [n=visof@41.238.234.58] has quit [Read error: 110 (Connection timed out)] 13:13:57 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 60 (Operation timed out)] 13:21:19 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 13:22:23 Mikaeel_Mohamed [n=Mohamdu@CPE0013f7bc6820-CM0013f7bc681c.cpe.net.cable.rogers.com] has joined #scheme 13:54:41 leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 14:21:31 HaskellLove [n=chatzill@92.55.82.247] has joined #scheme 14:21:39 I am reading this book: Concepts, Techniques, and Models of Computer Programming, if anyone has read it please pm me, we can have talk on interesting issues 14:21:56 Why pm? 14:24:48 because the questions may not be scheme related 14:29:28 akitada [n=user@unaffiliated/akitada] has joined #scheme 14:39:37 -!- akitada [n=user@unaffiliated/akitada] has quit [Remote closed the connection] 14:41:29 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 14:52:33 -!- partisan [n=partisan@123.108.171.227] has quit [Read error: 110 (Connection timed out)] 14:54:42 lolcow [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 14:55:35 -!- leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 14:55:42 akitada [n=user@unaffiliated/akitada] has joined #scheme 14:56:05 xwl [n=user@123.115.97.23] has joined #scheme 14:56:25 anyone running scheme on emacs? I'm having trouble doing 'run-scheme' on emacs 23.1. it runs but don't handle escape sequences well and the output is garbled. 15:01:47 bgs100 [n=ian@unaffiliated/bgs100] has joined #scheme 15:04:58 -!- HaskellLove [n=chatzill@92.55.82.247] has left #scheme 15:09:24 masm [n=masm@bl7-94-196.dsl.telepac.pt] has joined #scheme 15:13:13 leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 15:14:38 -!- lolcow [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 15:17:14 hotblack23 [n=jh@p5B0557EB.dip.t-dialin.net] has joined #scheme 15:18:10 -!- cornucopic [n=r00t@202.3.77.133] has quit ["so long.."] 15:24:34 visof [n=visof@41.238.233.30] has joined #scheme 15:29:20 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 15:30:08 timj [n=timj@e176199200.adsl.alicedsl.de] has joined #scheme 15:43:53 bipt [i=bpt@cpe-173-095-174-230.nc.res.rr.com] has joined #scheme 15:52:09 -!- hotblack23 [n=jh@p5B0557EB.dip.t-dialin.net] has quit ["Leaving."] 15:52:21 foof: are you listening? 15:52:25 yep 15:53:00 foof: one question: is (sqrt bignum) supposed to work? 15:53:13 depends on what you mean by "work" 15:53:33 uhm... return a sensible result... 15:53:34 It currently converts the bignum to a flonum and takes the inexact sqrt. 15:53:49 -!- visof [n=visof@41.238.233.30] has quit [Success] 15:54:14 I mean: 15:54:17 I haven't implemented a proper integer square-root yet. 15:54:26 > (sqrt 536870911) 15:54:26 23170.4749843416 15:54:26 > (sqrt 536870912) 15:54:26 1518500249.98802 15:54:31 visof [n=visof@41.238.233.30] has joined #scheme 15:54:49 ops, sorry for the paste mess.... 15:55:05 536870912 is the smallest bignum 15:56:43 Belaf: It's not sqrt that's broken - look at the output of (exact->inexact 536870912) :) 15:57:18 Riastradh [n=riastrad@tissot.csail.mit.edu] has joined #scheme 15:57:19 Yup, it seems a bit odd :) 15:57:22 I haven't been doing any math at all with Chibi, and apparently the numeric tests are severely lacking :/ 15:57:53 incubot: Isn't 536870912 even? 15:57:57 Why does Gambit's printer (1) print all of the fields of records by default, and (2) do absolutely nothing to prevent infinite output for circular data structures, or even excessive output for deeply nested data structures? 15:58:13 By the way, just tell me if I'm annoying with all my reports, I feel like I'm forcing you to work for me ;-) 15:58:27 Oh no, I appreciate the bug reports. 15:58:56 After the holydays I'll have much less time anyway :) 15:58:57 What are you using Chibi for, BTW? It's possibly the worst implementation for numerics :) 15:59:31 I'm trying to learn scheme, actually :) I liked the idea of a small implementation 15:59:54 and the idea of possibly being useful at it :) 16:00:35 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 16:00:43 Ow. I'm so sorry - you're trying to learn Scheme and stumbled across a GC bug :/ 16:01:12 But no, I'm not complaining - bug reports are genuinely helpful. 16:02:13 I've got a C background and I'm playing with these "different" things. I'm just enjoying them :) 16:03:30 Ops, I need to be AFK for a bit... are you around a bit later? I might have a question for you... 16:03:42 Will likely be asleep. 16:04:05 ok, maybe another day, then... thanks. 16:05:39 -!- leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [Read error: 110 (Connection timed out)] 16:07:15 arcfide [n=arcfide@fl-76-2-117-102.dhcp.embarqhsd.net] has joined #scheme 16:13:05 -!- saccade_ [n=saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 16:15:44 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 16:15:45 Belaf: fixed 16:16:54 -!- visof [n=visof@41.238.233.30] has quit [Connection timed out] 16:19:51 Wow, fast as always! Let me try it :) 16:21:14 visof [n=visof@41.238.233.30] has joined #scheme 16:23:49 Yes, *MUCH* better :) 16:23:58 :) 16:24:57 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:25:23 I read your comments about the chibi -h option earlier, what is it useful to? 16:26:52 Specifies the initial heap size. I set it to 2MB by default which seemed reasonable, but you can run in less space. On the other hand, some things may run faster with a larger heap, and the initial size is especially important if you've disabled heap growing. 16:27:49 I see, so, if I use -h it starts with a small heap, but it can grow it as needed, right? 16:28:03 yes 16:28:15 Fine. 16:29:43 Is chibi ffi enough to try writing a "really minimal" wrapper to a graphic library, say SDL? I've seen something like that for gambit-c and it seems that one can start with something really small... 16:30:34 Should be. X11 is on my TODO list. I'm actively extending the FFI as I need new features. 16:30:55 SDL is nice and simple though. 16:31:26 allright, maybe I'll give it a look, then. 16:40:24 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 16:46:56 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 16:51:24 -!- QinGW [n=wangqing@211.151.251.254] has quit [Read error: 60 (Operation timed out)] 16:52:43 visof_ [n=visof@41.238.233.30] has joined #scheme 16:54:57 -!- offby1` is now known as offby1 16:57:46 foof: looks like I'm having another of my issues... I'll add a comment once I get an easily repeatable case. 17:00:58 -!- visof [n=visof@41.238.233.30] has quit [Connection timed out] 17:04:28 ecraven [n=nex@octonex.swe.uni-linz.ac.at] has joined #scheme 17:05:45 visof__ [n=visof@41.238.232.29] has joined #scheme 17:08:12 chandler, do you still have the mail from Paul Hudak authorizing you to strike some clauses from the licence terms on T? 17:08:47 Riastradh: Not easily accessible, I don't. 17:09:18 Night guys! 17:09:20 Happy Hacking! 17:09:27 alexcg [n=alexande@77.247.173.123] has joined #scheme 17:09:37 -!- elderK [n=zk@125-238-255-127.jetstream.xtra.co.nz] has quit ["Sleep!"] 17:13:34 -!- JKGpp [n=juergen@dslb-092-074-125-210.pools.arcor-ip.net] has quit [] 17:19:45 visof [n=visof@41.238.234.47] has joined #scheme 17:22:15 -!- visof_ [n=visof@41.238.233.30] has quit [No route to host] 17:22:28 -!- alexcg [n=alexande@77.247.173.123] has left #scheme 17:28:02 hiacre1 [n=archie@88-97-27-187.dsl.zen.co.uk] has joined #scheme 17:29:30 -!- visof [n=visof@41.238.234.47] has quit [Remote closed the connection] 17:30:46 -!- hiacre1 [n=archie@88-97-27-187.dsl.zen.co.uk] has quit [Client Quit] 17:31:51 foof: It seems like Chibi Scheme has become all the rage. :-) 17:32:20 uh oh, I'm behind the times 17:33:05 offby1: Hehe, if you are, what does that make me? I'm pretty behind the times, too. 17:34:29 offby1: I mean, I'm using a Scheme implementation that's over 24 years old! 17:35:00 *gasp* 17:35:27 actually, I'm not so behind; I have played with chibi a little. But I don't have the source on my local box anymore for some reason 17:35:43 ejs [n=eugen@94-248-99-157.dynamic.peoplenet.ua] has joined #scheme 17:36:00 tonyg [n=tonyg@host238.lshift.net] has joined #scheme 17:36:02 -!- visof__ [n=visof@41.238.232.29] has quit [No route to host] 17:38:59 offby1, when you worry that you're behind the times, just remind yourself that arcfide is using Gopher. 17:39:09 damn 17:39:14 *arcfide* chuckles. 17:39:24 So how are Archie and Veronica? 17:39:27 I guess that would make anyone feel young. 17:39:40 offby1: Veronica is no more, I think it's just Veronica-2 now. 17:40:21 erm... I remenber when Gopher was the only one... not sure I feel young... ;-) 17:41:15 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 110 (Connection timed out)] 17:42:25 -!- timj [n=timj@e176199200.adsl.alicedsl.de] has quit ["Client exiting"] 17:44:03 I remember when I first saw URLs in newsgroup postings. I thought "Oh, this is some sort of fad; it'll be forgotten in a few years" 17:44:10 Oh, so Gopher is the new rage? 17:44:19 timj [n=timj@e176199200.adsl.alicedsl.de] has joined #scheme 17:46:25 -!- brandelune [n=suzume@pl571.nas982.takamatsu.nttpc.ne.jp] has quit [] 17:46:31 If arcfide is angry, I suppose so, pbusser, but aside from that... 17:47:19 QinGW [n=wangqing@211.151.251.254] has joined #scheme 17:50:35 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Read error: 60 (Operation timed out)] 17:58:54 jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 18:01:12 -!- akitada [n=user@unaffiliated/akitada] has quit [Read error: 60 (Operation timed out)] 18:11:20 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 18:13:04 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 18:14:46 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 18:17:37 -!- ejs [n=eugen@94-248-99-157.dynamic.peoplenet.ua] has quit [Read error: 113 (No route to host)] 18:18:26 -!- pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has quit ["Client Quit"] 18:21:10 -!- IceD^ [n=iced@live.bn.by] has quit ["Leaving"] 18:29:13 schoppenhauer_ [n=christop@unaffiliated/schoppenhauer] has joined #scheme 18:29:37 visof [n=visof@41.238.233.74] has joined #scheme 18:30:14 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 18:30:52 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 18:36:44 leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 18:38:12 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 18:38:12 -!- schoppenhauer_ is now known as schoppenhauer 18:38:25 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 18:38:45 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 18:40:58 I don't get it. Using define-require-syntax, how can I define something so simple as scm where (require (scm "xxx")) acts as (require "xxx.scm")? 18:41:03 lisppaste: url 18:41:03 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 18:42:03 masm pasted "Shouldn't this work?" at http://paste.lisp.org/display/92891 18:42:32 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 18:42:40 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 18:52:37 -!- leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has quit [] 18:59:32 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit [] 19:05:07 -!- arcfide [n=arcfide@fl-76-2-117-102.dhcp.embarqhsd.net] has quit [Read error: 60 (Operation timed out)] 19:06:20 alvatar [n=alvatar@181.23.222.87.dynamic.jazztel.es] has joined #scheme 19:17:03 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 19:17:11 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 19:21:48 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 19:28:34 leppie [n=lolcow@196-210-254-178.dynamic.isadsl.co.za] has joined #scheme 19:37:34 -!- visof [n=visof@41.238.233.74] has quit [Read error: 60 (Operation timed out)] 19:37:56 visof [n=visof@41.238.233.74] has joined #scheme 19:42:39 pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has joined #scheme 19:45:37 kniu [n=kniu@pool-71-105-70-131.lsanca.dsl-w.verizon.net] has joined #scheme 19:47:33 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 19:57:35 -!- tonyg [n=tonyg@host238.lshift.net] has quit ["Leaving"] 20:03:06 sarimurat [n=salim@139.179.197.12] has joined #scheme 20:07:55 incubot: THE ENSEMBLE SPAGHETTI DIAGRAMS GENERALLY INDICATE RELATIVELY LOW SPREAD OVER THE EASTERN CONUS. 20:07:59 http://en.wikipedia.org/wiki/Eastern_Orthodox_Church_organization 20:09:54 incubot: <3 20:10:30 incubot: if you ever decide to leave that man of yours, just remember I'm still available 20:10:34 you need to make your examples simpler; I am too lazy to follow yours 20:10:37 hmm 20:10:42 incubot: will you marry me? 20:10:45 not sure if .5 will work for that 20:10:55 That sounds like a "maybe" to me. 20:10:57 but fifty-fifty is the traditional marriage distribution 20:11:26 if incubot is unwilling, you could always ask minion... 20:12:30 minion, will you marry incubutt? 20:12:32 watch out, you'll make krystof angry 20:12:58 Hm. That should have been parsed as a yes-or-no question. 20:13:43 I did not know incubot was taken 20:17:15 elly: I just assumed. 20:18:11 :O 20:18:28 also, I did not know you were available? :P 20:19:51 -!- alaricsp [n=alaric@relief.warhead.org.uk] has quit ["Leaving"] 20:19:51 Isn't polyamory all the rage these days? 20:20:31 I would guess that it makes a lot of people angry, yes. 20:26:54 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 20:28:07 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme 20:30:13 -!- rdd [n=user@c83-250-152-128.bredband.comhem.se] has quit [Remote closed the connection] 20:33:03 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 20:37:32 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 20:39:36 arewenothorses1 [n=Adium@125-202-132-95.pool.ukrtel.net] has joined #scheme 20:40:02 Is it possible to create Mac OS X executables from .scm files, and how if yes? 20:41:10 arewenothorses1: more than one way, but you might start by looking at chicken scheme, there are multiple scheme to C compilers among other choices 20:42:13 kencausey: Thanks. Does MIT Scheme conform to R5RS standard they say they support almost fully? 20:43:57 What it says on the web page is correct, arewenothorses1. `Almost fully' means just that. 20:44:55 there was a nice table someone compiled recently rating many scheme implementation based on a number of things including conformance, but can't find it just now 20:44:59 MIT Scheme does not know how to generate files that are executable by your favourite operating system, but you can save an image of Scheme and write a brief shell script that starts up that image with some arguments. 20:45:18 arewenothorses1: I have created complete .app bundles from Scheme source using PLT Scheme. It's a documented and fairly easy process. 20:45:36 Actually, it's quite easy. 20:45:42 I think there is support in the Git repository now for making .app bundles, but I don't know. 20:46:19 -!- visof [n=visof@41.238.233.74] has quit [Connection timed out] 20:46:44 I'm thinking of using some Scheme implementation to have executables to participate in Hutter Prize competitions, which requires a stand-alone executable for *nix-like systems that accepts file to compress as its parameter. 20:47:09 I was able to produce .bin files with MIT Scheme, but can't launch them the usual ./executable way. 20:47:24 *competition 20:47:28 There is no such thing as a `stand-alone executable'. Presumably these folks intend to run the file you send them on a particular machine, a particular operating system, a particular set of system libraries, &c. 20:47:39 That's an odd requirement; very few actual programs are composed of just one file. 20:47:42 (Well, the universe is a stand-alone executable, but that's the only one.) 20:47:48 =) 20:47:51 (...maybe.) 20:48:02 visof [n=visof@41.238.233.74] has joined #scheme 20:48:09 (I would guess that it's not.) 20:48:23 Well, in that case, a more correct form of my question would be how to produce Scheme executable that would work on a conventional Linux/BSD machine? 20:48:24 It is at most the only one we have observed. 20:48:41 (that contradicts the very definition of Universe) 20:48:55 Or I guess I'm understanding it as multiverse. 20:49:18 arewenothorses1: Are you still including this silly single-file requirement in your question? 20:49:30 Yup, unfortunately it's not mine. 20:49:37 arewenothorses1, a single file that will run on any (GNU/?)Linux distribution, any BSD variant, &c.? Even if you identify a particular instruction set, you're not likely to find such a beast matching that criterion. 20:50:21 *capable of producing individual executables that would run on such systems 20:50:24 arewenothorses1: Is the program, once invoked, allowed to generate temporary files? 20:50:36 Didn't mean a universal one, sorry. 20:50:36 Yes. 20:50:45 Up to 10GB, but that's beside the point. 20:51:14 Not really, if your "single executable" merely decompresses the actual program files and then invokes them. 20:52:16 I meant that the size limit is beside the point, taken that it can. =) 20:52:45 It shouldn't rely on external executables, that is, so no cheating would take place. 20:53:21 libraries are external executables, be realistic 20:53:40 If they're included within one package, I guess that's ok. 20:53:55 Like Mac OS X .app, I guess that's ok. 20:53:56 I think you mean dependencies that are not likely already there or shipped with should be avoided 20:54:04 Yes! Precisely! 20:54:09 Which is always assumed 20:54:47 ultimately that could include shipping an interpreter, for example 20:54:57 For I could implement my own Scheme dialect that would some of the heaviest functions in it, and cheat by having a lower size of the file I submit for a contest. 20:55:18 Is there a way to create Scheme executable without shipping an interpreter? 20:55:28 I've already answered that once 20:55:41 Do some of your own research for once 20:55:46 I'm sorry. 20:55:47 kencausey: Back off. 20:55:55 sorry 20:56:10 It's just that is the basis of my question. =) 20:56:24 arewenothorses1: Is your question actually "how do I generate a single ELF (or Mach-O) executable from my Scheme program that does not link to any libraries that are not likely to be found on a typical operating system installation as appropriate?" 20:56:37 Or is it "how do I ship the MIT Scheme kernel with my .bin file?" 20:56:50 It's the first one. 20:57:24 My sincere suggestion is to tell whoever is imposing this requirement on you that the requirement is pointless and absurd. 20:57:25 (Probably you want to ship .com files, not .bin files, anyway.) 20:58:05 It's sort of a cheating prevention. 20:58:07 But I agree. 20:58:07 http://community.schemewiki.org/?category-implementations 20:58:25 arewenothorses1: How on earth is it cheating prevention? 20:58:37 (Or anywhere other than Earth for that matter.) 20:59:40 It's absolutely trivial to take arbitrary files and embed them in an executable using objcopy. With some hacking, there's no reason you couldn't make this technique work with MIT Scheme too. 20:59:40 The size of the resulting file is used for metrics of success. Relying on some heavy functionality in libraries that are not likely to be found on the production system could allow for reduced size. 21:00:05 Size fo the exectuable? 21:00:08 er, "of" 21:00:14 kencausey: Thanks for the link! I guess if I'm using a C++ implementation, I would achieve the same result someone writing C++ code would. 21:00:28 Yes. 21:00:38 well, not exactly, but probably close enough 21:00:44 http://prize.hutter1.net/ 21:00:59 Sorry, should have posted it along with my first question. =) 21:01:04 In that case, shipping an interpreter is probably a *good* bet, since it's likely that compressed program text will be much smaller than an executable binary produced from it. 21:01:30 In any event, I don't see how the single-file thing has to do with size. It's not exactly rocket science to compute the size of a directory. 21:01:38 arewenothorses1, the only difference between distributing a single executable file, and a directory of files of which one is executable and uses the others, is the keystrokes that the user must type to invoke the whole shebang. 21:02:08 You can always turn a directory of files into a single executable file by writing a program that contains the contents of the directory and recreates it and then reduces to executing the real program -- it's just an extra step that takes more (irrelevant) work than typing `cd foo && ./bar' on the user's part. 21:02:51 Create a Linux or Windows executable of size S < L := 15'949'688 = previous record. is how they define it. Quite ambiguous. 21:03:24 I'm often asked this question about single-file executables, and I've yet to encounter an explanation for the requirement that doesn't involve unclear thinking. 21:04:51 chandler: I had much the same question years ago, it's based in lack of experience. 21:05:08 arewenothorses1: In any event, since the size of the executable seems to be included in the metric, I'd advise you to look for a small interpretive implementation. 21:05:31 I hear Chibi Scheme causes feelings of ire to arise in a large number of people in recent times. (That is, it's all the rage these days.) 21:06:16 kencausey: Yes, I'm afraid I'm only starting my explorations into the world of algorithms (I'm a mathematician originally), so my lack of experience shows in unclear questions I come up with. 21:06:44 If you want to squish everything into a single executable, use objcopy to convert the Chibi library source and your program source into object files, possibly after running them through deflate, and have your executable decompress them right away. 21:07:00 arewenothorses1: I'm not blaming you; I'm blaming the contest organizers. 21:08:12 arcfide [n=arcfide@fl-76-2-117-102.dhcp.embarqhsd.net] has joined #scheme 21:08:32 -!- visof [n=visof@41.238.233.74] has quit [Connection timed out] 21:09:05 Thank you, chandler, Riastradh and kencausey. Will be giving some of the lighter implementations a try. As I understand it, I'd have to ship an interpreter as a part of my executable, but there seems to be permissible in the rules of the contest. Interpreters don't seem to be heavy anyway. 21:09:17 *that seems 21:09:18 In case nobody looked -- the goal of that thing is to compress a large text into a small executable file, so it seems perfectly fine to lump up a whole directory of stuff into a tar file, then add a header that will extract that stuff into however many files you want for the actual execution. 21:09:54 Yes, they even mention temporary space of 10GB in the requirements. 21:10:03 visof [n=visof@41.238.233.74] has joined #scheme 21:10:03 Meaning that it can be allocated for that. 21:10:39 In that case you can do anything you want -- packaging the tree in a tar file and making a shell script that extracts and runs stuff from it is easy. 21:11:31 If you want to see an example of that, you can look at the PLT installers for linux -- they're basically a shell script that contains the archive in it, and will extract itself when you run it. 21:12:30 They should include PLT Scheme interpreter as well, as I seem to understand it now. 21:13:04 If by "they" you mean the competition organizers, then I doubt they would. 21:13:24 But that shouldn't be a problem, since you can compress whatever you want this way. 21:13:25 eli: How big is the PLT Scheme runtime library for a normal Scheme application? 21:13:48 eli: I mean, I remember that there were these shared libs that you could install separately from the PLT Scheme distribution, but are those still around? 21:14:57 eli: PLT installers = "they." 21:15:08 eli: But I guess I'm confusing the terms runtime and interpreter. 21:15:43 arewenothorses1: In this case, the plt installers certainly include a Scheme "interpreter". 21:15:47 arewenothorses1: I'd go even further than that -- it seems to me that *compression* is the hard part; and that you can just create an archive that is dumbly extracting the content somehow; so you can use any implementation of any language that you feel comfortable with, as long as you make it produce code that can run standalone. 21:17:24 Yes, compression is the point of the challenge. I picked Scheme, as I like it more than C. 21:17:25 arcfide: I don't know how big it is, I haven't checked in a while. The mzscheme executable on my machine is 2.7mb. (That's not doing the shared library build.) 21:17:47 Ruby, the language with which I have practice so far is too bulky for this, but since SICP, I'm in love with Scheme. 21:18:39 Let's all hug Scheme! 21:18:46 =) 21:19:33 arcfide: and the shared libraries that you refer to were used to make it easy to create a small installer with all the runtime support for running code, but we moved since then to having an in-scheme solution: you can compile your code into an "installer" that has all the necessary stuff, and this installer is a tar file on linux, a zip file on windows, and a dmg file on macs. 21:19:59 eli: Now that's nifty! 21:20:22 arewenothorses1: So there you go -- write code that produces the compressed data in a format that is easy to uncompress, and make the uncompression part written in C or something. 21:21:04 arewenothorses1: For example, it wouldn't make much sense to have it include a full PLT installation which would waste most of your precious 16MB. 21:22:45 So Scheme can be outputting my results directly to .zip or .tar. 21:22:55 eli: So, to install a progarm built like this, would you just extract the archive to some location, and execute the appropriate file in that directory? 21:23:12 eli: And that includes the runtime environment, right? 21:23:35 eli: So each application gets its own runtime library, in the Mac Application style? 21:24:06 reddit. com/r/gaming/comments/akcaj/extralivesorg_is_having_a_48hour_zelda_marathon/c0i0rqm 21:24:39 oops, wrong tab, sorry 21:24:56 arcfide: Yes -- you get a file that contains everything needed to run the code. 21:25:40 arewenothorses1: Well, I doubt that you can get much improvement if you produce a zip file of the original corpus. And certainly not a tar file, since it's not compressed. 21:26:13 Although you might get a little further if you use one of the common zipped formats, and instead spend more time computing optimized dictionaries etc. 21:28:56 Thanks, will be brainstorming now. The packaging part is after all the last one. =) 21:29:20 MrFahrenheit [n=RageOfTh@users-33-232.vinet.ba] has joined #scheme 21:29:40 Exactly. 21:30:24 johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has joined #scheme 21:30:56 arewenothorses1: I have to wonder if this is the right way to go about this. Unless you can produce the data entirely algorithmically then you have to start with some amount of data. That has to be added to the size of the executable/script/etc for teh final total. To make that work you would need I highly highly tuned interpreter that doees no more than you need. 21:30:57 -!- johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has quit [Client Quit] 21:31:12 Alternatively scheme to C is not likely to produce the most compact executables 21:31:53 Assuming this contest is approaching it's limit, I suspect you are reduced to assembly coding, unless again the data can be generated in some amazing algorithmic fashion. 21:32:01 cephalopod [i=42a1d3ae@gateway/web/freenode/x-zxfpptwqadskjojn] has joined #scheme 21:33:05 Well, that's sort of the point - to extend the boundaries of compression by find that amazing algorithmic approach. 21:33:13 (the point of the context, that is) 21:33:17 *finding 21:33:35 Thus producing it algorithmically. 21:33:36 OK, well if you have good ideas in that direction, then keep on with it 21:34:13 I haven't looked at the enwiki8 thingy, I have no idea of the character of the desired result 21:34:20 Not sure I can win, but I view it more as an educational exercise and Scheme is the language I'd like to master, so that's what my choice is motivated with. 21:34:54 OK, fine goal 21:36:39 kencausey: The data is always produced "entirely algorithmically". Compressed files can be taken as "an algorithm" that produces the original text. 21:36:53 arcfide: do you have a "phlog", by any chance? 21:37:05 I mean, with no or very very little starting data (outside of the algorithm) 21:37:27 The point being that the size of the entire shippable (data and executable) is the metric 21:38:50 Right, which is why it's easier to stick with a small extraction machine at the receiving end. 21:38:56 klutometis: I have a Blog, but I have not been convinced to write a phlog yet. 21:39:56 And assuming a reasonable setup, then even writing the extraction machine in C and shipping compressed source for that C code would be easier and smaller than going to to assembly. 21:40:02 arcfide: thought you might get a kick out of this: gopher://gopher.4d2.org/1/wp2gopher/ 21:40:02 s/to to/down to/ 21:41:55 LOL, the telnet is rather interesting. 21:42:02 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 21:43:13 klutometis: I have considered doing something like that with slogger, since it is easy to change the output format, but I'm not sure that I want to. :-) 21:43:39 klutometis, are you the one who claimed to religiously follow my blag? 21:44:32 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 21:44:35 Riastradh: Have you posted your paredit stuff to any of the major newsgroups or mailing lists frequented by Schemers? 21:45:12 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 21:47:04 Riastradh: yes, in the sense that i actually had a eratic polling schedule for updates; i now see that there are new posts 21:47:21 Actually, I made a few edits throughout the whole document. 21:47:23 Have fun finding them! 21:47:39 no diff? thanks 21:48:19 -!- pbusser [n=pbusser@ip138-238-174-82.adsl2.static.versatel.nl] has quit ["Client Quit"] 21:55:49 lisppaste: url? 21:55:49 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 21:57:10 arcfide, no, I haven't. Anyway, everyone who could possibly be interested already avidly reads my blag, so that would only be redundant! 21:58:59 klutometis pasted "thank god for mountain view's diff machine" at http://paste.lisp.org/display/92898 21:59:17 Riastradh: voila! 21:59:44 Now you've gone and violated the copyright, klutometis. I'm going to send some RIAA agents to bang down your doors with their fists of DeathMCA. 22:01:23 Riastradh: too bad i'm protected by a +4 spell of fair use; congratulations, btw, on the en-dash in your copyright notice 22:01:49 Thanks, I'm very proud of that typographical achievement. 22:02:46 arcfide, I downloaded a file called arctic-somethingorother.frob.xz. What do I do with such a file? 22:03:22 Riastradh: who is that coercing party, btw, who overcame your anti-blaggery inertia? 22:04:18 I tried feeding it to gzip, which chewed a little and then spat it out. I tried eating it myself, but the case of my MacBook was too tough for me to chew, so I too spat it out. 22:04:45 Riastradh: For what it's worth, I think a paredit mailing list would be swell, and it's my guess that you need only ask the common-lisp.net administrators to set one up if you'd like someone else to run it. 22:05:02 klutometis, I only dimly remember, but I think that both rotty and forcer were involved -- it was some very strong Germo-Austrian coercion, you see. 22:05:04 The program you're looking for is called "xz", for what it's worth. 22:05:28 I don't have a program called `xz'. It is only by luck that earlier this year, OmniWeb began to support Gopher, incidentally. 22:07:09 It still seems to be a little shaky; I've crashed the current version a few times by clicking on Gopher URLs. 22:07:38 sepult [n=user@xdsl-87-78-28-82.netcologne.de] has joined #scheme 22:08:14 In any event, since you're trying to get a collection of code distributed by someone who is determined to create as many roadblocks as plausable to the actual use of said code, you'll need to obtain and compile xz next. 22:08:46 Riastradh: You extract it, of course, using a recent version of Tar or the xz archiver. 22:09:14 I have many recent versions of many tars on many machines, no more than two years old, and none of them knows anything about this `xz' concept. 22:09:34 Riastradh: I don't know what programs on mac support Xz files, actually. On Windows, it's 7-zip, and on Linux it is xz. 22:09:44 It was known as lzma. 22:10:03 Stuffit might do it. What archive are you wondering about? I usually ship gz files with my xz archives. 22:10:24 "The Unarchiver" handles it on my system. You can find it here: http://wakaba.c3.cx/s/apps/unarchiver.html 22:10:25 You know, if you're trying to obscure your code, you could just encrypt it with AES or something. 22:10:33 You wouldn't even have to install any fancy new software to do that! 22:10:49 Everything supports AES these days. 22:10:51 -!- MrFahrenheit [n=RageOfTh@users-33-232.vinet.ba] has quit [Read error: 54 (Connection reset by peer)] 22:11:07 MrFahrenheit [n=RageOfTh@users-33-232.vinet.ba] has joined #scheme 22:11:13 -!- stepnem [n=stepnem@88.103.132.186] has quit [SendQ exceeded] 22:11:44 stepnem [n=stepnem@88.103.132.186] has joined #scheme 22:14:01 I must have closed the window I was looking at. 22:14:35 I think I was looking here: . 22:14:42 QinGW1 [n=wangqing@211.151.251.254] has joined #scheme 22:20:26 Riastradh: Yes, Gzip versions of the XZ archives are available for that directory. 22:20:41 chandler: You think I put up that many roadblocks? :-) 22:20:59 How about gzipped tarballs that one can fetch by a protocol still in use today, such as the HTTP or the FTP? 22:21:17 Well, I wasn't quite accurate. The use of Gopher is amusingly implausible. 22:21:26 *gopher*? 22:21:48 Yes, elly. arcfide `publishes' stuff with Gopher. 22:21:57 Riastradh: . 22:21:58 -rudybot:#scheme- http://tinyurl.com/yae3tje 22:22:05 xz doesn't seem to be as big a deal; I just noticed a number of xz-compressed archives on ftp.gnu.org this morning; however, they were all accompanied by gzip-compressed versions of the same. 22:22:18 arcfide is a huge hater, though 22:22:21 arcfide, where are the gzipped files? 22:22:38 Riastradh: Right next to the xz files. 22:22:49 I don't see any .gz files listed there. All I see are .xz files. 22:22:57 Neither do I. 22:23:04 Eh? 22:23:06 I see two. 22:23:30 22:23:32 -rudybot:#scheme- http://tinyurl.com/ye5ztmy 22:23:40 arcfide: Also, that HTTP gateway wants me to agree to use the information for "private non-commercial use only", which is an additional restriction you probably don't want to place on your code. 22:23:53 Now I don't see any: 22:23:57 Proxy could not access resource 22:23:57 Sorry, there was a problem accessing this resource. 22:23:57 timeout on host gopher.sacrideo.us:70 22:24:15 OK, now it's back. 22:24:26 Now I see the .gz files. Perhaps I just couldn't read. 22:24:31 why isn't gopher dead yet? 22:24:53 Because arcfide is keeping it alive, elly. 22:25:38 Anyway, I don't see what advantage this has over (say) FTP for distribution of code. 22:25:44 that is, in some sense, the wrong level of 'why' 22:25:50 Hmm. Now I see them too. But I'm having problems fetching them. 22:26:01 Riastradh: What's giving you trouble? 22:26:02 OmniWeb just says `resource unavailable' when I try to fetch the .gz files. 22:26:08 Not sure what that's supposed to mean. 22:26:15 buggarage [n=user@xdsl-87-78-28-82.netcologne.de] has joined #scheme 22:26:19 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:26:33 Hrm, I'll check it out. 22:26:34 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 22:26:34 I can't access the Gopher server at all in Firefox now. It seems to be intermittently up and down. 22:26:49 Weird, okay, I'll go ahead and see what's up. 22:26:51 And I can't use curl or anything to get a clearer description of the problem, because curl doesn't support gopher. 22:26:53 Or down, as the case may be. 22:27:09 Wouldn't it be easier for you just to put these on an HTTP server or an FTP server somewhere? 22:27:31 That way, you can even take advantage of code that someone else has already written to reliably serve files by the HTTP or by the FTP. 22:28:23 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Client Quit] 22:29:14 Riastradh: The problem lies in something I think I did to my server, not with the gopher code specifically. 22:29:23 -!- visof [n=visof@41.238.233.74] has quit [Read error: 54 (Connection reset by peer)] 22:29:28 arcfide: why do you do this? 22:29:41 elly: Do what, mess with my server? 22:29:50 No, she means self-flagellation. 22:30:15 yes, that 22:30:19 the thing where you use gopher 22:30:24 arcfide: do you mind adding your server to ? 22:30:36 it might give us some good ol' anachronistic press 22:30:38 -!- QinGW [n=wangqing@211.151.251.254] has quit [Connection timed out] 22:31:11 saint_cypher [n=saint_cy@c-24-15-36-247.hsd1.il.comcast.net] has joined #scheme 22:32:07 Hmm. I'm a little far from my laptop screen, thanks to a certain furry purry orange barrier, and consequently read `saint_cypher' as `saint_gopher' at first. 22:33:03 That sounds about right to me: in order to be canonized, you first have to be dead. 22:34:22 Gee, I'd have thought that canonizing someone would kill him pretty quickly, unless it were with the rudimentary cannon with which Kirk shot the giant rubber lizard on that alien planet with handy deposits of sulphur, diamond, and potassium nitrate. 22:35:11 I've seen this midget / cannon schtick often enough to know that cannonization does not necessarily result in death. 22:35:43 think of all the extra screening Starfleet personnel would have to go through if Kirk hid the cannon in his ass then tried to fire it 22:35:44 Yeah, but that could be described as a modern analogue of self-flagellation. 22:35:52 overdrive [n=user@81.202.74.13.dyn.user.ono.com] has joined #scheme 22:36:22 he would surpass the panty bomber 22:36:22 this is fascinating: googling for "cannon" brings up canon.com as the first result; what insidious massaging of input is at work here? 22:36:51 klutometis: poor spelling and our corporate overlords and Google's general bigotry against weaponry 22:37:03 The kind where Google is most interested in delivering results that make them money, which is not necessarily the same thing as results that match your input query. 22:37:15 It also has a lot to do with most of Google's users being idiots. 22:37:22 chandler: unless the person waving around money deals in guns 22:37:33 And that in turn, chandler, has a lot to do with Sturgeon's law. 22:37:41 Riastradh, if you don't mind, would you try to grab the gzipped file again? 22:37:48 Done. 22:38:00 +this +is +why +all +google +queries +need +to +be +written +with +lots +of +obnoxious +syntax +these +days, +because +Google +will +otherwise +"massage" +your +input. 22:38:46 Riastradh: Could you get it? 22:38:49 No. 22:39:31 Okay, thanks, how did you try to retrieve it? 22:39:33 Same problem, fetching from two different hosts topologically distant on the intertubes, so it's not a transient network problem. 22:39:39 I clicked on a link in OmniWeb. 22:39:41 (multiple times) 22:40:13 Right, and was this via the HTTP proxy, or was this the OmniWeb gopher support? 22:40:19 The latter. 22:40:28 rdd` [n=user@c83-250-152-128.bredband.comhem.se] has joined #scheme 22:40:34 It works in Firefox, so I'd chalk it up to OmniWeb gopher sketchiness again. 22:40:47 I can get the .xz files. 22:40:55 Okay, yep, thanks. :-) I'm going to have to test with OmniWeb. Whatever OmniWeb is sending is causing Goscher to bail. 22:41:26 It works on Firefox, Lynx, and Squid. 22:41:32 I can't imagine it would be sending anything more than one character off from the query for the .xz file. 22:41:32 And now I can't seem to get anything from your Gopher server. 22:41:40 You have a log of requests, don't you? 22:42:00 Can you please consider offering a direct HTTP or FTP download location? 22:42:01 I'm going to play with whatever you've been sending and I'll see what's wrong. 22:42:40 You could just type `rsync -avz arcrepo/ another@host:public_html/arcrepo'... 22:45:20 Riastradh: 22:45:40 Hey, it works! 22:45:45 If a substantial portion of searches for 'cannon' are intended to find Canon's website, then I would consider that a 'result that matches my input query'. 22:45:50 Fancy that. 22:45:53 ...although it gives me a tarbomb. 22:46:00 :-O 22:46:02 No... 22:46:09 Good thing I developed a habit of reflexively checking for those. 22:46:31 That one is OmniWeb's fault for sure. 22:46:37 Ack!!! 22:46:50 I used `curl', actually, chandler. 22:46:51 *arcfide* quickly hacks his Makefiles. 22:47:41 Riastradh: Really? So did I, and it downloaded correctly. 22:48:23 Safari / OmniWeb, on the other hand, constantly munges gzipped tarballs, even if the server sends a correct Content-Type header and not a Content-Encoding: gzip header. 22:48:27 chandler, curl successfully downloaded a tarbomb for me. I have a hard time imagining how curl could affect whether the tarball it downloads is a tarbomb or not... 22:48:36 I'm not sure what you mean by a "tarbomb" then. 22:48:52 extremely large download? 22:48:56 A tarball that extracts into the current directory, rather than into a subdirectory of the current directory. 22:49:02 or not 22:49:05 Oh, it's one of those... yes. That. 22:49:26 I've never heard this term before. 22:49:40 What do you call them? 22:49:56 I hesitate to answer; there might be small children about. 22:50:20 tarbomb is the cannonical name 22:50:44 The answer that hasn't been banned in boston is "the reason why many years ago I developed a habit of using tar tvf first" 22:51:22 What, you call them mooninites? 22:51:57 That might be a good answer, but I was using "banned in boston" in an anachronistic sense. 22:52:58 Riastradh: isn't sturgeon's law just a special case of the pareto principle? 22:53:10 Riastradh: I've released a version that doesn't have that problem. 1.2.1 extracts into arcrepo-1.2.1. 22:53:39 *arcfide* shudders. 22:53:48 I hate those things, I'm afraid that escaped my thought. Sorry. 22:54:02 klutometis: Pareto is 80:20; Sturgeon's law is 10:90 (or 90:10, depending on whether we are measuring smarts or stupidity). 22:55:14 chandler: oh, ok; i thought pareto was generally k:100-k 22:55:39 I usually hear it as "80:20". 22:55:41 -!- arewenothorses1 [n=Adium@125-202-132-95.pool.ukrtel.net] has left #scheme 22:55:46 arewenothorses1 [n=Adium@125-202-132-95.pool.ukrtel.net] has joined #scheme 22:55:52 Hmm... Interesting timeline at . 22:56:21 Most SRFIs not finalized (or withdrawn) until long after their draft periods have ended. 22:56:36 Also, most sentences typically verbs. 22:56:55 Most, but not all. 22:57:24 Troodat. 22:58:47 -!- rdd` [n=user@c83-250-152-128.bredband.comhem.se] has quit [Remote closed the connection] 22:59:06 So why is argument parsing such a !@#&%!& pain? 23:02:01 rdd` [n=user@c83-250-152-128.bredband.comhem.se] has joined #scheme 23:03:57 -!- rdd` is now known as rdd 23:05:21 .repl 23:05:41 .repl? 23:05:49 #schemerepl is no more, as far as I know. 23:06:55 It died with sorbet, did it not? 23:07:00 Right. 23:10:14 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 23:11:27 arcfide: voila: : "now with more goscher". allow me to be your publicist if you are shy of self-promotion and -aggrandizement. 23:11:28 Riastradh: or until after their draft periods have begun, at that. 23:13:20 klutometis: does not "modern" + "gopher server" = oxymoronic? 23:13:36 QinGW [n=wangqing@203.86.89.226] has joined #scheme 23:13:37 klutometis: I'm afraid that I am just slower than you. :-) 23:13:41 No, it's oxymodernic! Kind of like post-modernicism. 23:16:15 Riastradh: if you weren't aware that the author of srfi-37 had discovered the higgs boson and authored his srfi from approximately negative three years, let me relieve you of your ignorance 23:16:49 zbigniew: again, i think it's a higgs boson thing; the author is clearly living in the early nineties, yet writing from the late aughts 23:17:58 He should get a message back to himself that his implementation is kind of buggy 23:18:39 davazp [n=user@95.Red-83-55-182.dynamicIP.rima-tde.net] has joined #scheme 23:19:27 have you actually tried the thing? 23:20:10 this in funny: " * PyGopherd - the other modern Gopher server 23:20:26 that's sort of like "the other white meat," i take it 23:21:18 the other white meat being soylent green, of course 23:21:46 klutometis: I sure have 23:22:17 zbigniew: oh, that's right; i remember you had a gopher server up back in the day 23:22:20 with counters and other games 23:22:39 klutometis: oh I was talking about srfi-37, which doesn't (superficially) have to do with gopher 23:23:35 zbigniew: oh, interesting; do any of those bugs persist in chicken? 23:23:38 relatedly, my gopher server is still up 23:23:46 i seem to remember they were using a customized version 23:23:48 zbigniew: link? 23:25:49 klutometis: oh no, i'm not falling for that trick 23:26:40 klutometis: they do persist, but I added some tests to the egg which demonstrate some of the problems 23:26:55 johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has joined #scheme 23:27:59 apologies for a plt-specific question, but likely someone here knows the answer... i'm using a parser generated with (src-pos) and a lexer generated with (lexer-src-pos), yet I still get a "parser: expects argument of type ; given #" error. any ideas? 23:28:09 unfortunately, i cannot remember the issues in detail 23:28:30 -!- sepult [n=user@xdsl-87-78-28-82.netcologne.de] has quit [Connection reset by peer] 23:28:37 if I switch to using 'lexer' and eliminate '(src-pos)' it works fine 23:29:18 johnnowak, you would probably be best off asking the PLT mailing list. 23:29:56 -!- QinGW1 [n=wangqing@211.151.251.254] has quit [Connection timed out] 23:31:04 zbigniew: speaking of eggs and tests, one of the things holding me back from chicken 4 is the fcgi egg; p. bex mentioned there aren't any tests 23:31:16 -!- choas [n=lars@p5B0DC32B.dip.t-dialin.net] has quit ["leaving"] 23:31:20 you wouldn't be familiar enough with it to port it, would you? 23:31:53 argh, I was lacking a 'return-without-pos'. never mind. 23:31:54 -!- buggarage [n=user@xdsl-87-78-28-82.netcologne.de] has quit [Connection timed out] 23:32:48 no, i have not attempted to use the fcgi egg... i think sjamaan said the code quality was terrible, which was more an obstacle to porting it 23:33:53 interesting; i wonder if it brooks a rewrite then 23:33:59 -!- QinGW [n=wangqing@203.86.89.226] has quit [Success] 23:34:27 maybe i'll have to get off my ass and learn chicken 4; main difference is lack of syntax-case, right? 23:34:38 zbigniew: fcgi has since been ported 23:34:45 sjamaan: oh, really? nice 23:35:06 klutometis: I think I told you. Perhaps it got lost in all the netsplits 23:35:24 sjamaan: maybe; in any case, great news. did you end up doing it? 23:35:33 sjamaan: yes, while you were typing, I was svn'ing up 23:35:38 yeah, I did :) 23:35:59 how did you cope with the lack of unit tests? 23:36:07 prayer 23:36:08 I didn't test it thoroughly but it appeared to work 23:36:12 :) 23:37:50 nice; is chicken 4 going to be a big shock coming from chicken 3, or is it more or less the same modulo syntax-case and irregex? 23:38:09 you were using syntax-case before? 23:38:40 rarely 23:38:46 and only trivially 23:38:53 ok 23:38:56 -!- masm [n=masm@bl7-94-196.dsl.telepac.pt] has left #scheme 23:39:29 It's not that big a change 23:39:31 it's quite similar, and you don't even *have* to make modules of your own code 23:39:35 -!- overdrive [n=user@81.202.74.13.dyn.user.ono.com] has quit [Remote closed the connection] 23:39:52 oh, in that sense: i used syntax-case module all over the place 23:40:01 exclusively, in fact 23:40:20 Did you use it to get syntax-rules? 23:40:21 that would need to be converted to native modules, then 23:40:23 what's the preferred method for modularizing code, now? 23:40:26 Or really for syntax-case? 23:40:40 syntax-rules; modules are another story, though 23:40:48 zbigniew: is there a wiki page on native modules? 23:40:57 That's okay; syntax-rules is now available natively 23:40:58 'Modules and macros', kind of 23:41:20 http://chicken.wiki.br/man/4/Modules%20and%20macros 23:41:21 You can just get rid of the (use syntax-case) and it'll work 23:41:37 Easier to just look at existing eggs 23:41:50 zbigniew: good idea 23:41:54 -!- johnnowak [n=johnnowa@user-387hdp5.cable.mindspring.com] has quit [] 23:42:54 also, you can use the totally awesome chicken-doc extension to get offline docs on any documented core or egg identifier 23:43:00 :) 23:43:03 my unbiased opinion 23:43:28 nice; native modules don't look that different from syntax-case modules, actually 23:43:36 though i don't see an include directive 23:44:19 There still is an include directive 23:44:25 oh, ok; good 23:44:55 porting shouldn't be too bad, then; i hope 23:45:14 i'm watching over three companies that depend on chicken 3; maybe i can charge some consultantship fees for upgrading 23:45:17 Porting user code isn't that much work 23:45:24 Porting eggs is more work 23:45:29 interesting 23:45:30 :) 23:45:31 the only major difference is that REQUIRE-EXTENSION now expects the required code to be modularized; if it's not, you have to use REQUIRE-LIBRARY 23:46:06 hmm; are there cases where it's inappropriate to modularize code? 23:46:11 Some eggs have changed, some have been replaced by improved ones, and some simply have not been ported 23:46:44 Usually you'll want to modularize, I think 23:47:38 klutometis: if you have old library code laying around you don't feel like modularizing, require-library is a quick solution 23:47:45 oh, ok 23:48:29 And if you need more help, we're here :) 23:49:10 sjamaan: thanks 23:54:06 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme