00:04:45 Summermute [n=scott@98.204.67.114] has joined #scheme 00:05:09 -!- wingo [n=wingo@94.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 00:10:47 -!- tabe`` [n=user@adel.fixedpoint.jp] has quit [Remote closed the connection] 00:10:59 tabe`` [n=user@210.188.204.133] has joined #scheme 00:18:00 -!- ecyrb [i=bamoore@freeshell.org] has quit ["Eject! Eject! Eject!"] 00:19:08 -!- mabes [n=mabes@66.236.74.194] has quit [Remote closed the connection] 00:19:16 -!- neilv2 [n=user@fpos-xp.csail.mit.edu] has quit ["Leaving"] 00:21:28 bleh... why is the kernel 370 megabytes of source... 00:22:16 mabes [n=mabes@66.236.74.194] has joined #scheme 00:23:44 -!- samth is now known as samth_away 00:24:51 dmoerner [n=dmr@91-107.res.pomona.edu] has joined #scheme 00:26:07 MIT Scheme now has a native AMD x86-64 compiler back end in Git. 00:27:49 -!- reid04 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has quit [Connection timed out] 00:28:57 reid04 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has joined #scheme 00:34:43 -!- mabes [n=mabes@66.236.74.194] has quit [Remote closed the connection] 00:34:58 -!- gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has quit [Read error: 110 (Connection timed out)] 00:39:25 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 54 (Connection reset by peer)] 00:39:50 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 00:44:51 lighterthanair [n=lightert@pool-72-68-194-89.nycmny.east.verizon.net] has joined #scheme 00:46:55 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 00:51:28 gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has joined #scheme 00:53:35 Arelius: FWIW, Guile supports native threads 00:54:30 sstrickl [n=sstrickl@pool-129-44-182-54.bos.east.verizon.net] has joined #scheme 00:59:00 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:00:07 mejja, there's a lovely surprise for you in Git. (Well, I kinda spoilt it last week, I suppose.) 01:00:20 Does it build? 01:00:24 I mean: in MIT Scheme's Git repository, not in Git itself. 01:00:27 Yes, of course it does. 01:01:03 Just start with LIARC on an x86-64 machine, check the sources out afresh, and run `etc/make-native.sh' from the src directory. 01:01:15 -!- lighterthanair [n=lightert@pool-72-68-194-89.nycmny.east.verizon.net] has quit [] 01:01:24 Then proceed to break it, and let me know how you did it. 01:03:50 -!- aack [n=user@a83-161-214-179.adsl.xs4all.nl] has quit [Remote closed the connection] 01:05:37 So is it 'etc/make-liarc-dist.sh; etc/make-native.sh ' or 'etc/make-liarc-dist.sh; etc/make-liarc.sh; etc/make-native.sh;' ? 01:07:09 What do you already have installed? 01:07:55 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 01:08:09 System wide default is i386 on my x86_64 01:09:45 In that case, fetch the 20090107 LIARC distribution, run `etc/make-liarc.sh' in it, run `make install DESTDIR=/tmp/destdir', add /tmp/destdir/usr/local/bin to the end of your PATH and set MITSCHEME_LIBRARY_PATH to /tmp/destdir/usr/local/lib/mit-scheme-c, and then run `etc/make-native.sh' in a Git checkout. 01:10:03 ... 01:11:38 Or in a Git checkout, run `etc/make-liarc-dist.sh; etc/make-liarc.sh; make install DESTDIR=/tmp/destdir; make maintainer-clean; PATH=... MITSCHEME_LIBRARY_PATH=... etc/make-native.sh'. 01:11:39 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 01:12:08 But that requires building the LIARC distribution, which takes time that simply using the 20090107 LIARC distribution will not require. 01:13:24 -!- masm [n=masm@bl7-200-195.dsl.telepac.pt] has quit ["Leaving."] 01:14:05 *mejja* needs a new etc/ script... 01:14:21 ? 01:14:38 *mejja* is lazy 01:15:00 It would be nice if all the bootstrapping could happen within the source tree, but it hasn't been set up that way. 01:15:07 walk/compound: Unknown kind of object #[reference-trap #x0] 01:16:39 Neat. What did you do? 01:17:55 sh etc/make-liarc-dist.sh 01:19:27 *mejja* verifies 01:19:52 Maybe there's a problem with building LIARC from i386 on 64-bit machines, although that sounds pretty weird. That step worked for me, I believe. Make sure you're using clean sources. 01:20:08 Dawgmatix [n=dawgmati@c-76-124-3-89.hsd1.nj.comcast.net] has joined #scheme 01:25:07 Right. it fails. 01:25:29 In that case, just use the 20090107 snapshot for now. 01:26:57 So what's the git equivalent of 'cvs update -D "3 days ago" ' ? 01:27:41 I have no idea. Maybe you can find the commit you want to roll back to, say deadbeef, and run `git reset --hard deadbeef'. But make sure you have NO changes in the working directory. 01:27:57 (`git log' will show you the log of commits with their ids.) 01:28:11 Can you give some more context for the error, by the way? 01:28:35 ; Compiling file: "packag.bin" => "packag.c"... 01:28:37 ;walk/compound: Unknown kind of object #[reference-trap #x0] 01:28:38 ;To continue, call RESTART with an option number: 01:28:40 ; (RESTART 1) => Return to read-eval-print level 1. 01:28:44 *mejja* laughs 01:29:57 -!- saccade_ [n=saccade@dhcp-18-188-73-161.dyn.mit.edu] has quit ["This computer has gone to sleep"] 01:35:10 I see: it probably has to do with constant-folding. 01:37:16 incubot: I see: it probably has to do with constant-folding. 01:37:20 - just observe that your folding chair is not 'furniture', by some exacting definition of that class. 01:38:54 *mejja* relinks scheme. (cd /usr/local/bin; rm mit-scheme; ln -s mit-scheme-c mit-scheme;) 01:45:46 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 01:54:34 Same error. 01:56:00 Omit PRIMITIVE-OBJECT-SET-TYPE from ADDITIONAL-FUNCTION-PRIMITIVES in compiler/base/utils.scm and try again. 01:57:45 Ok. 02:03:36 -!- mrsolo [n=mrsolo@nat/yahoo/x-8172dc630ff4db80] has quit ["Leaving"] 02:06:37 -!- Dawgmatix [n=dawgmati@c-76-124-3-89.hsd1.nj.comcast.net] has quit [] 02:08:27 Works. What's next? (after sh etc/make-liarc-dist.sh) 02:10:12 jcowan [n=jcowan@72.14.228.129] has joined #scheme 02:10:14 sh etc/make-liarc.sh 02:12:01 gpaci_ [n=gpaci@gpaci-02.dsllan.toad.net] has joined #scheme 02:12:03 -!- gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has quit [Read error: 104 (Connection reset by peer)] 02:12:19 -!- gpaci_ is now known as gpaci 02:18:22 -!- mmc [n=mima@cs27122078.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 02:26:37 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 02:32:08 incubot: I like Julmust 02:32:11 it's not even doing really basic optimizations like register allocation and lambda lifting, let alone anything fancy 02:32:14 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 02:32:42 I don't understand how you can lambda-lift stuff that escapes from its dynamic context: am I misunderstanding something? 02:33:28 If you don't know all call sites of a lambda, and all lambdas of each of their call sites, and so on transitively, then you can't edit its parameters. 02:34:12 In short, you cannot. What I thought. 02:39:36 QinGW [n=wangqing@203.86.89.226] has joined #scheme 02:41:34 jonrafkind [n=jon@98.202.86.149] has joined #scheme 02:49:26 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 02:56:47 *jcowan* is still struggling with type inference. 02:57:40 arcfide [i=arcfide@99.50.230.46] has joined #scheme 03:02:31 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 03:06:16 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:11:15 gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has joined #scheme 03:13:32 mejja, progress? 03:17:14 -!- arcfide [i=arcfide@99.50.230.46] has quit [Read error: 110 (Connection timed out)] 03:18:06 timchen1` [i=tim@163.16.211.21] has joined #scheme 03:18:21 -!- timchen1` is now known as nasloc__ 03:26:41 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 03:29:58 arcfide [i=arcfide@99.50.230.46] has joined #scheme 03:32:16 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit [] 03:32:30 QinGW2 [n=wangqing@203.86.89.226] has joined #scheme 03:33:05 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 03:36:07 lighterthanair [n=lightert@pool-72-68-194-89.nycmny.east.verizon.net] has joined #scheme 03:40:35 QinGW1 [n=wangqing@203.86.89.226] has joined #scheme 03:41:09 -!- QinGW1 [n=wangqing@203.86.89.226] has quit [Connection reset by peer] 03:41:48 -!- QinGW2 [n=wangqing@203.86.89.226] has quit [Read error: 54 (Connection reset by peer)] 03:42:40 -!- lighterthanair [n=lightert@pool-72-68-194-89.nycmny.east.verizon.net] has quit [] 03:42:58 -!- QinGW [n=wangqing@203.86.89.226] has quit [Success] 03:51:44 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 03:52:44 tjafk [n=timj@e176195251.adsl.alicedsl.de] has joined #scheme 03:53:45 *mejja* sees .moc files 03:54:02 *foof* sees dead processes 03:54:14 -!- Mr_Awesome [n=eric@c-98-212-135-60.hsd1.il.comcast.net] has quit [Client Quit] 03:54:31 -!- tjaway [n=timj@e176216208.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 03:56:27 mejja, well, then LIARC is making progress cross-compiling to x86-64. 03:57:44 i see DC states 03:57:55 jcowan: chibi's syntax-rules now reports better error messages 03:58:29 woah, chibi! 03:58:42 Coolness! 03:58:58 I'm working late tonight (meeting with the Indians at 1 AM), but I'll check it out tomorrow eve. 03:59:06 *jcowan* puns on "check it out" without noticing. 04:00:10 *foof* has a presentation to prepare for so he's procrastinating by hacking on chibi 04:00:33 jcowan: oh, do you do the late-night oriental party lines, too? so fun! 04:00:53 jcowan: I didn't notice that either D: 04:00:55 "Party lines?" 04:01:09 *mejja* wonders wtf chibi is: http://chibiland.windy-goddess.net/ 04:01:20 jcowan: id est, conferenc calls 04:02:13 Videoconference, yes. I just think of them as meetings. 04:04:49 jcowan: ah, your coworkers must be reasonably sentient, then; i've long had to reconceive of my late-night meetings as daliesque surreality to maintain some sanity 04:05:02 I haven't met with this particular bunch before. 04:05:05 Or maybe I have. 04:05:11 *jcowan* is rather a stateless server these days. 04:06:28 stateless zen is a pleasant byproduct of the diaper-changing routine 04:06:42 So true. 04:06:46 *jcowan* is doing that again too. 04:12:28 Foofie [n=innocent@80.203.225.86] has joined #scheme 04:16:35 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 04:21:55 mejja: It's just Japanese slang for "small." 04:22:06 Oh, I thought it meant "toy". 04:22:26 The normal word for small, "chiisai," didn't have a nice ring to it. 04:22:51 No. It sounds like a processed cheese product. 04:24:32 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 04:25:29 *jcowan* shamefully confesses to pronouncing it chibby. 04:26:27 like cheebee ? 04:26:50 shebee rather 04:27:31 or does it have a 'K' sound, like kee bee? 04:27:41 klutometis, see, you say that about changing diapers, and all I can think of is operations and prod code rollouts going wrong again. Same language, different metaphor. 04:28:31 Is there any commonly used/respected bit-field library for Scheme? 04:28:36 It's pronounced cheebee, with the ee's slightly shorter than the English long ee, and with no emphasis on either syllable. 04:29:11 arcfide: r6rs bitwise not cutting it? 04:29:22 i say it should be pronounced "Kaye-BYE"! 04:29:47 arcfide, I went on that quest some time back and ended up just leaning on MIT's built-ins. 04:30:05 That was a long, -long- time ago, now that I think of it. 04:30:08 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 04:30:36 arcfide: or do you mean something to extra data at certian bit offsets? 04:30:54 s/extra/extract/ 04:31:23 arcfide, what do you mean by `bit-field library? 04:31:23 ' 04:31:41 arcfide: As in thxkbai? 04:32:34 leppie, if the R6RS's operations on integers as bit strings had any merit at all, it was negated by the unbelievably stupid names that were chosen for them. 04:32:34 -!- dmoerner [n=dmr@91-107.res.pomona.edu] has quit [Remote closed the connection] 04:32:34 leppie: R6RS' bit-field operations are fine, and what I want, but they are limited to (fixnum-width). I would like to see if someone has a general interface for bit-fields of arbitarary size. If not, it is easy enough to write one. 04:32:52 `bitwise-bit-count': For each bit in the integer's representation in two's-complement as a bit string (`bitwise'), do a bit count. In other words, return the integer, because 1 has one bit set and 0 has zero bits set. 04:32:55 dmoerner [n=dmr@91-107.res.pomona.edu] has joined #scheme 04:33:24 `bitwise-arithmetic-shift': For each bit in the integer, shift it by the desired count. In other words, if you are shifting it by zero, return the integer, and if not, return zero, because all the bits get shifted into oblivion. 04:33:44 *arcfide* raises an eyebrow. 04:34:08 Yeaaaaah, anyways.... 04:34:11 arcfide, I don't think the R6RS's operations are limited to fixnums, but are you looking perhaps for ? 04:34:14 arcfide: how are they limited to fixnum-width? 04:34:44 -!- foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has quit [Remote closed the connection] 04:34:50 foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has joined #scheme 04:34:57 I was just looking at an interface the other day that had the sensible procedure "foo-baz?" meaning to return the "baz?" boolean of foo. But then for setting it, it was "foo-set-baz?!" Feh. 04:35:21 leppie: Take for example 'fxbit-set?', the index into the bit-field must be a non-negative integer less than (fixnum-width). 04:35:32 not fx! bitwsie! 04:35:41 Riastradh, truly? That's -terrible- writing. 04:35:48 bitwise-bit-set? 04:35:57 gnomon, I wrote the (sarcastic) summaries. I didn't make the names. 04:36:11 bitwise-bit-set?: For each bit, ask whether the kth bit in that bit is set. 04:36:35 Obviously "bitwise" does not mean "for each bit" in those names; it is a mere pseudo-module prefix. 04:36:35 In other words, if k is zero, return the integer; otherwise, return zero. 04:36:39 Wait, we already had a name for that operation! 04:37:06 jcowan, obviously, the authors didn't think about what the word `bitwise' means. 04:37:21 Rather, they deliberately neglected its literal sense. 04:37:32 In any case, the names are patently stupid. 04:38:39 "Vector" does not mean "carrier" or "rider" in Scheme either. 04:38:41 And ridiculously verbose, as if the traditional SRFI 33 names (that use `bitwise' where appropriate) were not already verbose enough. Seriously, `bitwise-arithmetic-shift-right'? That's spelled `>>' in C -- it's no wonder people complain that C is much better than Scheme at bit-fiddling. 04:39:11 `Vector' is a type of object in Scheme. 04:39:23 Operations with the word `vector' in their name use it as a noun referring to that type, and meaning that they are operations on that type. 04:39:32 "Bitwise" is a kind of function in R6RS. 04:40:03 No, it's not. It is an adverb describing how the operation treats its integers -- but failing to correspond remotely with the English meaning of that adverb. 04:40:50 The term they were looking for is `treating integers as bit strings in their two's complement representation', but even that was a little too verbose for them. 04:41:25 So instead they opted for the incorrect term `bitwise', when it is not necessary at all to include that term (except for operations that actually *are* bitwise operations). 04:41:44 *jcowan* explains to Riastradh why the justifier is called Bolio. 04:42:05 But there aren't any ice cream shops in Boston-town called `bitwise'! 04:43:19 *jcowan* thinks "Riastradh and Bitwise" would be just the name for such an institution. 04:43:28 Possibly specializing in liver and pumpernickel ice creams. 04:43:59 That won't work too well; I'm in New York at the moment, and bitwize is in Connecticut, last I heard. 04:44:46 That didn't stop Emack, or Bolio either. 04:45:10 By all reports their connection with Boston is tenuous. 04:45:11 What do you mean? They were both developed in Cambridge in the same building. 04:45:31 About like Zippy the Pinhead's connection with Zip the Pinhead. 04:47:52 arcfide, anyway, you want to look at SRFI 33, not Section 11.4 of the R6RS. 04:48:59 arcfide_ [i=arcfide@99.14.210.69] has joined #scheme 04:49:08 http://en.wikipedia.org/wiki/Zip_the_Pinhead 04:49:08 -!- arcfide [i=arcfide@99.50.230.46] has quit [Nick collision from services.] 04:49:11 -!- arcfide_ is now known as arcfide 04:49:23 arcfide, anyway, you want to look at SRFI 33, not Section 11.4 of the R6RS. 04:49:33 curious that Zip the Pinhead was named William Henry Johnson, and Bill G is named William Henry Jackson Griffith. 04:49:44 Riastradh: Why is that? 04:49:45 Riastradh: thank you 04:50:16 Riastradh: Aside from the obvious fact that SRFI 33 has a portable implementation that extends beyond R6RS, and may have names that you consider more sane (not that I'm trivializing those concerns, of course). 04:51:02 Riastradh: Also, why was the SRFI withdrawn? 04:51:24 The SRFI was withdrawn because Olin Shivers withdrew into obscurity at around that time and withdrew all his draft SRFI work. 04:52:14 Withdrew into obscurity? 04:52:16 Okay. 04:53:18 The final/withdrawn bit is just one bit set by one person. No real semantics attached. 04:57:53 As I said, there are a couple of names that should have been adjusted; there are also some more operations that perhaps ought to have been included. But otherwise it had the right idea, unlike SRFI 60 and the R6RS. 05:03:42 *jcowan* takes notes for Thing Two. 05:04:00 jcowan: I thought you were all about Thing One? 05:04:16 As an individual, yes. But I am the chair of WG2. 05:05:00 Scheme is #-e^(pi*i)! 05:06:27 In particular, BIT-MASK should be exposed, with another operation (BIT-MASK-AT ); this is generally useful. ALL-BITS-SET? should be EVERY-BIT-SET? for consistency with ANY-BIT-SET?. Shifting should be split into separate operations with shorter names: SHIFT-LEFT, SHIFT-RIGHT, and perhaps a third operation that shifts left or right depending on the sign of the count. 05:07:15 I would expect (BIT-MASK-AT ) 05:07:29 "AT" modifies , so they should be adjacent. 05:07:46 The reason for the latter is that one almost always knows which direction in which one wants to shift, and allowing either direction is prone to error in such situations. 05:07:58 foof, true, but everywhere else the order is . 05:08:33 flippo [n=frivol@unaffiliated/flippo] has joined #scheme 05:08:37 +1 on splitting shifting into separate operations 05:10:27 Although these are trivial to define, they are also frequently used, often enough to warrant their definition rather than writing their expression in terms of other operations: (SET-BIT ), (CLEAR-BIT ), (TOGGLE-BIT ). These are in line with the BIT-SET? operation. 05:11:11 Do we want to distinguish signed right shifts (as in >> Vs. >>>)? 05:12:05 What is the distinction you wish to draw, foof? The model here is that each integer has a unique representation in two's-complement as an infinite string of bits, of which only a finite number at the least significant end are not all set or not all clear. 05:12:15 jcowan: Who's the chair of WG1? 05:12:34 (Naturally, the least significant end is the only end.) 05:14:51 Speaking of sign, there should be an operation to sign-extend an integer given the index of the sign bit. Again, easy to define, but often useful, especially when parsing binary data, and easier to implement efficiently directly than to design a compiler to recognize it. 05:15:20 (sign-extend 8 128) ;Value: -1 05:15:25 I was thinking of the distinction as provided by JavaScript, but the >>> operation seems silly. Anyone know of an example of its use? Regardless, it's easy enough to define in terms of >>. 05:16:58 The `logical' right shift is not a very logical operation on integers; it is rather a logical operation on fixed-size bit strings, with an arbitrary choice of filler bit (it could be 0 or 1, but it is usually chosen to be 0). 05:17:33 I was avoiding the term `logical' :) 05:18:06 foof: yes, I think we need >>>. (with a saner name of course) 05:18:38 Bit rotation operators (for fixed size fields) would be useful too. 05:18:59 mejja, note that the operation has four parameters, not the two that it is usually given in most (overly machine-specific) programming languages. 05:19:14 Huh? 05:19:26 The four parameters are: integer whose bit string representation to shift, number of bits by which to shift it, bit index at which to cut off the integer's bits, and bit to supply instead. 05:19:55 Usually for the third parameter 32 or 64 is implicitly supplied, and for the fourth, 0. 05:20:52 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 05:21:05 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 05:21:30 Here's how you can define the operation, though: (define ( integer count cutoff bit) (shift-right (if (zero? bit) (bitwise-and integer (bit-mask cutoff)) (bitwise-or integer (shift-left -1 cutoff))) count)) 05:21:38 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 05:23:11 Since CUTOFF and BIT will usually be constants, this reduces to an expression you are more likely to want, and moreover a good compiler should be able to recognize (BITWISE-AND <2^k-1>) as an invitation to perform arithmetic modulo 2^k. 05:23:56 (I do not speak of the mythical Sufficiently Smart Compiler; real Common Lisp compilers do this, and it's a shame that Scheme ones don't.) 05:29:25 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Remote closed the connection] 05:29:46 tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has joined #scheme 05:30:06 Riastradh: Have you read http://portal.acm.org/citation.cfm?doid=956641.956647 05:31:51 Yes. 05:31:59 Do you have a copy? 05:32:07 But that's about the relation of shifting to division, not about logical versus arithmetic shifting. 05:33:14 *mejja* hates acm 05:33:31 Yes, but I am afraid it does not have licence terms on it. 05:34:35 Then again, it also doesn't have a copyright notice on it, and its publication preceded the US's adoption of the Berne Convention, and I dimly recall something that happened surrounding copyright in the late seventies, prior to which a couple of well-known films (_It's a Wonderful Life_, and some famous zombie film) were accidentally set into the public domain by failure to affix a copyright notice to them or something. 05:38:33 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 05:40:09 I remember now: the Copyright Act of 1976, which didn't take effect as law until 1978, and the paper was published in 1977. 05:41:17 If you can persuade me that it's not a violation of US copyright law, I'll send you a copy. However, it's time for me to go to bed, so you'll probably want to send me said persuasion by email. 05:47:24 -!- dmoerner [n=dmr@91-107.res.pomona.edu] has quit [Remote closed the connection] 05:50:12 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 05:51:32 arcfide: Arthur Gleck is the chair of WG1. 05:54:05 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit ["all work and no play"] 05:54:19 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 05:54:25 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:03:36 -!- flippo [n=frivol@unaffiliated/flippo] has quit ["Reality reasserts itself sooner or later."] 06:05:53 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 60 (Operation timed out)] 06:26:42 dmoerner [n=dmoerner@91-107.res.pomona.edu] has joined #scheme 06:27:47 -!- ASau [n=user@83.69.227.32] has quit ["off"] 06:31:25 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 06:33:14 -!- aking [n=aking@67.23.13.119] has quit [Read error: 60 (Operation timed out)] 06:43:55 -!- jcowan [n=jcowan@72.14.228.129] has left #scheme 06:59:11 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 07:05:24 -!- arcfide [i=arcfide@99.14.210.69] has quit [Read error: 110 (Connection timed out)] 07:09:56 Syntropy [n=who@unaffiliated/syntropy] has joined #scheme 07:10:50 -!- Syntropy [n=who@unaffiliated/syntropy] has left #scheme 07:14:07 -!- untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has quit [Read error: 104 (Connection reset by peer)] 07:15:19 untouchable [i=untoucha@dhcp-129-64-166-32.dorm.brandeis.edu] has joined #scheme 07:22:27 cataska [n=cataska@210.64.6.233] has joined #scheme 07:24:24 -!- jao [n=jao@80.31.223.187] has quit [Read error: 110 (Connection timed out)] 07:31:36 -!- dmoerner [n=dmoerner@91-107.res.pomona.edu] has quit [Remote closed the connection] 07:31:43 Lis [n=Lis@p5B207ED2.dip.t-dialin.net] has joined #scheme 07:38:22 dmoerner [n=dmr@91-112.res.pomona.edu] has joined #scheme 07:38:30 -!- Lis [n=Lis@p5B207ED2.dip.t-dialin.net] has quit [Client Quit] 07:49:56 -!- tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has quit [Client Quit] 07:52:09 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 07:58:11 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 08:20:10 -!- Foofie [n=innocent@80.203.225.86] has quit ["Leaving"] 08:29:20 mehrheit [n=nightsha@lan-84-240-55-160.vln.skynet.lt] has joined #scheme 08:32:24 -!- xwl [n=user@125.34.173.96] has quit [Remote closed the connection] 08:34:19 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 08:34:49 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 08:41:26 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 08:46:34 schmir` [n=schmir@p54A92044.dip0.t-ipconnect.de] has joined #scheme 08:53:07 -!- dmoerner [n=dmr@91-112.res.pomona.edu] has quit [Read error: 60 (Operation timed out)] 08:54:05 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Remote closed the connection] 08:54:46 ASau [n=user@host129-231-msk.microtest.ru] has joined #scheme 08:54:59 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 08:59:34 -!- schmir [n=schmir@mail.brainbot.com] has quit ["rcirc on GNU Emacs 23.1.1"] 09:00:50 -!- schmir` is now known as schmir 09:03:04 tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has joined #scheme 09:07:56 -!- tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has quit [Remote closed the connection] 09:10:47 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 09:11:58 -!- reid04 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has quit [Read error: 110 (Connection timed out)] 09:12:04 reid04 [n=reid85@CPE001cdf73661f-CM001ceacec55e.cpe.net.cable.rogers.com] has joined #scheme 09:14:27 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 09:16:42 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 110 (Connection timed out)] 09:23:04 sepult [n=levgue@xdsl-87-78-128-220.netcologne.de] has joined #scheme 09:25:12 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 09:29:06 -!- xwl_ [n=user@esprx01x.nokia.com] has quit [Remote closed the connection] 09:34:52 Fufie [n=poff@Gatekeeper.vizrt.com] has joined #scheme 09:35:54 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 09:36:18 xwl_ [n=user@esprx01x.nokia.com] has joined #scheme 09:38:56 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 09:40:47 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:43:08 Riastradh: After git cloning the mit-scheme repository, I don't have a file make-native.sh 09:43:49 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 09:44:28 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:51:18 hkBst_ [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:51:45 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 09:52:07 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 09:52:18 -!- ASau [n=user@host129-231-msk.microtest.ru] has quit [Read error: 104 (Connection reset by peer)] 09:53:26 -!- mreggen [n=mreggen@cm-84.215.28.167.getinternet.no] has quit [Read error: 110 (Connection timed out)] 09:56:43 -!- xwl_ [n=user@esprx01x.nokia.com] has quit [Remote closed the connection] 09:56:57 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 09:59:12 -!- cataska [n=cataska@210.64.6.233] has left #scheme 09:59:50 tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has joined #scheme 10:00:59 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 10:01:33 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 10:03:07 sbt [n=sbt@62.70.2.252] has joined #scheme 10:03:27 -!- gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has quit [Read error: 104 (Connection reset by peer)] 10:03:35 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 10:03:40 how can I get the type of a scheme value? 10:03:54 gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has joined #scheme 10:04:57 -!- hkBst_ is now known as hkBst 10:07:38 sbt: I'm not sure you can do that, but you can test whether a value is of a certain type 10:08:09 hm 10:08:32 sbt: what are you trying to do? 10:09:06 I typed in '123 into dr scheme, and I wanted to know whether or not it returned a number or a symbol 10:09:33 I suppose its a symbol 10:09:41 no, it's a number 10:10:01 rudybot: eval (number? '123) 10:10:06 you only quoted it so it's taken literally, but since numbers evaluate to themselves it doesn't matter if you quote it or not 10:10:16 ok 10:10:31 but in general there is no way of returning the type? that strikes me as a little strange 10:10:45 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 10:11:20 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 10:11:50 e.g. what is the type of ''123? 10:12:10 It's a pair 10:12:15 ''123 = (quote (quote 123)) 10:12:42 -!- mehrheit [n=nightsha@lan-84-240-55-160.vln.skynet.lt] has quit ["rcirc on GNU Emacs 23.1.1"] 10:14:20 rudybot: eval 123 10:15:58 rudybot: eval `'',2 10:17:19 rudybot_: eval 123 10:17:21 hkBst: your sandbox is ready 10:17:21 hkBst: ; Value: 123 10:17:21 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 10:17:30 rudybot_: eval (number? '123) 10:17:31 hkBst: ; Value: #t 10:17:36 rudybot_: eval (number? ''123) 10:17:36 hkBst: ; Value: #f 10:17:49 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 110 (Connection timed out)] 10:22:01 a-s [n=user@nat-240.ro.66.com] has joined #scheme 10:22:40 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 10:25:31 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 10:25:46 Edico [n=Edico@unaffiliated/edico] has joined #scheme 10:27:02 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 10:28:22 khisanth_ [n=Khisanth@pool-141-157-230-238.ny325.east.verizon.net] has joined #scheme 10:28:26 -!- khisanth_ [n=Khisanth@pool-141-157-230-238.ny325.east.verizon.net] has quit [Read error: 54 (Connection reset by peer)] 10:30:23 -!- schmir [n=schmir@p54A92044.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] 10:31:10 npe [n=npe@195.207.5.2] has joined #scheme 10:34:31 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 10:35:32 Jafet1 [n=Jafet@unaffiliated/jafet] has joined #scheme 10:35:48 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 10:39:16 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 10:45:31 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Connection timed out] 10:52:08 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 10:55:39 -!- Jafet1 is now known as Jafet 10:57:39 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 54 (Connection reset by peer)] 10:58:01 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 10:59:33 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Client Quit] 11:01:09 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 11:03:44 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 11:06:07 mreggen [n=mreggen@cm-84.215.28.167.getinternet.no] has joined #scheme 11:11:28 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:13:31 Jafet1 [n=Jafet@unaffiliated/jafet] has joined #scheme 11:13:34 xwl_ [n=user@esprx01x.nokia.com] has joined #scheme 11:13:51 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Nick collision from services.] 11:13:51 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 11:13:58 -!- Jafet1 is now known as Jafet 11:16:24 Summermute66 [n=scott@98.204.67.114] has joined #scheme 11:23:31 -!- Summermute [n=scott@98.204.67.114] has quit [Read error: 60 (Operation timed out)] 11:25:16 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:25:18 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 11:27:20 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 11:30:53 -!- sbt [n=sbt@62.70.2.252] has quit ["Leaving"] 11:31:39 -!- sepult [n=levgue@xdsl-87-78-128-220.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 11:33:40 sepult [n=levgue@xdsl-87-78-128-220.netcologne.de] has joined #scheme 11:38:05 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:38:14 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 11:41:26 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 11:42:33 masm [n=masm@bl7-200-195.dsl.telepac.pt] has joined #scheme 11:43:34 ASau [n=user@host129-231-msk.microtest.ru] has joined #scheme 11:58:58 schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has joined #scheme 12:03:42 luz [n=davids@189.122.90.116] has joined #scheme 12:04:55 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 12:14:28 -!- gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has quit [] 12:14:56 -!- udzinari [n=user@nat/ibm/x-19a80c6a7cfb47bb] has quit [Remote closed the connection] 12:15:06 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Remote closed the connection] 12:21:28 -!- schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)] 12:23:19 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 12:24:22 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 12:28:45 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:30:47 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 12:31:11 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:32:21 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 12:52:44 xwl [n=user@125.34.173.96] has joined #scheme 12:58:24 schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has joined #scheme 12:59:14 -!- xwl [n=user@125.34.173.96] has quit [Remote closed the connection] 13:01:12 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 54 (Connection reset by peer)] 13:02:53 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 13:03:43 scallop__ [n=scallop@mcn-ud07181.miyazaki-catv.ne.jp] has joined #scheme 13:04:02 -!- schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has quit [Read error: 60 (Operation timed out)] 13:11:19 xwl [n=user@125.34.173.96] has joined #scheme 13:23:56 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 13:28:07 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:28:56 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Read error: 104 (Connection reset by peer)] 13:31:25 Nshag [i=user@Mix-Orleans-106-2-211.w193-248.abo.wanadoo.fr] has joined #scheme 13:34:37 -!- scallop__ [n=scallop@mcn-ud07181.miyazaki-catv.ne.jp] has quit ["Ex-Chat"] 13:36:39 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 13:51:18 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 14:00:55 ejs [n=eugen@195-0-178-94.pool.ukrtel.net] has joined #scheme 14:09:50 schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has joined #scheme 14:10:03 -!- schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has quit [Remote closed the connection] 14:12:00 is it possible to post in comp.lang.scheme without a google account? 14:12:41 yes, it's a newsgroup, google doesn't own it 14:13:10 I'm sure they'd like to, though 14:13:41 schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has joined #scheme 14:13:43 -!- schmir [n=schmir@p54A91AAD.dip0.t-ipconnect.de] has quit [Remote closed the connection] 14:14:12 "Usenet, now powered by Google. Don't be evil, except in alt." 14:17:03 does cls have an email-address? 14:19:21 oh wait, thunderbird seems to have support for newsgroups 14:19:27 hkBst: you can even use a fake email address 14:19:57 leppie: to disguise my identity? 14:24:23 -!- leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has quit [Remote closed the connection] 14:32:30 -!- langmartin [n=user@exeuntcha.tva.gov] has quit [Read error: 104 (Connection reset by peer)] 14:32:41 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 14:34:32 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 14:35:37 leppie [n=lolcow@dsl-243-43-173.telkomadsl.co.za] has joined #scheme 14:38:12 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 14:41:14 yay, it worked ;) 14:42:46 -!- ejs [n=eugen@195-0-178-94.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 14:46:42 Oh no, the Nigerian scammers have infiltrated comp.lang.scheme! 14:47:34 Wait, what NNTP server did Thunderbird use? 14:48:02 I used a free one, news.aioe.org 14:50:02 I got a spam today, that didn't even offer me money! 14:50:24 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 14:51:17 very off-topic: why does ampersands etc need to be escaped when used as literal quoted attribute value in XML? 14:51:46 leppie: because of &something; 14:51:54 Because ampersand *is* the quoting mechanism 14:52:03 why would you need to escape &something; 14:52:54 "<&>" is completely unambiguous 14:53:08 Consistency, I guess. 14:53:47 As a side note, you seem to be questioning why XML is verbose. 14:54:53 no, I dont give 2 shits about XML, it's a verbose half-assed implementation of s-expressions 14:58:10 ecraven, if you don't have src/etc/make-native.sh, then there's something wrong with what you checked out. 15:02:37 Riastradh: I successfully ran git clone ... as per your email 15:02:56 And you entered mit-scheme/src, and there's no etc/make-native.sh? 15:03:10 ah, i might have missed the etc 15:03:13 ahh, I love my new fast CPU, 5 seconds to build and bootstrap IronScheme (with psyntax) 15:03:15 one second, cloning again 15:03:57 3.3 seconds for expansion, 1.7 for code generation 15:05:13 Riastradh: my bad, I didn't infer the etc/ correctly for sh make-native.sh. Thanks for the hint 15:06:19 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 15:06:28 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 15:08:15 Oh, oops. I wrote `cd src', not `cd mit-scheme/src'. 15:08:23 ...er. 15:08:28 No, I wrote sh make-native.sh, not sh etc/make-native.sh. 15:10:07 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 15:11:15 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 15:11:28 -!- sad0ur [n=sad0ur@89.190.42.46] has quit [Read error: 60 (Operation timed out)] 15:11:42 sad0ur [n=sad0ur@89.190.42.46] has joined #scheme 15:12:22 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 15:12:43 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 15:15:34 eldragon [n=eldragon@84.79.67.254] has joined #scheme 15:23:47 -!- foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has quit [Remote closed the connection] 15:23:52 foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has joined #scheme 15:31:31 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 15:34:05 -!- ASau [n=user@host129-231-msk.microtest.ru] has quit ["off"] 15:40:08 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Read error: 110 (Connection timed out)] 15:43:45 -!- stroan [i=stroan@spoon.netsoc.tcd.ie] has quit [Read error: 110 (Connection timed out)] 15:44:25 annodomini [n=lambda@130.189.179.215] has joined #scheme 15:45:07 mabes [n=mabes@66.236.74.194] has joined #scheme 15:49:20 -!- offby1` is now known as offby1 15:57:50 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 15:58:54 sepult` [n=levgue@xdsl-87-78-102-206.netcologne.de] has joined #scheme 15:59:15 -!- sepult [n=levgue@xdsl-87-78-128-220.netcologne.de] has quit [Read error: 60 (Operation timed out)] 16:02:42 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 16:05:28 Riastradh: it survived etc/run-three-stages. cool. 16:05:28 mejja, memo from jcowan: http://www.ccil.org/~cowan/temp/p61-steele.pdf 16:05:59 langmart` [n=user@exeuntcha.tva.gov] has joined #scheme 16:06:17 -!- langmartin [n=user@exeuntcha.tva.gov] has quit [Read error: 54 (Connection reset by peer)] 16:11:45 -!- langmart` is now known as langmartin 16:12:35 -!- Fufie [n=poff@Gatekeeper.vizrt.com] has quit ["Leaving"] 16:20:51 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 110 (Connection timed out)] 16:26:04 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 16:27:48 -!- samth_away is now known as samth 16:33:53 -!- sstrickl [n=sstrickl@pool-129-44-182-54.bos.east.verizon.net] has quit [] 16:36:54 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 16:47:39 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 16:53:38 ecyrb [i=bamoore@freeshell.org] has joined #scheme 17:06:12 -!- gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has quit [] 17:06:45 gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has joined #scheme 17:08:57 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 17:10:26 -!- npe [n=npe@195.207.5.2] has quit [] 17:11:21 Can I assume that I'll be able to either a) change the current directory, or b) specify a base directory for LOAD statements? 17:11:29 (trying to write portable scheme) 17:13:11 For instance: In gambit I can change the current-directory, so that I can load a file (which has its own load statements) from another directory 17:13:53 I just noticed that Riastradh's scheme-cml project has a flat directory structure - and I was wondering if this was done for portability constraints. 17:15:04 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 17:17:28 Fare [n=Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 17:20:25 ecyrb: most schemes have some library-search-paths parameter 17:21:37 leppie: I've noticed that chez does. I can't seem to find the same sort of thing in gambit. I haven't really used many implementations though, so that's good information. 17:22:36 im sure gambit will then do it either via some command argument, or an environment variable 17:22:46 like gcc et al does 17:25:15 vatsal [n=vatsal@60.243.234.240] has joined #scheme 17:25:35 I would guess the compiler does. I'm using the interpreter for now. 17:25:41 in my scheme I had a parameter first, and then I just extended it to the command line 17:26:15 Yours is IronScheme, right? 17:26:23 yip 17:26:42 almost the slowest scheme in the world :) 17:28:04 As far as I'm concerned, it's quite an achievement to have written any scheme implementation - and to release it publically. 17:28:24 s/publically/publicly/ 17:29:00 You can aim for having the fastest CLR implementation I guess :) 17:30:14 well one of the few compiler for .NET I would say 17:30:42 I reckon Bigloo would be a lot faster than IronScheme currently 17:32:13 I am the only R6RS scheme for the CLR though (damn, that's a lie, Common Larceny does R6RS now) 17:32:28 jeapostrophe [n=jay@65-121-75-131.dia.static.qwest.net] has joined #scheme 17:32:38 it's very slow though, incredibly so 17:33:03 jrm's mit scheme also works on the CLR 17:33:03 Fare, memo from nyef: In regards to our conversation of last Thursday evening, http://www.lisphacker.com/temp/faslizer.lisp has some very rough code to dump part of the contents of a FASL file. It's pretty rough, contains an sbcl-os-specific FOP, but might be of some small use. 17:33:08 though it might not be R6RS 17:33:18 not really usable in fact. not sure if they are looking to improve the performance or just have it running 17:33:31 -!- mabes [n=mabes@66.236.74.194] has quit [Remote closed the connection] 17:33:54 Fare: but that's mit-scheme, not R6RS, and an interpreter, and not a compiler 17:34:18 an interpreter is a trivial case of compiler 17:34:45 From what I have seen in his code, it looks far from trivial compared to IronScheme :) 17:34:51 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 17:35:44 (btw, I could not get it running when I tried it a few months back) 17:36:59 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 17:38:33 jrm has hacked it a lot in the last few months (shows his blog) 17:39:28 i'm sure it's good 17:40:17 but running a bytecode interpreter on top of VM just sounds really slow 17:40:51 how fast do you fare on the same benchmark that he posted? 17:41:18 mmm, I havent seen a benchmark, let me check 17:42:39 -!- jeapostrophe [n=jay@65-121-75-131.dia.static.qwest.net] has quit [Read error: 60 (Operation timed out)] 17:43:33 Fare: you have a link to something? 17:43:46 sboyer 17:44:01 but thats strings, I beat native platforms with strings :p 17:48:12 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 17:48:19 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 17:50:21 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 104 (Connection reset by peer)] 17:50:47 vatsal [n=vatsal@60.243.234.240] has joined #scheme 17:52:42 as long as you don't beat with truncheons 17:53:22 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 104 (Connection reset by peer)] 17:55:25 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:59:25 ecyrb, do not use LOAD. It is a bug. 18:00:27 leppie, jrm's MIT Scheme on the CLR is a tree interpreter, not a byte code interpreter. 18:00:28 vatsal [n=vatsal@60.243.234.240] has joined #scheme 18:00:50 schmir [n=schmir@p54A90F7B.dip0.t-ipconnect.de] has joined #scheme 18:00:55 well, it compiles bytecode to a tree... 18:01:00 -!- schmir [n=schmir@p54A90F7B.dip0.t-ipconnect.de] has quit [Remote closed the connection] 18:01:22 (Just like MIT Scheme on C, and MIT Scheme on m68k, and MIT Scheme on physical hardware, although the latter two haven't happened in about thirty years.) 18:01:41 Hmm? 18:01:51 It just interprets the tree structure that the macro expander spits out. 18:03:22 mabes [n=mabes@66.236.74.194] has joined #scheme 18:03:33 -!- eldragon [n=eldragon@84.79.67.254] has left #scheme 18:11:11 mrsolo [n=mrsolo@nat/yahoo/x-4e17be180485ead2] has joined #scheme 18:11:32 -!- foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has quit [Read error: 110 (Connection timed out)] 18:11:36 Riastradh: Sorry? LOAD is a bug? 18:12:00 gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has joined #scheme 18:14:18 Yes, ecyrb. 18:14:44 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 104 (Connection reset by peer)] 18:15:20 vatsal [n=vatsal@60.243.234.240] has joined #scheme 18:15:31 It is a procedure whose ostensible purpose is to execute some code stored in a file in order to edit some environment. But what environment? The environment of the program calling it has already been determined -- it can't edit that environment. 18:16:39 If foo.scm contains (define x 5), what should (let ((x 3)) (load "foo.scm") x) yield? If 3, then what did LOAD do? If 5, then LOAD breaks Scheme's environment model. 18:16:57 This is especially bad when foo.scm defines macros. 18:18:00 (If you summarily reject definitions in loaded files to resolve this, then I'll just substitute (set! x 5) for (define x 5) in foo.scm and ask the same question.) 18:20:52 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 104 (Connection reset by peer)] 18:21:20 vatsal [n=vatsal@60.243.234.240] has joined #scheme 18:22:30 I'm not familiar enough with scheme's environment model to know why returning 5 would be a bad thing. 18:22:47 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 54 (Connection reset by peer)] 18:23:19 vatsal [n=vatsal@60.243.234.240] has joined #scheme 18:23:44 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 60 (Operation timed out)] 18:24:45 Is the alternative to EVAL in the interaction-environment? 18:24:48 Scheme is lexically scoped. That means that in (let ((x 5)) (f) x), the meaning of the second instance of the name X is the meaning given to the name by LET. F is independent of the names you used for your local variables: it can't know about them. 18:25:09 mgodshall [n=mng5000@pascal.hbg.psu.edu] has joined #scheme 18:25:14 The interaction environment is simply some state kept by the REPL -- it's just the environment in which the REPL evaluates expressions that you type at it. 18:26:09 It has no intrinsic relation to the environment of the program calling it; an environment, for that matter, is a static property of a program -- it's not an object that need exist for the dynamic execution of the program. 18:27:11 So how is this different than having the `load' example you gave above yield 3? 18:27:33 I believe that `load' is a bug, but I'm not sure how it's a bug in a way that `interaction-environment' isn't. 18:27:41 Sorry, what is `this'? 18:28:24 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 18:28:24 INTERACTION-ENVIRONMENT is not a bug at all. There might also be an INTERACTION-READER procedure, which returns the procedure that the REPL uses to read expressions, or INTERACTION-INPUT-PORT, although that's more likely to be just CURRENT-INPUT-PORT. 18:28:47 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 54 (Connection reset by peer)] 18:28:55 How is (define x 1) (let ((x 2)) (eval '(define x 3) (interaction-environment)) x) -> 2 different from (let ((x 3)) (load "foo.scm") x) -> 3 ? 18:29:20 vatsal [n=vatsal@60.243.234.240] has joined #scheme 18:29:42 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 18:30:06 What's wrong with the second expression is that LOAD does not appear to be doing anything, and it's also not clear what environment LOAD is evaluating foo.scm's code in. 18:30:47 -!- vatsal [n=vatsal@60.243.234.240] has quit [Client Quit] 18:31:30 Fare: thanks, I just found a bug when trying to run sboyer 18:31:33 (That is, LOAD appears not to have any of the useful effects on an environment that it is supposed to have.) 18:31:45 It's not clear because it's not specified, but I don't see how a `load' that evaluates forms in the environment denoted by (interaction-environment) is any more or less problematic than `eval' in that environment itself. 18:31:54 Why is it supposed to have that environment? 18:32:29 Perhaps my mental model of `load' is different from yours, but I don't expect it to know about anything but the top-level environment. 18:32:38 What top-level environment? 18:33:04 If you say that it loads code into the interaction environment, then I'm OK with that -- but it's really not useful except as an interactive REPL command in that case. 18:33:04 Whatever one is denoted by (interaction-environment). 18:33:04 leppie, hehe -- what kind of bug? 18:33:07 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 104 (Connection reset by peer)] 18:33:22 r0bby_ [n=wakawaka@guifications/user/r0bby] has joined #scheme 18:33:33 karme [n=user@kallisto.karme.de] has joined #scheme 18:33:39 I don't think `load' *is* useful except as an interactive REPL command. 18:34:15 And even there its only utility is that it is easier to use with a computed file name than a syntactic `include'. 18:35:12 basically I am allowing to mutate internal definitions in a library body, but somehow are evading my assignment analysis, and allows further references to be directly referenced, in my case it seems to just call the initial value :( 18:36:11 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 18:36:18 damn you mutation code!! 18:38:28 wingo [n=wingo@238.Red-81-38-188.dynamicIP.rima-tde.net] has joined #scheme 18:39:07 Oh boy I'm confused. LOAD works for me in a REPL to evaluate the code in a file into my current interaction-environment. It does what I need it to do, is in R5RS, and I'm not sure what the alternative is - so I'm not convinced I should stop using it... 18:40:56 The alternative to do what? 18:41:35 If what you are trying to do is to put together a program that can be loaded in multiple R5RS implementations while dividing it into multiple files, as a practical matter you can probably use `load'. The real alternative is a module system, but you really can't depend on the existence of one of those in R5RS-land, and they're not as a rule compatible with each other. 18:41:42 There was no particular reason to make scheme-cml a flat directory, by the way; nor was there any reason to make it a nested directory. 18:41:48 lol Fare, I have a neat comment //ever hit???? in the code path when that code gets generated 18:42:03 well I guess it does :) 18:42:30 schmir [n=schmir@p54A90F7B.dip0.t-ipconnect.de] has joined #scheme 18:43:20 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 18:44:15 Thanks chandler. I think that's the answer I was looking for. 18:44:46 ecyrb, part of the problem with LOAD (and unary EVAL, and, e.g., PLT Scheme's CURRENT-NAMESPACE) is that it it easily accidentally gives the simulacrum of doing what you want. 18:45:43 Especally when the REPL is involved. 18:46:26 Now, if you want to write a `load-foo.scm' file that loads up the files of a collection of code called foo, merely as a script of REPL commands, that's OK. Calling LOAD inside the source files of foo is not OK. 18:48:07 The reason that a separate load-foo.scm file is OK is that it does not hinder a real description of foo's organization in another file, fit for use by other programs using the same language for describing their organization. Such a load-foo.scm is nevertheless tricky and error-prone: it requires you to topologically sort the dependencies of foo by hand. 18:49:04 (That is, the dependencies of the components within foo.) 18:49:24 It does? I don't see any reason why you couldn't have `load-foo.scm' do the topological sort. 18:49:52 The file need not be a sequence of (load "foo-a.scm") (load "foo-b.scm") ... forms. 18:50:44 In that case, you need to write the list of dependencies (hoping that it is correct, with nothing to check your work) and write some code to topologically sort them. 18:52:46 Yes. And one could use an actual module system to verify that the dependencies as listed are correct. 18:53:20 -!- nowhere_man [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: 54 (Connection reset by peer)] 18:53:22 Yes. But why write load-foo.scm at all then? 18:53:29 nowhere_man [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #scheme 18:54:20 my, are you going to reinvent ASDF? 18:54:24 As a "portable" fallback for the unknown Scheme implementation, or for a Scheme without a module system. 18:54:41 I certainly hope not, Fare. 18:55:56 oh, you're "not even reinventing it" ? 18:56:21 Personally I avoid the whole bloody mess. Scheme systems broken enough not to have reasonable module systems get what they deserve. 18:58:16 If there were a million scheme systems each with a "reasonable" module system, it would still be easier to generate portable foo-load.scm files than implement to every module system. 18:59:21 It would also be easier to stand up and have a cookie, but that wouldn't help you to solve a real problem of making your code *useful* to other people using a Scheme system with a module system. 18:59:37 Writing a `portable' load-foo.scm is not useful to anyone, really. 19:00:00 Mr_Awesome [n=eric@c-98-212-135-60.hsd1.il.comcast.net] has joined #scheme 19:04:33 *Fare* wants a pony! 19:04:38 Riastradh: the disassembler doesn't survive run-three-stages, right? 19:04:45 `Portable' libraries are no good if they merely happen to be able to use several Scheme systems as execution engines. That's why SLIB is useless. 19:04:50 mejja, the disassembler has not been ported. 19:05:11 (That is, the SLIB feature mechanism -- there is some good code in SLIB, once you strip off the SLIB feature crap.) 19:06:35 huh, you know what'd be neat is if you could take code you were forced to evaluate (generated code or the like) and somehow compile it past the syntax expansion phase so you could just reuse the compiled code. Could do that in PLT by writing it to a file and using mzc on it. Hm... 19:07:39 That's the function of .bin files in MIT Scheme, synx. 19:08:25 I wonder if you could abstract that out to memory buffers, not just disk files. Or even socket ports... 19:10:01 albacker [n=eni@unaffiliated/enyx] has joined #scheme 19:13:42 synx: why would you want to do that? 19:13:55 -!- karme [n=user@kallisto.karme.de] has left #scheme 19:14:10 (honest question.) 19:16:45 Just thinking of distributed computing applications. Could offload big number crunching code on another computer, or group of computers. 19:16:46 probably best to just send the literal code and compile it again as a file remotely. 19:20:54 hezy [n=hezy@62.56.254.249] has joined #scheme 19:21:49 -!- hezy [n=hezy@62.56.254.249] has quit [Remote closed the connection] 19:22:01 good question. 19:22:39 fschwidom [n=fschwido@p5B26B0D5.dip0.t-ipconnect.de] has joined #scheme 19:22:59 Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has joined #scheme 19:23:17 -!- Lis [n=Lis@dialbs-092-079-130-087.static.arcor-ip.net] has left #scheme 19:25:51 hotblack23 [n=jh@p5B055B4E.dip.t-dialin.net] has joined #scheme 19:39:29 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 19:40:31 -!- fschwidom [n=fschwido@p5B26B0D5.dip0.t-ipconnect.de] has quit [Remote closed the connection] 19:47:34 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 19:48:02 uh oh... 19:48:15 (file-exists? named-pipe) => #t 19:48:23 Fare: it appears this bug is a lot more complex to find, i'm sure it used to work at some stage 19:48:32 How do I avoid named pipes and sockets, when I'm going through a directory listing? 19:49:03 synx: I don't know what scheme you're using, but Chicken has a regular-file? predicate 19:50:29 20:50:00>7p1 /usr/bin/perldoc: awk script text20:50:00>7p1 how ironic... 19:51:05 incubot: kill me now! 19:51:09 bah. Just kill all the lawyers and put everything in the PD. 19:51:15 leppie, regression tests rule! 19:51:27 incubot, PD? 19:51:33 Yeah... I'm using PLT though. 19:51:49 synx: you use stat 19:51:54 leppie: whatcha hackin on? 19:52:06 synx: I have code that I adapted from stuff eli wrote 19:52:15 synx: can send you by email 19:52:23 some mutation (i think) bug I picked up in IronScheme 19:53:17 Sure Fare, send it to plt@synx.us.to 19:53:34 Figured I'd have to use the FFI anyway. 19:53:44 but it's too hot to fix bugs now, and I got my aircon installed today in the bedroom :p 19:54:50 Too bad stat requires a C struct passed by reference. Can't be sure of the size of those... 19:55:59 synx: sent 19:56:39 eli's solution worked around the FFI problem. 19:56:48 a "real" solution would be to have a real FFI 19:57:05 either CFFI-style, or C-generation style. 19:57:32 Riastradh, what do you call your style of FFI? 19:58:04 exposing lisp internals to C vs exposing C internals to lisp? 19:58:16 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 19:58:23 wt 19:58:25 Mine involves exposing no internals to anyone. 19:58:31 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 19:58:32 You actually called the stat program. 19:58:41 Yeah I'm gonna just... do that. 19:58:57 Doesn't PLT Scheme have any built-in routines wrapping the stat system call? 19:59:23 Riastradh, you build bridges through named variables? 19:59:31 Riastradh, no 19:59:43 Riastradh, their excuse being that it's not portable to windows 20:00:32 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 20:01:00 *Riastradh* blinks. 20:01:01 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Client Quit] 20:01:49 Doing a stat on a million files, as opposed to invoking a program once each for a million files, is the difference between minutes and days to complete. 20:01:50 It's just I have to fiddle around until I find the right sized/signed types, and it's not assured to work in the future or on other machines. 20:02:06 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 20:03:22 Windows seems to have some sort of GetFileInformationByHandle system call. That's good enough to find some notion of the file's `type'. 20:04:09 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 20:05:19 synx: my script does that part 20:05:37 calling stat a few thousands files at once to respect the ARGV size limits 20:06:29 Riastradh, I'm sure they have 20 different such calls, with more differentiations added as they enhanced their filesystems to have more such distinctions. 20:07:26 Oh, huh. 20:07:37 ASau [n=user@83.69.227.32] has joined #scheme 20:07:47 Fare: I didn't know stat could take more than one file. I'll check it... still probably do a FFI though. 20:09:41 MrFahrenheit [n=RageOfTh@users-33-87.vinet.ba] has joined #scheme 20:12:05 *wingo* hugs scsh implementation bits. 20:13:20 wingo: gonna port it to plt? 20:14:35 Fare: nope! 20:15:36 bug is killed! 20:16:13 high fives all around! 20:16:27 leppie: RIP 20:16:28 591777 rewrites 20:16:28 Statistics for 'sboyer1 (1)': 20:16:28 Real Time: 469ms 20:16:47 leppie, and faster than jrm-scheme, too 20:16:50 well I just did a workaround for now, but I know what is causing it 20:17:48 -!- mgodshall [n=mng5000@pascal.hbg.psu.edu] has quit [Remote closed the connection] 20:21:17 ok this one is a lot slower in IronScheme than in ikarus 20:22:03 jao [n=jao@80.31.223.187] has joined #scheme 20:22:32 my compiler really generates worst case code for that benchmark 20:27:00 kilimanjaro [n=kilimanj@cpe-173-172-99-25.austin.res.rr.com] has joined #scheme 20:28:59 Faster than jrm-scheme? Are you comparing them on the same hardware? 20:31:17 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #scheme 20:35:11 Fare: How is portable to Windows an "excuse"? And why is it that you define "CFFI" as the only way to get a "real" FFI? 20:35:57 (As for C-generation, look for "cffi" in the docs.) 20:39:14 eli: nice. Is that new? 20:39:34 mejja pasted "sboyer" at http://paste.lisp.org/display/89745 20:39:35 No, it's very old. 20:41:57 do you support long-long types? 20:42:29 how is one meant to extract sizes from symbolic C type names? 20:42:48 I have no idea, I never used it. 20:49:50 mejja annotated #89745 "LIAR/C" at http://paste.lisp.org/display/89745#1 20:50:44 saccade_ [n=saccade@dhcp-18-188-73-161.dyn.mit.edu] has joined #scheme 20:54:38 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit ["..."] 20:57:13 -!- mabes [n=mabes@66.236.74.194] has quit ["Leaving..."] 20:57:59 mejja: 176 milliseconds? 20:58:33 Right. 21:03:14 mejja annotated #89745 "cat /proc/cpuinfo" at http://paste.lisp.org/display/89745#2 21:03:26 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:03:39 -!- schmir [n=schmir@p54A90F7B.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)] 21:05:31 gaze_ [n=gaze@ResNet-36-138.resnet.ucsb.edu] has joined #scheme 21:05:58 -!- gaze [n=gaze@ResNet-36-138.resnet.ucsb.edu] has quit [Read error: 104 (Connection reset by peer)] 21:13:05 well god dayum, stat isn't even defined in libc. Methinks using a command line utility would be better then... 21:21:22 huh? stat is in my libc I think 21:22:39 mmc [n=mima@cs27122078.pp.htv.fi] has joined #scheme 21:31:48 objdump -T /lib/libc.so.6 | grep stat ==> nothing but statvfs 21:32:22 and (get_ffi_obj "stat" (ffi-lib "libc.so.6") ...) also says symbol not found. 21:37:22 synx: what machine is that? 21:38:36 your libc might make it a macro that expands to something... 21:39:27 jcowan [n=jcowan@72.14.228.129] has joined #scheme 21:42:23 *jcowan* notes that R5RS permits, but does not require, CHAR=? and friends to support an arbitrary number of arguments. 21:43:23 -!- albacker [n=eni@unaffiliated/enyx] has quit ["Leaving"] 21:45:48 synx: I created a simple program that uses stat, and the symbol it uses is __xstat 21:46:06 PLT, Gambit, SISC, Chez, SCM, Scheme 9, Scheme 7, SXM, and VSCM support it (plus the R6RS implementations, since R6RS requires it); MIT Scheme, Chicken, Bigloo, Scheme48/scsh, Kawa, and Chibi do not. 21:46:06 jcowan, memo from mejja: Thanks 21:47:04 synx: apparently, there is a stat that's statically linked, and __xstat that is dynamically linked 21:47:49 synx: welcome to hell 21:50:00 What I wouldn't do for just one nice shot at the throats of the glibc developers. 21:50:36 pavelludiq [n=quassel@91.139.196.35] has joined #scheme 21:50:47 What do people think? Should this be in R7RS small Scheme? 21:51:33 synx: http://people.redhat.com/drepper/ 21:53:04 jcowan: my only thought would be that eqv? and char=? should be of the same arity. 21:54:24 mejja: "If you have problems with this page it probably means you are using a junk browser." :3 21:55:51 That is, 2. The analog here is = rather than eqv?, since we also have char?, etc. 21:56:06 Presumably that's why R6RS requires the extension. 21:56:32 sure. 21:57:19 yeah good point. 21:57:57 jcowan, small scheme should either consistently mandate arbitrary-argument comparisons, or consistently mandate but two-argument comparisons 21:58:27 Even if that breaks backward compatibility? 21:58:37 hum 21:58:46 eq? and equal? have been 2-arg since the earliest days of Lisp, whereas + and * have been variadic for a very very long time. 21:58:55 and = and < more to the point 21:58:56 consistent vararity would be backward compatible, I suppose 21:59:04 arcfide [i=arcfide@140-182-224-74.dhcp-bl.indiana.edu] has joined #scheme 21:59:11 For users, but not for implementations. 21:59:28 Here's a place where R5RS is explicitly optional, so the question is whether to close off the optionality. 21:59:38 I don't see that it benefits anyone (except lazy implementors) to have it. 22:00:11 especially if they need to already have appropriate framework for other predicates 22:00:18 to have what? variadic arity? 22:00:25 or the exception 22:00:38 The option. 22:00:43 -!- pavelludiq [n=quassel@91.139.196.35] has quit [Remote closed the connection] 22:02:04 yeah, i don't like the option either. 22:06:39 -!- gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has quit [] 22:07:26 gpaci [n=gpaci@gpaci-02.dsllan.toad.net] has joined #scheme 22:08:38 synx: look at /usr/include/sys/stat.h line 447... stat is an extern inline 22:09:24 isn't it lovely? 22:10:09 so will you make eq? eqv? equal? variadic? 22:10:42 jcowan: what about the more important debates, such as the module system problem? 22:12:54 *wingo* makes popcorn 22:13:15 If anything's going to sandbag the effort, that will be it. 22:13:23 Better to build trust by getting agreements on small points first. 22:13:45 I don't see how the competing claims of "modules are config", "modules are syntax", and "modules are first-class" are going to be satisfied, but that's why we have committees. 22:15:53 as long as there are rich enough modules in the big scheme, I suppose I'm happy 22:18:56 i would think that the specification might allow first-class implementation without requiring it. 22:19:08 *wingo* figures resistance would be too strong to first-class modules. 22:20:27 *jcowan* personally favors modules as syntax, but fears being ground between the upper and nether millstones. 22:20:39 "Not precise enough!" "Not powerful enough!" 22:21:37 those fears might well not depend on whatever your favorite is ;) 22:22:02 Well, if you are *on* the upper & nether, at least that's one that can't grind you. 22:22:09 s/&/or 22:22:39 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:22:46 but you are the one with the pen, it's not one-dimensional, it's everyone all around 22:23:45 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 22:23:47 as long as the macro system of small scheme allows to implement a powerful-enough module system, 22:23:56 I suppose everyone can be happy 22:24:28 start every program with (load "srfi666") and there you go 22:24:54 I believe that line of thinking is a fallacy. What underlying small Scheme feature would you want to provide in order to provide a BSD socket library in large Scheme? Syscall? 22:25:07 Not all large Scheme libraries will be writable in small Scheme. 22:25:18 ponyscheme 22:25:38 jcowan, large scheme should definitely standardize one ffi per underlying platform (C, JVM, .NET, JS) 22:26:42 *wingo* thinks that's crazy talk 22:26:53 jcowan: can you give examples of each of those kinds of module systems? 22:26:56 wingo: why? 22:26:58 better to start with a srfi 22:27:21 a really good srfi would be sufficient. 22:27:44 samth: Probably not, I'm too ignorant. But Scheme48 or SRFI 7 is what I have in mind for "modules as config" -- there's a different language from Scheme that specifies how to hook together files of source. 22:28:28 In modules as syntax, a module is a defining form that disappears after macro processing. 22:28:51 *jcowan* looks around anxiously to see if any of the "There Is Only One Time, It Is Runtime" fanatics are about. 22:29:06 There is only one time, it is realtime! 22:29:18 And first-class modules are actual run-time data objects of some sort. I understand those least. 22:29:23 samth: is that helpful? 22:29:30 jcowan: how would you classify the r6rs system? 22:29:33 or plt scheme's? 22:30:03 R6RS is config, except that the config stuff is wrapped around the code rather than pointing to it. 22:30:22 You can't generate modules or any of their gears with a macro. 22:30:28 ok 22:30:41 PLT, IIUC, has two systems, neither of which I understand. 22:31:07 the PLT module system is similar to the r6rs system (which was based on it) 22:31:09 In this domain I am the village idiot, or perhaps Dr. Johnson (who knows when a table is no good, even though he is not a carpenter). 22:31:20 samth: is there a (description of the) model for separate compilation and linking of variables and objects in PLT? 22:31:24 there is also a unit system, which is first class and implemented in macros 22:31:45 First-class *and* implemented in macros? How's that? 22:31:53 i.e. if a module defines a variable x, and several other modules use it, is it the same x? 22:32:04 Fare (and everyone else), I recommend Culpepper et al, Scheme Workshop 07 22:32:26 jcowan, there's a fixed binding structure that's not first class 22:32:57 imports and exports have signatures, which are static entities 22:33:02 *jcowan* nods. 22:33:03 Okay. 22:33:09 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 22:33:19 but the runtime values are first class, and are linked externally at runtime 22:34:17 what does "linked externally" mean? 22:34:21 the documentation on units is pretty good: http://docs.plt-scheme.org/guide/units.html 22:34:25 samth: and the linking ensures private variables are only instantiated once? 22:34:45 samth, so underlying every module, there's a unit? 22:34:54 Fare, not at all 22:35:08 Chicken 4 is a syntax module system, rather buggy. 22:35:42 *Fare* is confused. 22:35:47 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:36:05 wingo, it means that you can have two unit values, one which exports something, and one which imports the same thing, and link them together at runtime to get a bigger unit 22:36:11 and then run that bigger unit 22:36:25 samth: what if I want to update a module? Do I have to do that in a new image? Or can I redefine a module in a running image? 22:36:31 Fare, the unit and module systems are entirely separate 22:36:40 Fare: new image 22:36:52 ok, that simplifies things quite a bit. 22:37:37 (as compared to CL, where you can redefine symbols on the fly) 22:37:53 jcowan, i hope you find some module system experts for your cmte 22:37:59 *wingo* likes redefining symbols on the fly 22:38:08 I hope I find anybody for the committee. 22:38:17 And, just as important, for the WG1 committee. 22:38:17 wingo: how do you deal with namespace issues? 22:38:30 Almost everyone I approach wriggles away like a butterfly. 22:38:31 *samth* likes inlining 22:38:32 wingo, do you have a one global namespace? "packages" as in CL? 22:38:51 Fare: modules import other modules, there are renamers, modules have interfaces, there is a global namespace yes. 22:39:04 it's not a multiple-instantiation system. 22:39:08 speaking of guile's, i mean. 22:39:21 wingo: which implementation are you speaking of? 22:39:28 *wingo* maintains guile. 22:39:35 fare: also http://docs.plt-scheme.org/guide/unit_versus_module.html 22:39:35 along with a couple other folks. 22:39:38 ok, sorry not to know 22:39:55 wingo: so what happens if I re-load a module? 22:40:13 do you have a hierarchical namespace? 22:40:28 Fare: depends; normally it's additive, bindings get added or set! (in the sense that define==set! for bound toplevels) 22:40:40 but you have first-class access, so you can clear out the module if you want 22:40:46 that's a bit nasty but sometimes useful. 22:41:20 there is a hierarchical namespace yes. 22:41:44 i understood plt had some of this as well, otherwise jao wouldn't have been able to implement geiser for plt 22:42:02 wingo: what about macros that want to generate symbols that can be redefined? 22:42:50 you mean identifier macros, or what? 22:43:09 i.e. a pure gensym situation may yield situations where new definitions see the new symbol, but old definitions see the old symbol, but sometimes you want the old and new definitions to share the same symbols 22:43:40 explain again tho -- one macro, that generates bindings, that are somehow set!, when it's reloaded, what? 22:43:46 I mean combining hygiene/namespacing and redefinability. 22:45:04 pretty sure that works -- we have hygiene wrt modules. 22:45:06 though maybe exposing such an interface might by definition violate hygiene (though maybe not if it's only available at compile-time vs runtime) 22:45:08 in the 1.9 branch anyway 22:45:17 earlier was a sorrier story ;) 22:46:39 hum. I don't remember the context where I last used that in CL anymore. But I ended up creating a package in which would lie generated symbols... 22:47:24 A sensible approach in CL. 22:47:53 Of course, the CL problem is that package names are disturbingly global. 22:49:13 disturbingly in what sense? 22:49:21 (rnrs io ports) is global also. 22:50:55 CL has the problem that everything is too global... yet at the same time that "global" is not global enough (valid in your image only). 22:51:45 wingo: True, but at least it's structured. 22:52:08 If CL supported org::ccil::cowan::whatever::symbols, I'd be a lot happier. 22:52:51 ah, i didn't realize it was a flat namespace. 22:53:58 jcowan, it supports |org::ccil::cowan::whatever|::symbols 22:54:02 Flat and, as Fare says, local to the running image. 22:54:19 Fare: Yes, but only the way Java does: there's no true hierarchy of packages in either language. 22:54:28 oh, and the semantics of import is hardlinks to same-named symbols only... oops! 22:54:30 incwolf [n=phil@cpe-76-172-228-179.socal.res.rr.com] has joined #scheme 22:55:07 jcowan, I'm not trying to say CL is good, just saying that you can pile workarounds and build something usable on top of CL. 22:55:38 Doubtless. 22:55:47 It is the programmable programming language and all that. 22:55:53 kind of. 22:55:55 (Frighteningly so.) 22:56:19 problem is you HAVE to program it, and you're unlikely to end up with something anyone else can agree to. 22:56:32 I'm believing more and more that this standardization process that is impending could very well lead to disasterous or useless results. :-/ 22:56:57 useless, I can imagine. disastrous, how so? 22:58:33 annodomini [n=lambda@64.30.3.122] has joined #scheme 22:58:50 Fare: Messing with the community, further fragmentation, or, for me, the personal problem would be if it rendered Scheme more difficult for me to use, in some way. 22:58:57 well, it could standardize on something as bad as the package system :P 22:59:51 samth: I hope I can contribute towards the packaging system before its too late. :-) 23:00:21 Well, sign up with the SC, dammit. 23:01:00 Arthur is of opinion that both Schemes should have the same module/library system, whereas I'd be okay if WG1's was a subset of WG2's. 23:01:39 .... 23:01:54 jcowan: Well, I'd like to sign up, but the problem is that I really don't know if i can make the time commitment. 23:02:10 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 23:02:51 I have defined a reader in PLT Scheme with "(module reader syntax/module-reader my-lang)". I want to used the @ syntax with this reader. I'm using "#lang at-exp my-lang" in the modules that use my-lang. What must I do to be able to use just "#lang my-lang" to use my-lang? 23:02:59 Nobody really knows what the time commitment is. Unless you plan to commit suicide in the next 18-24 months, I suppose. 23:03:15 But in terms of hours per week, or whatever, it's still a very open question. 23:03:50 i enjoyed mark pilgrim's essay on standardization today. 23:03:59 masm, you need to have the reader module in /my-lang/lang/reader.ss 23:04:14 a bit rambling, but: http://diveintomark.org/archives/2009/11/02/why-do-we-have-an-img-element 23:04:33 jcowan: Well, I'm interested. 23:04:47 Then send an email to the address in the announcement and say so. 23:05:00 I'm not comfortable with all the non-implementors involved here. I want Scheme implementors on these committtees. 23:05:47 here == in the standardization process, or in #scheme? 23:06:20 wingo: Standardization process. 23:06:27 samth: It's already there. But how can I add the @ reader? It's all working with "#lang at-exp my-lang". But I want to use "#lang my-lang". 23:06:57 -!- incwolf_ [n=phil@cpe-76-172-228-179.socal.res.rr.com] has quit [Read error: 110 (Connection timed out)] 23:07:06 arcfide: So do I, but I don't want the committee to be an implementation cabal. 23:07:19 `syntax/module-reader' only supports the sexp syntax 23:07:24 "This is what we will do. We call it Scheme. You *will* like it." 23:08:20 jcowan: I'm not really that opposed to something that that provided proper checks. Implementors really are the ones in the best position to filter user requests. 23:08:42 to get the @ syntax, you need to you `make-at-readtable' 23:08:42 Anyways, I'll see what I can do to help, rather than harm, the process of standardization. 23:08:49 Right. But isn't there some way to extend the readtable? 23:08:51 Not always. In particular, they often reject justified requests because they already have installed bases that would break. 23:08:52 Oh.. 23:08:58 OK. 23:09:07 look at the examples here: http://docs.plt-scheme.org/syntax/reader-helpers.html#%28mod-path._syntax/module-reader%29 23:09:09 -rudybot_:#scheme- http://tinyurl.com/yk5xow2 23:09:18 Not naming names here, or even referring to Scheme implementors particularly. 23:09:34 jcowan: Um, that's a good reason. 23:09:36 in particular: (module reader syntax/module-reader 23:09:36 #:language read 23:09:36 #:wrapper2 (lambda (in rd stx?) 23:09:36 (parameterize ([current-readtable 23:09:36 (make-at-readtable)]) 23:09:37 (rd in))) 23:09:41 (require scribble/reader)) 23:09:46 except drop the #:language bit 23:09:57 and just put `my-lang' there 23:10:01 Right. I was reading there already. 23:10:02 arcfide: Not necessarily, considering that Scheme implementations do turn over. 23:10:06 Thank you. 23:10:15 And new ones are created. Some people think that's bad, but I think it's good. 23:10:34 jcowan, what's your plan for implementor buy-in then? 23:10:37 Often they simply don't want to take the trouble to implement a simple upward-compatible extension, so it languishes. 23:11:00 eldragon [n=eldragon@84.79.67.254] has joined #scheme 23:11:23 samth: In WG1, it's mostly about doing things that are already well-standardized de facto, both by SRFI process and by implementers. 23:11:46 except for modules? 23:11:49 Here's where the medium-size Schemes often shine: they had no reason *not* to do SRFIs. 23:11:58 Except for modules, which are imposed by the SC. 23:12:02 jcowan: I'm in favor of a mostly conservative approach to standardization, though I do think that the correct solution should be standardized, and not necessary all ad hoc historical features should be used. 23:12:11 arcfide: I agree in principle. 23:12:26 But what is correct, and what is historical? 23:12:38 jcowan: Yeah. 23:12:54 The fewer cycles spent on correct/incorrect the better. Sometimes there's simply no alternative. 23:13:08 For WG2 and its child WGs, the problem is much more open-ended. 23:13:15 foof [n=user@FL1-118-110-31-40.osk.mesh.ad.jp] has joined #scheme 23:14:55 Arthur is giving me excellent feedback on my proposals, and I'm rethinking several of them. 23:15:08 OTOH I did add list-copy (so sue me) 23:15:51 list-copy is like transcript-on. it goes under the radar. 23:19:02 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 23:20:11 samth: still there? 23:20:25 so did we agree on which monday to meet at the BLM? 23:20:51 samth: and can you get a room at NEU? I can get one at MIT but I believe you prefer NEU 23:21:33 dysinger [n=dysinger@cpe-75-85-135-191.hawaii.res.rr.com] has joined #scheme 23:23:31 monday? blm? 23:23:39 oh, boston lisp meeting 23:24:09 probably the first week in december has become bad for me 23:24:20 since that will probably the time of my defense 23:24:23 ouch, so last week in nov? 23:24:28 or next week in dec? 23:24:33 that's turkey day 23:24:34 congrats for the defense! 23:24:39 i'll let you know soon 23:24:46 ok, thanks a lot! 23:25:10 bgs100 [n=ian@unaffiliated/bgs100] has joined #scheme 23:31:59 samth: defense in court, or merely of a thesis? 23:32:10 jcowan, fortunately, of a thesis 23:35:43 Ah, good. So no need to contribute to a defense fund, then. 23:36:48 -!- hotblack23 [n=jh@p5B055B4E.dip.t-dialin.net] has quit ["Leaving."] 23:37:20 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [] 23:42:17 -!- tobetchi [n=tobetchi@p296ba7.sagant01.ap.so-net.ne.jp] has quit [Client Quit] 23:44:31 Court defenses are easier, you don't have to speak. 23:47:00 -!- sepult` [n=levgue@xdsl-87-78-102-206.netcologne.de] has quit [Remote closed the connection] 23:55:53 No, but they cost a lot more. 23:56:01 And bad results are much more devastating. 23:57:25 They're free if you use a public defender, and most lawyers will charge less than tuition for a short trial. 23:58:32 And if you fail the thesis defense you're looking at at least 6 more months of school, longer than the time with parole for most minor offenses. 23:59:03 Unless you are being sued civilly, in which case you don't get a public defender, 23:59:16 and anyway, even light jail time is not to be compared with time at a university. 23:59:42 "That will be $23M, please. Cash or credit card?"