00:00:12 sorry, I didn't realize that the xor would be so unstandardized.. 00:00:14 Usually they are in some sort of bitwise procedures section. 00:00:33 in any case, I don't need a bitwise XOR.. so I might as well use if's 00:00:38 rudybot: eval bitwise-xor 00:00:38 proq: ; Value: # 00:00:55 -!- bohanlon [n=bohanlon@pool-71-184-223-212.bstnma.fios.verizon.net] has quit ["I fear that I must depart for now."] 00:01:09 rudybot: doc xor 00:01:10 Daemmerung: your sandbox is ready 00:01:10 Daemmerung: no docs for a current binding, but provided by: mzlib/integer-set 00:01:33 incubot: xor 00:01:41 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 00:02:11 When is specbot going to get some R6RS procedure reference? 00:02:52 does specbot do srfis? 00:03:08 I think not. 00:03:13 specbot: help 00:03:14 To use the specbot bot, say something like "database term", where database is one of ("clhs", "r5rs", "cocoa", "elisp", "clim", "ieee754", "ppc", "posix", "man", "cltl2", "cltl2-section") and term is the desired lookup. The available databases are: 00:03:14 "clhs", The Common Lisp HyperSpec; "r5rs", The Revised 5th Ed. Report on the Algorithmic Language Scheme; "cocoa", Classes in the Cocoa Foundation and Application kits; "elisp", GNU Emacs Lisp Reference Manual 00:03:14 "clim", Common Lisp Interface Manager II Specification; "ieee754", Section numbers of IEEE 754; "ppc", PowerPC assembly mnemonics; "posix", Single UNIX Specification 00:06:10 Maybe if somebody asked chandler nicely. 00:12:46 I wish there was a way to do (eq? var (or x y)) and have it do what I want 00:13:18 krat3r [n=krat@a213-22-204-240.cpe.netcabo.pt] has joined #scheme 00:13:29 rudybot: (define (xor x y) (not (eqv? x y)) 00:13:29 mejja: eh? Try "rudybot: help". 00:13:58 whats wrong with (eq? var (or x y)) 00:14:36 I want it to do (or (eq? var x) (eq? var y)) 00:15:30 specbot: or 00:15:37 specbot: or? 00:16:01 specbot: r5rs or 00:16:02 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_120 00:16:04 -rudybot:#scheme- http://tinyurl.com/5pmuzt 00:16:23 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 00:16:56 r5rs eqv? 00:16:56 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_210 00:16:59 -rudybot:#scheme- http://tinyurl.com/3ekcm2 00:17:09 Is there a way to return some inputs quoted such that they are not executed, only put together in a list? For example (with imperfect syntax): ((lambda (x y) (append x y)) 3 4) 00:17:30 So that the result is '(x y)? 00:18:41 -!- arcfide [n=arcfide@99.186.239.125] has quit [Remote closed the connection] 00:20:30 arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has joined #scheme 00:21:21 sanguinev: the example you posted does not rely on the inputs. 00:24:31 -!- a-s [n=user@92.80.66.203] has quit [Remote closed the connection] 00:29:19 elf: When I try using "scm" (scheme interpreter in Ubuntu) I can do: (append '(3) '(4)), but can't wrap it up under an abstraction such as: (define (f x y) ((lambda (x1 y1) (append x1 y1)) x y) I can't make it work... I suspect I just don't get some aspect of how to do it properly... 00:30:13 hrm. lets start with... what does '(3) mean? what does '(4) mean? what does append do ? 00:30:44 elf: '(3) is a list containing "3", ditto for 4, append appends two lists together. 00:31:00 (its a list containing a literal number three, correct) 00:31:05 oke. 00:31:30 what does (lambda (x1 y1) (append x1 y1)) mean ? 00:31:34 elf: (3) is a function to execute the code "3"... 00:31:38 no. 00:31:40 its not a function. 00:32:05 its a literal, quoted list, containing a single element, the integer 3 00:32:06 elf: It is an anonymous function that accepts two arguments (x1 and y1) and then uses them in the body (append x1 y1) 00:32:40 elf: I was attempting to explain how '(3) differs from (3) in my understanding. 00:32:44 ah, yes. 00:32:45 sorry. 00:32:52 duncanm, no, I am not at the dinner. 00:32:53 my mistake, i misread you the second time. 00:33:00 oke. 00:33:08 rotty: (put 'loop 'scheme-indent-function 'scheme-let-indent) 00:33:37 so how do we make x1 and y1 mean anything in the context of the anonymous function? 00:33:56 elf, no, I am not saying that mutation is possible without mutable locations. The difference between SET! and SET-CAR! is the scope or extent (neither word is quite right) of the location. 00:34:17 -!- underspecified [n=eric@softbank220043052007.bbtec.net] has quit [] 00:34:36 -!- RageOfThou [n=RageOfTh@92.36.216.112] has quit [Read error: 104 (Connection reset by peer)] 00:34:48 RageOfThou [n=RageOfTh@92.36.216.112] has joined #scheme 00:34:51 riastradh: clarify further if possible? 00:35:13 elf: I found the answer, ended up with: ((lambda (x y) (cons x (cons y ()))) 'a 'b) ;) 00:35:43 Wherever a pair came from, if I, a caller, and you, a callee, both have a name for the same pair, SET-CAR! effects the same change whether you do it or I. 00:36:10 However, SET! does not effect the same change when I pass it lexically the same arguments. 00:36:34 elf: Thanks for helping me talk it through! 00:36:44 sanguinev: np. 00:36:49 That is, if in the caller I have a pair named P, and in the callee a pair named Q, then (SET-CAR! P ...) in the caller and (SET-CAR! Q ...) in the callee have the same effects, but (SET! P ...) and (SET! Q ...) do not. 00:37:28 riastradh: ah! 00:37:31 ...sorry, I omitted the condition that P and Q name the same pair. 00:37:36 so its the immediacy of the location. 00:37:44 This is very confusing to novices. 00:37:46 wrong word. shoot, is there a word? 00:38:03 I don't know what the right word to describe this is -- except for confusing. 00:38:03 its not confusing, it makes perfect sense, its not something i generally think about though. 00:38:16 Clearly `scope' and `extent' are the wrong words. 00:38:34 It makes perfect sense to you after you have thought carefully about it, and once you understand Scheme's evaluation rules thoroughly. 00:38:39 It makes perfect sense to me, too. 00:38:49 That doesn't mean it's not confusing for novices. 00:38:51 set-car and vector-set are guaranteed to assign to the same relative (to the rest of the structure) position in memory. 00:39:20 What is this confusing concept? 00:39:22 theres extra state for em. 00:39:54 arcfide, suppose in a procedure where I have a pair named P, I apply another procedure to an argument of this pair, and in the other procedure the corresponding parameter is called Q. 00:39:59 theyre mutating an extant structure without changing the structure itself, rather than assigning a new structure. 00:40:10 arcfide, then (SET-CAR! P ...) in the caller and (SET-CAR! Q ...) in the callee have the same effect. 00:40:17 glerg, wow. terminology really breaks here. 00:40:21 But (SET! P ...) in the caller and (SET! Q ...) in the callee do not. 00:41:13 elf, no, the terminology doesn't break for what you're trying to say. VECTOR-SET! and SET-CAR! store new values in locations. So does SET!, but the location isn't associated with a first-class object, and so it can't be passed to a procedure like pairs and vectors can be. 00:42:19 You mean the difference between binding mutation and object mutation? 00:42:27 (Just trying to guess names here.) 00:42:36 set! assigns the location referenced by its first arg to the value of its second arg. set-car! assigns a region of the locations pointed to by its first arg to the value of its second arg. 00:43:04 (Are you trying to use precise terminology from, say, the R5RS, or are you trying to make up new terminology from English words as you go?) 00:43:21 Riastradh: I'm trying to make up new terminology as I go. 00:43:28 so does (set! (car a) ...) have the same meaning as (set-car! a ...) ? 00:43:39 That's what came to mind when I thought about the differences between those two operations. 00:44:24 (The R5RS doesn't talk about `pointing' or `assigning locations'.) 00:44:29 i know. 00:44:32 (SET! (CAR A) ...) has no standard meaning. 00:44:36 oke. 00:45:22 fair nuff. 00:45:23 It seems to me that SET! mutates bindings or the locations associated with a name, but SET-CAR! mutates the contents of an object. 00:45:48 The difference between the location that SET! stores a value in and the location that SET-CAR! stores a value in is that the location that SET! stores a value in is not associated with a first-class object that can be passed to procedures, whereas the location that SET-CAR! stores a value in is associated with an object that can be passed to procedures. 00:45:56 set! mutates a pointer root. set-car! mutates a pointer offset. 00:46:24 (Why are you trying to make up terminology when there is already perfectly good terminology, which I'm using and whose source I've already cited?) 00:46:30 im not. 00:46:31 Riastradh: is SET! ever used on anything other than a bound name? 00:46:40 Not with standard meaning, arcfide. 00:46:45 im just actually thinking of how this helps explain something ive always found hard to explain. 00:47:27 `Pointer root' usually means something to do with garbage collection, by the way. There might, incidentally, actually be a first-class object with which a variable is associated, just not exposed by the implementation. 00:48:25 i was using pointer root in a personal and altogether nonstandard sense, in the sense of the starting address for a single given multi-word object. 00:48:37 apologies. 00:48:39 Why is it the `starting address'? 00:49:10 full replacement. it doesnt have to be. 00:49:14 i was not trying to be precise. 00:49:31 like i said, i was just thinking that it explains something that ive found hard to explain. i probably shouldnt have typed teh pointer root line. 00:49:51 so what about set-cdr! , btw? 00:49:59 JonnyCrossbones [n=user@210.48.104.34] has joined #scheme 00:50:21 SET-CDR! is no different from SET-CAR! except in which location in the pair it stores values in. 00:52:43 benny` [n=benny@i577A066E.versanet.de] has joined #scheme 00:54:16 so any of the 'complex' type mutators fall into this rule. 00:55:18 vector-set! string-set! set-car! set-cdr! 00:55:24 Yes. 00:55:58 Everything but SET!, really. 00:57:17 so set! gives us replacement 00:57:27 Replacement? 00:57:29 new binding for the variable. 00:57:32 No. 00:57:39 how not? 00:57:40 The binding (the association between a name and a location) is the same. 00:58:34 but the value at that location is different. 00:58:57 whereas the others dont alter binding of their first arg at all. 00:59:05 m. 00:59:07 SET!, SET-CAR!, &c., all store new values in some location, replacing the old values. 00:59:27 None of this entails altering bindings. 00:59:30 where 'replacement' came from is the following. 01:00:11 nevermind, i answered my question. 01:00:57 i was trying to figure out if vars storing integers or chars or bools or whatnot could have analogues to the other type-sets. 01:03:21 i dont see how its possible, though. 01:03:29 ? 01:03:49 (define i 3) (int-set! i 4) 01:03:56 ...? 01:04:56 a setter form that changes a non-first-class 'piece' of an integer. 01:05:16 its not possible as far as i can tell without breaking the meanings of integers. 01:05:21 or chars. 01:05:41 any of the single-word types. 01:05:53 What is this `word' of which you speak? 01:05:54 (sorry im speaking so imprecisely and confusedly, im a bit socked out atm.) 01:06:55 all simple types. i keep avoiding the word 'immediate' because its not correct. 01:07:02 `Simple'? 01:07:30 booleans, chars, (fixnum) integers, 01:07:56 non container types. 01:08:02 i dont know. im zorched. i said this already. 01:08:46 -!- benny [n=benny@i577A00F3.versanet.de] has quit [Read error: 113 (No route to host)] 01:17:32 SugarGlider [n=stevie@dyn-203-143-164-139.qrl.nicta.com.au] has joined #scheme 01:22:03 -!- orgy` [n=ratm_@pD9FFE707.dip.t-dialin.net] has quit [Remote closed the connection] 01:44:09 underspecified [n=eric@isa7-dhcp-116-217.naist.jp] has joined #scheme 01:48:41 -!- krat3r [n=krat@a213-22-204-240.cpe.netcabo.pt] has quit ["Ex-Chat"] 01:48:48 djgera [n=djgera@host19.200-82-90.telecom.net.ar] has joined #scheme 01:59:59 -!- tizoc [n=user@unaffiliated/tizoc] has quit ["Coyote finally caught me"] 02:00:15 tizoc [n=user@unaffiliated/tizoc] has joined #scheme 02:02:40 Riastradh: did you leave the conference? have you had dinner already? 02:03:48 I had dinner and went home several hours ago. 02:03:58 Was anything other than the dinner happening this evening? 02:04:05 tripwyre_ [n=sathya@117.193.162.234] has joined #scheme 02:04:22 Riastradh: i don't know, i went to work at 3pm 02:07:55 -!- hark_ is now known as hark 02:08:30 -!- RageOfThou [n=RageOfTh@92.36.216.112] has quit [Read error: 110 (Connection timed out)] 02:10:23 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 02:13:35 -!- hark [n=strider@hark.slew.org] has quit ["leaving"] 02:14:38 -!- tripwyre [n=sathya@117.193.162.159] has quit [Read error: 110 (Connection timed out)] 02:27:25 -!- bweaver [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 02:32:49 Urgh. What a bloody mess the x86-64 is. 02:33:02 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 113 (No route to host)] 02:34:42 -!- underspecified [n=eric@isa7-dhcp-116-217.naist.jp] has quit [] 02:34:49 hmph 02:34:58 *offby1* just put together an x86-64 box at work 02:35:19 as in "installed ubuntu on it", not as in "soldered chips onto a motherboard" 02:36:57 Nor as in `writing machine code for it'. 02:37:08 the ubuntu installer is excellent, by the way :) 02:37:23 -!- Black_Mage [n=Black_Ma@bzq-79-177-101-166.red.bezeqint.net] has quit [Remote closed the connection] 02:38:17 I think I used the ubuntu equivalent of the "kickstart" installer -- i.e., I answered only those questions our IT maven wanted me to answer. So I never told it my own name, but I -did- have to spend about five minutes poking semi-randomly at my keyboard before it figured out that yes, I indeed use a US Standard keyboard 02:39:09 *arcfide* pets his ASCII SH install script. 02:39:38 probably not the thing for installing an OS, though. 02:41:46 unless it uses base64decode < /dev/hda1 is not likely for arcfide. 02:42:21 (Also, `if=', not `if'.) 02:58:35 offby1: Actually, for me, it is just the thing for installing an OS, thankyouverymuch. 03:00:01 offby1: you realize your typing metrics probably identified you as securely as your name would, right? 03:00:19 -!- djgera [n=djgera@host19.200-82-90.telecom.net.ar] has quit [] 03:14:32 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 03:21:55 Wilduck [n=erik@c121h059.wless.reed.edu] has joined #scheme 03:24:16 appletizer [i=user@82-32-123-217.cable.ubr04.hawk.blueyonder.co.uk] has joined #scheme 03:40:09 -!- Wilduck [n=erik@c121h059.wless.reed.edu] has quit [Read error: 104 (Connection reset by peer)] 04:02:26 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:09:05 -!- bsmntbombdood [n=gavin@97-118-123-100.hlrn.qwest.net] has quit [Remote closed the connection] 04:09:53 bsmntbombdood [n=gavin@97-118-123-100.hlrn.qwest.net] has joined #scheme 04:12:38 -!- weinholt [n=weinholt@debian/emeritus/weinholt] has quit [Read error: 110 (Connection timed out)] 04:16:46 incubot: Georg Friedrich Händel 04:16:49 heh, you can get Centrifugal pumps, by Johann Friedrich Gülich, published in hardcover Nov 1 2007, for CDN 0.01 04:17:35 incubot: is a 0.01 release worse than a 1.0 release? 04:17:38 Was planning on releasing the engine as open source, but if I could simultaneously slap a gui on it and release it as a GarageBand type thing for amateur musicians, that would be cool. 04:18:09 -!- langmartin [n=user@adsl-074-167-038-128.sip.cha.bellsouth.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 04:22:08 -!- incubot [i=incubot@klutometis.wikitex.org] has quit [Remote closed the connection] 04:25:56 *zbigniew* slaps incubot upside the GUI 04:27:13 incubot [n=incubot@klutometis.wikitex.org] has joined #scheme 04:27:57 la la la 04:28:29 man... ruby is just about as much fun as PHP 04:28:54 barrels of it, I tell ya 04:29:29 of course, unlike my scheme it isn't leaking memory like crazy. 04:29:40 but that's more the 'my' part than the 'scheme' I assume. 04:29:59 and i bet it is way slower :) 04:31:08 is there even a ruby that compiles, and not interpret? 04:31:51 -!- ttmrichter [n=ttmricht@59.172.141.201] has quit [Read error: 104 (Connection reset by peer)] 04:33:50 define slower. 04:34:26 slower than ruby? 04:34:30 *elf* ponders. 04:34:50 is this one of those 'are computations reversible' questions? 04:35:15 weinholt [n=weinholt@debian/emeritus/weinholt] has joined #scheme 04:35:19 my problem is I'm opening up a few threads and waiting on some semaphores while accessing a database via a home baked C interface library and multiplexing connection sessions two ways. If I could just simplify a bit more... 04:35:28 but I don't think it's specific to scheme. 04:35:36 which scheme are you using? 04:35:40 -!- JonnyCrossbones [n=user@210.48.104.34] has quit [Remote closed the connection] 04:35:51 plt right now. 04:36:39 I'm just sick of working on it when some moron with Aspergers already went and did all the obsessive detail work (badly, in ruby) 04:38:29 plus plt isn't exactly...popular... 04:41:00 I'm not making a libpq interface for my health after all. Nobody's ever done it. Nor a HTTP proxy... 04:41:19 what are you doing? 04:41:21 whats libpq? 04:41:46 im fairly sure there are http proxies in scheme... 04:43:34 libpq is the official client interface to PostgreSQL. 04:43:42 I just need a proxy where I can sneak off the files passing by once and a while by their content type and size. Haven't had luck finding one... 04:46:10 what do you mean 'sneak off the files passing by' ? 04:47:27 .oO("typing metrics")? 04:47:33 Was I trying to remain anonymous? I think not 04:47:47 *offby1* still does a double-take when seeing bpalmer in #scheme 04:48:22 Well, consider this situation. You have seen an image in your browser that you want to save. You write a nice application to save it. 04:48:31 *elf* does a double-drop to make up for offby1. 04:48:36 The application cannot communicate with your browser because writing Firefox extensions is fucking impossible. Unless--! 04:48:48 A proxy can communicate with any web browser just fine. 04:48:54 you cant just right click on it and tell it to save image as... ? 04:49:11 Save it as what? 04:49:20 well, then it gives you a file chooser. 04:49:25 so you specify a filename... 04:49:44 I've lost more images that way... 04:49:45 this is built-in functionality of mozilla. 04:50:07 *elf* shrugs. how will the proxy keep you from losing the images if you cant keep track of em when youre saving em normally? 04:50:34 Because normally I cannot save it with un-hierarchical tagging. 04:51:08 *offby1* shrugs. How you gonna keep 'em down on the farm once they've seen Paris? 04:51:16 huh? 04:51:23 what are you talking about tagging? 04:51:24 So I end up making compromises, whether to categorize it as one thing or another, but unable to do both. Been a thorn in my side for years. 04:51:30 you save it to a directory. 04:51:44 Which directory? 04:51:58 then if you have some kind of images db that you keep, you add it manually a second later. 04:52:13 whatever directory you want. you do get to choose this. 04:52:30 Yeah, I already implemented that, but a proxy would be sleeker. 04:53:03 *elf* fails to see how an extra layer of complexity and large continual memory use is sleeker for an occasional circumstance. 04:53:09 First off I don't care what directory it goes in, since it's going into a database anyway. Secondly I don't trust myself to go through the trouble of tagging after the image is saved. 04:53:45 *elf* believes interfaces generally should have stopped at the command line, though, so is probably not the right person to be discussing this. 04:54:04 synx: Are you saying that your whole db interface is done so you can make some proxy thing that tags images? 04:54:05 Well, maybe it isn't. I kind of stopped working on the proxy anyway. It seemed like a good idea at the time. 04:54:12 -!- CaptainMorgan [n=CaptainM@c-75-68-42-94.hsd1.nh.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:54:18 Yeah pretty much. 04:54:53 In that case I believe that elf has been too soft on you... 04:54:59 But I'll just leave it as setting the image's meta-info post-download. At least that works, though it takes a lot of copy and pasting. 04:55:33 so youre willing to copy and paste but not to type in a simple command that could do it correctly in low time and energy? 04:55:40 *elf* is somewhat baffled at the moment. 04:55:45 youre not even doing your own tagging... 04:55:48 Type in a simple command? 04:56:02 synx: What OS are you using? 04:56:08 add_image filename [tag...] 04:56:13 Well I can guess at a few tags from the URI, but there's really no way not to do your own tagging. 04:56:28 so what are you copying and pasting from the metainfo then? 04:56:40 GreyLensman [n=ray@c-76-108-236-161.hsd1.fl.comcast.net] has joined #scheme 04:56:42 Yes elf, or add_image \n \n 04:56:45 synx: What OS are you using? 04:56:57 eli: I'm on Debian testing right now. 04:57:07 -!- GreyLensman [n=ray@c-76-108-236-161.hsd1.fl.comcast.net] has quit [Client Quit] 04:57:08 youre trusting the general interweb population's ability to tag their own data meaningfully? 04:57:14 So, do you know about the somewhat new file-based cron-like thing? 04:57:30 you are aware that humans suck at indexing their own information? thats why professional indexers have jobs. 04:57:36 eli: Yes I do? What about cron? 04:57:49 elf: really, can you hire me?? :3 04:58:08 i cant hire anyone, im unemployed. 04:58:11 synx: Not cron -- I don't remember the name, but there's some way that you can specify that when some file/dir changes, something will get to run. 04:58:20 Pay me in Bison dollars 04:58:26 mmmm Bison 04:58:27 id need to see a sample of your work. 04:58:46 eli: There's an inotify interface. I've used it before... 04:58:59 synx: Yes, that. 04:59:05 Was going to use it again actually, to detect when new images are added, and get the thumbnails for them. 04:59:29 synx: You can use that -- use a specific `tags' directory that you'll save images to from FF, 04:59:48 inotify doesnt work so hot (by my understanding, which is probably out of date) 05:00:00 Then it what, pops up a window asking for tags for the file? 05:00:08 and it only worked with certain fs types. 05:00:21 synx: then use inotify so whenever there's an image there it pops up a dialog and ask you for the tags -- then it does the tagging puts the image into a db and deletes the file. 05:00:38 you dont want it to delete the file. 05:00:52 if you do, you'll muck about with your back/forward functionality. 05:01:02 elf: works fine on xfs 05:01:07 (Even without inotify you can just write something that monitors the directory, should be cheap enough to run in the bg without taking up much resources.) 05:01:12 eli: Guess I could do that. Not really much different than copy and paste, but you don't have to paste the filename that way... 05:01:14 synx: thats new, then. like i said, i'm out of date. 05:01:36 synx: I don't see how copy & paste are in this picture. 05:01:37 still dont understand how youre expecting to get useful information from someone elses image tags. 05:02:36 You'd be amazed elf there are a lot of people interested in tagging lately. There is the potential for abuse, but largely it seems to be productive. 05:02:53 im not saying people arent interested in it. 05:03:02 im saying they dont know how to do it in a way that is generally useful. 05:03:31 Well, I tend to go towards tags that are English words. That's a good common ground. 05:03:42 *elf* sighs. 05:03:52 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Read error: 113 (No route to host)] 05:03:59 Though I try to use foreign language tags if the image was itself created by a speaker of it. 05:04:08 *elf* whacks synx over the head with the stock odessa telephone directory. 05:04:25 *synx* covers head! 05:04:28 how do any of these tags help you find the appropriate image later? 05:04:34 does your telephone book have yellow pages! x3 05:05:13 and if they dont help you find the appropriate image, whats the point of tagging them and storing em in a db in the first place? 05:05:14 They help me find the appropriate image in sort of a mnemonic style of recall. I'll remember it had something to do with lions and search for lion, and I don't have many lions so it comes up pretty quickly. 05:05:33 right, and what if its tagged 'africa' or 'safari' or 'trip 1996' 05:05:50 which is more likely if someone is tagging, say, their photo collection from their vacation. 05:05:58 they dont label the images according to the images. 05:06:18 they label the images according to chronological group. 05:07:09 if the person taking the picture was a grasslands ecologist, it might be tagged with the type of grass the lion was sitting in. 05:07:22 this is my point: you can tag the image appropriately for how you're likely to remember it. 05:07:22 *mejja* s/lion/redhead/ 05:07:42 They do help me find it though. 05:07:43 They don't have any particular computational meaning. In a way they help my thoughts more than the image's organization. 05:07:44 it is very difficult for humans to determine what anyone ELSE will index by. 05:08:16 how do they help your thoughts if youre relying on what someone else thought was important about the picture? 05:08:31 mejja: rawr. 05:08:51 if youre just grabbing the metainfo for the tags, youre relying on someone else's idea of whats important about hte picture, which will generally not be what you think is important about the picture. 05:11:01 Yes if I'm just doing that. Hopefully I put tags on it too though. 05:11:10 I might find it later when looking under africa too. 05:13:04 have you ever used a book index? 05:13:25 and sat there for two hours trying to think of all the headings it could be under, since none of the ones you thought of were correct? 05:13:47 Yeah, but it's better than having no index at all. 05:13:54 debatable. 05:14:02 I've had good luck with a card catalog before. 05:14:13 if you have to page through most of the book to find the data, the index isnt useful. 05:14:19 card catalog is VERY different. 05:14:33 this is the difference between professional taxonomists and indexers vs someone trying to do it on their own. 05:14:34 Oh the index OF a book, sorry. 05:14:46 -!- weinholt [n=weinholt@debian/emeritus/weinholt] has quit [Read error: 110 (Connection timed out)] 05:14:49 most book indexes are done by professionals. its usually pretty obvious when theyre not. 05:15:09 ttmrichter [n=ttmricht@59.172.141.201] has joined #scheme 05:15:12 I have a great gardening book that indexes the plant names both by scientific and common name. That's really useful. 05:15:23 aye, that makes sense. 05:15:30 Though it can't beat a dichotomous key. dang those are hard to find... 05:16:16 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 05:16:24 again, professional taxonomists. 05:17:24 how many people hire professional photo indexers to go over their 3000 uploaded snaps? 05:17:34 taxonomy isn't so exact a science anyway. I find folksonomies relatively useful, though not 100%. 05:17:46 irrelevant in this case. 05:17:49 People get hired for that? oO 05:18:07 yes, people get hired to generate and write indexes. its bloody difficult. 05:18:14 for images, its even harder. 05:18:50 Well, if I do a search for "ferrets" you're right I won't catch "family photo 1017A", but I sure will catch a whole lot of ferrets. 05:18:51 putting it slightly differently, if humans knew how to index their own data appropriately, you wouldnt need google to find shtuff. 05:19:16 nor would you get bogus results (regarding what you meant) so often. 05:19:36 weinholt [n=weinholt@debian/emeritus/weinholt] has joined #scheme 05:19:40 sure, but if its your pet ferret named 'george', are you going to tag it 'ferret', 'pet', or 'george' ? 05:19:43 eh, yeah bogus results... but that's largely from the nature of web crawling. 05:19:52 yes, all of those. 05:19:56 unlkely. 05:20:10 its one of 30 snaps from your birthday party, where he got in the cake. 05:20:21 youll tag it 'birthday' 'george' 'cake' 05:20:29 And 'lie' 05:20:30 (if youll even have that many tags' 05:21:01 Well let's consider the alternate scenario. 05:21:27 I have a directory called "photos" and a photo named "P1010A7.jpg" 05:21:52 So I could save it there, or I could make a subdirectory about the birthday party. 05:21:55 Or about ferrets, or cake, or George specifically. 05:22:28 It takes time and effort to decide that, so after a few subdirectories I'll probably just save it. 05:22:41 (my gf is ranting at me about this conversation, now. (shes studying library science.) her response: people always tag their pictures with whatever their strongest and most meaningful association is with the thing AT THE TIME theyre tagging it. this means that tagging is entirely useless, even to them, at later times. its a fleeting phenomenon that is being hideously misused, as people dont seem to understand what tags are evne for.') 05:23:04 It takes a lot less time and effort when you don't have to decide what the hierarchy of it is though. 05:23:46 -!- SugarGlider [n=stevie@dyn-203-143-164-139.qrl.nicta.com.au] has left #scheme 05:24:19 or you could just, you know, name the pic something appropriate and stick it in a directory from the time of when you got it.) 05:24:29 er, with the time of when you got it. 05:24:31 There are a lot of images (and books) that will always be mistagged, and even lost forever. I'll still retain a great majority of it that would have otherwise become inaccessible. 05:24:48 as youre more likely to remember when you got it in relation to other things than you are to remember your nonsystematic random association. 05:25:03 books arent tagged (or shouldnt be) 05:25:19 Yeah I started naming things like "ferret_george_cake_lie_2007_photos.jpg" at some point. Just seemed kind of silly not to implement tags at that point. 05:25:25 *elf* laughs. 05:25:37 books are tagged. That's what the categories are in a card catalog. They're even sorted by tag! 05:25:50 she actually just ranted this at me. 05:26:04 You go to the History section and you won't find cook books... usually. :> 05:26:14 she said 'people always either name the files things like 000000AAAAAA so its at the front, or they label them like theyre tagg sets' 05:26:26 catalogs are not tags! 05:26:45 well-defined multiple-path taxonomies != tags 05:26:50 quite the opposite, actually. 05:27:02 No they're just one kind of tag. 05:27:03 -!- meanburrito920_ [n=John@adsl-75-59-214-217.dsl.lsan03.sbcglobal.net] has quit ["has been attacked by a grue"] 05:27:10 no, theyre not tags at all. 05:27:49 tags are a purely personal, nonstandard, freeflowing, nonbranching structure. 05:27:56 I think if someone devotes themselves to tagging, or otherwise indexing by subject or keyword, stuff like books, it'll be a lot more convenient for others than if someone else just did it casually. 05:28:17 Wait, so your problem is the lack of hierarchy? 05:28:24 there is no restriction on their inclusion or use, nor any form of defined semantics. 05:28:29 'blue' does not mean 'blue' 05:28:56 I think hierarchy doesn't matter all that much. It's the care that people put into deciding the tags that determines the success of any tagging system. 05:29:19 the care they put into it is totally irrelevant. 05:29:25 to anyone except themselves, generally. 05:29:27 Though admittedly some things do fit in a very well defined hierarchy. I've been trying to figure out how to handle that for a while... 05:29:51 only if they don't care enough to learn what other people are going to look for in the card catalog. 05:29:54 (if they spent a lot of time on it, its more likely theyll find some form of taxonomy that works for them, which makes their tagging system useful to themselves.) 05:30:22 the LoC and Dewey taxonomies have well-defined semantics. 05:30:35 ugh, semantics... 05:30:48 something cannot simultaneously be at 100.3 and 735.6 in the Dewey system. 05:31:23 All semantics have taught me is the inability to ascribe meaning to anything, ultimately. 05:31:45 MichaelRaskin_ [n=raskin@213.171.48.239] has joined #scheme 05:31:48 the means of sorting a book into its appropriate classification(s) are well defined. 05:31:54 it is (or should be) unambiguous. 05:32:01 if you know how to use the system. 05:32:06 this is not true for tagging, period. 05:32:32 there are no standard systems for what any given tag or tagset means. 05:32:46 It's not entirely unambiguous, but it is pretty well thought out. 05:32:46 gf says: the standard system for tagging is human randomness. tags are the bane of my existence. 05:32:55 its not thought out at all, in the general sense. 05:33:04 So the Dewey system isn't a standard for tagging stuff? 05:33:29 its a standard for classifying (binsorting) a book based on its primary subject matter. 05:33:53 (LoC system is the current one in use, not Dewey, but Dewey is easier to explain.) 05:34:55 its original value is that it was a STANDARD way of classifying material. 05:35:07 that was general enough to cover the subjects at the time. 05:35:17 It's trivially easy to point out say, a book on the religious connotations of Baseball would be hard to classify by the Dewey standard. People actually avoid mixed topics like that though, so it ends up working out... or maybe it influences what people write? 05:35:24 (which is the other reason its been supplanted now) 05:35:37 no, thats one of the advantages of the LoC system. 05:35:50 is that it can have multiple nonoverlapping bins. 05:36:34 loc sorts into primary headings, secondary headings, tertiary headings, etc. 05:36:42 you mean books can have multiple numbers? 05:36:46 all of these have well-defined meanings. 05:36:54 yes, they can have multiple non-overlapping 'numbers' 05:38:04 how this actually works out is more complicated, and i dont have nearly as good of an understanding of it as i do of dewey. 05:38:14 (the gf already left the room in disgust, so im on my own here.) 05:38:48 Like a book on the navy's effort in oil prospecting in offshore ocean beds would be in V, T, Q... um... something like that? 05:38:49 QE is geology... 05:38:53 pick up any random book of yours, go to the copyright page, and look at the loc cataloging data.) 05:39:10 it has multiple headings, yse. 05:39:16 Well that's fascinating actually. So a book can have multiple tags, but the tags themselves are arranged into a hierarchy. 05:39:17 i dont know the headers offhand. 05:39:20 theyre not tags. 05:39:40 tags do not have a hierarchy nor is the set of tags fully enumerable. 05:39:41 They're words designed to classify things. :p 05:39:58 (hierarchy isnt the right word either, taxonomy is correct) 05:40:10 But a subset of tags could be given a hierarchy, and be fully enumerable. 05:40:45 taxonomy could be any sort of ordering. A hierarchy is specifically the kind with sub-categories. 05:40:54 if theyre given a taxonomy, and an algorithm by which they can be sorted into the taxonomy... 05:40:57 then they are no longer tags :) 05:41:18 its a classification system, not necesarily a leveled system. 05:41:35 My claim is that this taxonomy is a subset of tagging in general. I think you agree with me though? 05:41:42 no, i do not agree. 05:42:21 Your claim is that specifying a subset of tags that fit within well established standards is more useful than general unrestricted words. And I agree with that. 05:42:48 because if the tags are assigned a fixed meaning, belonging to a completely enumerable set, with an algorithm for sorting... 05:42:51 they are no longer tags. 05:43:01 How much more useful we might not agree on. I don't think unstructured tags have 0 utility. 05:43:08 im saying that if its standardised its no longer tags. 05:43:21 I don't define a tag as necessarily meaningless. 05:43:58 You're just using a different definition, and claiming I'm wrong. But the truth is we agree, just can't agree on definitions. 05:44:13 foof [n=user@isa7-dhcp-116-220.naist.jp] has joined #scheme 05:44:14 http://en.wikipedia.org/wiki/Tag_(metadata) 05:44:19 as much as i hate to use wikipedia 05:45:02 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 05:45:11 huh you know... I haven't read that article before. 05:45:25 *synx* isn't real cuddly with wikipedia either. 05:47:00 raikov [n=igr@203.181.243.11] has joined #scheme 05:47:18 http://tagamac.com/tags/definition/ 05:47:37 It does specify non-hierarchical though. and that typically there is no semantic definition of anything. 05:47:44 yeah. 05:48:38 every time ive heard 'tag' defined the concept of no standardised semantics was key. 05:49:40 (this may be why the gf hates tags so much, honestly. if theres a standard def, shes likely to know it, that sort of misclassification is nightmarish.) 05:50:27 I kind of came at tagging from the "semantic web" angle. They're easier to implement than that 3-tuple weirdness that's hard to think about. 05:50:52 i dont know the semantic web shtuff. 05:50:59 so i cant say anything about it :) 05:51:26 aardvarq [i=tgAardva@student3113.student.nau.edu] has joined #scheme 05:51:29 if theyre based on everyone implicitly understanding what everyone else means, though... 05:51:38 i rather doubt that its going to get anywhere :) 05:52:31 It's kind of neat. You can define language in terms of other language. The idea is to have it so a computer can follow along this network of connections and find stuff we recognize as meaningful. 05:52:46 what does 'meaningful' mean? 05:53:01 relevant? interesting? sequential? 05:53:07 see that's where I start getting confused... 05:53:30 so a system with no semantics is defining itself without definitions... 05:53:37 I think something becomes meaningful when it has an effect on yourself. That's maybe too personal a definition though... 05:53:53 how exactly is 'effect' determined? 05:54:11 what if the effect is that i dont notice it cause i was looking for something else ? 05:54:13 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:54:39 I mean like when a word or phrase relates to something you've seen, or something you want, or something you're afraid of. 05:54:42 i'm flipping through a book. i turn to the wrong page. that page has an effect on me (i have to look at it to determine if its the right page) but has no 'meaning' outside the context. 05:54:49 But not exactly that, just that sort of thing. 05:54:56 that effect has no temporal duration. 05:55:04 how is 'relation' determined here? 05:55:08 The page has a very small effect on you I'd say. ¬.¬ 05:55:16 it had a large effect on me at the time. 05:55:32 im desperately searching trhough the phone book to find the poison control center number. 05:55:42 relations are just connections. They're defined in your head. The word blue and the color blue, that's one relation. 05:55:43 the wrong page is going to elicit one hell of a response. 05:56:08 so somehow humans can communicate the set of relations and connections in their heads to a computer? 05:56:17 Oh, I didn't know you had those kind of magazines. :3 05:57:00 Humans can communicate the relations, yes, though I'm not sure how they do it exactly. 05:57:27 Oh poison control, bleh sorry. Slow to the draw. 05:57:35 so humans have advanced to the point where not only can they absolutely explicitly determine the set of connections in their own thinking... but they can also transfer this graph into a computer? 05:57:42 -!- aspect [n=aspect@abstracted-spleen.org] has left #scheme 05:58:02 and yet they still need the computer to keep track of their connections for them? 05:58:17 Not absolutely or explicitly. I'm sure it helps if they make a career out of it though. 05:58:34 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 05:58:51 I would say they can do it imperfectly, but not insufficiently. 05:59:15 How do you write down any thoughts? You just write them down. It's nothing special. 05:59:35 depends on what language(s) (if any) you have the thought in. 06:00:16 And yeah, foreign language tags are kind of tricky... 06:00:19 generally speaking, the best you can do is a nonambiguous mnemonic with temporal lossiness. 06:00:38 meaning you can write a note to remind yourself of blah, which will restore you to said point in a thought stream, with some loss. 06:00:49 the loss magnifies over time, until the mnemonic itself because useless. 06:01:09 You must lose your train of thought a lot more thoroughly than I do. 06:01:28 try to remember the first line in our conversation without scrolling back. 06:01:48 I've never had the experience, for instance, when I was talking about ferrets and accidentally forgot that they weren't called "lions" 06:01:59 different process. 06:02:09 im referring to how you write down thoughts. 06:02:23 you can only write down thoughts through lossy mnemonics. 06:02:28 No, you're claiming that that is lost over time. 06:02:34 yes. 06:02:48 im claiming that writing down thoughts is lossy. 06:03:04 Or if you're not, then you're arguing a straw man, because my argument is that in the future I will remember to use the right tag that I chose in the past. 06:03:14 and that the loss magnifies over time, until it becomes impossible to restore to that particular point in the thought stream. 06:03:23 Yeah it's lossy I guess. 06:03:51 if we're talking about ferrets, and we talk about the ferret clothing store in the uk... 06:03:59 Tags help prevent that loss though, by storing some of the connections that would otherwise degrade in your brain. 06:04:15 and you want to remember it, youd write down ferret clothing, or maybe the address of the store, or maybe both. 06:04:45 if oyu look at the note three years later, even if you remember that the ferret clothing store existed, its incredibly unlikely that youll remember why it was brought up. 06:05:00 tags do NOT prevent loss. 06:05:30 Not 100% no. 06:05:33 since they do not have a fixed semantics, they are very lossy mnemonics. 06:05:40 Nothing prevents loss. :p 06:06:01 (my gf claims that tagging actually encourages/increases lossiness, due to human laziness.) 06:06:22 (essentially the 'i put it there where ill remember it' so they forget it immediately.) 06:06:49 (shes ranting at me again. i think she wants me to get away from the computer before she goes nuts. back in a bit.) 06:07:23 many tagging communities I've been on people will actually attempt to use the same tags and form a standard, so that their pictures, or posts, get more attention. It's neat to watch how people develop sort of a mini-language that way. 06:07:52 (the advnatage of a taxonomic system is that its repeatable in all cases.) 06:08:18 the classification rules do not change. 06:08:39 they are not based on the state of anything but the object being classified. 06:09:44 speaking of language, it's been known that the one we converse in tend to prioritise subsets of distinctions over other conceptual desiderata 06:09:55 so that makes sense 06:10:29 well said. 06:10:55 (the gf says: you just said exactly what ive been trying to say about what people do when they tag things.) 06:11:24 oke, i really am going from the keyboard. she just threatened to tag me. 06:11:26 haha 06:11:27 back in a bit. 06:11:36 The word cat on the construction forum has a much different meaning than on the pet lovers forum. 06:12:15 so a search for 'cat' , based on tags, (assuming both fora have the same number of pages) ... 06:12:44 will return 1/2 of the results at least vaguely related, and 1/2 entirely meaningless. 06:15:03 whereas appending an LoC (or Dewey, or whatever standard you want to use) classification to each page would return close to perfect results. 06:15:30 oke, off now for real. shes putting stickers on me with random nonsense words as a demonstration of tags.) 06:18:48 (one more thing. tell me the id3 genre for any given cd?) 06:19:49 (heres a standard system, with fully enumerated categories with standard semantics that fails from overlap and lack of algorithm.) 06:21:01 hadronzoo [n=user@ppp-70-247-175-122.dsl.rcsntx.swbell.net] has joined #scheme 06:38:51 (heh, something good may come out of this conversation. gf got sufficiently incensed that we're going to try to work out a human algorithm for classification of images.) 06:41:50 If you took the time to classify the page via those systems then sure, you would get good results. 06:41:55 Though frankly they're pretty hard to use when you don't already know what you're looking for. 06:43:53 its not terribly difficult to learn the systems. 06:44:12 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 06:45:16 (they dont entirely map to things like web pages, as theyre intended for larger bundles of related information, whereas many/most web pages are at best a specific chapter or subchapter from one of those bundles.) 06:45:47 (but it would be at least the right direction, and shouldnt be too difficult to augment with further specialisation.) 06:46:15 -!- certainty|work [n=david@alpha.d-coded.de] has quit [Read error: 54 (Connection reset by peer)] 06:48:42 ecraven [n=nex@140.78.42.103] has joined #scheme 06:52:57 (heh, shes now sending me flicker links demonstrating the problems of tagging. great.) 06:56:45 i can paste them to anyone interested with her comments. 07:03:36 certainty|work [n=david@alpha.d-coded.de] has joined #scheme 07:03:44 underspecified [n=eric@isa7-dhcp-116-217.naist.jp] has joined #scheme 07:11:23 underspecified_ [n=eric-n@leopard175.naist.jp] has joined #scheme 07:11:56 -!- underspecified [n=eric@isa7-dhcp-116-217.naist.jp] has quit [] 07:21:28 ASau` [n=user@host196-230-msk.microtest.ru] has joined #scheme 07:27:35 grrr, can't sleep tonight 07:28:18 I'm interested, but have to go offline for a little. 07:28:36 enjoy thy offlining. 07:29:17 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 07:31:52 -!- synthase [n=synthase@68.63.48.10] has quit [Read error: 110 (Connection timed out)] 07:32:19 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 07:39:06 geckosenator [n=sean@71.237.94.78] has joined #scheme 07:43:31 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 07:50:09 -!- geckosen1tor [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 07:50:40 sth0R [n=sth0R@123.146.70.199] has joined #scheme 07:58:22 -!- jso [n=user@151.159.200.8] has quit [Read error: 104 (Connection reset by peer)] 08:00:16 geckosen1tor [n=sean@71.237.94.78] has joined #scheme 08:00:21 -!- tripwyre_ [n=sathya@117.193.162.234] has quit ["bye all"] 08:10:01 CaptainMorgan [n=CaptainM@c-75-68-42-94.hsd1.nh.comcast.net] has joined #scheme 08:13:17 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 08:16:18 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 08:17:39 -!- geckosen1tor [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 08:30:28 ejs [n=eugen@77.222.151.102] has joined #scheme 08:40:18 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 08:45:50 davidad [n=me@18.111.16.64] has joined #scheme 08:48:56 -!- ejs [n=eugen@77.222.151.102] has quit [Read error: 110 (Connection timed out)] 09:26:02 Mr-Cat [n=Miranda@hermes.lanit.ru] has joined #scheme 09:27:00 amca [n=amca@CPE-121-208-82-6.qld.bigpond.net.au] has joined #scheme 09:27:13 alaricsp [n=alaricsp@88-202-213-18.rdns.as8401.net] has joined #scheme 09:27:54 -!- sth0R [n=sth0R@123.146.70.199] has quit [""] 09:46:59 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 09:49:31 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:51:37 -!- foof [n=user@isa7-dhcp-116-220.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 09:54:33 -!- hadronzoo [n=user@ppp-70-247-175-122.dsl.rcsntx.swbell.net] has left #scheme 09:55:03 Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has joined #scheme 10:15:01 -!- breily [n=breily@173.15.192.254] has quit [Read error: 104 (Connection reset by peer)] 10:15:43 breily [n=breily@173.15.192.254] has joined #scheme 10:15:47 -!- breily [n=breily@173.15.192.254] has quit [Read error: 104 (Connection reset by peer)] 10:16:31 breily [n=breily@173.15.192.254] has joined #scheme 10:16:43 -!- breily [n=breily@173.15.192.254] has quit [Read error: 104 (Connection reset by peer)] 10:17:27 breily [n=breily@173.15.192.254] has joined #scheme 10:20:33 -!- arphid [n=matt@69.162.118.230] has quit ["leaving"] 10:25:43 hkBst: Thanks. 10:26:32 eli: :) 10:29:09 -!- pfo [n=pfo@chello084114049188.14.vie.surfer.at] has quit [Read error: 104 (Connection reset by peer)] 10:44:17 -!- Arelius [n=Indy@netblock-68-183-230-134.dslextreme.com] has quit [] 10:55:00 -!- breily [n=breily@173.15.192.254] has quit [Read error: 104 (Connection reset by peer)] 10:55:43 breily [n=breily@173.15.192.254] has joined #scheme 11:01:17 vixey [n=yoo@amcant.demon.co.uk] has joined #scheme 11:17:56 orgy` [n=ratm_@pD9FFE8E0.dip.t-dialin.net] has joined #scheme 11:18:44 foof [n=user@163.221.157.46] has joined #scheme 11:21:29 choas [n=lars@p5B0DD257.dip.t-dialin.net] has joined #scheme 11:24:09 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 11:24:16 elias` [n=me@resnet-nat-092.ucs.ed.ac.uk] has joined #scheme 11:25:24 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 11:32:13 -!- elmex [i=elmex@ist.m8geil.de] has quit [Remote closed the connection] 11:32:39 elmex [i=elmex@ist.m8geil.de] has joined #scheme 11:34:06 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 11:38:30 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit [Read error: 104 (Connection reset by peer)] 11:41:22 -!- davidad [n=me@18.111.16.64] has quit [Read error: 110 (Connection timed out)] 11:44:17 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 11:44:59 davidad [n=me@dhcp-18-190-29-34.dyn.mit.edu] has joined #scheme 11:49:21 hotblack23 [n=jh@p5B056A71.dip.t-dialin.net] has joined #scheme 11:53:20 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 104 (Connection reset by peer)] 12:01:03 Mr-Cat [n=Miranda@hermes.lanit.ru] has joined #scheme 12:03:29 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 12:05:31 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 12:10:56 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 12:15:50 -!- vixey [n=yoo@amcant.demon.co.uk] has quit ["Quitting!"] 12:23:50 mike [n=m@dslb-088-066-247-252.pools.arcor-ip.net] has joined #scheme 12:24:19 -!- mike is now known as Guest11059 12:30:07 -!- davidad [n=me@dhcp-18-190-29-34.dyn.mit.edu] has quit [Read error: 60 (Operation timed out)] 12:33:33 wingo-tp [n=wingo@dhcp-18-190-26-53.dyn.mit.edu] has joined #scheme 12:41:30 davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has joined #scheme 12:42:02 r5rs / 12:42:02 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_284 12:42:04 -rudybot:#scheme- http://tinyurl.com/8ydjkj 12:44:38 rudybot: eval (inexact->exact (/ 3 5)) 12:44:39 hkBst: your sandbox is ready 12:44:39 hkBst: ; Value: 3/5 12:44:47 rudybot: eval (exact->inexact (/ 3 5)) 12:44:48 hkBst: ; Value: 0.6 12:45:47 rudybot: eval #i(3/5) 12:45:49 elf: your sandbox is ready 12:45:49 elf: error: eval:1:0: read-number: no digits 12:45:58 rudybot: eval #i3/5 12:45:59 elf: ; Value: 0.6 12:46:38 is that the best way to do inexact division? 12:46:55 rudybot: eval (exact->inexact (/ .3 5)) 12:46:56 hkBst: ; Value: 0.06 12:46:59 huh? 12:47:03 rudybot: eval (/ .3 5) 12:47:03 hkBst: ; Value: 0.06 12:47:11 what are you trying to do, hkbst? 12:47:18 why does it need to be inexact explicitly? 12:47:39 elf: because I need to output some number to a plotting program 12:47:48 rudybot: eval (inexact? (/ 3 5)) 12:47:49 elf: ; Value: #f 12:47:59 why does its exactness matter ? 12:48:14 if its being output to a plotting program as a decimal? 12:48:19 elf: because the plotter doesn't understand exact fractions 12:49:08 rudybot: eval (display (exact->inexact (/ 3 5))) 12:49:09 elf: ; stdout: "0.6" 12:49:22 rudybot: eval (display (/ 3 5)) 12:49:23 elf: ; stdout: "3/5" 12:49:37 ah, so this implementation displays fractions. 12:50:06 ok, so the exactness is immaterial, but I need to get rid of fractions 12:50:20 the output here is implementaiton-specific. 12:52:52 rudybot: eval (display (/ 3. 5)) 12:52:53 *offby1: ; stdout: "0.6" 12:53:28 rudybot: eval (display (exact->inexact (/ 3 5))) 12:53:29 *offby1: ; stdout: "0.6" 12:53:55 -!- flazz [n=franco@qubes.org] has quit ["leaving"] 12:57:01 flazz [n=franco@qubes.org] has joined #scheme 12:57:42 -!- Guest11059 [n=m@dslb-088-066-247-252.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 13:02:13 hkBst: Afaik, the most reliable way is to enforce inexactness with exact->inexact for all output values, that appear to be exact 13:02:39 its not the inexactness he needs, just a decimal representation. 13:04:12 what Mr-Cat said 13:04:22 the issue here is a) whether the implementation supports rationals in the numeric tower, b) whether the rationals are displayed as decimals or as quotients 13:04:35 in the output. 13:05:30 elf: So, the best way to get rid of rationals is to enforce inexactness, afaik 13:06:26 elf: Does he want a decimal representation? Or does he pass the numbers to the plotter via ffi? 13:07:27 he wants a decimal format external representation. 13:07:34 'output some number to a plotting program' 13:08:59 Then, a good formatting function could help. But I don't know, how to format numbers precisely in scheme 13:09:05 Mr-Cat: I output them to a file as text and let the plotter plot that file 13:09:52 Mr-Cat: I think foof has some format routines 13:10:20 Maybe this library can help: http://synthcode.com/scheme/fmt/? 13:10:36 http://planet.plt-scheme.org/display.ss?package=fmt.plt&owner=ashinn 13:10:37 heh 13:10:39 Mr-Cat: jinx 13:10:41 same code, I think 13:10:43 And in particularL http://synthcode.com/scheme/fmt/#SECTION_5.2 13:12:14 hkbst: do you have a desired number of decimal places ? 13:13:06 no, there aren't any other requirements 13:17:47 well, how many places do you want? 13:18:30 *offby1* wants a summer place in Maine 13:18:44 -!- bzzbzz [n=franco@207.236.146.245] has quit ["leaving"] 13:24:05 elf: not too few 13:25:53 ejs2 [n=eugen@nat.ironport.com] has joined #scheme 13:28:40 npe [n=npe@pw126246102135.6.tik.panda-world.ne.jp] has joined #scheme 13:29:31 higepon587 [n=taro@FL1-122-135-165-8.tky.mesh.ad.jp] has joined #scheme 13:30:32 bzzbzz [n=franco@207.236.146.245] has joined #scheme 13:31:11 npe_ [i=npe@dn157-088.naist.jp] has joined #scheme 13:33:08 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:33:51 -!- amca [n=amca@CPE-121-208-82-6.qld.bigpond.net.au] has quit ["Farewell"] 13:34:15 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 13:34:40 lisppaste:bot? 13:35:17 lisppaste: url? 13:35:17 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 13:35:24 -!- npe [n=npe@pw126246102135.6.tik.panda-world.ne.jp] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info/"] 13:35:30 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 13:35:51 -!- npe_ is now known as npe 13:37:10 elf pasted "untitled" at http://paste.lisp.org/display/77578 13:37:18 totally unoptimised. 13:38:16 bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has joined #scheme 13:41:41 -!- davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has quit [Connection timed out] 13:42:13 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:42:39 (doing exact->inexact is probably the least code and fastest method, but youre being weird with the meaning of inexact. 13:43:29 mike [n=m@dslb-088-067-025-118.pools.arcor-ip.net] has joined #scheme 13:43:57 -!- mike is now known as Guest57356 13:44:09 rudybot: eval (exact? 3.5) 13:44:10 elf: ; Value: #f 13:44:22 oke, so this implementation doesnt support exact decimals. 13:44:26 -!- alaricsp [n=alaricsp@88-202-213-18.rdns.as8401.net] has quit [] 13:45:02 rudybot: eval (exact? (truncate 3.5)) 13:45:03 elf: ; Value: #f 13:45:26 -!- Khisanth [n=Khisanth@pool-68-237-103-91.ny325.east.verizon.net] has quit [Read error: 60 (Operation timed out)] 13:45:29 I have code for formatting a rational number as a decimal with arbitrary precision. if someone wants that, I can grab it from my laptop... 13:45:42 i just gave said code :) 13:45:54 apgwoz [n=apgwoz@som-somis-50.med.upenn.edu] has joined #scheme 13:46:12 a crappy unoptimised one-place-at-a-time ver, but one nonetheless. 13:47:54 this implementation violates r5rs, too. 13:48:29 'A number is exact if it was written as an exact constant or was derived from exact numbers using only inexact operations. 13:48:42 er, only exact operations, even. 13:49:31 elf: I have found there is not a single implementation of R5RS. 13:50:00 m? 13:50:09 hows that, then? 13:50:14 they all deviate from the spec in some ways 13:50:20 theres no requirement to support the entire numeric tower. 13:51:38 but the rules for determining exactness are given... 13:51:50 and arent in reference to any particular type. 13:52:30 alaricsp [n=alaricsp@88-202-213-18.rdns.as8401.net] has joined #scheme 13:52:58 ah, no. 13:52:59 its valid. 13:53:05 wait, no its not. 13:53:07 glerg. 13:53:13 make up your mind, man: stop dithering 13:53:14 its valid if derived from (/ 3 5) 13:53:22 but not valid if given as a literal constant. 13:54:15 ah, no, im wrong. last line of implementation restrictions. 13:54:31 0_o 13:55:02 'if an implementation encounters an exact numerical constant that it cannot represent as an exact number, then it may either report a violation of an implementation restriction or may silently represent the constant by an inexact number. 13:55:22 so its shitty by valid :) 13:55:49 but even 13:55:55 #e 13:56:15 rudybot: eval (if #t #t) 13:56:16 hkBst: error: eval:1:0: if: bad syntax (must have an "else" expression) in: (if #t #t) 13:56:24 rudybot: eval (if #t #t #f) 13:56:25 *offby1: ; Value: #t 13:56:31 how about that? is it allowed too ^^ 13:56:32 hm, not much fun. 13:56:34 no, its that the implementation is keeping division as an exact rational on output. 13:56:41 There's a way to get an undefined value but I forget what itis. 13:57:01 -!- Guest57356 [n=m@dslb-088-067-025-118.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 13:57:09 rudybot: eval (letrec ((a b) (b a)) a) 13:57:09 *offby1: ; Value: # 13:57:20 hkbst: since its using such weird semantics, is there any mechanism for controlling the behaviour of hte printer? 13:57:36 or for that matter: (letrec ((a a) ) a) 13:57:36 some flag to set to disable printing rationals, for example? 13:58:28 (What implementaion are you using?) 13:59:16 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 13:59:48 elf: I'm currently using gambit, but this particular program shouldn't require a fast implementation so I can use pretty much what I want. 14:00:21 Khisanth [n=Khisanth@pool-68-237-103-91.ny325.east.verizon.net] has joined #scheme 14:00:54 rudybot isnt in gambit, yes? 14:01:04 rotty annotated #77578 "number->string/prec" at http://paste.lisp.org/display/77578#1 14:01:08 rudybot is mzscheme 14:01:25 so why are we using rudybot to figure out gambit's representations? 14:01:47 hark [n=strider@hark.slew.org] has joined #scheme 14:02:44 rudybot: eval (banner) 14:02:44 *offby1: ; Value: "Welcome to MzScheme v4.1.5.2 [3m], Copyright (c) 2004-2009 PLT Scheme Inc.\n" 14:03:19 hkbst: what happens if you use fl/ instead of / ? 14:03:24 does .2 mean it's a debian package? 14:03:51 hkBst: probably not, Debian uses a dash as separator 14:03:53 elf: that produces an error 14:04:30 elf: anyway, I think I have it covered for now. 14:06:16 offby1: are you using an svn version for rudybot? 14:06:16 -!- notByan [n=notByan@logo.csl.mtu.edu] has quit [Read error: 104 (Connection reset by peer)] 14:09:05 hkBst: y'know, I can't remember! 14:09:08 lemme check 14:10:02 hkBst: yeah, trunk r14188 14:10:51 annodomini [n=lambda@130.189.179.215] has joined #scheme 14:21:38 jewel [n=jewel@41.242.133.68] has joined #scheme 14:22:20 luz [n=davids@139.82.89.70] has joined #scheme 14:23:30 My Mosh Scheme passed all tests in R6RS test suite. Yay! 14:25:41 even number->string with 3 arguments? 14:25:46 *elf* ducks. 14:26:03 (grats, though. :) ) 14:26:28 thx! 14:26:43 url for mosh? 14:28:13 http://code.google.com/p/mosh-scheme/ I will release the next version soon. 14:30:29 written in c++ using llvm? 14:31:04 C++ => Yes, llvm => No 14:31:05 higepon587: does mosh have an FFI? 14:31:47 -!- aquanaut [n=user@pool-71-191-244-210.washdc.fios.verizon.net] has quit [Remote closed the connection] 14:32:00 Yeah. Mosh(svn trunk) has FFI for Linux & Mac OSX. 14:32:21 nice :-) 14:32:38 document => http://mosh.monaos.org/files/lib/mosh/ffi-ss.html 14:32:55 I'll probably try my hand porting sbank to it at some point, then :-) 14:33:58 sbank? 14:34:03 higepon587: mosh doesn't have a dynamic version of c-function (i.e. a non-macro)? 14:34:17 elf: http://live.gnome.org/sbank 14:34:34 higepon587: also -- no callbacks yet? 14:34:40 Great > sbank 14:34:57 *elf* twitches. 14:35:11 i didnt know guile-gtk was still around. 14:35:31 higepon587: see http://code.google.com/p/ypsilon/issues/detail?id=76 for a rationale for a more "dynamic" FFI 14:35:32 i remember when it stopped being guile-gtk and started being guile-gnome with guile-gobject and all that kind of nonsense. 14:35:46 elf: why nonsense? 14:35:54 You're smart! Yes we have make-c-function procedure also. (undocumented) 14:36:04 which made me sad, cause i dont use gnome, and it was rewritten to be so tightly interdepedent that i couldnt just extract the gtk bits. 14:36:04 :-) 14:36:18 elf: that's wrong 14:36:45 you can download guile-gnome-platform, and just build the stack up to and including GTK+ 14:36:59 elf: you are aware that GTK+ depends on GObject, right? 14:37:11 it didnt during the 1.2 series. 14:37:49 only at the tail end of 1.3 and the beginning of 2.0 14:38:21 was there the dependency on gobject 14:39:15 1.2 series? I can't even find tarballs of that -- I can't remember when guile-gnome ever hard-depended upon the GNOME stack above GTK+ 14:39:33 want a copy of a modified tarball of it? 14:39:37 it wasnt called guile-gnome then. 14:39:37 ah, you're talking about GTK+ itself 14:39:41 it was called guile-gtk 14:39:47 no, im talking about guile-gtk. 14:40:21 yeah, guile-gnome is a rather independent project; and has only ever targeted GTK+ 2.0 and above 14:40:39 -!- arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 14:40:43 in its first version, it still had quasi-1.2 support. 14:40:47 which was immediately deprecated. 14:41:16 and the original guile-gtk project was cut off in favour of it. 14:41:31 seems you remember that better than I do :-). but seriously, who wants to use GTK+ 1.2 anymore? 14:41:35 which, as previously stated, made me really sad. was a good motivator to learn how the glue generator works. 14:42:23 rotty: my wm is a (heavily modified) scwm 0.99.9.4, using a (heavily modified at this point) guile-gtk-0.42 on guile-1.4.1 14:42:56 i prefer gtk-1.2 to gtk-2.0 14:43:07 its simpler, cleaner, faster, and generally easier to work with. 14:43:31 .oO(that's really ancient software :-)) 14:43:39 *elf* shrugs. 14:43:47 i keep writing new shtuff for it and fixing old bits. 14:44:18 i added the ability to name, reorder, add or remove virtual desktops on the fly a few weeks back. 14:44:44 elf: interesting. URL? 14:44:45 tjafk [n=timj@e176194242.adsl.alicedsl.de] has joined #scheme 14:44:54 no url. i can send you the source for it if youd like. 14:45:37 -!- tjafk [n=timj@e176194242.adsl.alicedsl.de] has quit [Client Quit] 14:46:30 supposedly scwm is being actively developed again after a brief hiatus of 8 or so years. 14:46:31 i'd probably not have time to tinker with it :-) 14:46:41 and being brought up to date with guile-1.whatever theyre on now. 14:46:52 it used to be at scwm.sf.net 14:47:06 elf: 1.8.5 14:47:07 i dont think any of my mods are on there though. 14:47:22 tjafk [n=timj@e176194242.adsl.alicedsl.de] has joined #scheme 14:51:44 btw, anybody knowing of a lua<->scheme bridge? it could probably be used to tweak the awesome WM in Scheme... 14:52:17 http://www.call-with-current-continuation.org/eggs/3/lua.html 14:52:20 davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has joined #scheme 14:52:32 -!- tjafk [n=timj@e176194242.adsl.alicedsl.de] has quit ["Client exiting"] 14:53:25 elf: nice, thanks 14:53:36 np. 14:55:43 Is there a way to plug in a macro on function calls? 14:56:04 ? 14:56:05 what do you mean? 14:56:30 Leonidas: you mean running code upon procedure application? 14:57:08 Well, I have a macro, call/curry which is called like (call/curry curried-function arg1 arg2) and would like to have (curried-function 1 2) use call/curry. 14:57:19 rotty: somehow. 14:57:27 can you not just rewrite curried-function to do what you want? 14:57:42 If not, write a wrapper around it that calls your macro and then calls curried-function 14:58:19 offby1: the point is, that I'm trying to hack scheme so that functions work similar to how they work in haskell 14:58:20 (I think PLT has such mechanism, BTW, going by the name of #%app or something similiar) 14:58:24 *offby1* is seized with a desire for fine Belgian chocolate 14:58:37 *Leonidas* *similes* 14:59:17 if you want lazy evaluation, read sicp. its given as an example in chapter 4, iirc. 14:59:46 elf: no, it is about functions which return curried functions when not all arguments were given. 15:00:06 here's the code: http://paste.lisp.org/display/77579 15:00:24 (addmittedly, it is just for fun and learning macros) 15:00:33 perdix [n=perdix@sxemacs/devel/perdix] has joined #scheme 15:00:51 you gotta write yer own eval 15:01:51 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 15:02:02 vaasu [n=yt@123.176.20.127] has joined #scheme 15:02:54 underspecified [n=eric@220.43.52.7] has joined #scheme 15:04:01 -!- higepon587 [n=taro@FL1-122-135-165-8.tky.mesh.ad.jp] has quit [Read error: 60 (Operation timed out)] 15:06:55 hi.. various scheme implementations have various syntax on loading an srfi.. what could be an all compatible way to load an srfi? 15:07:17 or at least detect which scheme implementation it is running? 15:08:39 dlt_ [n=dlt@201.80.181.75] has joined #scheme 15:10:05 Nshag [n=shagoune@Mix-Orleans-106-4-43.w193-248.abo.wanadoo.fr] has joined #scheme 15:11:11 vaasu: http://willdonnelly.wordpress.com/2009/03/14/runtime-scheme-detection/ but generally you need to start your program for each scheme in a different way. 15:11:27 -!- ejs2 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 15:11:39 and in particular srfi loading is not standardized 15:12:14 oh yes.. 15:12:34 seen this.. 15:12:46 vaasu: see also SRFI-97 (http://srfi.schemers.org/srfi-97/srfi-97.html) 15:14:38 oww.. r6rs... 15:14:52 dlt__ [n=dlt@201.80.181.75] has joined #scheme 15:15:25 jlongster [n=user@75.148.111.133] has joined #scheme 15:15:34 -!- dlt_ [n=dlt@201.80.181.75] has quit [Read error: 60 (Operation timed out)] 15:15:58 tjafk [n=timj@e176194242.adsl.alicedsl.de] has joined #scheme 15:16:16 -!- tjafk [n=timj@e176194242.adsl.alicedsl.de] has quit [Client Quit] 15:17:00 tjafk [n=timj@e176194242.adsl.alicedsl.de] has joined #scheme 15:20:54 Leonidas: If you're using PLT, then it would be a cute exercise; no need for `eval', or for implementing an interpreter. 15:21:50 Leonidas: I'd even say that it's a nearly trivial exercise, but the only real problem is getting plain functions (ie, not curried ones) to play nicely with the rest of such a curried language. 15:22:24 reprore [n=reprore@ntkngw372060.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:22:51 um, theres also srfi-0 and srfi-7, vaasu. 15:22:55 -!- pitui [n=pitui@135.207.174.197] has quit [Remote closed the connection] 15:23:17 srfi-7, if supported, should let you know which srfis are loaded, as well as which implementation youre on. 15:23:24 vaasu: just give up :-| 15:23:26 you can also look at slib. 15:23:35 which has its own handlers for that. 15:26:10 vaasu: also look at snow. (http://snow.iro.umontreal.ca/) 15:26:26 eli: indeed. 15:30:52 haha, the snow quote is nice 15:31:04 yea.. 15:31:08 i like slib 15:35:38 the snow host packages would probably be the best bet for figuring out how to load srfis on any given system. 15:38:32 -!- alaricsp [n=alaricsp@88-202-213-18.rdns.as8401.net] has quit [] 15:56:16 -!- Mr-Cat [n=Miranda@hermes.lanit.ru] has quit [Read error: 104 (Connection reset by peer)] 15:57:21 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 15:59:17 -!- reprore [n=reprore@ntkngw372060.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [No route to host] 15:59:33 reprore__ [n=reprore@ntkngw372060.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:03:21 -!- ASau` [n=user@host196-230-msk.microtest.ru] has quit ["Off!"] 16:06:29 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 16:07:28 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Success] 16:14:40 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:17:56 -!- felipe [n=felipe@my.nada.kth.se] has quit [Success] 16:19:15 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 16:23:04 -!- MichaelRaskin_ [n=raskin@213.171.48.239] has quit [Read error: 110 (Connection timed out)] 16:23:35 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 16:24:12 slom [n=slom@pD9EB515B.dip.t-dialin.net] has joined #scheme 16:26:28 tripwyre [n=sathya@117.193.162.234] has joined #scheme 16:35:09 felipe [n=felipe@my.nada.kth.se] has joined #scheme 16:38:12 -!- vaasu [n=yt@123.176.20.127] has left #scheme 16:46:46 prestoo [n=presto10@cs181131.pp.htv.fi] has joined #scheme 16:47:45 -!- prestoo [n=presto10@cs181131.pp.htv.fi] has quit [Client Quit] 16:47:56 prestoo [n=presto10@cs181131.pp.htv.fi] has joined #scheme 16:50:31 -!- davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 16:55:07 -!- jewel [n=jewel@41.242.133.68] has quit [Read error: 113 (No route to host)] 16:55:57 jah [n=jah@131.56.76-86.rev.gaoland.net] has joined #scheme 16:56:30 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 16:59:07 [17:02.26] why exactly do you want to test this? 16:59:44 To see if tail recursion optimization is indeed not causing stack growth. :) And I really can't think of a good example. 16:59:59 The picture language in SICP is AMAZING. I am a final year undergrad.. but I am re-discovering programming. Thank You folks. 17:00:34 tripwyre: Now make a picture language compiler. :D 17:02:07 there is one already, LOGO :p 17:02:30 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 17:07:41 dlt_ [n=dlt@201.80.181.75] has joined #scheme 17:08:47 pkrumins [i=nhl@unaffiliated/pkrumins] has joined #scheme 17:08:51 Hi eli 17:08:59 oh 17:09:02 you're a different eli 17:09:08 are you this eli: http://eli.thegreenplace.net/ 17:09:09 hmm 17:09:13 No. 17:09:25 I'm a different eli. 17:09:50 But when it's dark we all look the same. 17:09:50 sorry 17:09:56 i know 17:10:03 it was not yet dark here 17:10:09 except for the ears, they are always different 17:10:17 or was it. 17:11:13 oh what have I done? it was suppose to be a simple question on R6RS list! 17:12:00 oh well. 17:12:07 i have to leave as this was not the same eli. 17:12:22 i think he does pop in here once or twice 17:12:53 yeh :) 17:12:57 ok, see ya. 17:12:58 -!- pkrumins [i=nhl@unaffiliated/pkrumins] has left #scheme 17:13:16 -!- weinholt [n=weinholt@debian/emeritus/weinholt] has quit ["Changing server"] 17:13:24 All them eli s look the same to me. 17:16:04 weinholt [i=weinholt@debian/emeritus/weinholt] has joined #scheme 17:21:31 -!- dlt__ [n=dlt@201.80.181.75] has quit [Read error: 110 (Connection timed out)] 17:22:08 melgray [n=melgray@70.99.250.82] has joined #scheme 17:23:03 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 17:27:39 dlt__ [n=dlt@201.57.58.146] has joined #scheme 17:33:10 ejs2 [n=eugen@77.222.151.102] has joined #scheme 17:33:44 -!- ejs2 [n=eugen@77.222.151.102] has quit [Client Quit] 17:34:06 mike [n=m@dslb-088-067-017-003.pools.arcor-ip.net] has joined #scheme 17:34:34 -!- mike is now known as Guest62805 17:35:18 -!- mmc [n=mima@esprx01x.nokia.com] has quit ["Leaving."] 17:35:22 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 17:36:25 pitui [n=pitui@135.207.174.197] has joined #scheme 17:38:49 looks like there is just one eli to me, unless you are referring to elias 17:39:23 oh, you mean on the entire planet... 17:41:17 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 17:42:15 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 17:43:09 *proq* makes a mental note to not read irc in reverse order 17:45:06 -!- dlt_ [n=dlt@201.80.181.75] has quit [Read error: 110 (Connection timed out)] 17:47:15 deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has joined #scheme 17:49:43 ejs [n=eugen@nat.ironport.com] has joined #scheme 18:19:10 schmalbe [n=bernhard@p549A15C1.dip0.t-ipconnect.de] has joined #scheme 18:20:37 davidad [n=me@dhcp-18-111-16-64.dyn.mit.edu] has joined #scheme 18:22:17 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 18:28:00 ejs [n=eugen@128-129-124-91.pool.ukrtel.net] has joined #scheme 18:32:12 -!- ejs [n=eugen@128-129-124-91.pool.ukrtel.net] has quit [Read error: 104 (Connection reset by peer)] 18:32:18 ejs [n=eugen@24-124-179-94.pool.ukrtel.net] has joined #scheme 18:34:02 ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has joined #scheme 18:34:35 -!- ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has quit [Client Quit] 18:36:55 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 18:52:33 prestoo_ [n=presto10@cs181131.pp.htv.fi] has joined #scheme 18:55:40 -!- npe [i=npe@dn157-088.naist.jp] has quit [] 18:59:35 -!- prestoo [n=presto10@cs181131.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 19:03:36 langmartin [n=user@adsl-074-167-038-128.sip.cha.bellsouth.net] has joined #scheme 19:14:36 -!- jah [n=jah@131.56.76-86.rev.gaoland.net] has quit ["Quitte"] 19:17:23 -!- breily [n=breily@173.15.192.254] has quit [] 19:24:15 ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has joined #scheme 19:25:55 dlt____ [n=dlt@201.80.181.75] has joined #scheme 19:30:21 -!- ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 19:31:23 ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has joined #scheme 19:35:35 -!- jcowan [n=jcowan@72.14.228.89] has quit ["Leaving"] 19:35:41 -!- wingo-tp [n=wingo@dhcp-18-190-26-53.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 19:38:17 -!- ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has quit [Read error: 60 (Operation timed out)] 19:38:22 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 19:38:40 ejs1 [n=eugen@nat.ironport.com] has joined #scheme 19:40:45 -!- kniu [n=kniu@DA-YU.RES.CMU.EDU] has quit ["Leaving"] 19:41:08 kniu [n=kniu@DA-YU.RES.CMU.EDU] has joined #scheme 19:46:09 -!- dlt__ [n=dlt@201.57.58.146] has quit [Read error: 110 (Connection timed out)] 19:47:20 dlt__ [n=dlt@201.57.58.146] has joined #scheme 19:50:17 arcfide [n=arcfide@adsl-99-186-239-125.dsl.bltnin.sbcglobal.net] has joined #scheme 19:53:40 -!- slom [n=slom@pD9EB515B.dip.t-dialin.net] has quit [Remote closed the connection] 19:58:19 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 20:03:54 -!- dlt____ [n=dlt@201.80.181.75] has quit [Read error: 110 (Connection timed out)] 20:07:56 nan8 [n=user@dslb-088-067-030-041.pools.arcor-ip.net] has joined #scheme 20:08:38 anybody using gauche and knows whats wrong with '(#/^k*l/ (make-string 5000 #\k))' - i get: *** ERROR: stack overrun during matching regexp #/^.*ll.*\$/ - the google results are in japanese and i do not understand them 20:10:51 (babelfish is of no help either) 20:12:21 I have no idea. But thank you for posing a question that is neither solvable by setting the PLT language level nor by reading documentation! So refreshing. 20:12:55 rudybot: eval (#/^k*l/ (make-string 5000 #\k)) 20:12:56 proq: your sandbox is ready 20:12:56 proq: error: eval:1:1: read: bad syntax `#/' 20:14:28 hrm... mzscheme was giving the error: read: unexpected `)' 20:16:09 which has nothing to do with your problem 20:16:13 *proq* wanders off 20:16:56 geckosenator [n=sean@71.237.94.78] has joined #scheme 20:17:59 for crying out loud 20:18:11 gosh> (#/^k*l/ (make-string 50 #\k)) => #f 20:18:18 gosh> (#/^k*l/ (make-string 5000 #\k)) => stack overrun 20:18:56 could it be the stack is overrun? 20:21:47 yes, but why? 20:21:47 proq: it's probably a bit too much for it to match 5000 times and then backtrack 5000 times 20:22:15 dudrenov: indeed 20:23:01 5000 isn't that much? 20:23:35 4000 even :P 20:24:00 depends on how the regexp is implemented I guess 20:24:15 hmm - (#/^k*?l/ (make-string 5000 #\k)) seems to do the trick 20:24:18 is it a dfa engine? 20:25:15 dudrenov: don't know - dfa? 20:25:43 deterministic finite automa 20:26:17 -!- reprore__ [n=reprore@ntkngw372060.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 20:26:17 usually regexp engines come in 2 flavours nfa an dfa 20:27:03 dfa engine might run out of stack on something like that 20:28:36 Seems like it'd be the other way around. DFAs don't need to backtrack 20:28:39 Gauche has a built-in regular expression engine which is mostly upper-compatible of POSIX extended regular expression. 20:28:52 it's posix, dfa probably 20:29:15 bpalmer: yes but it needs to keep a tree structure of all possible matches as it goes 20:29:57 I dunno how else to explain what he is experiencing. But what you are saying makes sense. 20:30:43 Posix describes, afair, are dfa regexp engines. Or am I wrong? 20:31:45 not sure; but that surprises me a bit, since it's really an implementation detail 20:31:54 ya 20:32:55 I think that in the posix standard they define the regexp to mach the bigest mach. not the first possible. 20:33:23 Which would be hard with nfa. Hmm I have to look it up. 20:34:23 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 20:35:05 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 20:35:22 -!- hark [n=strider@hark.slew.org] has quit [Read error: 110 (Connection timed out)] 20:35:35 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 20:35:59 ASau [n=user@193.138.70.52] has joined #scheme 20:36:20 dudrenov: posix 1003.2 matches first occurence. 20:36:33 if there are multiple potential matches from the first index, it selects the longest. 20:36:47 Then I'm wrong. DOn't know why I ended up with this assumption 20:36:57 yes the later part 20:37:03 subexprs always match longest, within the constraint that the expr as a whole is maximised. 20:37:15 to mach to longest you need dfa 20:37:30 subexprs earlier take priority over those later. 20:37:53 m? 20:38:09 nfa\ is transformable to dfa. 20:38:15 true 20:38:25 so i dont understand why youre making the distinction, its merely an optimisation issue... 20:38:30 they cover the same class of problems. 20:38:58 (if youre on a unix box, you can get most of these rules from the regex.h header and man 7 regexp) 20:39:11 I was just thinking out loud as to why he is seeing that issue of his 20:39:12 (and quite a few i didnt mention) 20:39:36 what, proq's problem? 20:39:40 yes 20:39:50 id imagine its because hes not giving valid syntax at all. :) 20:40:20 probably wants something more like (regexp-quote (string-append "first part of the string" (make-string 5000 #\k))) 20:40:38 and then compile it, or whatever. 20:41:12 oh, wait, i misread it. 20:41:12 I think he was simply testing non matching regexp on a long string. 20:41:15 sorry. 20:41:16 yeah. 20:42:08 so just backtracking seems, with that praticular regexp, a bit linear to produce that stack problem. 20:42:11 does the stack get squished if you do (let ((r (make-string 5000 #\k))) (#/^k*l/ r)) 20:42:21 Hoo 20:42:34 Ohh ya, that could be it, heh 20:44:19 still goes oof. 20:44:21 at least here. 20:44:28 elf they are saying that /^k*?l/ works fine thou. 20:44:59 whats *? ? 20:45:19 it wont backtrack 20:45:43 every time it advances one char it tests if it's "looking at" an `l' 20:46:12 Why would Scheme have a stack limit? Beyond memory constraints, why have a stack limit? 20:46:14 is this some weird pcre notation? 20:46:21 atherwise it matches the whole string than backtracks each one 20:47:00 seems fairly terribly inefficient , especially if it cant store previous partials. 20:47:03 elf: it's perl regexp notation 20:47:17 *? is lazy match 20:47:26 nan8: that's what I said 20:47:28 if youre using the pcre lib directly, that may have something to do with it. 20:47:47 dudrenov: ah - sorry 20:49:02 by lazy it means that it tests the later char every single time it matches a new char, anyway. 20:50:11 breily [n=breily@137.54.29.135] has joined #scheme 20:50:13 iteresting. 20:50:23 pcre can catch when its (a+)*b 20:50:26 but cant catch a*b 20:50:58 (DEFINE (BLOW-STACK) (* -1 (BLOW-STACK))), hrm? 20:51:57 rudybot: eval (define blow-stack (lambda () (* -1 (blow-stack)))) 20:51:59 arcfide: your sandbox is ready 20:52:03 rudybot: eval (blow-stack) 20:52:06 arcfide: error: evaluator: terminated (out-of-memory) 20:52:28 cute, arcfide. 20:52:34 elf: Cute? 20:52:43 interesting behaviour. 20:53:38 Well, at least it doesn't seem that mzScheme has a stack issue that's troubling, even if you can consume infinite memory with it. 20:54:52 you dont know that. 20:55:01 what signal was actually generated to get an 'out-of-memory' 20:55:04 I like the name of that procedure. Very "to the point". 20:56:50 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 20:56:53 was it a sigbus or a sigsegv or a sigpipe? 20:57:12 is there any way to get the os signal corresponding to the out of memory in mz? 20:57:53 elf: It is a scheme-level error. 20:58:03 interesting paper: http://swtch.com/~rsc/regexp/regexp1.html 20:58:19 jewel [n=jewel@dsl-242-133-68.telkomadsl.co.za] has joined #scheme 20:59:18 interesting. on chicken it doesnt abort. 20:59:42 it will however eat resources very quickly. 21:00:10 It will do so in mzscheme too; rudybot is running code in a protected sandbox. 21:00:19 ah. 21:01:06 elf: Is there no process memory limit on your machine? 21:01:18 *sjamaan* wants elf's machine 21:01:19 im root, so i rather doubt it... 21:01:33 it will eat until it crashes the machine. 21:01:40 ah, so there is a limit ;) 21:01:43 Too bad 21:01:52 or, more likely, pegs it to the point where i have to turn it off. 21:01:52 *sjamaan* doesn't want elf's machine anymore 21:02:01 dammit, thought i could finally get rid of it. 21:02:04 :) 21:02:52 elf: Well, testing this on my machine, it definitely appears that I hit a per process memory limit. 21:03:07 are you root? 21:03:10 I think I got about 32288 calls in before that happened. 21:03:22 elf: I'm testing the root version now. 21:03:35 elf: You realize that most sane people don't just run things as root for kicks, right? :-) 21:03:41 im always root. 21:03:46 its easier :) 21:04:05 (im not logged in here from my machine. im logged in here through a friend's openbsd box.) 21:04:28 elf: Ack, it's not my box, is it? 21:04:34 *arcfide* checks elf's IP really fast. 21:04:42 Ah good, safe. 21:04:42 i dont have a login on your machine. 21:04:44 :-) 21:04:45 as far as im aware. 21:05:32 elf: As far as I am aware, you don't have one, so let's hope you're not lying, and that I know my machine at least that well. 21:05:41 :-) 21:05:48 *elf* jumps out of your machine, goes 'boo', and jumps back in. 21:06:05 elf: I think you'd scare someone else if you jumped out of the machine in question. 21:06:09 arcfide you don't know if he is connecting with a proxf 21:06:32 dudrenov: I don't, c'est vrais. 21:06:55 ah yes, exactly right, memory limit reached for both root and user. 32288 user and 64560 root. 21:07:32 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 21:21:07 -!- dudrenov [n=user@67.101.217.41] has quit [Remote closed the connection] 21:24:57 -!- exexex_ [n=chatzill@88.234.120.94] has quit [Remote closed the connection] 21:26:28 -!- breily [n=breily@137.54.29.135] has quit [] 21:28:03 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 21:28:31 -!- dlt__ [n=dlt@201.57.58.146] has quit [Read error: 113 (No route to host)] 21:29:47 -!- perdix [n=perdix@sxemacs/devel/perdix] has left #scheme 21:30:46 breily [n=breily@137.54.6.43] has joined #scheme 21:32:11 -!- schmalbe [n=bernhard@p549A15C1.dip0.t-ipconnect.de] has quit [Remote closed the connection] 21:33:01 incubot: hunger->food should be one of those fundamental pathways that doesn't require JIT mapping post partum, right? 21:33:04 I'm not sure that hunger or lack of coca-cola was inducing anyone to join the IRA, for example. 21:33:15 heh 21:39:57 ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has joined #scheme 21:40:05 -!- ejs1 [n=eugen@24-124-179-94.pool.ukrtel.net] has quit [Remote closed the connection] 21:41:00 -!- langmartin [n=user@adsl-074-167-038-128.sip.cha.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)] 21:44:34 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 21:45:34 incubot: What did RMS create on the sixth day? 21:45:37 Currently down to the sixth place. 21:46:26 wy [n=wy@c-98-228-40-51.hsd1.in.comcast.net] has joined #scheme 21:48:09 incubot: when is now? 21:48:12 OK, who's the MS smartass that thought about a "Could not get the display property" error message when it cannot set it? 21:49:56 wy_ [i=wy@iub-vpn-193-193.noc.indiana.edu] has joined #scheme 21:51:28 Hee hee hee. That error message should be blinked out in Morse by the Caps Lock LED, and in binary by the Num Lock LED. 21:53:51 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 21:54:01 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 21:58:11 -!- wy_ [i=wy@iub-vpn-193-193.noc.indiana.edu] has quit ["Leaving"] 22:00:27 -!- Guest62805 [n=m@dslb-088-067-017-003.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 22:01:38 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:02:48 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 22:03:44 -!- ejs [n=eugen@24-124-179-94.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 22:05:12 -!- wy [n=wy@c-98-228-40-51.hsd1.in.comcast.net] has quit [Read error: 110 (Connection timed out)] 22:05:56 RageOfThou [n=RageOfTh@92.36.190.235] has joined #scheme 22:06:29 -!- nan8 [n=user@dslb-088-067-030-041.pools.arcor-ip.net] has quit [Remote closed the connection] 22:07:17 saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has joined #scheme 22:09:42 Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has joined #scheme 22:15:35 gweiqi [n=greg@69.120.126.163] has joined #scheme 22:19:02 -!- breily [n=breily@137.54.6.43] has quit [] 22:22:07 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:28:26 saccade__ [n=saccade@BRAIN-AND-COG-FIVE-FIFTY-TWO.MIT.EDU] has joined #scheme 22:30:50 breily [n=breily@173.15.192.254] has joined #scheme 22:32:28 -!- orgy` [n=ratm_@pD9FFE8E0.dip.t-dialin.net] has quit ["Gone."] 22:32:29 proq` [n=user@38.100.211.40] has joined #scheme 22:33:30 -!- proq` is now known as proqesi 22:37:45 -!- saccade_ [n=saccade@dhcp-18-188-70-132.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 22:40:23 meanburrito920_ [n=John@adsl-76-246-188-251.dsl.lsan03.sbcglobal.net] has joined #scheme 22:43:51 -!- proqesi [n=user@unaffiliated/proqesi] has quit [Remote closed the connection] 22:44:21 -!- choas [n=lars@p5B0DD257.dip.t-dialin.net] has quit ["leaving"] 22:44:50 bombshelter13 [n=bombshel@209-161-235-227.dsl.look.ca] has joined #scheme 22:46:09 -!- Nshag [n=shagoune@Mix-Orleans-106-4-43.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 23:00:13 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 23:00:42 -!- deat [n=deat@fac34-8-88-172-174-215.fbx.proxad.net] has quit [] 23:00:46 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 23:00:47 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 23:02:31 `sorrow` [n=kvirc@92.0.159.235] has joined #scheme 23:05:23 -!- `sorrow` is now known as `sorrow-study` 23:07:09 slom [n=slom@pD9EB515B.dip.t-dialin.net] has joined #scheme 23:13:38 jso [n=user@151.159.200.8] has joined #scheme 23:17:36 -!- prestoo_ [n=presto10@cs181131.pp.htv.fi] has quit [] 23:23:02 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 23:34:33 -!- `sorrow-study` [n=kvirc@92.0.159.235] has quit ["KVIrc 3.4.0 Virgo http://www.kvirc.net/"] 23:43:49 -!- saccade__ [n=saccade@BRAIN-AND-COG-FIVE-FIFTY-TWO.MIT.EDU] has quit ["This computer has gone to sleep"] 23:44:37 neilv [n=user@dsl092-071-030.bos1.dsl.speakeasy.net] has joined #scheme 23:46:19 -!- Fare [n=Fare@c-98-216-111-110.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 23:58:06 *slom* is bored 23:59:07 -!- jewel [n=jewel@dsl-242-133-68.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 23:59:47 -!- bweaver [n=user@c-67-161-236-94.hsd1.tn.comcast.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"]