00:02:43 I would never had thought that importing stuff into an R6RS library could breeak the `rename' keyword of the library form -- but such is life on PLT, it seems. 00:02:54 -!- Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 00:06:20 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 00:06:33 rotty: wow, that sucks. Factor would detect this and throw an error at parse-time 00:09:12 addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 00:09:13 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Read error: 104 (Connection reset by peer)] 00:09:46 rotty: Nothing is supposed to be special about any of the identifiers used in the R6RS library form. 00:10:40 rotty: So you can change the binding of 'rename' and break things that check for other bindings. 00:11:09 Riastradh: Is this type of tea any good? 00:12:10 -!- addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Client Quit] 00:12:23 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 00:12:49 arcfide: yeah, they 00:13:13 arcfide, well, there is good gunpowder tea, and there is not so good gunpowder tea. As I said, it's pretty common; hence there'll be a lot of variation in quality. I like it. 00:13:26 're not reserved words, but that was not my point 00:13:41 Riastradh: I've never been able to brew Green tea very well, but I decided to try recently, when I ran out of my blacks. 00:13:55 You shouldn't be able to change the `bindings' of IMPORT, RENAME, &c., because they aren't part of the Scheme code! They're part of the library notation. 00:14:23 Riastradh: I think that depends very much on the implementation. 00:14:26 arcfide: actually, the note near the end of R6RS 7.1 seems to indicate this is a PLT bug 00:14:34 No, arcfide, it doesn't. 00:15:00 Although, i agree that in all the legal cases this shouldn't be possible. 00:15:08 zanes [n=zane@c-76-24-24-236.hsd1.ma.comcast.net] has joined #scheme 00:15:20 Anyways, it's time for Dinner. 00:15:22 arcfide, mostly what I do differently between black tea and green tea is that I boil the water fully to 212F for black tea, but only to 180F for green tea. 00:15:46 Riastradh: I can't sit and wait for the water, so I usually let it cool down after my kettle whistles. :-) 00:15:53 Riastradh: At least, that's what I tried tonight. 00:16:07 And I tried steeping for only one minute and doing a few infusions. 00:16:15 One minute is seldom enough. 00:16:27 Riastradh: It seems to have worked okay, actually. 00:16:39 I have always found at least a minute and a half, and usually about two, to be preferable. 00:16:49 Not as dark as my blacks, but definitely much darker than the whites I've used. 00:16:54 And not too much bitterness. 00:17:03 Riastradh: I'll try different temps and steep times and see what I get. 00:24:28 arcfide: some people like to oversteep their tea. i don't. 00:25:26 -!- masm [n=masm@bl10-244-67.dsl.telepac.pt] has quit ["Leaving."] 00:28:39 incubot: steaping over tee is the worst thing said a golfer to a polar. 00:28:42 In some sense DO is the Right Thing, because you rarely want to do iteration on just one iterable when all is said and done. 00:29:01 just DO it 00:29:25 sladegen: THEN WHO WAS PHONE? 00:29:53 phone has be called away 00:30:05 been... ich bin... 00:31:40 I'm having trouble understanding the relation of the names of defined syntax to variable bindings. For example, in this code -- http://pastebin.ca/raw/1586962 -- why can I create a local variable called 'define' in let, and use (define define 5) to bind the name 'define' to 5, but not do (set! define) anywhere? 00:32:01 Actually, (DEFINE DEFINE 5) is not valid in the R5RS. 00:32:22 But the reason you can't (SET! DEFINE ...) is that the name DEFINE is not bound to a variable, and SET! can be applied only to variables. 00:32:35 Both DEFINE and LET introduce new bindings for names, possibly shadowing existing ones. 00:32:52 PLT in r5rs mode let's me do (define define 5) ... is that a mistake on their part? 00:32:58 -!- jonrafkind [n=jon@155.98.68.48] has quit [Read error: 148 (No route to host)] 00:33:10 No. It's perfectly correct. 00:33:12 Not really. I am not aware of anyone who actually enforces the rule that you may not (DEFINE DEFINE ...). 00:33:18 No, chandler, it's not, according to the R5RS. 00:33:38 Oh; actually, it works for me in R5RS mode. 00:34:07 Quoth the R5RS, in Section 5.3 `Syntax definitions': `For example, the following are errors: (define define 3) (begin (define begin list)) ...' 00:34:11 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:34:58 Riastradh: Sorry; I answered the question as jrtayloriv asked it: it is not a mistake on the PLT authors' part to error in this situation. 00:35:03 It is perfectly correct to do so. 00:35:21 Ah, OK. 00:35:23 However, (define define 3) is not rejected by plt-r5rs as far as I can tell. 00:35:58 Anyway, I'm not aware of any Scheme system (toy or otherwise!) that enforces the rule preceding my quotation from Section 5.3. 00:36:00 Riastradh, Is (define let 4) also supposed to be illegal? 00:36:06 No, that's OK, jrtayloriv. 00:36:26 That binds the name LET to a variable, which is initialized, when that is executed, to 4. 00:38:49 Here's an interesting case: 00:38:52 Macro expansion is always done before evaluation right? 00:38:56 rudybot: eval (display (let () (define define values) (define values values) values)) 00:38:57 chandler: your r5rs sandbox is ready 00:38:57 chandler: ; stdout: "#" 00:39:09 incubot: (display (let () (define define values) (define values values) values)) 00:39:09 ## 00:39:22 jrtayloriv, in the R5RS, it doesn't matter. 00:39:39 Larceny also returns an unspecified value for that let expression. 00:39:48 I'm at a bit of a loss to explain that behavior. 00:40:22 It should be an error, because you referred to the variable named VALUES (bound by the second definition) before it was initialized. 00:40:32 But perhaps they initialize it just to `unspecified'. 00:41:42 It's not an error to refer to the variable before it's initialized in the R5RS, is it? 00:41:49 Yes it is. 00:42:04 Excuse me: when I said `referred to the variable', I meant `used the variable's value'. 00:42:40 Ah. I thought it was the R6RS that made it an error, when in fact the change is that implementations are now *required* to detect that error. 00:43:01 Is it correct to look at the special forms like 'define', 'lambda', etc as macros? For instance, when implementing my compiler, can I just initialize the top-level environment with a set of defined syntax forms that represent the special forms define lambda, etc and have them treated exactly as normal macros? Or are they somehow different? 00:43:33 Riastradh: But in either case, I'm not sure how `values' winds up bound to an unspecified value. 00:43:58 Of course, this program is in error for at least two reasons, should I shouldn't be too surprised. 00:47:39 Excuse me: I spoke in error. 00:47:50 The second subform is not a definition at all. 00:48:16 The reason why it is not a definition is that definitions must take effect immediately, so that it is possible to classify the following forms in the sequence. 00:48:58 Sorry, that was a rambling, poorly worded question. Here it is condensed: Is the 'define' special form, that exists in the standard top-level environment, any different from a macro that I define using define syntax? 00:49:28 For example, if one evaluates (let-syntax ((foo define)) (let ((x 5)) (define foo write) (foo x (current-output-port)) x))), the output is `5' and the value is 5. 00:49:29 You can't recreate the behavior of `define' using `syntax-rules' and some other binding construct in the language. 00:50:00 chandler, perhaps it would be helpful to address addressees specifically, since there are two confusingly related conversations going on here. 00:50:08 Sorry. 00:50:12 Sorry about that, as well. 00:50:23 You two go ahead -- I'll go do some reading ;) 00:50:25 jrtayloriv: My second-to-last statement was meant for you. 00:50:35 chandler, so, the value of (let () (define define values) (define values values) values) should be the standard VALUES procedure. 00:50:35 chandler, I know. Thank you. 00:51:08 chandler, and riaxpander does the right thing, although I guessed wrong initially. 00:52:02 Specifically, in riaxpander, with the S-expression output format, it expands to ((lambda () (define define#0 values) (define#0 values values) values)). 00:52:49 That's what I expected. 00:53:48 Time to file some bug reports! Although I suspect that the implementors of Larceny &c. won't be too happy to hear `riaxpander does it this way and is right' as a reason to change their behaviour. 00:54:55 Isn't this an error case per the language in 5.3 anyway? 00:55:09 Well, yes. But that language is pretty silly. 00:55:17 If you're going to blithely disregard its mandate, you might as well be sensible about it! 00:55:31 (and, again, I'm not aware of anyone who doesn't blithely disregard it) 00:56:11 Scheme48, by the way, yields the standard VALUES procedure. 00:56:40 Yes, as do a number of other implementations. 00:56:54 Chicken and Larceny return an unspecified value. The R6RS implementations I tested report this as an error. 00:57:31 As an error? 00:57:33 As what error? 00:58:04 Ikarus says "cannot redefine keyword". Ypsilon says that `define' has already been used to determine the meaning of undeferred portions of the program. 00:58:11 This is correct behavior. 00:58:21 Cannot redefine what keyword? 00:58:28 `define' 00:58:39 What does it say about (let ((define 5)) ...)? 00:58:53 Nothing; that works as you'd expect. 00:59:11 What about (let-syntax ((foo define)) (let () (foo define 5) ...))? 00:59:18 (rewrite the LET-SYNTAX part as necessary to make it work) 01:00:33 Gee, I guess now I do know of a Scheme in the wild that checks the restriction in Section 5.3. 01:00:35 (let-syntax ((foo (identifier-syntax define))) (let () (foo define 5) define)) -> 5 01:00:49 `cannot redefine keyword' is a pretty bad error message, then. 01:01:04 Yes. Ypsilon's error message is more precise. 01:01:16 I don't see any reason why Ypsilon performs that check, though: I can't imagine what expansion process might actually be confused by the construct. 01:02:01 (At least with Scheme48's CHAR->INTEGER, I can *imagine* Scheme systems that behave differently: EBCDIC, ISO-8859-k for k =/= 1, &c.). 01:02:43 -!- copumpkin [n=pumpkin@129.170.212.225] has quit ["Leaving..."] 01:02:58 (I'm very confused by your parenthetical.) 01:03:49 Larceny in ERR5RS also reports an error on (let () (define define list) (define values values) values) . 01:03:55 (in ERR5RS mode.) 01:03:59 (In Scheme48, the set of characters is order-isomorphic to the set of integers in [0, 2^8). But (CHAR->INTEGER #\SPACE) yields 1032, rather than 32, for example.) 01:04:26 (This is to catch programs that accidentally rely on a particular order isomorphism between characters and some set of integers.) 01:04:52 (Oh. I wasn't aware of that.) 01:05:17 But I don't know how you could possibly expand macros in a way that is sensitive to (DEFINE DEFINE 5). 01:06:01 So as far as I know, Ypsilon, Larceny in ERR5RS mode, &c., go out of their respective ways to perform nonsensical checks. 01:06:18 Perhaps I'm just missing some obvious way to go about expansion, though. 01:07:05 The source of the error is, I believe, the two-pass expansion process. (define define list) is classified as a definition, but apparently the identifier that it is defining is not used in any way when classifying or expanding following forms. Thus, when examining (define values values), define is taken to be a syntactic keyword. Then, the set of bindings are collected, and it is discovered that the define of `define' would have affected the mean 01:07:11 ... the second definition. 01:07:11 -!- schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has quit [] 01:07:17 How can (DEFINE DEFINE LIST) be classified as an expression? 01:07:47 It's not. It's classified as a definition. Did I make a mistake somewhere? 01:07:58 ...oops. 01:08:01 No, I made a mistake reading. 01:08:10 Somehow I read `definition' as `expression' in `(define define list) is classified as a definition'. 01:08:12 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 01:08:17 Maybe because the word `expansion' was hovering above it in my IRC client. 01:08:47 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 01:09:11 OK, so (DEFINE DEFINE LIST) is classified as a definition, and the name DEFINE is bound to a variable. Then you try to classify (DEFINE VALUES VALUES), and you see that the car of the form is a name bound to a variable. 01:09:37 How can DEFINE in (DEFINE VALUES VALUES) be taken to be bound to a keyword? 01:09:45 -!- bill-hager [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has quit [Read error: 113 (No route to host)] 01:10:07 Because evidently these implementations defer the binding completely until all forms have been classified. 01:10:13 That's wrong. 01:10:42 Oh! (let () (define define 5) define) is an error in these implementations. 01:10:47 It has nothing to do with the second form. 01:11:20 It's an error because the (define define 5) is undeferred. 01:11:47 (let-syntax ((foo define)) (let ((x 5)) (define foo write) (foo x (current-output-port)) x)) has only one interpretation. Deferring the binding gives the wrong interpretation. 01:11:47 bill-hager [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has joined #scheme 01:11:56 (`has only one right interpretation') 01:12:56 (let-syntax ((m (identifier-syntax define))) (let () (m define list) (define values values) values)) does what you'd expect. 01:12:59 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:13:13 I still don't understand why any implementation would ever reject (DEFINE DEFINE 5). 01:13:20 s/reject/be confused by/1 01:13:40 ... As does the R6RS translation of your example. 01:14:40 The R6RS explicitly requests that implementations detect this case. 01:14:46 http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-13.html 01:14:47 Yes -- but I don't understand why. 01:15:13 The R6RS could also explicitly request that Scheme systems reject (cwcc (lambda (k) (0 (k)))), even if they evaluate operands before operator. 01:15:26 It wouldn't make such rejection any less silly. 01:15:36 I'm not quite sure. 01:15:50 The exact language is "A definition in the sequence of forms must not define any identifier whose binding is used to determine the meaning of the undeferred portions of the definition or any definition that precedes it in the sequence of forms." ... "The implementation should treat a violation of the restriction as a syntax violation." 01:16:07 rotty: info-domain/compiled/cache.ss is a cache of the keys from all info files. 01:16:08 I'm not sure why "of the definition" is there; I understand the restriction about preceding definitions. 01:16:48 I suppose it is to preserve the illusion that the scope of the definition is the entire internal definition context, and thus the definition should already have been in effect when processing the form. 01:27:55 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 01:29:30 chandler: I don't think this is a violation per R6RS. 01:29:40 What is `this', arcfide? 01:29:58 Using (define define 5) before (define values values). 01:30:12 What about before (list define)? 01:30:24 (let () (define define 17) (list define)) most certainly is an error in the R6RS. 01:30:34 arcfide: The R6RS explicitly states that (let () (define define 17) (list define)) is an error. 01:30:35 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 01:30:47 http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-13.html about 1/3 from the top of the page. 01:30:53 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 01:31:09 (define define 5) is an error in and of itself. 01:31:33 chandler: I'm trying to read through this, where does it say this? 01:31:39 OH, right. 01:31:41 Hang on. 01:31:52 "For example, the bodies of the following expressions violate this restriction." 01:33:59 chandler: Yes, I see that, but I'm not sure why it violates the restriction. I'm thinking about that right now. 01:34:11 Perhaps you could illuminate why the restriction exists, arcfide. 01:34:19 Chez Scheme handles these the way PLT does and for (let () (define define 5) (list define)) returns 5. 01:34:29 The previous sentence describes why. 01:34:33 What about (let () (define define values) (define values values) values)? 01:34:37 "A definition in the sequence of forms must not define any identifier whose binding is used to determine the meaning of the undeferred portions of the definition or any definition that precedes it in the sequence of forms." 01:34:45 Riastradh: It returns the values procedure. 01:34:57 chandler, no, that explains what the restriction is. 01:35:12 chandler: It doesn't explian why (let () (define define 17) (list define)) is a violation. 01:36:00 Firstly, (define define 17) doesn't define any identifier used to determine the meaning of 17; secondly, there are no preceding definitions, so that case doesn't apply. 01:36:17 The other two obviously violate the restriction. 01:37:09 -!- m811 [n=user@84-50-207-42-dsl.est.estpak.ee] has quit [Read error: 110 (Connection timed out)] 01:37:19 Is there an alternative function than expt to deal with large exponentiation? I'm getting infinite as a result :( 01:37:26 Additionally, I don't even know if we need to consider the 17 because it is deferred. 01:37:34 MononcQc: Use an alternative implementation. 01:37:44 Is there any errata on this maybe? 01:38:01 arcfide: Hm. Actually, I'm confused by this now as well. 01:38:05 chandler, do you know any which would be suited for this? 01:38:19 Yes. Practically anything but Chicken. 01:38:20 No, of course there isn't an errata. 01:39:25 arcfide: OK. I am non-confused again. (define define 17) defines an identifier that was used to determine the meaning of the *undeferred* portion of the form. 01:39:50 The undeferred portion being the portion that was already considered, which is everything but the 17. 01:39:54 hm, I was with mzscheme. Tried to do stirling's approximation 01:40:02 chandler: Aaah, I see, yes, that makes sense. 01:40:02 -!- mrsolo_ [n=mrsolo@nat/yahoo/x-ccrxhddssrkpelpm] has quit ["Leaving"] 01:40:12 MononcQc: Oh. You are using inexacts? 01:40:40 I don't know, i'm pretty new at scheme and was trying to implement some of the math functions I have in a book for fun 01:40:44 but then all I get is inf 01:41:05 luz [n=davids@189.122.90.116] has joined #scheme 01:41:05 You are using numbers like "1.0", not like "1", correct? 01:41:11 Riastradh: My impression is that the restrictions exists for simplifying the expansion process, and to prevent a problem of jumping around in the definitions and tracking environments in some weird way, but I havne't thought that through. 01:41:14 correct, due to lns 01:41:45 Due to what? 01:41:45 Riastradh: On the other hand, I don't see why an implementation would not allow (define define 5). 01:41:56 chandler natural logarithms 01:41:59 (e) 01:42:03 Oh. 01:42:42 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 01:42:51 If you are out of IEEE double range, you would have to find an implementation of Scheme with multiple-precision floats. I'm not aware of any off the top of my head. 01:42:57 Riastradh: ping 01:43:21 oh, alright. 01:43:29 I guess I'm pretty much stuck then 01:43:33 So what about them ratios? 01:43:44 it's the first function defined in my machine learning book :( 01:43:48 (iow, is your problem with range or with precision?) 01:44:44 MononcQc: What's a sample EXPT that gives +inf.0? 01:45:26 lisppaste: url? 01:45:27 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 01:46:02 Judging from reading th rest of that chapter, it seems that they may have implemented the restriction to make it possible to process the form in a single pass. 01:46:59 arcfide: (* (expt 450 450) (expt 2.71828183 -450)) 01:47:32 jcowan: ICMP type 2 code 2 (destination protocol unreachable; try TCP). 01:48:41 chandler, or an implementation with symmetric log/index numbers! 01:49:10 What would you say to wrapping up your various div and mod predicates into (DIV f n d), (MOD f n d), and (DIV+MOD f n d), where f = FLOOR, CEILING, EUCLIDEAN, etc. 01:49:12 jcowan, excuse me: ICMP type 3 code 2. 01:49:18 I'd say `no'. 01:49:37 Tell me why? 01:49:54 Riastradh: Fair enough. 01:50:53 EQ? doesn't work on procedures. This rules out a portable implementation. 01:51:27 There's no precedent for interfaces like this. Also, what does the EUCLIDEAN procedure do? 01:51:49 ...or did you mean to use symbols here? 01:52:05 (lambda (x) (if (< x 0) (floor x) (ceiling x))) 01:52:32 or so you defined it to me. 01:53:11 That's not right. 01:53:35 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 01:54:00 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 01:54:06 For the Euclidean division of a by n, if n > 0, q = floor (a / n); if n < 0, q = ceiling (a / n). The sign of a matters too. 01:55:08 I meant EUCLIDEAN to be a one-argument procedure that rounds away from zero, parallel to FLOOR CEILING ROUND TRUNCATE. 01:56:09 I don't think EUCLIDEAN is the right name for that, and I don't think that it's appropriate to identify the Euclidean division operation by associating it with that operation. 01:57:22 As may be. Since I had never heard of Euclidean division before you spoke of it, I was engaged in terminological buccaneering. 01:57:57 Moreover, I don't think there's anything wrong with adding TRUNCATE/, TRUNCATE-QUOTIENT, &c. (Why not also add XOR, EQV, ANDC, &c., and turn (BITWISE-AND ...) into (BITWISE AND ...)? Excuse me, I meant to spell that B-O-O-L-E...!) 01:58:24 Well, obviously not. 01:58:35 No? Never heard of the Euclidean division algorithm? (Which, incidentally, is not strictly speaking actually an algorithm but a theorem about certain rings, but...) 01:58:48 But here the relevant rounding function (I don't have a generic name) can actually be used to implement div+mod. 02:00:19 If I give you a function mapping a dividend and a divisor to a quotient, you can define all five of the division operators: (define (make-division-operator dividend*divisor->quotient) (lambda (dividend divisor) (let ((quotient (dividend*divisor->quotient dividend divisor))) (values quotient (- dividend (* divisor quotient] 02:00:38 Yes. 02:00:48 But a function mapping a real number to an integer does not suffice. 02:02:03 How is that different from doing an exact division? 02:02:23 Sorry, how is what different, from doing what exact division? 02:02:39 Let me try again. 02:03:15 Given f, n, and d, we solve the equations q = f(n/d) and r = n - qd. Does that not suffice? 02:03:33 You could try: (define (make-division-operator round) (lambda (dividend divisor) (let ((quotient (round (/ dividend divisor)))) (values quotient (- dividend (* divisor quotient], but then what do you supply for ROUND to procure the Euclidean division operator? Some information has been lost from the original inputs to the inputs to ROUND. 02:03:50 "inputs to the inputs"? 02:04:10 Soem information has been lost between the original inputs, and the inputs to ROUND. 02:04:19 For Euclidean division there is not a single such f. 02:04:26 There are two such f's, which are chosen depending on the sign of n. 02:04:42 Ah, I grasp it now. 02:04:48 So you could say f_{\signum n} (n / d), but that's pretty random. 02:05:04 Now you need a procedure implementing a function that maps signs to rounding functions. 02:05:08 (five of them, to be precise) 02:05:20 Four of which are trivial, but yes. 02:05:31 So it really gains you nothing. 02:05:35 Right. 02:05:57 And I think that the Euclidean division operator is actually the most useful of the five. 02:06:04 I was just speculating on the possibilities of having an extensible framework: who knows what, if any, other rounding functions might produce interesting results. 02:06:06 (This is a conjecture, not a claim, though.) 02:06:07 Why so? 02:06:28 It yields a remainder that satisfies a stronger property than any of the other four. 02:06:35 Namely, 0 <= r < |n|. 02:06:55 This means that the remainder is always a valid index into a vector whose length is at least the magnitude of the divisor, for example. 02:07:26 *jcowan* nods. 02:07:44 So it was an improvement to go from R5RS to R6RS div and mod? 02:07:49 What? No. 02:08:57 offby1: ping 02:09:01 Oh, perhaps I misremember what the R6RS specifies. 02:09:09 rudybot: source 02:09:09 eli: http://github.com/offby1/rudybot/tree/4c4cd42ccc90a799e1873ecacfc6f0ca3da8510c 02:09:20 rudybot: And how do I use that url? 02:09:20 eli: eh? Try "rudybot: help". 02:09:22 " 02:09:22 The R6RS gives the names DIV and MOD to the Euclidean division operator pair" --Riastradh 02:09:25 *eli* slaps rudybot 02:09:39 Yes, I misremembered, jcowan. It was, indeed, an improvement, I suspect. 02:10:23 I believe I may have mischaracterized DIV0 and MOD0 by putting floors into the formula of the property that their remainders satisfy. 02:10:32 Not that this makes them any less random. 02:11:51 Now where did I put division.txt... 02:12:04 In tmp, I suppose. 02:12:16 Fixed. 02:13:55 Now if Euclidean division is provided primitively, then the framework I sketched should work for the other four. 02:14:19 Because they depend only on the value of n/d, not on d or n separately. 02:14:31 s/four/four division operators 02:14:39 Yes. 02:15:04 eli be pingin' me 02:15:34 offby1: That's ok -- I managed to get rudybot's sources. 02:15:57 offby1: JFYI, I'll try to use it in my class irc channel. 02:16:20 offby1: And BTW, what does it give that ridiculous link when asked for source, instead of just `git://github.com/offby1/rudybot'? 02:16:40 arcfide, perhaps you could elucidate how the restriction enables a simpler expansion process, and what problem it prevents of `jumping about in the definitions and tracking environments'. 02:16:42 *shrug* 02:16:56 eli: I think I wanted to ensure that the link pointed to the exact version that was running 02:17:03 eli: It points to the root of the relevant tree 02:17:22 And as a non-git-user that tells me ... what? 02:17:37 *eli* waits for the suspense to build up 02:17:39 that tells you ... visit the link in your web browser, and click the "download" button 02:17:40 Nothing. 02:17:55 rudybot: source? 02:17:56 Riastradh: eh? Try "rudybot: help". 02:18:01 no ? 02:18:09 rudybot: where can I find your Git source code repository, please? 02:18:09 Riastradh: eh? Try "rudybot: help". 02:18:17 eli: in fact, your suggested shorter URL leads to (more or less) the same page 02:18:20 rudybot: gimme the source, you git! 02:18:21 Riastradh: eh? Try "rudybot: help". 02:18:27 offby1, rudybot isn't working...! 02:18:33 offby1: That's what I was about to say. 02:18:41 Riastradh: he's been reading about socialism, and is trying out striking. 02:18:53 now, I _could_ make a direct link to a tarball, if that'd be more convenient 02:19:04 github will roll one on demand 02:20:07 jcowan, however, I suspect most implementations won't want to implement any of the division operators using exact division and rounding. 02:20:50 Riastradh:      . 02:20:54 I suppose you're right, though it has the advantage of working right for both exact and inexact operands, due to the convenient polymorphism of /. 02:21:08 For most systems, exact division will entail integer division to begin with, in order to compute GCDs! 02:21:14 offby1: That on-demand thing never worked for me. 02:21:18 hmph 02:21:24 haven't tried recently; let's see 02:21:42 eli, er? You broke my Unicode... 02:21:43 eli: Hebraeus esse laboras, obscurus fis. 02:22:12 eli: works for me ... try "wget http://github.com/offby1/rudybot/tarball/master" 02:22:20 perhaps it was broken at one point 02:22:26 jcowan: are you talking crap in Latin? 02:22:49 Trash, not crap. 02:23:02 eli: anyway, it's not like I'm so busy that I couldn't make you a tarball once every six months, so ask if you need it. 02:23:05 "When you strive to be Hebraic, you become obscure". A parody of Horace. 02:23:10 ah 02:23:34 I thought it said Hebrew is too much work, or the language of laborers, and is obscure 02:23:36 Riastradh: I was doing to you the same thing you did to poor rudybot -- so what if he's an irc bot? Does he not bleed when ... 02:24:00 that should probably tell you how accurate my Latin is 02:24:02 offby1: Well, the shorter url worked fine with `git clone'. 02:24:21 that's probably the only sensible URL to clone from. 02:24:25 Anyhow, I was talking trash, which is different from talking crap. 02:24:38 I guess 02:24:43 offby1: As for rudybot -- you can make it have a subcommand, so `source' will ask what kind fo source you want, which you'd specify as `source tgz', `source web' etc 02:25:31 *eli* Just ignores anything written in Lating, or in what looks like Latin. 02:25:47 Latin script FTL 02:25:51 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 02:25:53 What are you, some terrorist of the People's Front of Judea, eli? 02:25:59 ...or was that the Popular Front? 02:26:11 (Splitters!) 02:26:33 I'd answer that, but that joke requires knowing the exact words... 02:26:58 (No, not really; this isn't a quote, just a mere reference.) 02:27:31 ((Yeah, but for the full effect, the exact words would be better.)) 02:27:48 ([And BTW, if paren shapes are for threads, then nested threads are easy too.]) 02:28:12 would runes help? 02:28:27 I mean technically, you can't read any of this, eli 02:29:09 Adamant: I mean it in a practical sense; "Latin" as in "any kind of English-like language which I don't understand". 02:29:39 Adamant: Hebrew script RTL 02:29:53 jcowan++ 02:29:55 What about Hebrew script LAP? 02:30:20 Ugh. 02:30:28 ? 02:30:34 "English-like language"? Latin? Puh-leeze. 02:30:41 Then there's Hebrew script TTB. 02:31:00 what about old Babylonian scripts 02:31:14 (Hebrew script SSA? Hebrew script CPS? Hebrew script ANF? Hebrew script CFG? Hebrew script DFA?) 02:31:34 you know, the Abraham was hanging around Ur and hadn't invented Hebrew yet ones 02:31:35 Those I understand, but not LAP. 02:31:46 `LAP' is a TLA for Lisp Assembly Program. 02:31:58 Ah, yes. 02:32:05 Here's an example; why I have it lying around, I don't remember: . 02:32:12 do we know anything about those, linguistically? 02:32:25 (It is interspersed with the RTL from which it was derived, in comments.) 02:32:49 Ah, I see now. 02:32:54 RTL in this connection is right to left. 02:33:13 (And there's some plain RTL at .) 02:34:00 Adamant: Babylonian is a dialect of Akkadian and written using Sumero-Akkadian cuneiform. 02:34:05 Quick Question -- Anyone have any opinions on Swindle vs. PLT's native object system? 02:34:10 (...gosh, I must have compiled that code from before MIT Scheme distinguished () from #F.) 02:34:12 *offby1* takes "source subcommand" under advisement 02:34:18 *offby1* 's cat casts "detect food" 02:34:52 jcowan: so it all started with the nam-shubs 02:34:58 Cuneiform is completely understood, and even in Unicode now. 02:35:04 sweet 02:35:13 The WP article on Akkadian even begins "Akkadian (linum akkadtum,  ak.ka.dû)" 02:35:29 if you understand Sumerian you can stick it to the Greek and Latin and Hebrew snobs :P 02:35:32 And no, I have no font for those either. 02:35:40 jcowan: Yes, "English-like language". "Any language that uses a similar enough character set to English, and that I can kind of guess the meaning of a smallish portion of the words -- small enough to not make any sense" -- if you want to be picky about it. 02:35:54 Summermute66: What's your question? 02:36:00 Akkadian is a really bad ass looking language. My g'friend is getting an akkadian tatoo on her neck :-) 02:36:16 Summermute66: she middle eastern? 02:36:27 or a linguist 02:36:40 No, hails from FL and went to St. Johns in MD 02:36:55 oh the Great Books school? 02:37:01 Yes 02:37:02 makes sense then 02:37:05 *offby1* understands Murriken 02:37:10 No, I came up with the Akkadian 02:37:23 Just surfed the web for cool old dead languages 02:37:33 Akkadian adopted the Sumerian writing system, but kept random Sumerian words in it, sort of the way Japanese keeps random Chinese words, only there is no kanji/kana separation, it all looks the same. 02:37:38 gimme an _uncool_ old dead language 02:37:39 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 02:37:50 Klingon. 02:37:54 offby1: just hang around the border a bit and you'll start habla'ing espanol, y'all 02:38:05 jcowan: it was never alive in the first place 02:38:07 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 02:38:14 And it's not old, and it is cool. 02:38:16 "So I lied." 02:38:23 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit ["Leaving..."] 02:38:29 no, I think you were right the first time :P 02:38:44 I noticed when surfing and Googling some sort of continuity between cueiform (sp?) and Akkadian, although it's nothing I can see myself. 02:38:51 Adamant: Aramaic. Defenintely old, dead, and not cool. 02:39:02 Aramaic's not dead. 02:39:03 eli: unless you're a Jesus freak 02:39:16 It's dead. 02:39:20 eli: My question is whether on a new project, I should use swindle or PLT's native object system 02:39:28 then it's cool since a lot of the early scriptures were in Aramic 02:39:31 -!- Dark-Star [i=Darkstar@87.181.90.180] has quit [Read error: 145 (Connection timed out)] 02:39:38 "dead" == "no infant learns it as their first language" 02:39:39 Summermute66: What kind of project? 02:39:53 It's a compiler 02:39:57 Dark-Star [i=Darkstar@87.181.112.26] has joined #scheme 02:40:10 offby1: "dead" also == "infants learnt it as their first language at some point" 02:40:13 So think intermediate representations 02:40:13 eli: There are about 400,000 speakers. 02:40:19 Adamant: That's *exactly* why it's not cool. If it was completely extinct, it would grow a coolnes factor. 02:40:26 jcowan: What offby1 said. 02:40:45 -!- MononcQc [n=mononcqc@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING NEXT VERSION OF INTERNET"] 02:41:04 Summermute66: Do you expect that you'll need all kinds of MOP games? Depend on real multiple inheritance, etc? 02:41:11 I think we can safely categorize teaching human children Klingon as their first language as something kinda like abuse 02:41:28 actually, 100 years or so ago, Hebrew might have been considered dead. Discuss. 02:41:33 (maybe 150 or 200 years ago) 02:41:44 offby1: no, it was still spoken then 02:41:49 *offby1* thinks of Miracle Max 02:41:50 but was pretty close to dead 02:41:58 Adamant: but I mean "not spoken as a first language". 02:42:08 I think 100 years ago it was like latin: only liturgical 02:42:20 I can anticipate multiple dispatch being pretty useful, but right now, I can't imagine MOP needs. I'd probably use MI in a manner I'm familiar with from SI languages - traits/mixins style. 02:42:27 offby1: I think it was still used by Jews in Israel 02:42:31 eli: To be sure, Assyrian neo-Aramaic (to confine ourselves to that one language variety) has only about 200,000 speakers today, but they are *native tongue* speakers, not 2nd language learners. 02:42:48 but by a very, very small number 02:43:04 The other 200,000 are divided between a lot of smaller varieties, maybe as many as 30. 02:43:11 Adamant: yes, but _liturgically_; probably used by Jews everywhere. 02:43:33 i.e., only in Temple; not at home. You wouldn't hear a mom telling her son to take out the garbage in Hebrew. 02:43:36 Except China. Forgot their Hebrew in China. 02:43:55 offby1: I agree the bulk of use was liturgical but it was also used by the devout in the Holy Land 02:44:03 IIRC, and I could be wrong 02:44:04 The really cool relationship between dead languages and tatoos is that one is free to write things on one's body that one would NEVER write in a living language :-) 02:44:08 Adamant: *Exactly* what offby1 said. Hebrew was dead in the same sense that Aramaic *is* dead. The fact that some freaks talk it is irrelevant. 02:44:14 lol 02:44:20 Adamant: well, if their kids learned it as a first language, then I'm wrong and it wasn't dead. I suspect, though, that they learned some other language first. 02:44:50 what you really mean is "I want it to be dead but annoyingly a handful of people still living speak it" 02:44:51 Summermute66: You should probably stick to the PLT object system then. 02:45:02 eli: That's just flat wrong. They aren't freaks, they're people who have been living in villages in Iraq for a looooong time. 02:45:06 This is not a myth. 02:45:10 Why can I do (let ((foo 5)) (set! foo 7)) but not (let ((foo 5)) (define foo 5)) ? I am getting error: "no expression in body" -- is this because define didn't evaluate to a value, so it is not an "expression"? If it's not an "expression", then what is it? 02:45:19 may I just interrupt the dead-versus-mostly-dead argument to say: homemade tomatoes make _really nice_ tomato sauce. That is all. 02:45:27 offby1: they do 02:45:32 eli: just for simplicity's sake, or documentation, or performance or ??? 02:45:32 It's true that none of their languages is Talmudic Aramaic, but that's just one offshoot of Aramaic. 02:46:26 jrtayloriv, (DEFINE ...) is not an expression; it's a definition. Any body must have at least one expression at the end. 02:46:30 jcowan: It doesn't matter -- the same holds apply to pre-Israel Hebrew; it was definitely spoken in some areas, yet then the language was "revived" -- and that's ("revived" rather than "modernized") undisputed enough to be the common term that is used. 02:46:40 But this is all silly. 02:46:44 I am not talking about a revived language. 02:46:48 Summermute66: All of the above. 02:46:51 freak language power! 02:46:54 There is continuity of language from Achaemenid days and before. 02:47:02 eli: gotcha 02:47:20 There was *no* continuity of native speakers passing down from parent to child for Hebrew. 02:47:33 jcowan: really? 02:47:38 Really really. 02:47:41 -!- bill-hager [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has quit ["Leaving"] 02:47:42 jcowan: are we sure about that? 02:47:50 Riastradh, Are there any other forms that are not expressions? 02:47:56 jcowan: when was the hiatus? 02:48:02 It's fairly clear that the native transmission from parent to child of Hebrew was interrupted before 1 A.D. 02:48:22 Sure, jrtayloriv. DEFINE-SYNTAX forms, or any forms that expand to DEFINE or DEFINE-SYNTAX forms. 02:48:46 jcowan: So are we talking Roman and Aramaic and a general assimilation style event? 02:50:33 jcowan: That's an opinion. 02:51:04 eli: What is? 02:52:30 jcowan: You're claims about Hebrew. 02:52:32 tjafk1 [n=timj@e176222212.adsl.alicedsl.de] has joined #scheme 02:52:58 The loss of ordinary acquisition? 1 A.D. was overprecise, but +/- 100 years of that, surely. 02:53:35 Unless you produce evidence, that's still an opinion. 02:54:19 The fact that the sun rose today remains a fact even if I present no evidence for it. 02:54:50 And that's even sillier than the r6rs-discuss circus. 02:55:04 Suit yourself. 02:55:37 Riastradh, Then what are the identifiers DEFINE-SYNTAX and DEFINE bound to in the top-level environment, if not an expression of some sort? I'm really having trouble understanding what exactly the special forms ARE behind the identifiers. 02:56:58 jrtayloriv: that's kind of an interesting philsophical question ;-) 02:57:12 That is, when I (define-syntax let ..), let is an expression. So somehow, DEFINE is different than let. 02:57:47 or rather (let ((foo bar)) ...) is an expression, if that wasn't clear. 02:58:39 but why not (define foo bar). I originally was thinking of (define ... ) as some sort of syntax definitions that were bound to identifiers in the top-level environment, but that's not right it seems. 02:58:57 I can imagine a macroexpansion to some binding primitive that one might interpret as an expr returningn Unit ???? 02:59:56 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 03:00:10 Define and define-syntax are declarations. 03:00:14 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 03:03:28 (define (mk-incr x) (define (incr y) + x) incr) I hear what you're saying but nested define's feel "expressiony" to me :-| 03:09:47 -!- tjafk2 [n=timj@e176198237.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:12:22 -!- dmoerner [n=dmr@89-65.res.pomona.edu] has quit ["Leaving"] 03:13:17 jrtayloriv, the names DEFINE-SYNTAX and DEFINE are bound to special operators. (DEFINE-SYNTAX LET ...) does not bind LET to an `expression' -- `expression' is a classification of a form, such as (CAR X), or CAR or X. Forms that are simply names are either keywords or expressions, depending on the bindings of the names. Forms that are pairs can be expressions, definitions, or sequences, depending on the classification of the car 03:13:45 "of the ca"... 03:13:55 ...depending on the classification of the car of the form. 03:14:34 Sorry, I used both the terms `special operator' and `keyword', which are basically synonymous. 03:14:47 It isn't really productive to ask what the primitive syntax keywords are bound to. 03:15:07 define, define-syntax, quote, lambda, if, set!. 03:15:08 The names are bound to denotations that mean `primitive syntax'. 03:15:31 If you like. But no other names can be bound to those denotations, so introducing the notion of a denotation here doesn't seem that useful to me. 03:16:13 One of the irritating asymmetries between procedures and syntax-rules macros is that you can capture a procedure under another name and redefine it using the old definition under the new name. 03:16:28 But that will not work with syntax-rules macros. 03:16:54 How this is represented internally is immaterial, but it is absolutely useful to say that the name LET-SYNTAX is bound to a denotation that means `primitive syntax'; an environment, after all, is a map from names to denotations. 03:18:11 If you don't say that the denotation, to which the standard environment maps LET-SYNTAX, means `primitive syntax', then you must partition an environment another way, which is worse. 03:18:37 Riastradh, So by "special operators", you mean functions that I could write in and which would no longer be accessible, nor possible to re-implement once I have bound the identifier to something else? Did I understand that correctly? 03:20:45 Approximately, jrtayloriv. A special operator, or a keyword, if it is not a macro, is just a primitive part of the language that an implementation must understand. They're not `functions' (or procedures). 03:21:08 jcowan: Let me jump explicitly to the meta-level to clarify: 03:21:16 In the context of this particular medium, or rather in my view of this context as a participant, this argument is irrelevant and unproductive. 03:21:28 Therefore my labeling it as "silly" -- regardless of how deeply interesting or important it may be in other contexts. 03:21:39 In other words -- you can take "silly" as "I'd rather be hacking", and for that I will gladly suit myself. 03:21:51 As for the `r6rs-circus' mailing list, the noise there is damaging in a similarly irrelevant way, and therefore is silly. 03:21:51 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 03:22:15 (Says me, of course, which makes all of this subjective -- it certainly looks like you derive great pleasure from both.) 03:22:20 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 03:22:46 r6rs-circus, that's a much better name. 03:22:56 By all means do hack, then. I am glad to hear it. If the discussion here annoys you, I regret it; if it annoys you there, I can do little, for it serves my purposes, not all of hwich are public. I 03:22:59 s/I$/ 03:23:28 *offby1* wonders if jcowan talks like that in Real Life 03:23:36 Sort of, offby1. 03:23:43 When I'm treading carefully, yes. 03:23:57 `Hwich'? Does he h-ify his `w'? 03:24:06 That is a mere typo. 03:24:21 jcowan: Well, "annoy" is not precise here -- since I can in both cases choose to proactively ignore it. 03:24:36 My wife h-ifies her wh's, and I even know a Whitlock who refuses to answer to Witlock, on the grounds that it's witless. 03:24:48 But I don't. 03:27:09 -!- foof` is now known as foof 03:27:34 Riastradh, Thanks for explaining that -- you just cleared (one of) the (many) problem(s) I've been having with understanding DEFINE and DEFINE-SYNTAX, and how identifiers are mapped to them initially. 03:29:19 offby1: OK, so how do I send you a patch now? 03:30:18 *offby1* cringes 03:30:32 in theory: "git format-patch" will write it to a file, then you mail me the file. 03:30:48 How is `git format-patch' different from `git diff'? 03:31:10 Anyone got a copy of Netscape Navigator 1.0 for Unix handy? 03:31:34 'Fraid not, gnomon... 03:31:57 Riastradh: I think the easiest way to answer that is to run 'em both, and compare the output. 03:32:00 offby1: does format-patch require that I commit my change? 03:32:14 Because I just tried it an it didn't do anything visible. 03:32:15 eli: yes. If you don't want to, then (as Riastradh says) "git diff" will do it. 03:32:16 git help send-email 03:32:29 Riastradh, yar. Thank anywibble. 03:32:34 "Thanks", rather. 03:32:41 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 03:32:54 *offby1* checks his stash of paper bags 03:33:22 offby1: The blarg.net email, right? 03:33:48 that'll work 03:34:09 set-variable 03:34:12 ...er. 03:34:14 Wrong window. 03:34:33 offby1: first patch sent. 03:34:45 Also, wrong command. It's Edwin that takes M-x set-variable RET debug-on-internal-error RET #t RET; GNU Emacs takes M-x toggle-debug-on-error RET. 03:36:38 offby1: second one sent. 03:37:15 Gah. Ligatures in a monospace font? That makes no sense. 03:37:49 I know. 03:38:10 Java in a Nutshell used fi and fl ligatures in their Java code. Made it very hard to read for me. 03:38:14 Riastradh: Fixedsys Excelsior? 03:40:27 Reading "oat x = 32.0" was just discombobulating. 03:41:04 -!- jedc [n=jedc@c-67-171-246-227.hsd1.or.comcast.net] has quit ["Leaving"] 03:41:08 offby1: I want to make it possible to change the default language somehow -- do you prefer a command-line flag or an environment variable? 03:43:37 command-line 03:44:04 OK. 03:44:20 Actually, it looks like the message is not right. 03:44:38 It told me: say "rudybot: eval (GRAB)" 03:45:01 And the `rudybot:' part is redundant. 03:45:12 well, it is in a "private message". 03:45:48 Yes, so it shouldn't tell me to say "rudybot:" when it means that it won't understand me... 03:45:48 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 03:45:57 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 03:46:09 In the private context, that is. 03:46:23 yep 03:47:00 BTW, I didn't follow the conditions or whatever, I was just bugged by the nearly identical pair of formats. 03:47:48 Alternatively, it should ignore redundant "rudybot:" prefixes in PMs. 03:47:59 That'll work too. 03:48:23 *offby1* holds his head 03:48:30 you PEOPLE with your INCESSANT DEMANDS 03:48:38 *offby1* joins the French Foreign Legion 03:51:21 It's funny; the version that's running now is (I think) the _third_ version: twice before I got sick of what I had, threw it out, and started over ... and yet ... 03:51:39 on the other hand: 03:51:43 rudybot: uptime 03:51:43 *offby1: I've been up for seven weeks, two days; this tcp/ip connection has been up for six days, eleven hours 03:51:46 I'm kinda proud of that 03:51:59 that basically means that the vacuum cleaner hasn't blown a circuit breaker, but still. 03:53:23 offby1: a semi-related comment -- you can add a `--warn info' to the command line part of how you run it to see the planet activity. 03:53:32 eli: if you're bold, it might make my patch-applying job a bit easier if you _did_ commit your changes, and then ran "git format-patch" instead of just "git diff". For some reason, those patches you sent me didn't apply, so I applied 'em "by hand"; but in my experience, patches made by "git format-patch" are more likely to apply. 03:53:36 Instead of twiddling your thumbs... 03:53:44 ? 03:53:53 what planet activity? 03:53:58 oooooohhhh 03:53:59 I see. 03:54:06 Just try to remove your ~/.plt-scheme, then run it with that flag. 03:54:11 yep 03:54:20 I haven't tried that in ages, but I hear it's a lot faster now 03:54:25 *offby1* tries on another box 03:55:02 Just rename it temporarily. 03:55:34 mm hm 03:55:49 does this require something newer than 4.2.1.6? 03:55:57 'cuz I don't see nuttin' 03:56:06 I don't think so. 03:56:11 hmph 03:56:31 Actually, it doesn't -- I'm running it now on 4.2.1. 03:57:07 apparently my "main" doesn't pass those flags on. 03:57:27 ? 03:57:51 Just using `mzscheme --warn info freenode-main.ss' should show it. 03:57:58 hm 03:58:15 huh, that works 03:58:36 Your main.ss is weird, I never use it. 03:58:50 heh 03:59:01 I thought I was doing things the officially sanctionedway 03:59:15 _main_ is indeed weird; it's a test harness. But I think freenode-main is similar 03:59:25 Ah, right. 03:59:33 yep, as far as invoking mzscheme does, it is similar. 03:59:37 Using "main.ss" as the name for the tests is what's weird. 03:59:44 ye 03:59:46 yep 04:00:05 anyway, both of them only pass their arguments _after_ a double hyphen, which is probably why it doesn't work. 04:00:37 Oooh... 04:00:42 Doing that reveals more: 04:00:47 *offby1* winces 04:00:50 warning in module: 'sandboxes: optimizer detects procedure incorrectly applied to 2 arguments: get-sandbox-by-name 04:00:54 huh 04:01:14 warning in: /home/eli/tmp/rudybot/sandboxes.ss:193:10: temp40 in module: 'sandboxes: optimizer detects procedure incorrectly applied to 1 arguments: sandbox-eval 04:01:19 etc. 04:01:31 !! 04:01:34 Riastradh: Given that so many Schemes ignore the restriction, even those interested in making such operations fast, I'm not sure why the restriction is there except maybe for ease of expansion, some sort of semantic consistency, or speed. Your guess is as good as mine. 04:02:08 It's Matthew's solution to warnings -- since they can be fine, it shouldn't say that something is wrong -- and his main motivation for the logging was to have a secondary channel for such messages. 04:02:50 *offby1* ponders 04:03:38 Riastradh: Actually, looking at the rationale, I see they say, "The description of the expansion process specifically avoids specifying the recursive case, where a macro use expands into a definition whose binding would influence the expansion of the macro use after the fact, as this might lead to confusing programs. " 04:03:42 Maybe that's it. 04:04:26 An example is: (define (throw-arity-error) ((lambda () 1) 2)) -- which could be a valid way to throw a specific error. 04:05:35 rudybot: eval ((lambda () 1) 2) 04:05:35 *offby1: error: #: expects no arguments, given 1: 2 04:05:46 what's slick is that "--warn info" shows me those problems at compile time. 04:06:44 Well... that's when it detects these errors. 04:06:44 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit ["Leaving..."] 04:07:08 It's actually compiling it to code that directly throws that error. 04:07:20 Which is why adding the warning was easy. 04:09:13 offby1: And BTW, looks like you have some big enough pile of code, that compiling it makes it start significantly faster. 04:09:33 Just in case you don't, and suffer the slow startup time. 04:09:38 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 04:09:59 jonrafkind [n=jon@98.202.86.149] has joined #scheme 04:10:00 (Once every 5 months when you start it, that is.) 04:10:01 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 04:10:34 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 04:11:09 I tried compiling before starting; it worked fine 04:11:11 i.e., fast 04:11:46 Well, great success re making it go to our IRC server. 04:12:01 ? 04:12:10 if it connects to any IRC server other than freenode, I'll be surprised. 04:12:25 (and the two other servers on the planet that people have actually tested it against) 04:12:37 Well, it did. 04:12:42 amazing 04:12:48 must be running the same software that freenode runs 04:12:52 Riastradh: I also note that the R6RS doesn't actually require that implementations treat this as an error, it just says that they "should." 04:13:04 I think so. 04:13:37 It obviously proceeded to make itself comfortable by creating a bunch of familiar channels. 04:13:56 Which is obviously something that is configured from an environment variable... 04:15:55 or should be. 04:16:11 Although I kinda dislike environment variables ... perhaps a config file 04:16:28 I'm making it accept a command line flag for channels too. 04:16:37 eli: I hope it didn't take its shoes off and root around in the fridge, too 04:16:50 :) 04:17:07 Or rather join the feline crowd and pee somewhere in the house. 04:20:49 offby1: To make it even better -- it even works with my course language, which is by default a butchered version of typed scheme. 04:21:04 00:19 eli: rudybot: eval (map add1 '(1 2 3)) 04:21:04 00:19 rudybot: eli: ; Value: (2 3 4) 04:21:04 00:19 rudybot: eli: ; stdout: "- : (Listof Integer)\n" 04:21:16 Fun. 04:26:30 -!- arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has left #scheme 04:30:05 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:30:48 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 04:31:10 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 04:35:59 rudybot: init typed-scheme 04:36:01 eli: your typed-scheme sandbox is ready 04:36:09 rudybot: eval (+ 1 2) 04:36:09 eli: ; Value: 3 04:36:10 eli: ; stdout: "- : Integer\n" 04:36:15 rudybot: eval (+ "1" 2) 04:36:16 eli: error: typecheck: No function domains matched in function application: Domains: Integer * Number * Arguments: String Integer 04:36:24 *eli* claps 04:38:09 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Remote closed the connection] 04:39:07 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 04:46:01 -!- kniu [n=kniu@128.2.16.211] has quit [Read error: 131 (Connection reset by peer)] 04:46:56 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 04:52:48 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 04:53:21 ASau [n=user@91.77.59.32] has joined #scheme 04:54:31 i just defined a procedure for cube root as cbrt, and at the scheme prompt, when i type "cbrt" and as it value, it says ";Value 14: #[compound-procedure 14 cbrt]" what is that 14 about? 04:54:46 *as it's value.. 04:55:40 nevermind.. 04:55:41 ;-) 04:57:57 dmoerner [n=dmr@89-65.res.pomona.edu] has joined #scheme 05:07:49 *foof* wonders if it's too late to change sqrt to square-root 05:08:46 or expt-1/2 05:14:49 -!- ASau [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 05:15:05 ASau [n=user@91.77.59.32] has joined #scheme 05:21:57 -!- Makoryu [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has quit [] 05:34:54 -!- ASau [n=user@91.77.59.32] has quit ["off"] 05:39:13 pierre_thierry [n=Pierre@88.164.172.1] has joined #scheme 05:45:38 foof: Of course not. Write up a SRFI and get it widely adopted, and boom. 05:47:19 *jcowan* can't count, and to make things worse, R5RS has acquired a mysterious new feature. 05:47:23 Sux2beme. 05:50:56 -!- sstrickl [n=sstrickl@pool-151-199-30-68.bos.east.verizon.net] has quit [] 05:51:48 -!- thesnowdog [i=thesnowd@122.110.53.184] has quit [Read error: 110 (Connection timed out)] 05:54:19 schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 06:03:09 m811 [n=user@84-50-207-42-dsl.est.estpak.ee] has joined #scheme 06:05:43 thesnowdog [i=thesnowd@122.110.48.130] has joined #scheme 06:09:00 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 06:12:47 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 06:17:18 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 06:17:19 -!- swathanthran [n=user@unaffiliated/shyam-k/x-8459115] has quit [Read error: 104 (Connection reset by peer)] 06:23:54 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Remote closed the connection] 06:24:02 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 06:31:23 -!- Fufie [n=innocent@80.203.225.86] has quit ["Leaving"] 06:31:31 a-s [n=user@nat-240.ro.66.com] has joined #scheme 06:39:31 -!- a-s [n=user@nat-240.ro.66.com] has quit [Read error: 104 (Connection reset by peer)] 06:40:21 a-s [n=user@nat-240.ro.66.com] has joined #scheme 06:44:42 leeews [n=liyang@37.46.113.131.in-addr.arpa] has joined #scheme 06:47:29 shyam_k [n=user@unaffiliated/shyam-k/x-8459115] has joined #scheme 06:48:23 *shyam_k* just tried the factorial(not ftril this time..:P) function the linear iterative way.. 06:49:03 and gave an evaluation for (factorial 500000) and my lap is red hot..;=) 06:49:14 As opposed to the shuffle a list an infinite number of times, counting how many unique results you get way? 06:49:46 ? 06:50:34 its using 97% of cpu and has been running for 15.. will such processes harm cpu?:) 06:50:45 *15 minutes 06:50:54 Try my method. It will give you a result around the time your evaluation completes. 06:51:26 (And take the machine off your lap if you ever want children.) 06:51:49 its on the bed;-) though i don't want children. 06:53:33 "As opposed to the shuffle a list an infinite number of times, counting how many unique results you get way?" <= i didn't get it.. is that a joke? 06:53:37 *shyam_k* looks around innocently.. 06:54:00 There are N! permutations of a length N list. 06:54:45 If you keep shuffling, then as you approach infinity you will see all N! Permutations, so counting them is a way to compute factorial. 06:55:18 (well, assuming the list has no duplicates) 06:57:03 -!- rstandy [n=rastandy@net-93-144-244-138.t2.dsl.vodafone.it] has quit [Read error: 110 (Connection timed out)] 06:57:21 ASau [n=user@host67-231-msk.microtest.ru] has joined #scheme 06:57:43 its better because that avoids multiplication? 06:58:13 ... 06:58:31 may be i'll read on..;-) 06:59:03 Yes, it was a joke. 06:59:20 0.0 07:02:23 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 07:04:25 (define (factorial x) (define (fact-iter product count) (if (> count x) product (fact-iter (* count product) (+ 1 count)))) (fact-iter 1 1)) thats what i did and its around 30 minutes and counting its yet to respond to (factorial 500000) 07:05:27 amazing that it didn't complaint as opposed to (* x (fact-iter (- x 1) 07:09:05 hotblack23 [n=jh@p5B055965.dip.t-dialin.net] has joined #scheme 07:09:42 so the iterative one isn't pushing stack though its doing recursive calling.. as opposed to (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) which complains of exceeding the limit .. 07:10:42 I was joking because I didn't think your result would even fit in memory, but my initial intuition was a little off - it should only take a few MB. 07:13:43 500000 =~ 2^19, and since for large numbers N! =~ N^N, that's (2^19)^(2^19) or 2^(19*2^19), or very roughly 20*500000 = 10 million bits. 07:15:17 For N = 5 million that's roughly 2^22, ballpark 10 billion bits. 07:16:36 -!- dmoerner [n=dmr@89-65.res.pomona.edu] has quit ["Leaving"] 07:16:37 And for N = 50 million, ballpark 20 trillion, which your computer most likely can't represent, even if it could do N = 5 million :) 07:18:03 But for the number you gave, memory won't be a factor but time will - you're doing close to 1/2 million bignum multiplications (and then presumably printing the string out, which will require bignum divisions). 07:19:17 Increasingly large bignum multiplications. 07:20:07 rdd [n=rdd@c83-250-145-223.bredband.comhem.se] has joined #scheme 07:25:48 -!- schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has quit [] 07:26:04 The multiplcations will be dominated by the answers towards the end, and on my machine two numbers of that magnitude multiply in about 20ms, so a rough estimate on the time required (not counting gc time) would be 20ms * 500000 or 10000 seconds, 2.7 hours. 07:26:48 Round up to 3 hours for the gc time and the time taken to print the result :) 07:27:02 aha!:) 07:27:40 i.e. now's a good time to go for a walk :) 07:28:12 good to see something really working silently than just exploding;-) 07:29:35 *shyam_k* goes for lunch... 07:31:04 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 07:38:18 Fufie [n=poff@Gatekeeper.vizrt.com] has joined #scheme 07:40:41 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 07:41:21 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 07:42:27 -!- Summermute66 [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has quit [] 07:42:33 schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 07:56:49 Now if he was running Chicken, it would all have gone much faster! 07:57:32 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 07:57:40 wtf? 08:02:40 thehcdreamer [n=thehcdre@81.174.49.227] has joined #scheme 08:03:06 -!- thehcdreamer [n=thehcdre@81.174.49.227] has quit [Client Quit] 08:08:04 sepult` [n=levgue@87.78.101.121] has joined #scheme 08:16:43 Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 08:16:55 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 08:22:14 -!- sepult [n=levgue@xdsl-87-78-131-240.netcologne.de] has quit [Connection timed out] 08:33:31 -!- leeews [n=liyang@37.46.113.131.in-addr.arpa] has left #scheme 08:34:16 it aborted being out of memory..;-) 08:34:33 ;Aborting!: out of memory ;GC #150853: took: 0.10 (100%) CPU time, 0.10 (100%) real time; free: 1019255 08:34:34 08:37:21 -!- shyam_k [n=user@unaffiliated/shyam-k/x-8459115] has quit [Read error: 54 (Connection reset by peer)] 08:51:00 attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has joined #scheme 08:54:33 rstandy [n=rastandy@pc212-189-140-32.unile.it] has joined #scheme 09:00:56 -!- rdd [n=rdd@c83-250-145-223.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 09:08:09 mit-scheme? 09:19:14 rdd [n=user@c83-250-145-223.bredband.comhem.se] has joined #scheme 09:30:46 -!- joast [n=rick@76.178.178.72] has quit [Read error: 110 (Connection timed out)] 09:31:45 thehcdreamer [n=thehcdre@81-174-49-227.dynamic.ngi.it] has joined #scheme 09:32:37 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 09:33:15 -!- mmc [n=mima@89.27.122.78] has quit [Read error: 145 (Connection timed out)] 09:33:47 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 09:49:17 masm [n=masm@bl5-106-248.dsl.telepac.pt] has joined #scheme 09:51:01 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 10:00:13 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 10:03:27 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 10:03:54 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 10:04:35 -!- rdd [n=user@c83-250-145-223.bredband.comhem.se] has quit [Read error: 110 (Connection timed out)] 10:14:04 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 10:16:21 Edico [n=Edico@unaffiliated/edico] has joined #scheme 10:20:49 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 10:29:32 -!- thehcdreamer [n=thehcdre@81-174-49-227.dynamic.ngi.it] has quit [] 11:02:18 -!- Sveklo1 is now known as Sveklo2 11:04:34 -!- Sveklo2 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has quit ["Leaving..."] 11:05:55 Sveklo2 [n=sveklo@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 11:06:04 joast [n=rick@76.178.178.72] has joined #scheme 11:11:03 Guest61993 [n=j@dsl-216-227-92-75.fairpoint.net] has joined #scheme 11:13:08 -!- Guest61993 [n=j@dsl-216-227-92-75.fairpoint.net] has quit ["Leaving"] 11:20:10 -!- schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has quit [] 11:21:06 schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 11:24:02 Maddas [n=mz@74.125.121.33] has joined #scheme 11:29:29 shyam_k [n=user@117.204.91.69] has joined #scheme 11:33:49 answer for exercise 1-10 at http://www.mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#call_footnote_Temp_48 as given here http://community.schemewiki.org/?sicp-ex-1.10 says (h n) => 2^{h(n-1)} is that correct? 11:33:50 -rudybot:#scheme- http://tinyurl.com/ye9j5e2 11:34:30 *shyam_k* can't get the way to deduce the function backward to mathematical form.. 11:35:23 could get the first two one's anyway.. 11:42:38 nevermind.. 11:42:41 *shyam_k* reading ..http://en.wikipedia.org/wiki/Ackermann_function 11:43:04 *shyam_k* loves sicp;-) 11:49:37 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 11:52:08 -!- emmy [n=em@cpe-98-14-154-71.nyc.res.rr.com] has quit [Read error: 60 (Operation timed out)] 12:07:20 -!- thesnowdog [i=thesnowd@122.110.48.130] has quit [Read error: 60 (Operation timed out)] 12:16:47 -!- joast [n=rick@76.178.178.72] has quit ["Leaving."] 12:17:44 joast [n=rick@76.178.178.72] has joined #scheme 12:23:15 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 12:23:22 Era bem remover os documentos da contabilidade da dropbox, para simpleficar a estrutura, tendo em conta que esses documentos estão no site da Edit Value. 12:23:29 any recommendations for a smallish scheme that runs on arm ? 12:23:36 Sorry. 12:32:53 Dawgmatix: Define "smallish". Several Scheme systems should work trivially on ARM, as they are not native compilers. 12:33:14 Scheme48, Gauche, and Chibi come to mind. 12:34:03 A few of the R6RS implementations (Ypsilon and Mosh) should also work, though I haven't tried them on anything but x86 myself. 12:34:55 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 60 (Operation timed out)] 12:36:44 well i bought a device by creative (Zii) thats essentially a linux box on arm with 32 megs of memory. 12:37:07 I was trying to get a scheme that would run within these constraints and allow me to write a server 12:37:20 I would prefer if it had a good ffi :) 12:37:58 I've also heard that Gambit is good for targeting embedded environments, but I think that is more for cross-compilation scenarios. 12:38:23 If you're planning on programming on the device, Gambit wouldn't be the right thing, but if you're developing on a desktop and targeting the embedded device, it's probably worth looking at. 12:38:42 Gambit is incredibly easy to integrate with existing C code. 12:38:48 Ah I didnt realise that kind of option existed 12:38:55 that would be ideal 12:39:31 I was thinking of a scenario where I have a scheme and connect remotely to the device to do development. 12:41:15 You could probably run the Gambit interpreter on the device for interactive debugging and development. 12:41:55 You might find this article about targeting another portable platform (the iPhone) from Gambit to be interesting: http://jlongster.com/blog/2009/06/17/write-apps-iphone-scheme/ 12:42:13 thanks :) 12:46:39 -!- sepult` is now known as sepult 12:47:10 thesnowdog [i=thesnowd@114.73.167.112] has joined #scheme 12:50:13 Dawgmatix: If this is the Zii EGG you're referring to, doesn't that have much more than 32MB of RAM? 12:51:47 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 12:52:59 ahh right - just checked the specs its 256 Mb 12:53:15 and yes I am talking about the Zii Egg 12:54:39 Darki [i=Darkstar@p57B5653A.dip.t-dialin.net] has joined #scheme 12:55:03 -!- Dark-Star [i=Darkstar@87.181.112.26] has quit [Read error: 145 (Connection timed out)] 12:55:30 Jafet1 [n=Jafet@unaffiliated/jafet] has joined #scheme 12:55:46 -!- Baconizer [n=baconize@unaffiliated/baconizer] has quit [Read error: 110 (Connection timed out)] 12:55:58 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Nick collision from services.] 12:56:03 -!- Jafet1 is now known as Jafet 12:56:52 -!- Darki is now known as Dark-Star 12:57:02 Dawgmatix: Are you planning on targeting their "Plazma" OS or Android? 12:59:57 Makoryu [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has joined #scheme 13:04:07 Android is just a distant buzzword on their roadmap as of now 13:06:04 Ah. Evidently I've been misled by marketing. 13:07:13 mario-goulart [n=user@67.205.85.241] has joined #scheme 13:08:10 They are developing it pretty quickly and I like the device and the plan, but its a very early prototype so things arent as "done" as the marketing makes it out to be 13:12:23 Lilarcor [n=Lilarcor@ip70-187-168-252.oc.oc.cox.net] has joined #scheme 13:12:45 ejs [n=eugen@95.135.103.35] has joined #scheme 13:19:01 -!- Lilarcor [n=Lilarcor@ip70-187-168-252.oc.oc.cox.net] has quit [Remote closed the connection] 13:23:25 luz [n=davids@139.82.89.70] has joined #scheme 13:25:31 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 13:25:57 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 13:26:06 -!- ray [i=ray@drong.notacat.org] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- langmartin [n=user@exeuntcha.tva.gov] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- luz [n=davids@139.82.89.70] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- twobitsprite [n=isaac@li24-165.members.linode.com] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- rotty [n=rotty@nncmain.nicenamecrew.com] has quit [holmes.freenode.net irc.freenode.net] 13:26:25 -!- Khisanth [n=Khisanth@pool-68-237-101-45.ny325.east.verizon.net] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- Maddas [n=mz@74.125.121.33] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- Sveklo2 [n=sveklo@unaffiliated/sveklo] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- a-s [n=user@nat-240.ro.66.com] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- zanes [n=zane@c-76-24-24-236.hsd1.ma.comcast.net] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- brx [i=brx@erxz.com] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [holmes.freenode.net irc.freenode.net] 13:26:26 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- bawden [n=alan@gw.bawden.org] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- mbishop [n=martin@unaffiliated/mbishop] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- _Jordan_ [n=jcooper@173-45-228-22.slicehost.net] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- tabe` [n=user@adel.fixedpoint.jp] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- ecraven [n=nex@140.78.42.103] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- klutometis [i=klutomet@pdpc/supporter/active/klutometis] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- Edico [n=Edico@unaffiliated/edico] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- araujo [n=moz@gentoo/developer/araujo] has quit [holmes.freenode.net irc.freenode.net] 13:26:27 -!- snorble [n=none@s83-179-14-105.cust.tele2.se] has quit [holmes.freenode.net irc.freenode.net] 13:26:28 -!- hotblack23 [n=jh@p5B055965.dip.t-dialin.net] has quit [holmes.freenode.net irc.freenode.net] 13:26:28 -!- felipe [n=felipe@my.nada.kth.se] has quit [holmes.freenode.net irc.freenode.net] 13:27:11 hotblack23 [n=jh@p5B055965.dip.t-dialin.net] has joined #scheme 13:27:12 ray [i=ray@drong.notacat.org] has joined #scheme 13:27:15 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 13:27:15 luz [n=davids@139.82.89.70] has joined #scheme 13:27:15 Maddas [n=mz@74.125.121.33] has joined #scheme 13:27:15 Sveklo2 [n=sveklo@unaffiliated/sveklo] has joined #scheme 13:27:15 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:27:15 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 13:27:15 a-s [n=user@nat-240.ro.66.com] has joined #scheme 13:27:15 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 13:27:15 zanes [n=zane@c-76-24-24-236.hsd1.ma.comcast.net] has joined #scheme 13:27:15 araujo [n=moz@gentoo/developer/araujo] has joined #scheme 13:27:15 ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #scheme 13:27:15 twobitsprite [n=isaac@li24-165.members.linode.com] has joined #scheme 13:27:15 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 13:27:15 brx [i=brx@erxz.com] has joined #scheme 13:27:15 ski [n=slj@c-c110e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 13:27:15 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 13:27:15 rotty [n=rotty@nncmain.nicenamecrew.com] has joined #scheme 13:27:15 dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 13:27:16 Khisanth [n=Khisanth@pool-68-237-101-45.ny325.east.verizon.net] has joined #scheme 13:27:16 tabe` [n=user@adel.fixedpoint.jp] has joined #scheme 13:27:16 sjamaan [n=sjamaan@netbsd/developer/sjamaan] has joined #scheme 13:27:16 klutometis [i=klutomet@pdpc/supporter/active/klutometis] has joined #scheme 13:27:16 _Jordan_ [n=jcooper@173-45-228-22.slicehost.net] has joined #scheme 13:27:16 mbishop [n=martin@unaffiliated/mbishop] has joined #scheme 13:27:16 bawden [n=alan@gw.bawden.org] has joined #scheme 13:27:16 ecraven [n=nex@140.78.42.103] has joined #scheme 13:27:50 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [Remote closed the connection] 13:32:33 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 13:33:05 -!- foof [n=user@FLH1Ahf049.osk.mesh.ad.jp] has quit [Remote closed the connection] 13:33:14 foof [n=user@FLH1Ahf049.osk.mesh.ad.jp] has joined #scheme 13:42:07 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 13:43:28 xwl [n=user@123.115.118.232] has joined #scheme 13:49:28 Nshag [i=user@Mix-Orleans-106-1-227.w193-248.abo.wanadoo.fr] has joined #scheme 13:50:57 Adrinael_ [i=adrinael@rib4.kyla.fi] has joined #scheme 13:52:13 -!- shyam_k [n=user@unaffiliated/shyam-k/x-8459115] has quit [Read error: 60 (Operation timed out)] 13:55:44 -!- xwl [n=user@123.115.118.232] has quit [Remote closed the connection] 13:57:13 felipe [n=felipe@my.nada.kth.se] has joined #scheme 13:58:05 -!- Adrinael [n=adrinael@barrel.rolli.org] has quit [Read error: 110 (Connection timed out)] 13:59:08 rdd [n=rdd@c83-250-145-223.bredband.comhem.se] has joined #scheme 14:03:59 MrFahrenheit [n=RageOfTh@users-38-231.vinet.ba] has joined #scheme 14:08:47 steiger [n=steiger@189.105.89.208] has joined #scheme 14:10:15 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 14:20:57 TR2N [i=email@89-180-192-63.net.novis.pt] has joined #scheme 14:25:01 dysinger [n=dysinger@75-94-4-238.war.clearwire-wmx.net] has joined #scheme 14:27:31 samth [n=samth@nomad.ccs.neu.edu] has joined #scheme 14:35:50 addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 14:39:21 -!- addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Client Quit] 14:39:37 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 14:39:42 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 14:39:52 mabes [n=mabes@bmabey.fttp.xmission.com] has joined #scheme 14:42:31 copumpkin [n=pumpkin@dhcp-212-225.cs.dartmouth.edu] has joined #scheme 14:50:03 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 14:57:42 -!- mabes [n=mabes@bmabey.fttp.xmission.com] has quit [Read error: 110 (Connection timed out)] 14:58:28 mabes [n=mabes@66.236.74.194] has joined #scheme 15:00:11 -!- mabes [n=mabes@66.236.74.194] has quit [Client Quit] 15:04:47 Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has joined #scheme 15:06:04 -!- Maddas [n=mz@74.125.121.33] has quit ["Lost terminal"] 15:12:05 -!- ASau [n=user@host67-231-msk.microtest.ru] has quit ["off"] 15:13:45 -!- Adrinael_ is now known as Adrinael 15:14:36 Is it worth the trouble to send mail to the SRFI 103 mailing list pointing out that nobody renames all their files when they release a new version of a `library' (meaning an organized collection of related code fit for distribution together, not an R6RS library)? 15:15:58 Nobody except svn users. 15:16:07 Huh? 15:16:42 In svn, there are no tags, so by convention you copy the whole directory to a directory called "tags//" 15:17:01 Even then, it's just the directory, not the file names. 15:17:18 That's different. I meant actually naming all your files foo.0.1.scm, bar.0.1.scm, &c., and then when you release version 0.2, changing them to foo.0.2.scm, bar.0.2.scm, &c. 15:17:29 This is what SRFI 103 suggests. I kid you not. 15:19:37 Can you say `boggle'? 15:20:06 Hmmm... none of the R6RS implementations have separate compiled files, so I suppose it seems superficially natural just to "install" the files as-is with different version names. 15:20:07 pnkfelix [n=pnkfelix@verdelho.ccs.neu.edu] has joined #scheme 15:20:29 -!- pnkfelix [n=pnkfelix@verdelho.ccs.neu.edu] has left #scheme 15:21:12 sstrickl [n=sstrickl@nomad.ccs.neu.edu] has joined #scheme 15:21:14 And does anybody seriously use fine-grained versions for anything but source code control? 15:21:39 That is, a version on every single module in a library^W^W^W^Wlibrary in a...what do you call a collection of libraries? 15:23:55 I still must say that SRFI 103 as a whole baffles me. Is it meant to be taken seriously? Are people really taking it seriously? 15:24:51 Am I the only one who finds it completely absurd? 15:24:59 "This SRFI defines a standard for naming and finding files containing libraries." 15:25:05 The premise is broken. 15:25:48 The thing you want to standardize is a package format and tool for installing those packages. 15:26:10 Riastradh: Given that it essentially standardizes what is already widely implemented, it seems to be a serious effort. 15:26:33 No, foof, that's what one should *implement*, not standardize until it is implemented and demonstrated to work well. 15:26:59 chandler, what, does anyone currently implement its ^main^ and version number absurdity? 15:27:12 Oh; those parts I'm not sure about. 15:28:07 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Read error: 60 (Operation timed out)] 15:30:11 I said earlier that I thought it could be summarized by saying `Scheme systems implementing this SRFI maintain a list of directories called a search path relative to which they search for libraries by mapping their component names to file names, percent-encoding characters outside such and such a set, and suffixing ..sls or .sls.' Apparently that doesn't include all of the nonsense^Wbells & whistles^W^W`features and descrip 15:30:45 cut off 15:30:53 what client are you using? 15:31:01 Apparently that doesn't include all of the nonsense^Wbells & whistles^W^W`features and description that its author wanted it to have'. 15:31:08 ecraven, the client is not the problem. The protocol is the problem. 15:31:17 doesn't irssi automatically split up long lines? 15:31:23 No. 15:31:25 Riastradh: indeed, but there's nothing better around, is there? 15:31:26 Riastradh would rather be cut off than succumb to a heuristic. 15:32:08 ecraven: I have a script for my irssi that will split up long lines. 15:32:29 It doesn't do that automatically?? all the emacs clients do, I think.. 15:32:45 No client correctly splits lines where necessary. 15:33:12 Is it any less correct than being cut off at the line limit? 15:33:14 what about "split at the last possible whitespace"? 15:33:26 ecraven: There is no way to determine that. 15:33:38 shyam_k [n=user@unaffiliated/shyam-k/x-8459115] has joined #scheme 15:33:43 Anyway, this discussion was about the absurdity of SRFI 103, not the absurdity of the IRC protocol! 15:33:45 The protocol does not give the client any indication of the maximum message size that can be transmitted. 15:33:45 -!- Sveklo2 [n=sveklo@unaffiliated/sveklo] has quit ["Leaving..."] 15:34:11 Oh, been some time since I read the RFCs, I thought there was a fixed maximum message length 15:34:37 There is, but the server-to-server protocol will eat into that. 15:35:06 Every message is limited to 512 octets, including CRLF, but the content of a PRIVMSG message is limited by the prefix that the server affixes to the message when it broadcasts the message to other clients. 15:35:17 The sender has no way to know how long that prefix might be. 15:36:14 Ok, that's more or less like I remembered. 15:37:15 Isn't the sender appending version strings to the prefix? 15:37:18 *foof* ducks 15:37:30 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Remote closed the connection] 15:38:01 Sveklo2 [n=sveklo@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 15:39:19 -!- Sveklo2 [n=sveklo@a88-115-8-123.elisa-laajakaista.fi] has quit [Client Quit] 15:40:35 arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has joined #scheme 15:48:02 ecraven, if you go looking for an RFC about the IRC protocol, I'm afraid you'll be sorely disappointed. 15:48:21 -!- Fufie [n=poff@Gatekeeper.vizrt.com] has quit ["Leaving"] 15:48:21 ...too. 15:48:32 Disappointed? What do you mean? There are lots of them! 15:49:44 And not a one more authoritative than any other! Any adventurous person must succomb to a compiling a table of implementations and features! It's enough to drive a squid mad! 15:50:03 *gnomon* inflates a baker's dozen of paper bags and baps them all over the place 15:54:51 Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has joined #scheme 15:56:09 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 15:58:49 snorble [n=none@s83-179-14-105.cust.tele2.se] has joined #scheme 15:58:59 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 15:59:12 -!- Makoryu [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 15:59:21 Makoryu [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has joined #scheme 15:59:42 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 15:59:49 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:00:49 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Remote closed the connection] 16:06:48 -!- rstandy [n=rastandy@pc212-189-140-32.unile.it] has quit [Read error: 110 (Connection timed out)] 16:18:52 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 16:24:14 *jcowan* continues to debate in his head the virtues of the transparent (or #S) approach and the opaque (or print-object) approach to printing and rereading records. 16:24:19 Anyone care to weigh in? 16:25:52 shyam_k` [n=user@117.204.89.238] has joined #scheme 16:26:08 dstorrs` [n=user@98.14.187.196] has joined #scheme 16:26:39 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- shyam_k [n=user@unaffiliated/shyam-k/x-8459115] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- rotty [n=rotty@nncmain.nicenamecrew.com] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- Khisanth [n=Khisanth@pool-68-237-101-45.ny325.east.verizon.net] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- twobitsprite [n=isaac@li24-165.members.linode.com] has quit [holmes.freenode.net irc.freenode.net] 16:26:39 -!- luz [n=davids@139.82.89.70] has quit [holmes.freenode.net irc.freenode.net] 16:29:24 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 16:29:29 rotty [n=rotty@nncmain.nicenamecrew.com] has joined #scheme 16:32:22 I like the #S "transparent" print format by default. It's what I'm used to, and it's pleasantly more readable unless the verbosity gets in the way. 16:32:24 jcowan: I want to be able to control how my records are printed, I want the default to show me the record and its contents. 16:32:33 jcowan: I actually like how Chez does this. 16:33:53 Summermute, arcfide: what about when reading? 16:33:59 -!- Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has left #scheme 16:34:50 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 16:35:42 jcowan: Reading? 16:36:11 I do not expect records to be READable in general. 16:37:26 Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has joined #scheme 16:40:06 -!- attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 16:40:30 Summermute: What about reading records? 16:40:50 print-readably :-) 16:40:53 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:40:58 Khisanth [n=Khisanth@pool-68-237-101-45.ny325.east.verizon.net] has joined #scheme 16:41:03 luz [n=davids@139.82.89.70] has joined #scheme 16:41:09 -!- shyam_k` is now known as shyam_k 16:41:19 I'm still getting used to scheme coming from my ancient CL knowledge 16:41:54 jcowan: I have nothing against a format that makes it possible to read in a record. 16:42:13 addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 16:42:56 Reading records at runtime is no problem, but reading them at compile time has a phase problem equivalent to the macro phase problem; 16:43:29 I did not now that 16:43:33 jcowan: For example, Chez Scheme can read in records about which it knows provided that all the fields are likewise readable. 16:43:33 you have to make sure that the specialized reader procedure has been registered before reading is attempted. 16:44:07 Ok, so no "eval" when reading at compile time? 16:44:08 Oh, I don't have to bring up the version number absurdity on the SRFI 103 list: someone just did that for me. 16:44:12 mflatt_ [n=mflatt@wireless195.wireless.utah.edu] has joined #scheme 16:44:12 jcowan: However, given some random record form, it can't be expect to read in the record form reliably. It may not know that record type, the record may have procedures in it, &c. 16:44:20 arcfide, how does Chez know about a record type? 16:44:28 -!- mflatt_ [n=mflatt@wireless195.wireless.utah.edu] has left #scheme 16:44:32 Is there a global database mapping names to record types? 16:45:02 I would think so - it's a type after all 16:45:13 Huh? 16:45:49 A structure defines a type 16:45:59 *Riastradh* blinks. 16:46:08 What am I missing? 16:46:15 Riastradh: I haven't studied the underlying implementation, but each record has a unique name associated with it, and when reading the record form: #[name ...] if Chez can identify the record type fom the name, then it can read the record provided that the fields are readable. 16:46:20 I don't understand what you're saying, Summermute. 16:46:48 arcfide, each record has a unique name associated with it? As in an address? 16:48:12 each record type 16:48:27 OK. So there is a global database mapping names to record types, then? 16:48:35 #s(identifier-of-structure-type ...) 16:48:48 Riastradh: search for "#[type-name field ...]". 16:49:11 I think there is some sort of database. 16:49:20 And given that identifier, yes, the runtime system can come up with a reader procedure that can validate whether or not the structure as printed is well formed. 16:51:28 In Chez 7.9.x, you must call record-reader to associate the symbol in the #[symbol datum ...] syntax with the record-type descriptor. 16:51:37 I'm not sure what happens in Chez 7.4 yet. 16:52:02 jcowan: You don't have to call record-reader. 16:52:19 jcowan: One is usually created automatically. You use that if you want to change it. 16:52:29 Riastradh: Are you implying that a global database is necessary? 16:52:44 No, chandler. I was only asking how Chez does this. 16:53:40 I was just looking through the PLT docs, and it took me forever to find "prop:custom-write" for a structure. Is there no standard way to define a custom writer for an object of a given structure type in Scheme? 16:53:45 arcfide: How can that work for generative record types? 16:53:50 Summermute: no. 16:53:53 jcowan: I'm not sure why you're implying that there's necessarily a phase problem. #S(type ...) can be specialized record constructor syntax where the type name is still treated lexically. 16:53:53 That is right, Summermute. 16:54:08 Does that work inside QUOTE, chandler? 16:54:42 I don't see why it couldn't. Whether that would be sensible or not is another question. 16:54:59 chandler: The phase problem arises because the act of registration, a runtime event, must logically precede the detection of extended syntax in the source. 16:55:24 Riastradh: 'tis a pity - sort of an obvious feature 16:55:50 Records aren't standard in R5RS or earlier releases, so the R6RS versions are somewhat lacking. 16:55:54 Obvious? No, it's not obvious at all. Serializing data is not a problem with an obvious general solution. 16:56:28 (It does have an obvious general solution if you work within the constraints that make a general solution obvious.) 16:56:48 Serialization is not the same as record reading/printing; it's one quite specialized application thereof. 16:57:21 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 16:57:48 Re QUOTE, I would think it would have to work within QUOTE 16:58:14 In Java, e.g., class instance printing is a matter of writing a toString method; serialization involves a vast amount of eeeevil behind the scenes breaking of encapsulation and still does not work transparently in certain cases. 16:58:34 jcowan, does class instance printing work with pretty-printers? 16:59:26 Java printing, like Java equality, is defined solely bottom-up, so there is no distinction such as that between display/write/pp unless you roll it yourself. 16:59:28 I think the more important question is not whether it works within `quote', but whether it works within `read'. 17:00:10 This should be possible: (QUOTE ((lambda (x) x) #s(flower name tulip))) 17:00:12 The limited form of extensible syntax I'm proposing (which is analogous to `) does not work within quote nor at run time, any more than ` does. 17:00:18 chandler, well, do #S(...) and '#S(...) yield the same value when evaluated? 17:00:28 (when read and evaluated) 17:01:22 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 17:01:23 jcowan: you might be interest in plt scheme's prefab structs 17:01:27 Are they being read as code, or as datums? If you accept that code is read by something like PLT's `read-syntax', the answer is "yes, they certainly can be the same under `eq?'". 17:01:44 http://docs.plt-scheme.org/guide/define-struct.html#(tech._prefab) 17:01:45 Riastradh: if printed field members are treated as literals in Chez, then I'd say yes. 17:01:47 `As code'? `As dat[a]'? 17:02:06 Sorry, why is there a difference for my question? 17:02:09 jcowan: See the above link and section I mentioned. 17:02:51 Riastradh: If #S(...) reads to some form of indeterminite structure literal object whose type tag is not lexically associated with a type until expansion-time, then it is quite possible. 17:02:57 reprore [n=reprore@116.82.73.92] has joined #scheme 17:03:13 What if it's not available until run-time? 17:03:29 Riastradh: '#s(expr val (+ 1 2)) - question is what controls whether or not (+ 1 2) prints as a list or as "3" 17:03:35 What is "it"? The type? 17:03:39 Yes, chandler. 17:03:40 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:03:47 If the type is not available until run-time, then it has not yet been bound, and so you can't lexically refer to it, can you? 17:04:10 Now I'm confused, and I've forgotten what problem we're trying to solve. 17:04:14 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:04:37 arcfide: Thanks, that's very interesting. Chicken's SRFI 9 records are like this under the covers. 17:04:48 chandler: is this any different than refering to a module routine in a module that has not yet been loaded? 17:05:14 ... In what module system? 17:05:18 Riastradh: The desire for otherwise opaque types with selectable readers and printers. 17:05:30 What problems does that solve, jcowan? 17:06:24 Cursed if I know, but it must solve somebody's problems, because many Schemes provide such readers and printers, despite the problem of phase. 17:06:25 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:06:34 (or of eval-when, if you prefer that label) 17:07:30 jcowan: On a side note that is partially related, I like the way most Chez configuration is done with parameters. Things like changing the optimization settings, library search paths, and most other settings can just be filled into a parameterize and most things work. 17:07:33 I'm still not seeing the phase problem, except when `read' is used to produce a datum at runtime, in which case it needs some kind of environment to look up type names in. 17:07:42 Riastradh: Well, skipping the 'print-readably' requirement, I could imagine records that printed themselves out interspersed with troff tbl formatting commands. I think custom output format isn't too hard to justify. 17:07:43 Scheme48, MIT Scheme, and T all support customizing the way the writer shows records, for interactive convenience. Scheme48's mechanism is a little more restricted than the others. 17:08:26 Riastradh: You can add PLT with it's "prop:custom-write" 17:08:34 Specifically, Scheme48's mechanism does not provide a way for a record type to tell how to print itself to an output port, but rather a way for a record type to tell how to turn records into lists describing them. 17:08:53 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:09:00 albacker [n=eni@unaffiliated/enyx] has joined #scheme 17:09:04 jcowan: Is there a problem with just letting implementations do this stuff? Are they really that different? It's not hard to specify a default printing format that is readable itself. 17:09:39 Summermute: I think most implementations with records provide some level of customization in their printing. 17:09:52 CL has done that for many years, including cyclic structures. 17:10:07 twobitsprite [n=isaac@li24-165.members.linode.com] has joined #scheme 17:10:14 Of those Scheme systems, only MIT Scheme also attaches readable meaning to the output in some capacity. 17:10:17 Common Lisp is the last thing you want to bring up in this discussion. 17:10:26 jcowan: Whoops that was in response to your inquiry 17:10:44 chandler: :-) 17:10:55 chandler: The phase problem is that you need to execute a run-time action to register the opaque record type descriptor with the reader, but this run-time action must be done before read-time. 17:11:10 Something like (define-syntax foo (syntax-rules () ((_ v) (begin (define-record-type r (make-r a) r? (a r-a)) (define v '#s(r a 1)))))) need not have any phase problems associated with it so far as I can tell unless you're assuming that the literal is actually something of that value at read- or expand-time instead of some kind of record constructor syntax object. 17:11:42 chandler: Exaclty. If it's done at expand time, all is well, but nobody I know of actually does that. 17:12:27 That's a shame; it's the only sensible way I can think of to make record read syntax work. 17:12:30 In MIT Scheme, #[foo hash-number ...] is readable only for objects that have not been garbage-collected, by reversing the hash number, or for values of foo that have been explicitly globally registered. This is used only for URIs and pathnames at the moment. 17:12:59 chandler: With the same restrictions as `; it will not work inside quote, nor at run time. 17:13:07 That is, eval must be involved. 17:13:12 I am not aware of any use of this except for interactive convenience, however; for that matter, I don't think I have ever used either of these features (unhashing on reading #[foo hash-number ...] or putting URIs or pathnames in readable data). 17:13:21 No; it can certainly work inside quote if the expander is responsible for concretizing the literal. 17:13:33 Fair enough. 17:14:11 That makes quote work more like quasiquote, though. 17:14:42 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:15:01 No; the result of (let ((f (lambda () '(1 #S(r a 2))))) (eq? (f) (f))) can still be guaranteed to be #t. 17:15:04 ASau [n=user@91.77.59.32] has joined #scheme 17:15:09 So can someone explain to me what problems a general system like CL's for readable records solves? 17:15:57 chandler: If you evaluate '`,foo, you expect to see (quasiquote (unquote foo)), not something depending on the value of the variable foo. 17:15:58 Riastradh: It is essentially a debugging tool, used for expressing literals when changing values in globals, in a USE-VALUE restart, etc. 17:15:58 -!- ASau [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 17:16:09 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:16:21 I think it's more than that. 17:16:48 It makes record instances fully first-class: they can be included inside quoted data structures, e.g. 17:16:51 jcowan: This doesn't depend on the value of any variable. It depends on the lexical binding of a type. 17:16:59 chandler: Now that I think of it more, does this mean that a record printed readably is an unquotable syntax? 17:17:09 (let ((x 1)) '#S(r a x)) -> #S(r a x), not #S(r a 1) 17:17:41 chandler: roger that 17:17:42 I get by in MIT Scheme with hash numbers. I don't think I've ever even been tempted to make literal records in USE-VALUE restarts; why are literal records better than expressions yielding records? 17:18:08 Because an expression cannot appear just anywhere a datum can, specifically inside another datum. 17:18:09 I'm not sure; it probably involves some horrible phasing behavior again. 17:18:23 chandler, what about (let ((r 1)) '#s(r a x))? 17:18:30 chandler: I agree about x; I'm making the point that quote normally doesn't expand anything inside it. 17:18:36 Riastradh: I would expect that to be an expand-time error. 17:19:06 jcowan: Right. This is a change from the "usual" expectations. 17:19:21 mrsolo [n=mrsolo@nat/yahoo/x-lxnhdqlkdfutmhtk] has joined #scheme 17:19:38 Procedures are not first-class in this sense: you cannot set a variable to a quoted list of procedures, because procedures have no lexical syntax. (I'm not arguing that they should.) 17:19:38 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:20:13 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:20:35 Riastradh: PLT is happy with '#s(r a x) 17:21:21 Nor do ports. But all the other R5RS disjoint types have a lexical syntax of their own. 17:21:45 Riastradh: After all, why allow "foo", when we could use (string #\f #\o #\o) instead? 17:22:05 jcowan: I don't have time to discuss all of this of course, but please check out the way the existing systems handle this type of thing. Chez Scheme and others have had somewhat customizable and readable records for a while. 17:22:08 (There is the matter of immutability here). 17:22:26 jcowan: i think that's really arbitrary in the end 17:22:47 It's because we think every type should have a lexical syntax unless it's really impossible, viz. ports and procedures. 17:23:28 arcfide: I've been attempting that, but it's really hard to find out, and all of them involve run-time registration except the prefab records you mentioned. 17:23:30 Aren't strings just character vector in Haskell with a customized write/read syntax? 17:23:37 Character lists, yes. 17:24:21 But that's a different thing, because Haskell has no lexical syntax for lists: [a,b,c] is more like (list a b c) than like (a b c). 17:24:33 jcowan, contrariwise, what if I want to have a hash table mapping foo to 5, bar to 3, and baz to 1? Does it matter that I implemented hash tables with records? Should it still look like #S(hash-table (type #S(hash-table-type ...)) (rehash-threshold 1) (rehash-size 2.) (count 3) (grow-size 4) (shrink-size 0) (buckets #(... ((foo . 5) (bar . 3)) ... ((baz . 1)))) (primes #S(stream 3 5 7 ...)) (needs-rehash? #f) (initial-rehash-siz 17:24:58 jcowan: or '(a b c) 17:25:07 Summermute: yes. 17:25:21 We think every type should have lexical syntax unless it's really impossible? 17:25:25 Who is `we'? 17:25:34 Riastradh: hence the demand for controllable read/write operations on records. 17:25:47 The Lisp'ish computing gnomes 17:26:04 A figure of speech. The Scheme community, as expressed in its standards, acts as if they believe so. The most recent example was the introduction of #t and #f. 17:26:05 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:26:09 (or #vu8) 17:26:42 ASau [n=user@91.77.59.32] has joined #scheme 17:26:44 jcowan: sorry, what's up with #t and #f ? 17:26:47 ASau` [n=user@91.77.59.32] has joined #scheme 17:27:03 -!- ASau` [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 17:27:36 They are lexical syntax for booleans. We didn't need to have them; we could have bound the variable t to truth and nil to falsehood, as early Scheme versions did. 17:27:50 -!- ASau [n=user@91.77.59.32] has quit [Remote closed the connection] 17:27:55 Through the R5RS, changes required unanimity. That's no longer the case, and the authors committee no longer reflects a representative sample of `the Scheme community'. 17:28:17 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:28:24 My examples were drawn from versions prior to R5RS. 17:28:28 Ah, yes - again the old CL way 17:28:33 #T and #F, yes; #vu8, no. 17:28:42 Oops, right. 17:29:00 However, #vu8 continues the established tradition of no type without a lexical syntax, where possible. 17:29:09 What tradition? 17:29:13 I'm not aware of this tradition. 17:29:27 What Scheme system demonstrates this tradition? 17:29:35 Given boolean and #t and #f, I think it's odd that Scheme still supports forms like (or #f 88 #t) => 88 17:29:42 What people do over a long period is a tradition, whether they are aware of it or not. Scheme standards have evolved toward that position. 17:30:05 Summermute: Breaking with all-but-#f-is-true would have much more impact on code than adding #t and #f. 17:30:09 I'm not aware of any evidence for this tradition. 17:30:18 It was hard enough to get Scheme to reject the falsiness of (). 17:30:42 I'm not sure why they thought that () was any truer than it was falser. 17:30:43 It was described as a bad idea already in R2RS, but not finally eradicated until IEEE (between R4 and R5) 17:30:45 jcowan: Then maybe they should have thrown it into r6rs ;-) 17:31:00 Too radical even for them, I suppose. 17:31:12 Every Scheme system I am aware of has non-readable data that have no intrinsic technical reasons precluding them from being readable. 17:31:21 I am not speaking of implementations, but of standards. 17:31:33 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:31:34 rstandy [n=rastandy@net-93-144-211-227.t2.dsl.vodafone.it] has joined #scheme 17:31:36 *jcowan* attempts to get on his left shoe for the first time in many months. 17:31:52 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:31:54 The standards do not reflect `traditions' in Scheme. They reflect the subsets of ideas in what various people call `Scheme' that they can agree on. 17:32:36 They reflect traditions in standardization. There are many such: for example, the tradition to cover primitive syntax first, and in a certain order. 17:33:05 Sure, does any scheme support anything like #s (you get the idea - literal reference to stdin) 17:33:08 R6RS disrupts the traditional ordering to a fair degree, which makes it hard to find things in a printed copy. 17:33:31 In any case, whether you perceive such a tradition as this, I still want reasons for introducing new lexical syntax. 17:34:07 The fact that most Schemes have such a device, either via SRFI 10 or directly, suffices for me. I assume implementers didn't write these things in out of whimsy. 17:34:08 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:34:29 Riastradh: Well, it's not like there's a plethora of new data types added to each standard revision 17:34:31 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:34:36 Most Scheme systems *don't* have a general device for reading records. 17:35:17 That's an empirical question I'm having trouble finding an answer to right now, due to the obscurity of the topic in most Scheme manuals. 17:35:27 There are various ad-hoc mechanisms for accomplishing this (e.g., in Scheme48, you can extend the octothorpe dispatch character set, but that's really only so that the command processor can add ##), but no general formal mechanisms for it. 17:36:06 jcowan: Reminds, me - coming up to speed with Scheme from CL, i find all the interesting action in the SRFI's vs. the lang standard 17:36:14 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:36:36 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:36:40 -!- zanes [n=zane@c-76-24-24-236.hsd1.ma.comcast.net] has quit [] 17:36:52 I'm confused, jcowan. 17:37:49 You said that you're looking into a general lexical syntax for readable records because implementors didn't make them out of whimsy, but you're having trouble finding information about what implementations actually have such a device? 17:37:56 Does any scheme feature a fully programmable reader for implementing custom syntax? 17:38:16 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:38:20 What does `fully programmable' mean, Summermute? 17:38:43 Riastradh: Sorry, thinking of the CL reader system 17:39:03 Yes, there are Scheme systems with readers like Common Lisp's; e.g., Gambit, T. 17:39:48 Interesting - it's one of the areas of CL I've always considered way overkill 17:40:43 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:42:05 Riastradh: A deficiency in documentation does not necessarily mean a lack of implementation. 17:42:09 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 17:43:33 Anyway, I think it's splendid that if one defines some custom record types, many scheme's allow one to print out one's record data to a file and read it back in later. Makes complete sense to me. 17:44:07 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 17:45:54 Summermute: There is the state (record information) about the records that must be retained or that must exist when that record is subsequently re-read. 17:46:56 Summermute: This may or may not be easy to ensure in certain circumstances. Thus, if you properly ensure that the definition of the record is loaded into the system before you attempt to read the record, you are okay, but mis that, and that same readable record will no longer be valid. 17:46:57 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:47:15 Sure, no problem. Personally, I see no reason for records to be self describing, and find the field names to be syntactic sugar for humans. But then, my Dad was a COBOL programmer ;-) 17:47:26 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:47:56 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 17:48:05 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:49:41 tagac [n=user@87.223.62.131] has joined #scheme 17:50:14 I mean, if we had some library where we defined lists like some ML definition data 'a List = 'a :: 'a List | Nil - then we'd have the same problem reading in Lists! We're just lucky that lists are "built in" and don't require a library load to handle them. 17:51:01 "to handle reading them" to be more specific. 17:52:08 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:52:31 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:53:52 -!- arcfide [n=arcfide@adsl-99-14-211-93.dsl.bltnin.sbcglobal.net] has left #scheme 17:54:48 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 17:55:12 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 17:56:05 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 18:04:08 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 18:06:33 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:06:53 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:11:58 -!- addamgc_ [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Client Quit] 18:12:12 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 18:17:06 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:19:37 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:20:46 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 104 (Connection reset by peer)] 18:21:01 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 18:22:52 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 18:27:07 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 18:27:40 -!- dysinger [n=dysinger@75-94-4-238.war.clearwire-wmx.net] has quit [Remote closed the connection] 18:27:42 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:29:13 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:29:23 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:36:57 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:39:30 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:41:37 fnpod [n=irchon@116.71.186.164] has joined #scheme 18:42:50 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:43:07 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:43:09 sarahbot, yow! 18:43:18 bah 18:44:14 sorbet hasn't been here for a long time. 18:49:59 -!- hiyuh [n=hiyuh@124.214.245.222] has quit ["|_ e /\ \/ i |/| G"] 18:51:56 zanes [n=zane@nomad.ccs.neu.edu] has joined #scheme 18:55:00 -!- fnpod [n=irchon@116.71.186.164] has quit [Read error: 113 (No route to host)] 18:57:22 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 18:57:47 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 18:58:31 indeed :( 18:59:59 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:00:23 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:04:22 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 19:07:02 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:07:29 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:10:25 -!- rcy [n=rcy@d64-180-71-78.bchsia.telus.net] has quit [Remote closed the connection] 19:12:58 hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 19:15:09 mmc [n=mima@89.27.122.78] has joined #scheme 19:16:38 eli: I noticed that setup-plt tries to compile (amongst others) all files with .scm extensions in collection dirs; what is the PLT convention for naming/handling files needed by the libraries (e.g. via some kind of `include'), but not being libraries themselves? 19:17:43 rotty: define a `compile-omit-paths' field in the "info.ss" file. 19:17:43 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:18:05 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:18:44 -!- ejs [n=eugen@95.135.103.35] has quit [Connection timed out] 19:20:01 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:20:02 attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has joined #scheme 19:20:29 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:21:23 -!- schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has quit [] 19:22:03 eli: ok, thanks. 19:27:39 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:28:07 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:29:53 -!- optimizer [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 19:30:35 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 19:33:25 RageOfThou [n=RageOfTh@91.191.38.231] has joined #scheme 19:36:48 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:38:34 karme [n=user@static.180.75.40.188.clients.your-server.de] has joined #scheme 19:39:14 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:39:42 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 19:42:09 rcy [n=rcy@d64-180-71-78.bchsia.telus.net] has joined #scheme 19:43:56 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 54 (Connection reset by peer)] 19:44:22 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:46:52 St0rmMolest [n=St0rmMol@c83-251-39-128.bredband.comhem.se] has joined #scheme 19:47:40 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:48:54 jcowan [n=jcowan@72.14.228.129] has joined #scheme 19:50:13 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:51:08 -!- MrFahrenheit [n=RageOfTh@users-38-231.vinet.ba] has quit [Connection timed out] 19:54:01 mejja [n=user@85.229.182.73] has joined #scheme 19:54:43 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 110 (Connection timed out)] 19:54:50 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 19:56:03 Riastradh: ponder (define-integrable minimum-size 4) .. Is 1 really a safe lower bound? 19:56:54 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 19:57:02 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 19:59:12 Riastradh: oops, brainfart :( 20:00:58 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:01:12 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:02:24 morn|eri [n=mornfall@ip-89-103-110-62.karneval.cz] has joined #scheme 20:03:43 -!- RageOfThou [n=RageOfTh@91.191.38.231] has quit [Read error: 131 (Connection reset by peer)] 20:04:02 RageOfThou [n=RageOfTh@users-38-231.vinet.ba] has joined #scheme 20:05:11 jjjj2_ [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:05:47 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:05:53 -!- jjjj2_ [n=jon@crystalis.cs.utah.edu] has quit [Read error: 54 (Connection reset by peer)] 20:06:08 jjjj2_ [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:06:16 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:07:58 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:08:23 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:09:49 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:10:06 ASau [n=user@91.77.59.32] has joined #scheme 20:13:24 emma [n=em@unaffiliated/emma] has joined #scheme 20:13:54 -!- mornfall [n=mornfall@kde/developer/mornfall] has quit [No route to host] 20:16:37 -!- ASau [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 20:16:50 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:20:51 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [No route to host] 20:21:20 -!- jjjj2_ [n=jon@crystalis.cs.utah.edu] has quit ["Ex-Chat"] 20:21:38 jonrafkind [n=jon@155.98.68.48] has joined #scheme 20:23:40 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:23:58 ASau [n=user@91.77.59.32] has joined #scheme 20:28:33 Fufie [n=innocent@80.203.225.86] has joined #scheme 20:28:42 -!- ASau [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 20:29:11 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:30:03 sepult` [n=levgue@xdsl-87-78-122-238.netcologne.de] has joined #scheme 20:33:15 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:33:54 ASau [n=user@91.77.59.32] has joined #scheme 20:37:24 -!- ASau [n=user@91.77.59.32] has quit [Read error: 131 (Connection reset by peer)] 20:37:35 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:37:47 -!- sepult [n=levgue@87.78.101.121] has quit [Connection timed out] 20:38:57 how can i make a list of all possible pairs from to lists with map. I get nested lists. :( 20:40:38 "from _two_ lists", do you mean? 20:42:48 -!- Dawgmatix [n=user@c-68-32-44-191.hsd1.nj.comcast.net] has quit [Remote closed the connection] 20:44:20 mbishop_ [n=martin@unaffiliated/mbishop] has joined #scheme 20:45:08 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 20:46:36 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 20:46:54 -!- jcowan [n=jcowan@72.14.228.129] has left #scheme 20:47:57 yes 20:48:10 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:48:26 -!- St0rmMolest [n=St0rmMol@c83-251-39-128.bredband.comhem.se] has quit [Remote closed the connection] 20:48:29 St0rmMolest, wh... 20:48:33 ...oh, never mind. 20:48:36 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit ["Leaving"] 20:48:45 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:50:02 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 20:53:11 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 20:53:21 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 20:54:42 -!- tagac [n=user@87.223.62.131] has left #scheme 20:55:32 -!- karme [n=user@static.180.75.40.188.clients.your-server.de] has left #scheme 21:00:58 danlei [n=user@pD954F5AA.dip.t-dialin.net] has joined #scheme 21:01:55 -!- mejja [n=user@85.229.182.73] has quit ["ChatZilla 0.9.85 [Firefox 3.5.3/20090824101458]"] 21:02:05 -!- attila_lendvai [n=ati@catv-89-134-66-153.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 21:03:14 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 21:03:26 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 21:06:27 schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 21:08:16 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Remote closed the connection] 21:09:15 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:09:39 -!- mbishop [n=martin@unaffiliated/mbishop] has quit [Connection timed out] 21:15:30 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 21:15:59 Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:16:39 aleix [n=aleix@108.200.217.87.dynamic.jazztel.es] has joined #scheme 21:16:40 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 21:16:55 -!- aleix [n=aleix@108.200.217.87.dynamic.jazztel.es] has quit [Client Quit] 21:17:06 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 21:17:45 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Remote closed the connection] 21:17:45 -!- Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Remote closed the connection] 21:17:54 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:20:53 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:26:47 -!- albacker [n=eni@unaffiliated/enyx] has quit ["_"] 21:28:33 -!- morn|eri [n=mornfall@ip-89-103-110-62.karneval.cz] has quit [Client Quit] 21:29:23 optimizer [n=x@unaffiliated/lowlycoder] has joined #scheme 21:38:27 ada2358_ [n=ada2358@login-linux.ccs.neu.edu] has joined #scheme 21:39:18 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Remote closed the connection] 21:39:44 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 21:39:46 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:39:48 Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:40:09 -!- Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 104 (Connection reset by peer)] 21:40:33 -!- samth [n=samth@nomad.ccs.neu.edu] has quit [Read error: 113 (No route to host)] 21:40:54 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Client Quit] 21:42:10 ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has joined #scheme 21:43:57 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:48:34 annodomini [n=lambda@wikipedia/lambda] has joined #scheme 21:49:14 -!- ada2358 [n=ada2358@login-linux.ccs.neu.edu] has quit [Read error: 110 (Connection timed out)] 21:52:34 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Remote closed the connection] 21:53:08 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:53:08 Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:53:13 dmoerner [n=dmr@89-65.res.pomona.edu] has joined #scheme 21:53:22 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 104 (Connection reset by peer)] 21:53:23 -!- Lemonator [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 54 (Connection reset by peer)] 21:54:20 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:55:06 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 104 (Connection reset by peer)] 21:55:17 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:55:59 luz [n=davids@189.122.90.116] has joined #scheme 21:58:47 -!- sstrickl [n=sstrickl@nomad.ccs.neu.edu] has quit [] 21:59:32 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 22:13:31 -!- copumpkin [n=pumpkin@dhcp-212-225.cs.dartmouth.edu] has quit [] 22:19:32 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:29:10 -!- reprore [n=reprore@116.82.73.92] has quit [Remote closed the connection] 22:29:19 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [] 22:34:59 -!- pierre_thierry [n=Pierre@88.164.172.1] has quit [Read error: 148 (No route to host)] 22:37:17 mflatt_ [n=mflatt@98.202.83.160] has joined #scheme 22:39:37 -!- schemer999 [n=tmilford@cpe-76-90-137-46.socal.res.rr.com] has quit [] 22:40:27 -!- hotblack23 [n=jh@p5B055965.dip.t-dialin.net] has quit ["Leaving."] 22:41:03 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 22:41:32 -!- jonrafkind [n=jon@155.98.68.48] has quit [Read error: 148 (No route to host)] 22:42:29 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:46:35 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:48:17 -!- zanes [n=zane@nomad.ccs.neu.edu] has quit [] 22:50:21 ASau` [n=user@ppp91-77-57-240.pppoe.mtu-net.ru] has joined #scheme 22:50:42 Makoryu` [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has joined #scheme 22:52:07 -!- Makoryu [n=vt920@pool-74-104-123-150.bstnma.fios.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 22:53:25 ofrat [n=ofrat@208.Red-79-147-146.dynamicIP.rima-tde.net] has joined #scheme 22:54:01 -!- ofrat [n=ofrat@208.Red-79-147-146.dynamicIP.rima-tde.net] has left #scheme 22:57:36 -!- mflatt_ [n=mflatt@98.202.83.160] has quit [Read error: 110 (Connection timed out)] 23:07:09 -!- ASau [n=user@ppp91-77-59-32.pppoe.mtu-net.ru] has quit [Read error: 110 (Connection timed out)] 23:18:27 schemer999 [n=tmilford@76.90.137.46] has joined #scheme 23:19:09 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Remote closed the connection] 23:22:17 addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has joined #scheme 23:26:51 arquebus [n=sdf@201.139.156.133.cable.dyn.cableonline.com.mx] has joined #scheme 23:27:01 pierre_thierry [n=Pierre@nsg93-7-88-164-172-1.fbx.proxad.net] has joined #scheme 23:28:38 -!- ASau` [n=user@ppp91-77-57-240.pppoe.mtu-net.ru] has quit [Read error: 104 (Connection reset by peer)] 23:28:59 ASau` [n=user@ppp91-77-57-240.pppoe.mtu-net.ru] has joined #scheme 23:31:21 -!- RageOfThou [n=RageOfTh@users-38-231.vinet.ba] has quit [Read error: 110 (Connection timed out)] 23:35:17 PLT question: upon reading up more closely on wills and will executors, I gather that wills cannot be used to implement the `make-guardian' procedure as described in the Dybvig paper? 23:35:55 or, to put it another way, what happens if the registered will procedure returns the value passed to it? 23:37:14 -!- Mr_Awesome [n=eric@c-98-212-143-245.hsd1.il.comcast.net] has quit ["aunt jemima is the devil!"] 23:37:39 -!- addamgc [n=addamgc@ip72-203-154-146.br.br.cox.net] has quit [Remote closed the connection] 23:37:44 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 23:43:13 -!- masm [n=masm@bl5-106-248.dsl.telepac.pt] has quit ["Leaving."] 23:44:16 -!- pierre_thierry [n=Pierre@nsg93-7-88-164-172-1.fbx.proxad.net] has quit [Read error: 113 (No route to host)] 23:53:29 sstrickl [n=sstrickl@pool-151-199-30-68.bos.east.verizon.net] has joined #scheme