00:01:13 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 00:01:15 -!- mrsolo [n=mrsolo@nat/yahoo/x-muoklpgeawsrymyf] has quit [Read error: 110 (Connection timed out)] 00:04:19 -!- haesbaert [n=haesbaer@201.54.129.16] has quit [Remote closed the connection] 00:06:10 -!- wingo [n=wingo@83.37.98.58] has quit [Read error: 148 (No route to host)] 00:17:06 synx: Yet you don't mind the generic functions built into Scheme? 00:24:17 built into scheme...? 00:24:28 +, for example, is a generic function. 00:24:40 jcowan: like what? I probably don't mind something I don't know. :p 00:25:25 Is not! 00:25:38 It performs a very specific function. 00:26:06 *TimMc* googles to learn about "generic functions" 00:26:34 Well, what about 'equal?'? It definitely behaves differently on different arguments according to their type. 00:28:20 jcowan: `+` is generic? 00:28:24 except for numbers and strings, and structures with an equal+hash property, equal? pretty much just uses eq? 00:28:33 QinGW [n=wangqing@203.86.89.226] has joined #scheme 00:28:41 synx: What??/ 00:28:55 *arcfide* shakes head. 00:28:56 It's not very general at all... 00:29:03 eqv? at *least* 00:29:20 synx: EQUAL? is VERY general. As is DISPLAY, WRITE, &c. 00:29:21 eqv? is only different from eq? on numbers 00:30:03 synx: And a function should always do something specific, regardless of whether it is generic or not. That's not the point. 00:30:10 ok MAYBE display is a generic function. 00:30:25 GENERIC functions are functions that do the right thing for each individual type they receive in order to achieve that one specific function. 00:30:26 Hey, is there an equality comparator for booleans? 00:30:56 TimMc: and 00:31:07 synx: You don't understand what generic functions are, do you? 00:31:07 That's... not true. 00:31:22 arcfide: define 'type' 00:31:30 (not (xor b1 b2)) would do it :-P 00:31:38 -!- masm [n=masm@bl11-77-52.dsl.telepac.pt] has quit ["Leaving."] 00:32:08 chandler: No, I completely understand them, and have been claiming I don't for the last hour just to be contrary :p 00:32:31 *TimMc* hands synx his copy of TAPL 00:32:32 Then perhaps you should *educate* yourself, instead of making statements based on a misunderstanding of the name. 00:33:19 I thought he *was* trying to educate himself... 00:33:23 synx: so you were trolling, just like you do about http vs. https? ;) 00:34:20 TimMc: R5RS has no such function, but R6RS has boolean=? 00:35:07 jcowan: Ah, cool. 00:35:18 I'm not sure why it exists, since eq? is guaranteed to do the Right Thing on booleans. 00:35:27 Point. 00:35:55 jcowan: Unless... they're not booleans, but things-used-as-booleans. 00:36:04 *jcowan* checks 00:36:24 No; it only takes the objects #t and #f. 00:36:43 But it does accept any number of them, unlike eq?. 00:37:24 jonrafkind [n=jon@98.202.86.149] has joined #scheme 00:37:25 *jcowan* is glad that only #f is falsy in Scheme 00:37:34 I don't understand the motivation for including non-generic equality predicates in the R6RS. 00:37:37 -!- mrsolo_ [n=mrsolo@nat/yahoo/x-yrrritthvfjczdzt] has quit ["This computer has gone to sleep"] 00:37:54 *chandler* would prefer that only #t is truthy as well. 00:38:05 ugh. 00:38:15 *jcowan* agrees with chandler 00:38:48 #f being the only false is good. 00:39:01 chandler: As a substitute for a soft type system, I suppose. 00:39:05 what if you want to do (and str (display str)) 00:39:41 it would really screw up any complex 'and' lists, potentially. 00:39:54 elf: Not just potentially, but in complete and absolute fact. 00:39:56 actually, 'and' and 'or' would be well-nigh usless. 00:40:04 Don't be tricky. In C, 0 is falsy, but no C compiler generates different output for "if (c)" and "if (c != 0)". 00:40:18 One of Java's virtues is that only true and false are truthy and falsy 00:40:24 elf: No, it wouldn't; it would do exactly what it ought to do. 00:40:46 if i only want to print out a string if its been passed and not false... 00:40:53 Using arbitrary values as truth is exactly the same kind of thinking that led to the use of the empty list as false. 00:40:56 (since false would be the default valu) 00:41:03 empty list is not false. 00:41:11 Past tense. 00:41:26 i dont see the link between 'anything not false is true' and 'empty list is false' 00:41:35 'empty list is false' means that not everything not-false is true. 00:41:47 its mixing semantics. 00:41:59 That way lies Javascript, in which all of false, null, undefined, "", 0, and NaN are falsy and everything else is truthy 00:42:08 That *is* the link. The use of non-boolean things as booleans is mixing semantics. 00:42:11 jcowan: And == is non-transitive. 00:42:16 Indeed. 00:42:27 its not as booleans. 00:42:27 '0' == 0, but the former is truthy and the latter is falsy. 00:42:37 chandler: How would you suggest that the idiom change, then, for code that takes a value from some function that returns false for a lack of result, but returns a result of unknown type for a successful query, and then need to pass this to another function after verifying that it is not false, or doing something else if it is? 00:42:40 elf: I don't understand why, if you want to check that str is not #f, you can't check it for that. 00:42:40 (boolean? "string") => #f 00:42:40 JS:TGP has only ===, not ==. 00:42:47 mrsolo [n=mrsolo@209.131.62.113] has joined #scheme 00:42:57 jcowan: Ha! Does that stand for The Good Parts? 00:42:59 perdiy [n=perdix@sxemacs/devel/perdix] has joined #scheme 00:43:00 Yes. 00:43:01 Never heard of it. 00:43:01 (if "somestring" blah) means that its there. 00:43:20 jcowan: How is '0' == 0? 00:43:24 It's an excellent book about Javascript, carefully specifying a subset of the language that works the way it should -- mostly. 00:43:47 There is an appendix called "The Bad Parts", which are the problems you are stuck with, and another called "The Awful Parts", which are problems you can work around. 00:43:48 I say we add some new boolean values; true and false are getting old hat. For example, where's the boolean value file-not-found? 00:44:17 arcfide: Unless you're using an anaphoric if-type macro (yech), you have to bind the result to a variable and do *some* test anyway. Why is (when my-thing ...) preferable to (unless (eq? my-thing #f) ...)? 00:44:21 Riastradh: Indeed. 00:44:33 Also, we need a boolean value for "user preference". 00:44:38 chandler, because it uses the straightforward WHEN, rather than the counterintuitive UNLESS. 00:44:41 arcfide: And unless I'm not understanding what you mean by "unknown type", that kind of in-band signalling is confusing anyway; what if the value is found but is #f? 00:44:43 err, rather, "default" 00:45:06 Riastradh: Your description of UNLESS as counterintuitive is highly counterintuitive. 00:45:11 how would you test for optargs? 00:45:23 ... optargs? 00:45:31 no, i mean to see if an optional argument has been set. 00:45:37 without knowing its type beforehand. 00:45:52 *jcowan* is writing a Chicken egg that takes an S-expr syntax for JS:TGP and outputs Javascript. It will also have (why not?) a by-the-book JS:TGP interpreter. 00:46:20 I don't see any "optional argument" in this here copy of the R5RS; in Common Lisp I use the proper form of optional arguments that binds a variable which indicates whether the argument has been supplied or not. 00:46:30 chandler: You're suggesting that we take the more common case, of testing (EQ? X #f) and make it more difficult, while make a much more rarely used case no more easy to use. 00:46:59 it would make 'and' and 'or' entirely useless. 00:47:27 (if (and (foo? x) (bar? x)) ...) Yep, useless. 00:47:39 Nobody uses && or || in Haskell. 00:47:49 arcfide: In isolation, certainly. But making #t the only truthy value would involve a corresponding reform of practice, in which we do not use #f as an exceptional return value. 00:48:16 jcowan: So then what should the return value of HASHTABLE-REF be by default? 00:48:29 Should it just signal an except that we should then catch? 00:48:31 The bug you have called HASHTABLE-REF should be fixed, arcfide. 00:48:40 Riastradh: how? 00:48:48 (What a wretched name, too.) 00:48:54 how about (and somevar somevar2 (set! opt 1) (set! opt2 (someproc2 opt somevar2)) (some-proc somevar1 opt2)) 00:48:54 arcfide: The caller of `hashtable-ref' should receive *two* return values. 00:49:06 arcfide: And how, in such a case, can a found value of `#f' be distinguished from a not-found value? 00:49:08 i HATE multiple return values. 00:49:22 elf, the semantics of your AND expression there is unspecified to begin with. 00:49:55 unspecified != false 00:50:00 arcfide, there are two control flow paths out of a hash table search, along one of which new data are available, and along another of which no new data are. 00:50:01 arcfide: For what it's worth, you could always pass an extra value to the procedure to be returned if no value is found; this is actually quite helpful in practice. 00:50:08 chandler: So then you make the case of (do something with (hashtable-ref x y #f)) more difficult as well. 00:50:15 klutometis: even incubot thinks that my mind is gone 00:50:15 which is a useful behaviour to exploit occasionally. 00:50:19 elf, your claim `unspecified != false' has several interpretations, some of which are true and some of which are false. 00:50:21 (setf (gethash *my-hash* my-value) (frob (gethash *my-hash* my-value value-if-not-found))) 00:50:51 klutometis: sbaitso's paradise reminded me of: http://www.youtube.com/watch?v=e1ZUlzE4bAA 00:50:53 unspecified often does not equal false, happy? 00:51:07 (in the interpreters i most commonly use, unspecified does not equal false.) 00:51:09 elf, it is true that ` ``an unspecified value'' is not generally false'. It is false, however, that `wherever the language ``the value is unspecified'' is used, the meaning is the value #F.' 00:51:45 arcfide: If you'd like to add a new predicate to the language is defined as `(define found? (lambda (x) (not (eq? x #f))))' I wouldn't argue with it. Would that make you happier? 00:52:16 chylli [n=lchangyi@119.181.3.122] has joined #scheme 00:52:20 *zbigniew* reads the backstory 00:52:52 *foof* reads the cliff's notes 00:53:01 chandler: No, not really. 00:53:04 I don't think that () is any truer than it is falser. In point of fact, it's *incredibly* useful as a false value in a great deal of list processing code. How did we ever get over having to write `null?' all the time?! 00:53:11 chandler: exactly what advantage does only #t being true grant? 00:53:17 Clarity. 00:53:24 elf, for example, in MIT Scheme, (LET ((X #F)) (AND #T (SET! X #T) 'DONE)) evaluates to #F. 00:53:26 disagreed strongly on the clarity point. 00:53:40 chandler: It allows different idioms. Some code becomes shorter, other code becomes longer. 00:53:52 chandler: I don't understand how your SETF code correlates to mine above, especially since it has a SETF in it. 00:53:56 This behaviour conforms to most of the RnRS and to the IEEE standard. 00:54:16 Since when did "shorter code" become a metric for measuring the goodness of Scheme? This is not Perl, folks! 00:54:18 chandler, you have it backwards: neither NULL? nor NOT tells the information that the list-processing code wants, which is PAIR?. 00:54:24 it is trivial to do explicit testing for #t 00:54:50 Riastradh: Assuming the code is working with proper lists, it all comes out in the wash. 00:54:51 but less trivial to change all code using false as an error or invalid or unset val 00:55:00 chandler, that's a big assumption! 00:55:51 elf: you have no choice. You can pack up the multiple value into an object, as Haskell does with its Maybe Foo types, which can turn out to be Just Foo or Nothing, or you can use Scheme's multiple values directly. 00:55:59 Or you can throw an exception. 00:56:18 You have lots of choices, but in-band returns for basic getters is not one of them in a typeless language. 00:56:29 arcfide: It doesn't; I wasn't reading your code as I wrote that. It was just an example of where bothering with #f as the default return value for a hashtable reference was not necessary in order to sanely do something, and in other cases, using a second return value is almost always the right thing. 00:56:47 jcowan: huh? 00:56:58 jcowan, how about multi-continuation procedure calls? 00:57:23 er, i stated that backwards. 00:57:31 If a sentinel value is required, it's better to use an object which is guaranteed to not be EQ? to any other object, and test for it explicitly. 00:57:32 huh: jcowan? 00:57:45 No, zbigniew, you have it sideways. 00:58:00 ?huh :nawocj 00:58:08 No! Now it's upside-down. 00:58:12 Looks like LOGO. 00:58:15 -!- perdix [n=perdix@sxemacs/devel/perdix] has quit [Read error: 113 (No route to host)] 00:58:15 -!- perdiy is now known as perdix 00:58:40 chandler: and exactly how would we create these objects? 00:58:47 or know their types? 00:58:47 elf: Cons is the usual means 00:58:54 `cons' is a good choice. 00:58:54 chandler: uo to you 00:59:17 what if i want to return a pair? 00:59:37 You can't return that pair 00:59:42 It doesn't matter; it just needs to be checked for `eq?'-ness against the sentinel value. 00:59:44 No problem. You just don't let anyone store *this* particular pair, which is reasonable because you consed up the pair yourself. 00:59:44 CONS still makes an object guaranteed to be non-EQ? to any other object, even if that object is a pair. 00:59:53 (vector) might be good too 00:59:53 Gosh, is there a semantic echo in here? 00:59:55 incubot: everybody stalking 00:59:59 (actually, brx is the stalking-offby1 king.) 01:00:09 No, jcowan, (VECTOR) is not guaranteed to be non-EQ? to every previously existing object. 01:00:25 s/be/make an object/1 01:01:52 Anyway, why aren't we all arguing over the syntax of multi-continuation procedure calls? That's the easiest thing to argue over, since it's so bikeshedly counterintuitive but obviously semantically the right thing. 01:02:57 i still dont see any advantage in having to know your types beforehand. 01:03:24 in order to use AND, OR, or IF 01:03:43 Neither do I; that's why I want to you all to argue about multi-continuation procedure calls instead! 01:03:56 it's 3am; do you know what your types are? 01:04:28 They're drunk and stoned, occifer, but I know what they are, and although I don't know how fast they were going, I know EXACTLY where they were! 01:04:40 *elf* uses american9bourgeois 01:04:58 I like that sentiment. I don't think I should have to know my types ahead of time to use `cdr', `vector-ref', or `+'. Perhaps all functions should be defined on all types; that sounds like a form of static type checking to me! 01:05:01 Now won't someone please take the bait I have been hanging about multi-continuation procedure calls? Otherwise, this conversation will only drearily repeat itself! 01:05:45 See, I have even ended my last three messages with exclamation marks! Apparently I am excited! Or maybe just trying to make the discussion more exciting! 01:05:55 -!- mrsolo [n=mrsolo@209.131.62.113] has quit ["This computer has gone to sleep"] 01:06:02 OK. I'll take the bait. Now, what am I supposed to say about it? 01:06:36 mrsolo [n=mrsolo@nat/yahoo/x-kbgrxkcssiorywpl] has joined #scheme 01:06:40 cdr is defined on a pair object. 01:06:54 First, you're supposed to scratch your head and ask, `Is that like multi-shot CWCC, or am I confused?', at which point I say, `No, no, no: multi-continuation procedure *calls*, i.e. procedure calls to which multiple continuations are supplied, between which continuations the callee may choose for its return.' 01:07:33 AND runs through its args in order, stopping at #f and continuing otherwise. 01:07:40 how exactly will you emulate such behaviour? 01:07:50 without knowing the return types of everything? 01:07:53 Next, you enter into an argument about the colour of the form used to perform such beasts, or create such actions, or something like that, because, bizarrely enough, one can use the same form to call a procedure wiht multiple continuations as one can use to choose a single continuation to return to. 01:07:59 elf: Very good! Now, fill in the blanks: `cdr' is defined on pairs; `vector-ref' is defined on vectors; `+' is defined on ______; `not' is defined on ______ 01:08:08 not is defined on all objs. 01:08:27 `+' is defined on any element of an abelian group, if you tell me what abelian group you're talking about. 01:08:49 (loosely speaking) 01:08:55 I vaguely recall the R5RS saying something about `number?' being involved somewhere here. 01:09:23 chandler: The PLT object system was designe by someone(s) who were very familiar with several object systems, including both Java and CLOS. 01:09:28 Yes, but NUMBER? is a curious beast. 01:10:00 Riastradh: Well, first I'll ask why these animals shouldn't just take a number of continuations as ordinary function arguments, and call the appropriate one? 01:10:11 It's a disjoint type predicate, and that's good enough for me! 01:11:36 eli: It seems like the familiarity involved with Java is in the carnal sense, whereas with CLOS it's in the same barista at the coffee shop the last four times I've been there sense. That might be a mistaken impression, however. 01:12:00 eli, this is a very silly conversation. I do not think you want to enter here. 01:12:02 -!- bakkdoor [n=bakkdoor@xdslfj023.osnanet.de] has quit [Read error: 113 (No route to host)] 01:13:15 chandler, aha! Now we're talking. The reason it is different is that it expresses the intended use of the continuations in a stronger way than ordinary procedures and arguments do. It (syntactically) enforces dynamic extent of the continuations, which means that reasoning about code that uses them (and not CWCC) is much simpler than reasoning about general procedures; this enables much more efficient calling conventions. 01:14:15 Ah. That's a good enough reason to overcome my natural tendancy to use explicit CPS for everything. 01:14:27 chandler: That's a wrong impression you have there; your underlying (false) assumption seems to be that someone who *knows* about CLOS is insane for doing anything different. 01:14:29 Er, "tendency". Pesky little vowels. 01:14:37 haesbaert [n=haesbaer@201.54.129.16] has joined #scheme 01:14:47 you can force a check on #t by (and val (boolean? val)), but you cant force a non-bool object to true without knowing its type. if i wanted to be forced into a type, id use ml. 01:14:53 Now that we've established that they're useful, we must discuss the syntax, which will be a much bigger stumbling block. 01:14:59 eli: No; my assumption is that someone who *knows* about something other than Java is insane for doing something like Java. 01:15:09 chandler: For example, as the implementor of a close CLOS-like system I have come to mostly dislike object systems, and if I do need to use one I actually *prefer* the PLT system. 01:15:12 Is it just rumors or is Scheme [going to go | going] through a revolution right now? 01:15:20 chandler: And BTW, the PLT system is *very* different from Java. 01:15:27 Quadrescence: a revolution! 01:15:33 quadrescence: 2pi 01:15:37 1 rpd 01:15:41 Just rumours, Quadrescence, but don't ask too loudly or the Revolutionary Justice Committee might get wind of it and disappear you. 01:15:43 elf: Excuse me? How is (not (eqv? value #f)) *not* a way of making a non-boolean value into a true value? 01:16:00 Riastradh: It's not too silly -- I find the love-CLOS-hate-everything-else misguided. 01:16:34 so im going to do (not (eqv? (proc args...) #f)) every time i want to do a generic proccall in an and? 01:16:38 ws.mn\\\\\\\\\\\\\\\\\\\\ 01:16:40 and this isnt going to be clunky and unreadable or anything. 01:16:44 *jcowan* remembers multi-continuation procedure calls from Fortran very well. 01:16:44 I wish Scheme was designed with types in mind from the start. :< 01:16:45 eli: I don't hate everything else. Apprently you missed the comment where I indicated that a Smalltalk-like system or a sensible prototype-based system would also be good things to use. 01:16:48 foof: agreed 01:16:51 Get off foof's keyboard, cat! 01:17:04 (disregard the kitten) 01:17:05 -!- haesbaert [n=haesbaer@201.54.129.16] has quit [Remote closed the connection] 01:17:11 meow 01:17:14 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has left #scheme 01:17:19 sorry, my cat was on my keyboard too 01:17:27 elf: As I mentioned before, you can give it a name if you'd like. 01:17:38 jcowan, and surely you miss them sorely in Scheme. 01:17:47 But nobody has asked me about their syntax in Scheme yet! 01:17:48 id rather keep the current behaviour, which is clear and clean. 01:18:11 elf: But I'd be inclined to believe that the problem is with the "special" use of #f as a return value from procedures that ordinarily return arbitrarily-typed values. 01:18:12 elf, I like the way you use words that give automatically give you points, such as `clear' and `clean'. 01:18:30 Why, it's almost "hygienic"! 01:18:37 Not like those dirty NIL-as-false people. 01:18:48 riastradh: no, im saying that (not (eqv? (proc args...) #f)) is neither clear nor clean . 01:18:48 No, ()-as-true people are much cleaner. 01:19:04 its two extra procedure calls to force a type that doesnt matter. 01:19:17 It *does* matter. 01:19:21 Riastradh: How so? I can just pass a few procedures to any procedure, where the implied contract is that it will tail-call one of them. 01:19:47 wait... why are we testing against an explicit #t value again... i cannot follow this at all 01:20:07 zbigniew: chandler is proposing that only #t is true and only #f is false. 01:20:12 *jcowan* too. 01:20:13 jcowan, implied contract! Multi-continuation procedure calls carry an explied contract. You get lawyers at your disposal. 01:20:40 which means a lot of extra layers and loss of functionality. 01:21:12 Well, okay. The procedure has an explicit contract: I have to call it with funargs, and it will tail-call one of them. 01:21:27 jcowan: I asked that question a few minutes ago, and Riastradh raised a good point: it syntactically enforces the dynamic extent of the continuations. 01:21:39 chandler: Well, you had some generically vague point about "and object system that is similar to Java" -- you should take it as a constructive exercise to come up with some concrete criticism of the Java object system and then see which of those items apply to the PLT system. One thing that this will clarify is just how different the two are. 01:21:56 make[1]: backstory too long, giving up 01:22:39 eli: I'll cede the throwaway point, as I've no desire to care that much about the situation. 01:23:27 This conversation is not remotely interesting or silly enough. I am leaving. I want a muffin instead. 01:23:44 Riastradh: I'm still waiting to have a good argument about syntax of multi-continuation procedure calls. 01:23:53 -!- copumpkin [n=pumpkin@dhcp-212-238.cs.dartmouth.edu] has quit ["Leaving..."] 01:23:54 But I don't quite know what I'm arguing about yet. 01:24:02 Riastradh: If you tell me where you want the pumpernickel bagels sent, I will be happy to fedex them to you. 01:24:07 But not tonight. 01:24:58 -!- Baconize1 is now known as Baconizer 01:26:56 incubot: i'm going to open a computer hardware store named 'true value' 01:26:59 Only for people named Nic. 01:27:03 Right 01:27:15 And Nil 01:29:00 (if (not (eqv? (proc args...) #f)) 01:29:04 thats a definite win. 01:29:07 *elf* sighs. 01:29:27 You've ignored everything I've said about this so far as I can determine. 01:29:57 Can you explain why `proc' is returning #f sometimes and some other value other times, when you're not even paying attention to what that other value is? 01:30:27 no, i can explain why proc may return #f, may return "str", may return ("str" . 1) though 01:30:44 Sure. Please explain. 01:34:35 (or, you know, not!) 01:34:53 gvvvvvvvvvvvvvvvvvvvvvvvvvvv 01:35:50 I think foof needs to redirect the output from cat. 01:39:25 (let ((val #f)) (set! proc (lambda (op . optargs) (case op ((get) val) ((set) (and (pair? args) (null? (cdr args)) (set! val (car args)) val)) ((append) (and (pair? args) (set! val (cons val args)) val)) (else (error "invalid op")))))) 01:40:15 now, if i want to use proc outside of an IF to get a meaningful return value, i need to write variants that only return true. 01:40:30 otherwise, i cant get data out of here usefully. 01:40:47 im generating an object on the fly from an input list, say by parsing json. 01:41:04 (json-schema, lets say, where we can add new types in) 01:41:44 I don't understand. Why isn't a value of `#f' actually a valid value, and why does one of these things exist without a valid value in it? (This seems to be some kind of a locative, am I right?) 01:41:54 hrm? 01:42:07 oops, should be optargs, not args. 01:42:14 or vice versa. 01:42:21 tiny screen with lots of scrolling. 01:42:53 A great use case for non-hygienic macros, correcting an error where two names were used for a single idnetifier. 01:43:08 jcowan: Hm? 01:43:51 its a pretty simple procedure with persistent state. 01:44:00 local state rather. 01:44:08 blah, brain is frying. 01:44:41 elf: I've finally reindented the code here, and I'm seeing some kind of locative that starts off with a value of #f. 01:44:54 chandler: doesn't your proposal render the => syntax of cond completely useless? 01:45:12 chandler: elf used "optargs" and "args" to mean the same thing 01:45:25 half the varname scrolled off the screen, sorry. 01:45:29 instead of fixing the problem, he could use (define-macro optargs 'args) 01:45:47 jcowan: Heh. If he had symbol-macros. 01:45:59 i was typing it in irssi. it hasnt seen an interpreter yet. 01:46:13 zbigniew: Yes; something different will have to be developed, perhaps with a separate predicate form. 01:46:59 elf: From what you've said, I can see that you're using `#f' as some kind of sigil to indicate "there's no value here", but why is that different than "there's a value here of #f"? 01:47:08 chandler: what would you propose for this 01:47:49 The only possible answer is, "Only a doofus would expect a real #f back here. I don't write code to be used by doofi." 01:48:08 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:48:11 no, im using #f to indicate a nonfatal error (due to bad arglist (since the list might be generated or of the wrong size) or that a value is unset), and error to indicate something that we dont know how to handle 01:48:22 zbigniew: (cond (value predicate => body ...) ...) 01:48:44 Exactly. You are assuming that the set value is never #f, or if it is, that that's semantically the same as an unset value. 01:48:56 which is the desired behaviour, based on the input, yes. 01:49:29 -!- mrsolo [n=mrsolo@nat/yahoo/x-kbgrxkcssiorywpl] has quit ["Leaving"] 01:49:55 chandler: not necessarily bad even with the current behavior, as the => syntax is useful in pretty limited situations 01:50:02 -!- sstrickl [n=sstrickl@pool-151-199-60-39.bos.east.verizon.net] has quit ["rcirc on GNU Emacs 23.0.60.1"] 01:51:03 i mean, specifying a predicate in cond now will destroy the value passed to => 01:52:17 sstrickl [n=sstrickl@pool-151-199-60-39.bos.east.verizon.net] has joined #scheme 01:53:13 chandler: however, it doesn't seem your solution is relevant to your underlying objection, which seems to be that #f shouldn't be used as a failure value 01:53:24 jcowan: it has nothing to do with doofi, it has to do with only numbers, strings, and lists being obj members) 01:53:51 #f is a failure value. 01:54:04 (string? 1) => #f 01:54:12 not SOMEFAILOBJ 01:54:27 zbigniew: My underlying objection is that booleans should be logically disjoint from other types, and that ()-as-true makes no more sense than ()-as-false. 01:54:45 booleans are logically disjoint from other types. 01:55:00 (and val (boolean? val)) will return #t only for true values 01:55:36 zbigniew: A derived point is that #f-as-failure is probably indicative of an error in thinking, as it supposes that #f is some special kind of value which has no validity in certain contexts. 01:55:52 erg, i misread you, sorry. 01:56:06 chandler: so youre not too keen on the idea of a predicate? 01:56:28 No, I'm *very* keen on predicates, so long as they return only #t or #f. 01:56:32 chandler: Well, if you are returning a filename string, #f is certainly an invalid value. It seems you are proposing we raise an exception in this case. 01:57:05 zbigniew: And you could, if you wanted, certainly *test* for #f, but this is apparently too difficult. 01:57:50 chandler, chandler, Java weenie 01:58:27 Apparently so! 01:58:58 In any event, I'm sure that the R7RS authors will probably not want to upset the apple-cart by making this kind of change, so perhaps the point is moot. 02:00:35 Or perhaps the point is that the Scheme process is now doomed to an inevitable dead end, and that it's time to begin anew! 02:01:48 jcowan: Regarding un-hygienic macros, I think what I actually want is hygienic insertion of symbols with computed names, not un-hygienic insertion. 02:02:08 As long as the failure value is not a member of the set of non-failure values, I don't care. 02:02:22 BUt then maybe that's just brain damage from years of PHP? 02:03:04 TimMc: I'm not by any means suggesting that #f *can't* be used for that purpose. I'm merely suggesting that the assumption implicit in that statement be made explicit. 02:03:29 *TimMc* found a peanut! 02:03:43 *elf* found a brain for his master. nom. 02:04:17 (End-of-the-lease free food. All my flatmates are gone, and I am looting the cabinets.) 02:05:01 chandler: It *does* bug me when failure values are not consistent between functions. 02:05:09 glogic [n=glogic@97.76.48.98] has joined #scheme 02:05:56 chandler: every example given in favor of your argument above concerns languages that have more than one false value -- PHP, Perl, JS, Lisp (NIL) -- all irrelevant here. 02:06:03 -1, #f, null, undefined, NaN... (some languages are richer in these than others *cough*JS*cough*) 02:06:04 I'm going to do everything I can to see that the last heir of Algol 60 remains alive and kicking. 02:06:26 But Scheme already solved that. One false value. The end. 02:06:32 CL has only one false value, it's just that it's a polymorphic value. 02:06:58 s/polymorphic/hermaphrodite 02:07:23 So the value can both pitch and catch, let's not judge. 02:08:14 It actually belongs to three types: symbol, list, boolean. 02:08:42 OTOH, I think Scheme's rule on what values are self-evaluating is just plain arbitrary. 02:09:04 zbigniew: What does this procedure do? (lambda (v l) (find (lambda (v2) (eqv? v v2)) l)) 02:09:14 The CL rule (everything but symbols and conses) seems better to me. 02:09:17 And have you ever seen it, or its equivalent, lurking around? 02:10:21 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 02:11:46 jcowan: Can you provide a good argument that the empty list should self-evaluate? 02:13:49 it doesnt.... 02:13:53 it has to be quoted, yes? 02:13:54 chandler: Looks like it takes a value and a list, and returns either the first element of the list that is eqv? the value, or #f if not found. Seems silly. 02:14:02 chandler: finds first elt eqv? to v in L, unless v is #f, in which case it goes tits up 02:14:55 -!- syntropy_ [n=who@unaffiliated/syntropy] has left #scheme 02:15:00 TimMc: It is a bit silly; you can imagine something slightly more complex there. 02:15:45 chandler: what's up 02:15:46 `find' itself is actually the issue; when it returns #f, is it because the supplied predicate returned a true value, or because it didn't? 02:15:57 glogic: Hm? 02:16:03 ... in which case you should use find-tail, or take Riastradh's advice and use CPS, having your find call a success or failure continuation 02:16:12 chandler: jsut wondering what all this debate was about 02:16:25 oh dude run away now 02:16:26 eli: Ooh, let me take a swing at Java's type system: Generics + primitive auto-boxing + null. 02:16:28 glogic: I'm arguing that only #t should be a true value. 02:16:35 zbigniew: hahaha 02:16:53 chandler: what is your reasoning? 02:16:55 elf: I think you missed the point; jcowan just argued that () *should* self-evaluate. 02:17:23 I'd vacillate on that one, since it's not a cons but is a list. 02:17:28 glogic: this has been going on for two hours 02:17:37 zbigniew: same as it ever was 02:17:46 -!- elias` [n=c@unaffiliated/elias/x-342423] has quit [Connection timed out] 02:17:53 But, for example, why should R5RS strings (as opposed to other, better strings I have been going on about) be self-quoting but vectors not? 02:18:09 yeah, lack of self-quoting vectors seems braindead. 02:18:19 glogic: booleans should be a disjoint type; it makes no more sense for () to be true than for it to be false; it would clarify a great deal of thinking if assumptions made implicit by having all non-#f values act as true were made explicit. 02:18:23 eli: Clearly, to solve the issue, Java should have union types. Then you can specify that a method return either String or String|Null, for instance. 02:18:23 jcowan, well, pooh! My mailing address is about to change twice in quick succession, but while I am not presently craving pumpernickel bagels, I should nevertheless very much like to take you up on your offer. 02:18:35 That's what I say; it's historical and arbitrary. CL reformed this, but Scheme didn't. 02:18:46 elias` [n=c@94-193-95-252.zone7.bethere.co.uk] has joined #scheme 02:18:51 Riastradh: You mentioned them the other day, but I didn't have a chance to make the offer. 02:19:00 jcowan: I don't disagree in general; I was just wondering why you said pairs and not lists. 02:19:14 Summermute66 [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has joined #scheme 02:20:10 chandler: so are you saying that '() should be represented as a primitive type when used in the context of negation, the way that #t is treated? 02:20:15 On a slightly different topic, has anyone actually used `syntax-rules' to destructure a vector? 02:20:29 eli: Java never solved the issue of failing to check null pointers, which is sad. It's the major failure in the language's static analysis. 02:20:45 glogic: Hm? I am saying that #t should be true and #f should be false, and no other values should be either. 02:20:54 aah 02:21:11 chandler: well shouldn't '() represent an empty list? 02:21:17 Absolutely not, glogic. 02:21:29 Riastradh: ? 02:21:31 '() should represent a two-element list whose first element is the symbol QUOTE and whose second is the empty list. 02:21:41 hahaha 02:21:43 '() evaluates to an empty list, (). 02:21:45 Riastradh: doh 02:21:46 2-Lisp rulez 02:22:07 () represents the empty list and truth. It should only represent the empty list. 02:22:16 It is no more true than it is false. 02:22:26 first rule of lisp club is you don't talk about lisp club, second rule is YOU DONT TALK ABOUT LISP CLUB 02:22:34 chandler: it is not false, and that is enough 02:22:51 jcowan, fortunately, one of those mailing addresses will be in the state of New York, which may help to reduce your shipping. 02:23:13 chandler: maybe you should have this discussion on the LtU forums 02:23:16 Marshmallows! 02:23:25 Riastradh: And there was much rejoibing. 02:23:31 Take it to Arc 02:23:35 glogic: Perhaps I shouldn't, and spare myself what will ultimately be a pointless discussion. 02:23:54 chandler: probably a better approach 02:23:55 Yikes. Do I want to know what a joib is? Is that a car part or something? Am I going to be charged an arm and a leg for it? 02:24:00 chandler: that's what i do 02:24:14 chandler: i do my thing, and ignore pointless confrontation 02:24:15 chandler, yeah, better to have a discussion in #scheme with elf about it! 02:24:22 TimMc: (a) All three points are almost completely unrelated to the PLT object system, which makes this all irrelevant. 02:24:31 Aw, OK. 02:24:33 Riastradh: It wasn't *entirely* pointless; I found one other person who agrees with me. 02:24:36 The LtU crowd seems pretty savvy 02:24:54 zbigniew: are they all mac users? 02:24:57 TimMc: (b) It's dangerous to confuse a "type system" and an "object system". 02:25:15 chandler, I had my muffin, but I still haven't had my argument about the bikeshed surrounding multi-continuation procedure calls. 02:25:30 Unfortunately for you, I'm about to vanish for the evening. 02:25:38 TimMc: (c) I'd argue labeling generics as a bad feature -- in the context of Java, they were a very good addition. 02:25:40 *TimMc* reads the backlog again 02:25:43 Write something up, and I'll throw some paint on it tomorrow. 02:25:53 The original paper suggested the syntax (MULTI ...), where each is either a literal natural number or a lambda expression. 02:25:56 Generics *as done in Java* suck big bags. 02:26:04 Hmm, it *was* about the object system, wasn't it. 02:26:09 The literal number being a gesture to Fortran? 02:26:18 TimMc: Don't bother; I made a throw-away comment about Java which wasn't well thought out. 02:26:23 glogic: well, I am 02:26:36 glogic: but I don't comment on LtU 02:27:03 jcowan, I think it was a gesture to reducing the amount of syntax. 02:27:18 -!- glogic [n=glogic@97.76.48.98] has left #scheme 02:27:22 eli: The generics are great overall. I was complaining about things like `int foo = bar.get(0)` where bar is an ArrayList. Hidden null pointer exception waiting to happen! 02:27:26 Where is this paper? 02:27:35 What jcowan said. 02:27:47 *zbigniew* checks youtube 02:27:52 The boxed Java datatypes suck big bags too. 02:28:03 Who needs the union of a (constrained) integer with null? 02:28:26 jcowan: Presumably it was "necessary" for generics of primitives. 02:28:35 -!- thesnowdog [i=thesnowd@122.110.4.231] has quit ["Leaving"] 02:28:52 Well, because Java doesn't have value types other than primitives, yes. 02:28:56 That's a Bad Thing. 02:29:23 *jcowan* would love C# if it hadn't been gratuitously incompatibled with Java. 02:30:32 jcowan: 02:30:44 zbigniew, just for you, here's a Web 3.0 YouTube version of it: . 02:30:44 -!- Summermute [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has quit [Read error: 60 (Operation timed out)] 02:32:06 TimMc, jcowan: I did say "in the context of Java" -- they could go with some proper type system, and that would likely scare more people away from using it so overall there would be very little improvement. 02:32:33 I don't even want a "proper" type system, just one that isn't intentionally crippled, then surgically repaired badly. 02:32:44 Java doesn't have types what 02:32:46 Riastradh: if this was your personal variant of justfuckinggoogleit.com, well done 02:32:59 -!- Summermute66 [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has quit [Read error: 60 (Operation timed out)] 02:33:09 godbingit.com 02:33:16 jcowan: Same point, still. 02:33:41 I define 'type' as a small set of differentiable built-in types, plus a tag system capable of labelling any data structure with information about its type. 02:33:50 was what I was looking for... 02:33:50 *jcowan* decides it's too late in the day to read the paper on-screen 02:34:02 synx: "type" is on both sides of that definition. 02:34:34 zbigniew, to be honest, I hadn't thought of it that way. But no, I don't think I'm that cruel. 02:34:57 oh, there's math in it 02:35:17 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 02:35:28 Oh, you can ignore the math, zbigniew. 02:35:34 Phew. 02:35:38 incubot: bing 02:35:39 But I'm afraid you can't ignore the SML. The choice of which is worse is up to you. 02:35:41 bada-bing bada-boom 02:36:28 Why the author chose such a binging language as SML I don't know. 02:36:31 Wait, who here said they liked prototypal inheritance? 02:36:39 Or did I misunderstand? 02:37:06 (But I could imagine worse binging piles of bing to illustrate the concept.) 02:37:36 what I was trying to say is I don't object to equal? or display, but whenever I have tried to implement generics myself, it just works out where I have to say (write-bytes (serialize- something)) instead of (display something). 02:38:03 ...before getting caught up on whether or not equal? is a generic function 02:38:24 Actually I don't find EQUAL? very useful. 02:38:48 we are certainly up bing creek without an internet 02:38:56 It bings up my programs whenever I use it, and it makes my programs susceptible to being bingt by circular data structures. 02:39:08 decker [n=chatzill@user-0c9h6li.cable.mindspring.com] has joined #scheme 02:39:48 "bunged"? 02:39:58 bung. 02:40:11 `Bunged' has too many inflections. `Bung' is right. 02:40:25 hi guys. I have some scheme code that has a princ procedure it's using. problem is, that doesn't seem to be a gnu scheme builtin. do I need to load some library somehow with edwin or something? 02:40:31 English abhors composed inflection. 02:41:01 decker, change the code to use DISPLAY rather than PRINC. 02:41:18 Riastradh: great. thanks. 02:41:27 And WRITE rather than PRIN1. 02:41:38 Well, one can say 'all bunged up', so. 02:41:45 bunghed 02:41:52 I'd say `binged up', to be honest. 02:42:05 bing(tm)ed up 02:42:18 *copumpkin* joins the social 02:42:20 Damn: the intertubes are all binged up. I can't get to Google. 02:42:22 oh wait, wrong one :) 02:42:49 And the local network administrator is a bing. 02:43:18 sounds like a real binghole 02:44:00 Yeah, he's configured the binging public authoritative nameserver to publish private addresses in A records. What a load of bing. 02:44:42 Not to mention that the binging intrusion delusion system has decided to binglist m.root-servers.net, among other binged up decisions. 02:44:55 jedc [n=jedc@c-98-232-225-102.hsd1.or.comcast.net] has joined #scheme 02:44:58 -!- Axioplase_ is now known as Axioplase 02:46:03 *TimMc* is imagining a variant on George Carlin's "7 things you can't say on television" sketch. 02:46:10 ha, nice little quagmire I appear to have gotten into. any idea about read-from-keyboard Riastradh? or anyone for that matter? 02:46:43 decker, not sure what that's supposed to do, exactly, but you may be able to substitute READ or READ-LINE. 02:46:56 k. thanks 02:48:45 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 02:50:43 Riastradh: This is the second report I've heard today of connectivity problems. Is it persistent? 02:51:00 ...heh, no, I was joking about connectivity to Google. 02:51:38 okay. 02:51:59 "We take *all* reports of loss of connectivity very seriously, ma'am." 02:52:41 (But I was serious about the brain-binged network administrators here, and about their binglisting m.root-servers.net.) 02:53:09 tjafk1 [n=timj@e176215211.adsl.alicedsl.de] has joined #scheme 02:55:42 Modius_ [n=Modius@24.174.112.56] has joined #scheme 02:55:50 Verizon may be the goons at fault this time. 02:56:52 gnomon, now that zbigniew has put the idea into my head, I thought I might pass it along to someone likely to appreciate it: to be especially cruel to someone particularly obnoxiously incapable of thinking to use Google, you could point them not at justfuckinggoogleit.com but at . 02:57:03 -!- Modius [n=Modius@24.174.112.56] has quit [Read error: 104 (Connection reset by peer)] 02:57:30 *jcowan* has urged the jfgi.com admin to set up justfuckinglookinwikipedia.org too, but so far without success. 02:57:58 jcowan: because wikipedia is the first result on google 02:58:04 (Not, I hasten to say, the admin of the Jewish Federation of Greater Annapolis) 02:58:28 No... I know who the goons are, and I have reported many problems to them, and in their defence they have sometimes acknowledged my existence. 02:59:22 Summermute [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has joined #scheme 02:59:23 At one point they threatened to hire me, presumably in order to silence me by inundating me with time-consuming, menial labour. 03:00:34 aw, you should have destroyed them from within! 03:00:40 That is the traditional reward for whistle-blowing. 03:01:04 Gee, I never thought of whistle-blowing as reporting bugs. 03:01:16 Maybe Obama should learn to set up Bugzilla or something! 03:01:39 Oh, dear. I am sorry. It is dreadfully unfortunate that I cannot unsay what I have just said. 03:01:52 *copumpkin* unreads it 03:01:58 Mu! Mu! Mu! 03:02:31 *jcowan* teaches Riastradh the Lojban word "su", which eliminates everything the speaker has said, unless indeed the speaker has said nothing, in which case it eliminates everything *anyone* has said. 03:02:39 Su? 03:02:39 When iterated, therefore .... 03:02:40 Ni? 03:02:50 No, that's the word for "is a quantity of ..." 03:04:16 bzzbzz [n=franco@70.83.34.240] has joined #scheme 03:05:51 jcowan: http://sfangels.com/images/History%20Eraser%20Button.jpg 03:08:57 -!- tjafk2 [n=timj@e176209087.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:10:03 Ah, this is better: http://www.metacafe.com/watch/1153869/history_eraser_button_ren_and_stimpy/ 03:10:06 -rudybot:#scheme- http://tinyurl.com/6k2mgw 03:10:50 zephyrfalcon [n=hans@74.229.200.227] has joined #scheme 03:18:01 -!- Baconizer [n=Baconize@17-173-223-66.gci.net] has quit ["WeeChatomg"] 03:20:35 jcowan: you study lojban? 03:21:09 I'm the author of _The Complete Lojban Language_, fwiw, but I haven't studied it in a long time. 03:23:19 oh okay 03:23:52 I remember most of the grammar and such, but I was always crappy at learning vocabulary. So to me Lojban is sort of like Jabberwocky: it's hard to make out who does what to whom. 03:24:11 I study it off and on, but memorizing all the cmavo is a bit daunting. plus I'll probably always struggle to understand tanru. 03:24:15 to all R6RS'ers (in particuliar): http://groups.google.com/group/ikarus-users/browse_thread/thread/fabb890e3015f6f1 -- your input is appreciated, also on #scheme :-) 03:24:17 -rudybot:#scheme- http://tinyurl.com/nrtur3 03:24:41 tanru mean what the speaker means them to mean, so it's always legitimate to ask for explanations of them. 03:24:51 Well, within limits. 03:26:06 I considered learning Ido which, believing the propaganda, seems to be a better choice than Esperanto 03:26:36 But I wonder how relevant it would be to learn Lojban 03:26:40 -!- timchen1` [i=tim@kalug.ks.edu.tw] has quit [Remote closed the connection] 03:27:41 I like Ido a bit better than Esperanto. Ido has gender nonspecificity by default, unlike Esperanto. Few other good things... not really that much different either way though. 03:28:13 Lojban is mostly an intellectual toy, I must admit. We do have some literature, though of course not nearly as much as E-o. 03:28:26 A few Lojbanists are also Esperantists. 03:28:54 timchen119 [i=tim@163.16.211.21] has joined #scheme 03:29:43 anyone have any opinions either way on rosetta stone? or anything similar for that matter? 03:30:45 one tricky thing I find about Esperanto is its grammar is subtly complex. It's easy to place subjects and objects, but to talk about complex relationships, you can't introduce new syntax really so the vocabulary itself has to handle the grammar... 03:31:46 synx: Needs moar macros. 03:32:43 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:32:54 human language needs better macros 03:34:00 jcowan: Let's speak lojban over video phone! 03:34:05 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 03:34:17 human language needs (define-syntax less (syntax-rules () (_ ...) more)) (less) better macros 03:34:39 TimMc: I'm not really up to that. But /join #lojban and discuss it there, you'll probably get some conversational partners. 03:34:47 (Can't actually find the Dilbert strip that I was referring to...) 03:34:58 heh 03:35:03 there's a #lojban here, go figure 03:35:20 Yup. 03:35:41 jcowan: I think there are probably more lojban speakers than video phone owners, come to think of it. 03:36:09 (Especially once you factor in protocol compatibility.) 03:36:09 hey don't talk about Dick Tracy like that 03:37:06 What's a video phone? These days it's a webcam, speakers, and mic. 03:39:02 -!- timchen119 [i=tim@163.16.211.21] has quit [Remote closed the connection] 03:41:30 Summermute66 [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has joined #scheme 03:41:36 -!- Summermute [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 03:41:45 Some 90s thing. 03:42:29 http://images.google.com/images?q=videophone <-- looks like they still make 'em 03:42:48 -!- Dark-Side [n=dark-sai@ip-155.net-82-216-217.roubaix.rev.numericable.fr] has quit ["co'o rodo"] 03:43:55 gnomon: (fmt #f (num 125 2)) 03:44:23 Or (fmt #f (radix 2 n)) 03:44:46 As far as I can tell, they're all locked in to proprietary protocols. Fail, etc. 03:45:26 Baconizer [n=Baconize@17-173-223-66.gci.net] has joined #scheme 03:45:47 hey, can any of you guys recommend a good PLT Scheme ORM? 03:46:09 there's only one, as far as I know: "snooze" 03:46:26 have you used it? 03:46:29 nope 03:46:59 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:47:03 an offby1 appears 03:47:58 offby1: You're my favorite error. 03:48:16 (But I bet you get that all the time.) 03:48:25 zephyrfalcon_ [n=hans@adsl-074-229-200-227.sip.gnv.bellsouth.net] has joined #scheme 03:48:51 An object appears at your feet! 03:49:13 -!- Baconizer [n=Baconize@17-173-223-66.gci.net] has quit [Client Quit] 03:49:13 has anyone here used Snooze? 03:49:20 *offby1* talks about mining 03:49:32 I used snooze once. Didn't like it much. 03:49:52 i use snooze like 4 or 5 times every morning 03:50:04 every 9 minutes or so 03:50:06 zbigniew: :> 03:50:07 Baconizer [n=Baconize@17-173-223-66.gci.net] has joined #scheme 03:50:08 why 9, I wonder 03:50:34 because if you wait for 10 mins, the alarm goes off 03:50:49 offby1: 8 is too short, 10 too easy to calculate in a fugue state 03:51:03 oddly, my snooze is 7 minutes 03:51:10 I find it much easier to define a few procedures that issue raw database statements to do what I want, then use those procedures and not touch the database. ORM always ends up more trouble than it's worth. 03:51:16 personally, I find it simpler just to set the alarm for when I need to be up, then get up. 03:51:41 my wife is always saying that it goes off too early... 03:51:50 I just go to sleep 8 hours before I need to get up. 03:51:51 i -think- she means the alarm, anyway 03:52:12 synx: you get 8 hours of sleep? freak 03:52:13 synx: it's more trouble that it's worth if you have a **bad** ORM, that's for sure. 03:52:36 but a good one should simplify your life--gen your DB from your code, or your code from you DB, etc. 03:52:39 zbigniew: I _need_ 8 hours of sleep. It sucks x_x 03:52:51 oh, I do too--I just don't get it 03:52:55 dstorrs: name one "good" ORM in that respect. 03:53:02 DBIx::Class 03:53:17 sqlalchemy, rails, they all suck, and I think it's because they're fundamentally invalid. 03:53:20 (aka DBIC) 03:53:30 I've...never used databases in perl ._. 03:54:01 *shrug* 03:54:36 Perl's got good DB wrangling modules. you can run low-level raw SQL if you want, or you can have your choice of ORMs 03:55:12 I tend to have...ridiculously complicated database queries. Just have to implement the raw SQL anyway, so it's a question of if I want to do it in SQL, or if I want to double the work by figuring out the SQL, then figuring out the ORM statements to produce said SQL. 03:56:15 -!- zephyrfalcon [n=hans@74.229.200.227] has quit [Read error: 145 (Connection timed out)] 03:56:24 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 03:57:07 synx: http://search.cpan.org/~ribasushi/DBIx-Class-0.08109/lib/DBIx/Class/Manual/Intro.pod 03:57:09 -rudybot:#scheme- http://tinyurl.com/l8sfjg 03:57:34 timchen119 [i=tim@163.16.211.21] has joined #scheme 03:58:05 it's worth a look...even if you don't use Perl, the ideas are good. 04:05:53 -!- timchen119 [i=tim@163.16.211.21] has quit [Remote closed the connection] 04:07:38 timchen119 [i=tim@kalug.ks.edu.tw] has joined #scheme 04:10:12 -!- zephyrfalcon_ [n=hans@adsl-074-229-200-227.sip.gnv.bellsouth.net] has quit [] 04:13:53 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 04:14:58 -!- timchen119 [i=tim@kalug.ks.edu.tw] has quit [Remote closed the connection] 04:15:14 timchen119 [n=vzloct_2@kalug.ks.edu.tw] has joined #scheme 04:15:21 It is interesting to see the categories with which I am associated on Cuil. 04:16:25 Hey, Cuil actually lists my blog as the first result for my name now! 04:16:52 I think they gave up on their original concept of "least related results first" :-P 04:17:20 -!- arthurmaciel [n=user@201.80.20.127] has quit [Remote closed the connection] 04:17:52 I like my query page because I don't have any ads. 04:18:20 Also, they finally seem to have fixed their thumbnail bug. 04:19:09 A search for my former employer Crutchfield (an electronics retailer) used to bring up crutchfield.com with a picture of an elk hunter next to it. 04:19:12 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 04:19:30 why is there a proprosa to split scheme into two languages? 04:19:38 TimMc: Read their blog, they've been doing a lot of things to improve their engine. 04:19:45 *jcowan* only gets one hit on his first cuil search page, as opposed to five on Google. 04:19:53 lowlycoder: Read the archives of the newsgroup and the r6rs-discuss list for more information. 04:20:01 lowlycoder: Because those who want a large language and those who want a small one can't agree. 04:20:07 can i get the cliff notes somewhere? 04:20:47 lowlycoder: Bottom line: It's isn't a split, unless you look at it this way, in which it is, but then it really isn't, because a split isn't this, but it is, because it does this. 04:21:14 lowlycoder: Cliff Notes to be written. 04:21:18 arcfide: That almost made sense. 04:21:23 you should write cliff notes for shakespeare 04:21:41 -!- perdix [n=perdix@sxemacs/devel/perdix] has quit [Read error: 60 (Operation timed out)] 04:21:44 From r2 to r5, the small-worlders had their way, and Scheme was a group of languages sharing a small core. With r6, the large-worlders dominated, but many implementers think r6 was badly done and/or wrongheaded. 04:22:07 perdix [n=perdix@sxemacs/devel/perdix] has joined #scheme 04:22:44 -!- timchen119 [n=vzloct_2@kalug.ks.edu.tw] has quit [Remote closed the connection] 04:22:49 Well, anyways, it's off to bed for me. 04:22:52 -!- arcfide [n=arcfide@99.14.211.8] has left #scheme 04:23:09 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:25:16 ah, good to know cuil is out there and still total crap 04:25:52 Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 04:26:09 timchen119 [n=vzloct_2@kalug.ks.edu.tw] has joined #scheme 04:26:30 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 04:26:59 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [] 04:29:10 -!- Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 04:29:43 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 04:33:56 -!- timchen119 [n=vzloct_2@kalug.ks.edu.tw] has quit [Remote closed the connection] 04:33:57 timchen1` [i=tim@kalug.ks.edu.tw] has joined #scheme 04:34:12 hadronzoo [n=user@ppp-70-251-74-36.dsl.rcsntx.swbell.net] has joined #scheme 04:39:03 -!- Baconizer [n=Baconize@17-173-223-66.gci.net] has quit [Read error: 110 (Connection timed out)] 04:54:25 -!- jedc [n=jedc@c-98-232-225-102.hsd1.or.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:57:44 jedc [n=jedc@c-98-232-225-102.hsd1.or.comcast.net] has joined #scheme 05:00:47 -!- jedc [n=jedc@c-98-232-225-102.hsd1.or.comcast.net] has quit [Remote closed the connection] 05:00:48 -!- decker [n=chatzill@user-0c9h6li.cable.mindspring.com] has quit ["ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]"] 05:05:02 -!- easy4 [n=easy4@c-68-45-192-148.hsd1.pa.comcast.net] has quit [] 05:06:22 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:07:21 -!- ASau [n=user@83.69.240.52] has quit ["off"] 05:09:29 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 05:12:23 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 05:30:00 incubot: i love how Riastradh, the alpha machine of scheme-dom, has singlehandedly established ``&c.'' as the canonical abbreviation for ``et caetera'' 05:30:03 im using PLT-scheme, beginning student with list abbreviation 05:30:24 incubot: and i did not know that ampersand was officially the ligature of ``et'' 05:30:30 I don't know about anything in scheme which you could call a list comprehension 05:31:05 s/officially/really/ 05:32:21 some typefaces make it more obvious than others 05:32:42 you can see it quite nicely in baskerville 05:42:09 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [Read error: 60 (Operation timed out)] 05:42:22 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 05:44:55 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 05:56:41 dysinger [n=tim@166.187.62.83] has joined #scheme 05:57:45 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit ["This computer has gone to sleep"] 05:58:38 -!- dysinger [n=tim@166.187.62.83] has quit [Client Quit] 05:59:01 dysinger [n=tim@166.187.62.83] has joined #scheme 06:00:28 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 06:29:27 MrFahrenheit [n=RageOfTh@80.65.72.29] has joined #scheme 06:33:41 HG` [n=HG@xdslen067.osnanet.de] has joined #scheme 06:37:26 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 06:38:21 mmc1 [n=mima@esprx02x.nokia.com] has joined #scheme 06:43:02 -!- mmc1 [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 06:47:19 ASau [n=user@host203-231-msk.microtest.ru] has joined #scheme 06:56:12 a-s [n=user@nat-240.ro.66.com] has joined #scheme 06:58:16 can somebody download me from ACM this article, please: M. Bermudez and 06:58:16 G. Logothetis, Simple Computation of LALR(1) Lookahead Sets. Information 06:58:16 Processing Letters. 1989. Volume 31. 06:59:52 wingo [n=wingo@58.Red-83-37-98.dynamicIP.rima-tde.net] has joined #scheme 07:05:01 jewel_ [n=jewel@dsl-242-129-207.telkomadsl.co.za] has joined #scheme 07:08:01 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 07:08:02 leppie|work [i=52d2e3c8@gateway/web/freenode/x-oziwwpcizichpubr] has joined #scheme 07:16:44 mmc1 [n=mima@esprx01x.nokia.com] has joined #scheme 07:18:18 kenpp [n=kenpp@84.92.70.37] has joined #scheme 07:24:06 -!- perdix [n=perdix@sxemacs/devel/perdix] has quit ["A cow. A trampoline. Together they fight crime!"] 07:27:36 -!- wingo [n=wingo@58.Red-83-37-98.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 07:42:40 Fufie [n=poff@Gatekeeper.vizrt.com] has joined #scheme 07:53:24 tabe` [n=user@adel.fixedpoint.jp] has joined #scheme 07:53:31 -!- tabe [n=user@adel.fixedpoint.jp] has quit [Read error: 104 (Connection reset by peer)] 07:58:27 ASau` [n=user@host203-231-msk.microtest.ru] has joined #scheme 08:01:05 cky_ [n=cky@cpe-024-211-255-249.nc.res.rr.com] has joined #scheme 08:01:22 -!- ASau [n=user@host203-231-msk.microtest.ru] has quit [Read error: 104 (Connection reset by peer)] 08:03:01 -!- ASau` is now known as ASau 08:09:20 -!- mmc [n=mima@esprx02x.nokia.com] has quit ["Leaving."] 08:09:20 -!- mmc1 [n=mima@esprx01x.nokia.com] has quit ["Leaving."] 08:10:33 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 08:17:38 -!- cky [n=cky@cpe-024-211-255-249.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 08:20:14 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 08:22:29 ejs [n=eugen@77.222.151.102] has joined #scheme 08:23:23 QinGW [n=wangqing@203.86.89.226] has joined #scheme 08:23:34 -!- zbigniew [n=zb@3e8.org] has quit [Remote closed the connection] 08:23:46 zbigniew [n=zb@69.12.216.46] has joined #scheme 08:30:16 bakkdoor [n=bakkdoor@131.173.18.185] has joined #scheme 08:32:24 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 08:36:14 -!- xwl_` [n=user@esprx01x.nokia.com] has quit [Remote closed the connection] 08:37:44 xwl_ [n=user@esprx01x.nokia.com] has joined #scheme 08:40:18 -!- a-s [n=user@nat-240.ro.66.com] has quit [Remote closed the connection] 08:40:22 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 08:40:30 sphex [n=nobody@modemcable239.185-56-74.mc.videotron.ca] has joined #scheme 08:40:37 -!- ejs [n=eugen@77.222.151.102] has quit [Connection timed out] 08:44:35 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 08:45:05 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 08:49:29 -!- sad0ur [n=sad0ur@psi.cz] has quit [Read error: 104 (Connection reset by peer)] 08:49:37 sad0ur [n=sad0ur@psi.cz] has joined #scheme 08:51:03 -!- kenpp [n=kenpp@84.92.70.37] has quit [Connection timed out] 08:51:20 -!- dstorrs [n=dstorrs@cpe-98-14-187-196.nyc.res.rr.com] has quit [Remote closed the connection] 08:51:24 dstorrs [n=dstorrs@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 08:54:06 -!- sphex_ [n=nobody@modemcable239.185-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 09:00:59 easy4 [n=easy4@c-68-45-192-148.hsd1.pa.comcast.net] has joined #scheme 09:16:06 masm [n=masm@85.244.79.5] has joined #scheme 09:21:46 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 09:22:20 ejs2 [n=eugen@nat.ironport.com] has joined #scheme 09:23:10 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 09:24:10 -!- xwl_ [n=user@esprx01x.nokia.com] has quit [Remote closed the connection] 09:31:39 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 09:44:03 lvh [n=lvh@83.101.78.200] has joined #scheme 09:44:04 hi 09:47:44 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 09:59:15 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 10:01:14 -!- QinGW [n=wangqing@203.86.89.226] has quit [Read error: 104 (Connection reset by peer)] 10:17:53 sphex_ [n=nobody@modemcable239.185-56-74.mc.videotron.ca] has joined #scheme 10:19:20 -!- bakkdoor [n=bakkdoor@131.173.18.185] has quit [Read error: 110 (Connection timed out)] 10:34:59 -!- sphex [n=nobody@modemcable239.185-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 10:41:00 -!- Axioplase [n=Axioplas@fortigate.kb.ecei.tohoku.ac.jp] has quit ["/quat"] 11:07:50 -!- Summermute66 [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 11:18:09 Edico [n=Edico@unaffiliated/edico] has joined #scheme 11:28:28 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 11:41:16 -!- saccade [n=saccade_@COMBINATOR.MIT.EDU] has quit [Read error: 110 (Connection timed out)] 11:43:09 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 11:43:45 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 11:45:55 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 11:46:25 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 12:07:59 mario-goulart [n=user@201-40-162-47.cable.viacabocom.com.br] has joined #scheme 12:08:27 -!- Fufie [n=poff@Gatekeeper.vizrt.com] has quit ["Leaving"] 12:09:38 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 12:17:26 samth [n=samth@c-67-186-134-237.hsd1.ma.comcast.net] has joined #scheme 12:22:45 sepult [n=user@xdsl-87-78-123-245.netcologne.de] has joined #scheme 12:28:01 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 12:28:21 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 12:33:39 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 12:37:15 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 12:38:42 -!- masm [n=masm@85.244.79.5] has quit ["Leaving."] 12:41:21 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 12:49:08 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:51:45 -!- lvh [n=lvh@83.101.78.200] has quit [Read error: 110 (Connection timed out)] 12:52:06 if I wrote a function that was already defined and I want to revert to the old one how I do that? 12:52:19 I use guile 12:54:20 lvh [n=lvh@83.101.78.200] has joined #scheme 12:54:22 I loaded my file.scm with a function that was already defined and now I removed that function from my file.scm and reloaded the file.scm, but I want the old function to the interpreter 12:55:06 if I close and reopen the interpreter it works, but I want to know if there is another way without closing the interpreter 12:58:44 annodomini [n=lambda@64.30.3.122] has joined #scheme 13:05:11 how do I truncate a floating point number to the number without decimal part ex 1.57 truncate it to 1? 13:05:50 to truncate a floating point nr. to an integer 13:08:33 Edico: floor 13:09:53 thanks 13:12:19 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:18:51 -!- samth [n=samth@c-67-186-134-237.hsd1.ma.comcast.net] has quit [Read error: 113 (No route to host)] 13:26:26 bombshelter13_ [n=bombshel@206.80.252.37] has joined #scheme 13:40:08 ejs1 [n=eugen@77.222.151.102] has joined #scheme 13:42:02 Edico, there are four different procedures for different kinds of rounding: FLOOR, CEILING, TRUNCATE, and ROUND. 13:44:57 samth [n=samth@punge.ccs.neu.edu] has joined #scheme 13:45:04 -!- ejs1 [n=eugen@77.222.151.102] has quit [Client Quit] 13:45:21 -!- MrFahrenheit [n=RageOfTh@80.65.72.29] has quit [Read error: 110 (Connection timed out)] 13:45:30 Both TRUNCATE and FLOOR yield 1.0 when given 1.57. 13:45:48 However, for -1.57, TRUNCATE gives -1.0, whereas FLOOR gives -2.0. 13:52:01 -!- ejs2 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 13:52:15 bakkdoor [n=bakkdoor@aktaia.intevation.org] has joined #scheme 13:53:21 schmir [n=schmir@mail.brainbot.com] has joined #scheme 13:54:39 -!- lvh [n=lvh@83.101.78.200] has quit ["leaving"] 13:59:15 -!- ASau [n=user@host203-231-msk.microtest.ru] has quit ["off"] 14:00:13 -!- bakkdoor [n=bakkdoor@aktaia.intevation.org] has quit ["Verlassend"] 14:00:47 -!- cky_ is now known as cky 14:01:47 thesnowdog [i=thesnowd@122.110.4.231] has joined #scheme 14:05:45 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 14:13:00 timchen1a [i=tim@kalug.ks.edu.tw] has joined #scheme 14:14:20 -!- timchen1` [i=tim@kalug.ks.edu.tw] has quit [Read error: 113 (No route to host)] 14:15:34 -!- g0ju [n=moo@spalila.hrz.fh-zwickau.de] has quit [Remote closed the connection] 14:19:13 underspecified [n=eric@softbank220043052007.bbtec.net] has joined #scheme 14:28:28 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 14:34:06 will I lose my mind if I start exploring R6RS? 14:36:32 schmir: no 14:39:48 samth: can you recommend an implementation? I'm currently looking at mosh, which seems quite nice. 14:54:09 i personally prefer plt scheme 14:54:31 i believe ypsilon is the implementation most compatible with r6rs 14:55:10 but all of ypsilon, mosh, ironscheme, plt scheme, larceny, chez should provide good support for r6rs 14:56:59 No mention of ikarus? 14:59:58 oh, ikarus too 15:00:02 my oversight 15:01:30 Is there any sign of implementation convergence on how libraries in an import form are loaded? 15:01:58 foof, yes, sorry. I'm embarrassed to admit that your consistent use of the term "radix" rather than "base" defeated my ctrl-F skizzils. 15:07:28 -!- leppie|work [i=52d2e3c8@gateway/web/freenode/x-oziwwpcizichpubr] has quit ["Page closed"] 15:12:36 zeroish` [n=zeroish@135.207.174.50] has joined #scheme 15:13:14 samth: thanks 15:16:21 chandler: I think there's been some, but not enough yet 15:16:48 I think derrick eddington is the person who knows most about that 15:25:37 -!- jonrafkind [n=jon@98.202.86.149] has quit [Success] 15:36:53 masm [n=masm@bl11-79-5.dsl.telepac.pt] has joined #scheme 15:40:14 -!- dstorrs is now known as _dstorrs 15:40:28 dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 15:47:07 -!- chylli [n=lchangyi@119.181.3.122] has quit [Remote closed the connection] 15:49:49 chandler: what do you mean by 'implementation convergence on how libraries in an import form are loaded'? 15:49:51 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 15:56:36 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:57:05 eli: you had a look yet at that screenshot of the Macro Stepper? 16:00:05 leppie: Yes, and I asked Ryan about it -- he doesn't do anything special, so this is some mred-level issue. 16:00:25 I'll probably talk to Matthew about it in a few days. 16:00:38 ahh ok, at least you know, wasnt sure if you saw it :) 16:01:11 In any case, if you find a way to reproduce it, then a bug report would be very helpful. 16:01:42 i'll have a look tomorrow, I can reproduce them the same on both XP and Vista 16:08:11 ASau [n=user@83.69.240.52] has joined #scheme 16:08:25 -!- dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 16:09:10 dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 16:10:02 -!- _dstorrs [n=dstorrs@cpe-98-14-187-196.nyc.res.rr.com] has quit ["giving ERC a try"] 16:14:33 leppie: It seems like the mapping of (foo bar baz) -> "foo/bar/baz.sls" has become relatively common, but I still have to go fiddling around with implementation-specific library path nonsense to even get to that point. 16:15:11 leppie: I'd prefer just to be able to run " path/to/my/toplevel/program.ss" and have "path/to/my/toplevel/" automatically in the search path. 16:15:35 well I do that in IronScheme :p 16:16:21 or do i? 16:16:33 -!- jay-mccarthy [n=jay@lallab.cs.byu.edu] has left #scheme 16:18:19 I haven't tried IronScheme. 16:18:47 No I do do that! 16:21:50 I do current dir, program dir, then scheme install dir, then the lib dir 16:22:33 actually program dir, then current dir, and the rest, in that order 16:23:21 or even with a command line option 16:24:58 you should try IronScheme :) it's tonnes faster than CommonLarceny 16:28:02 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 16:29:02 Nshag [i=user@Mix-Orleans-106-3-6.w193-248.abo.wanadoo.fr] has joined #scheme 16:29:03 leppie: Are you sure it isn't furlongs faster? 16:30:06 perhaps 16:30:20 I pressed Ctrl - C before I could find out 16:31:41 peddie [n=peddie@c-67-170-201-38.hsd1.ca.comcast.net] has joined #scheme 16:47:00 dzhus [n=sphinx@93-80-226-200.broadband.corbina.ru] has joined #scheme 16:56:28 ejs [n=eugen@221-119-135-95.pool.ukrtel.net] has joined #scheme 17:11:23 Gah, are helicopters even *allowed* to fly that low over residential areas? 17:13:58 If it's really that low, you should express your displeasure by lobbing rocks at the operator. 17:17:17 moon him 17:17:52 -!- dysinger [n=tim@166.187.62.83] has quit [Connection timed out] 17:20:22 flaschenwein [n=olaf_rog@p5080A24A.dip0.t-ipconnect.de] has joined #scheme 17:27:47 annodomini [n=lambda@130.189.179.215] has joined #scheme 17:28:46 gnomon: Lasers! 17:29:01 It looked military, though. Not a news chopper. 17:30:03 (Pro-tip: Pilots really hate laser pointers. So do the feds they complain to.) 17:30:28 They don't complain if you use a sufficiently powerful laser. 17:31:27 This is true. 17:31:35 I have a much better idea: get some model rockets and some aluminium spray paint with which to coat them, and then send them up near the helicopters. 17:32:09 With any luck, they'll get caught on radar, and then you'll have fighter jets patrolling the area, which is way cooler than helicopters! 17:34:46 gnomon, did you catch my suggestion about jfgi.com from last night? 17:34:47 *TimMc* sets up a model rocket with electronic launch connected to a mic and helicopter audio recognition expert system 17:36:01 Riastradh, I did, but I generally don't tend to watch YouTube videos. I'll make an exception for this one, but it'll have to be at a point in time when I can pay attention to it. 17:36:24 That's OK -- you probably don't want to watch this one. 17:37:06 I wish I could unwatch it, but it's too late for that, thanks to the Register (and despite their multiple warnings that readers really wouldn't want to watch it). 17:41:01 *gnomon* makes a note of Riastradh's reaction to advice about not watching something 17:41:09 I'm certain that'll come in handy later on. 17:41:48 (Background: Microsoft put out some kind of contest to make a viral YouTube video advertising Bing. The bloke who made this one has attempted repeatedly to make viral YouTube videos, and this is one of his attempts. It's really bad -- or, as I like to put it now, really binged up.) 17:47:40 I don't tend to watch YouTube videos either, by the way. 17:48:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 17:48:46 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:49:53 definitely sounds like something to avoid... 17:50:03 Or to apply directly to the forehead! 17:55:10 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 18:00:12 rouslan [n=Rouslan@unaffiliated/rouslan] has joined #scheme 18:00:25 sounds like reverse psychology marketing - "you really don't want to watch this. nudge nudge" 18:02:57 egdun egdun 18:05:59 -!- ASau [n=user@83.69.240.52] has quit [Read error: 113 (No route to host)] 18:07:31 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:08:21 kenpp [n=kenpp@84.92.70.37] has joined #scheme 18:17:35 -!- samth [n=samth@punge.ccs.neu.edu] has quit ["Ex-Chat"] 18:21:03 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 18:26:37 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 18:27:06 ASau [n=user@83.69.240.52] has joined #scheme 18:33:39 copumpkin: thanks for the tip; i thought this was kind of cool: http://rumplo.com/tees/tee/6441-baskerville-ampersand 18:33:53 klutometis: I own that t-shirt! :D 18:33:54 peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has joined #scheme 18:34:40 :) 18:34:52 sepulte [n=user@xdsl-87-78-102-243.netcologne.de] has joined #scheme 18:36:11 -!- sepult [n=user@xdsl-87-78-123-245.netcologne.de] has quit [Nick collision from services.] 18:36:16 -!- sepulte is now known as sepult 18:36:26 -!- sepult [n=user@xdsl-87-78-102-243.netcologne.de] has quit [Remote closed the connection] 18:36:47 sepult [n=user@xdsl-87-78-102-243.netcologne.de] has joined #scheme 18:38:49 -!- schmir [n=schmir@mail.brainbot.com] has quit [Remote closed the connection] 18:40:20 -!- peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [] 18:43:30 -!- Pepe_ [n=ppjet@78.114.134.123] has quit [Read error: 110 (Connection timed out)] 18:45:29 -!- HG` [n=HG@xdslen067.osnanet.de] has quit [Client Quit] 18:51:26 copumpkin: nice; i might have to pick one up, too ;) 18:53:27 klutometis, compumpkin: at trinity college in dublin there is a whole discourse on the ampersand 18:53:44 the tourist part I mean--around the book of kells 18:53:48 -!- ejs [n=eugen@221-119-135-95.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 18:56:24 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 18:56:34 ASau [n=user@83.69.240.52] has joined #scheme 18:56:48 mrsolo_ [n=mrsolo@nat/yahoo/x-xpapfroobsqsyuqi] has joined #scheme 18:59:19 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit [Read error: 110 (Connection timed out)] 19:00:47 zbigniew: oh, that's cool; this is the closest page i could find with info: http://www.tcd.ie/about/trinity/bookofkells/ 19:00:58 no mention of 'and per se, and', unfortunately 19:01:05 -!- dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has quit [Remote closed the connection] 19:02:13 good movie 19:06:01 klutometis: yes, it is (was) in the surrounding room, and I can't find info on it either now. it satisfied my font cravings but good 19:07:12 s/room/exhibition area/ 19:16:46 dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 19:17:30 samth [n=samth@c-67-186-134-237.hsd1.ma.comcast.net] has joined #scheme 19:18:00 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 19:18:09 ASau [n=user@83.69.240.52] has joined #scheme 19:22:07 dysinger [n=tim@71-20-35-99.war.clearwire-wmx.net] has joined #scheme 19:28:47 glogic [n=glogic@97.76.48.98] has joined #scheme 19:32:56 -!- glogic [n=glogic@97.76.48.98] has quit [Client Quit] 19:34:14 glogic [n=glogic@97.76.48.98] has joined #scheme 19:38:35 -!- glogic [n=glogic@97.76.48.98] has quit [Client Quit] 19:39:47 glogic [n=glogic@97.76.48.98] has joined #scheme 19:43:26 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 20:00:13 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 20:04:03 -!- dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has quit ["leaving"] 20:04:27 dysinger_ [n=tim@71-20-35-99.war.clearwire-wmx.net] has joined #scheme 20:10:05 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 20:12:21 -!- ski [n=slj@c-9011e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 104 (Connection reset by peer)] 20:12:51 Summermute [n=scott@c-68-55-207-173.hsd1.dc.comcast.net] has joined #scheme 20:13:58 ski [n=slj@c-9011e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 20:16:34 jeff_ [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 20:16:41 -!- jeff_ [n=jdlouhy@pinball.ccs.neu.edu] has quit [Client Quit] 20:17:42 -!- masm [n=masm@bl11-79-5.dsl.telepac.pt] has quit ["Leaving."] 20:18:20 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 20:18:48 jeff_ [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 20:19:12 -!- jeff_ is now known as dlouhy 20:20:16 -!- dysinger_ [n=tim@71-20-35-99.war.clearwire-wmx.net] has quit [] 20:23:48 -!- dysinger [n=tim@71-20-35-99.war.clearwire-wmx.net] has quit [Read error: 110 (Connection timed out)] 20:28:15 -!- ski [n=slj@c-9011e055.1149-1-64736c10.cust.bredbandsbolaget.se] has quit [Read error: 104 (Connection reset by peer)] 20:29:04 MononcQc [i=MononcQc@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 20:31:30 ski [n=slj@c-9011e055.1149-1-64736c10.cust.bredbandsbolaget.se] has joined #scheme 20:34:27 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 20:44:12 masm [n=masm@bl11-79-5.dsl.telepac.pt] has joined #scheme 20:47:26 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 20:48:19 db_dbus [n=Bob@pool-71-112-117-125.sttlwa.dsl-w.verizon.net] has joined #scheme 20:51:21 Pepe__ [n=ppjet@78.114.110.177] has joined #scheme 21:01:38 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 21:02:12 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 21:07:38 -!- sepult [n=user@xdsl-87-78-102-243.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:11:41 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 21:12:17 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 21:14:18 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 21:15:10 -!- mario-goulart [n=user@201-40-162-47.cable.viacabocom.com.br] has quit [Remote closed the connection] 21:17:09 -!- dzhus [n=sphinx@93-80-226-200.broadband.corbina.ru] has quit ["-_-"] 21:29:18 -!- jewel_ [n=jewel@dsl-242-129-207.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 21:30:43 -!- bombshelter13_ [n=bombshel@206.80.252.37] has quit [] 21:31:12 -!- flaschenwein [n=olaf_rog@p5080A24A.dip0.t-ipconnect.de] has left #scheme 21:42:30 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 21:42:57 coi 21:43:50 -!- masm [n=masm@bl11-79-5.dsl.telepac.pt] has quit [Read error: 104 (Connection reset by peer)] 21:44:12 o i c 21:44:34 -!- glogic [n=glogic@97.76.48.98] has left #scheme 21:50:07 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:01:26 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 22:02:03 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 22:04:46 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 22:08:07 -!- db_dbus [n=Bob@pool-71-112-117-125.sttlwa.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 22:09:30 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 22:12:38 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit [Read error: 113 (No route to host)] 22:14:57 masm [n=masm@bl11-79-5.dsl.telepac.pt] has joined #scheme 22:15:28 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:15:29 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Read error: 104 (Connection reset by peer)] 22:26:06 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 22:26:12 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 22:27:04 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 22:28:36 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 22:34:13 caoliver [n=oliver@75-134-208-20.dhcp.trcy.mi.charter.com] has joined #scheme 22:38:38 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:47:43 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)] 22:59:25 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 23:03:11 -!- edwardk1 is now known as edwardk 23:04:19 -!- ASau [n=user@83.69.240.52] has quit ["Migration..."] 23:14:50 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 23:15:53 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 23:28:42 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit ["This computer has gone to sleep"] 23:44:45 -!- rdd [n=user@c83-250-159-12.bredband.comhem.se] has quit [Remote closed the connection] 23:45:23 db_dbus [n=Bob@pool-71-112-117-125.sttlwa.dsl-w.verizon.net] has joined #scheme 23:45:49 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 23:49:13 -!- proq [n=user@38.100.211.40] has quit [Read error: 104 (Connection reset by peer)] 23:53:39 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 23:54:07 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 23:55:01 -!- masm [n=masm@bl11-79-5.dsl.telepac.pt] has quit ["Leaving."] 23:58:08 -!- mrsolo_ [n=mrsolo@nat/yahoo/x-xpapfroobsqsyuqi] has quit ["Leaving"]