00:05:51 -!- _Thoth_ [n=thoth@217.217.133.45.dyn.user.ono.com] has left #scheme 00:07:49 -!- automejja [n=edwin@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 00:10:53 hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has joined #scheme 00:14:13 tizoc_ [n=user@r190-135-55-57.dialup.adsl.anteldata.net.uy] has joined #scheme 00:15:48 -!- tizoc [n=user@r190-135-9-107.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 00:15:50 -!- tizoc_ is now known as tizoc 00:18:15 Are you home elf? 00:18:47 a1len: do you use irssi? 00:19:00 geckosenator: I do. Why? 00:20:38 your name has a 1 in it 00:20:56 geckosenator: I don't follow. 00:21:26 your name 00:21:40 it has the number 1 in it 00:21:52 By default, when irssi cannot have the nick it requested, it substitutes 1 for the last letter in that nick and tries again. 00:22:01 For example, after a netsplit, I sometimes turn up as `Riastrad1'. 00:22:05 not the last letter 00:22:14 it does geckosen1tor 00:22:24 ...which we all pronounce to rhyme with "R'lyeh struedel". 00:22:33 arcfide [n=arcfide@adsl-99-137-203-160.dsl.bltnin.sbcglobal.net] has joined #scheme 00:22:34 geckosenator: I meant, I didn't understand what irssi and 1 had to do with each other.. but the 1's on purpose XD 00:22:45 heh ok 00:25:08 Non-euclidean struedel for non-euclidean islands! Crunchy on the outside, and the curses of a thousand daemons plunged into the darkness by the Elder Ones wiggling like maggots in the centre. 00:25:49 (Whether it's the curses, the daemons, or the Elder Ones wiggling like maggots, is in the eye of the beholder, just like beauty.) 00:26:07 Riastradh: You say things, and I never understand them. 00:29:52 (The extra `e' in `struedel' was added by an unfortunate archaeologist who had no time to correct the journals he was tossing into the ocean before a frank exchange of opinions with the well-known resident of R'lyeh.) 00:30:17 Riastradh, you should write marketing copy. You'd be a hit in the travel business. 00:30:40 incubot: eval (##sys#call-with-cthulhu ##sys#call-with-cthulhu) 00:30:59 (Needless to say, this archaeologist was unable to maintain his opinions for long. They wound up dribbling out of a church's doornails somewhere in Ipswitch^WInnsmouth.) 00:31:30 ...Ipswich, even. 00:32:12 It looks like you're having trouble with your connection. Have you tried toggling the Ipswitch? 00:32:49 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 00:32:53 Nope -- I'm on a hub! Alas, I can find no route from `hub' to the Lovecraft mythos. 00:33:06 I'll do that after lunch. I'm having a sand-witch. 00:34:48 How's your digestion of foof looping out for you? 00:35:51 Well, though I got nothing productive done yesterday. I and another were strolling down by the waterfront, fending off attacking ducks. 00:35:59 I'm not even kidding. I've got photos. 00:36:06 Ducks? Not witches? 00:36:17 They're like Jaws with feathers. 00:36:31 Sounds pretty witchly to me! Did they float? 00:36:56 Only after discovering that the appendages holding my camera are not edible. 00:37:03 -!- bcow [n=null@S01060050fc051c84.lb.shawcable.net] has quit [] 00:37:20 You know the expression "it's like being nibbled to death by ducks"? I have a newfound fear of that fate. 00:37:50 Does it bring any refreshing new flavour to the taste of duck? 00:38:05 I've never really been a fan. It's a bit greasy for my tastes. 00:38:35 OK. I'm extremely fond of duck. 00:38:54 I don't know whether ducks are extremely fond of me, though; I've never asked. 00:38:57 That works out well - you have the duck, I'll have the long pig. 00:39:07 Lamb! 00:39:19 Goat roti! 00:39:23 Pigs aren't my cup of tea, although I do like a good pulled pork sandwich. 00:40:03 Hey, I had one of those for dinner. 00:40:27 A pig, a cup, a pulled pork sandwich, or a Riastruedel? 00:40:48 chandler, a cup of tea that was your pig? 00:41:13 O yes we are a jolly bunch, a jolly bunch tonight! 00:41:16 A restaurant I go to occassionally used to have the best Lamb Shank is some kind of au jus and mint jelly with asparagus and potatoes. 00:41:31 A pulled pig sandwitch that was my cup of tea. No struedel. No, R'lyeh! 00:41:32 arcfide, I will require one of those immediately. 00:41:35 You didn't need a knife at all to get the meat off the bone. 00:41:44 arcfide, please have your staff deliver one at your earliest convenience. 00:42:03 Mmmm. 00:42:23 gnomon: unfortunately, they took it off the menu. 00:42:30 -!- fschwidom [n=fschwido@dslb-084-059-136-162.pools.arcor-ip.net] has quit [Read error: 113 (No route to host)] 00:42:30 They also took of the best coddle in town. 00:42:35 s/of/off 00:43:01 What is a coddle? 00:43:27 It's what one does with Cthulhu -- coddles like a stuffed teddy! 00:44:21 Don't coddle Cthulhu if you value your consciousness! 00:44:43 http://xach.livejournal.com/197390.html 00:44:58 gnomon: Supposedly, it's an Irish dish, kind of like a half-soup stew with spicey sausage linke, Irish bacon, potatoes and some veggies in a sort of gravy-like sause. 00:45:02 s/sause/sauce 00:45:15 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 00:45:17 Oh my. 00:45:17 gnomon, anyway, on a slightly more serious note (as if we were capable of that), last night you vanished out of the blue after a remark that some of the justification for foof-loop could be extracted from the tutorial and placed in a separate introduction. 00:45:24 I can't spell right at all tonight. 00:45:31 Riastradh, quite, yes. 00:45:37 I think that both sections would benefit from that separation. 00:45:58 Foof Loop needs a big fancy website. :-P 00:46:05 And a Twitter feed! 00:46:09 It is not clear to me, however, how one could justify foof-loop to an audience unfamiliar with it. 00:46:10 I hear that all the kids love those these days. 00:46:31 Actually, Riastradh, is there an official way to spell "{F,f}oof{-, }{L,l}oop?" 00:47:24 Treat it as an ordinary pair of English words. 00:47:46 As a proper noun with caps? 00:47:53 Riastradh, there are several good reasons for the existence of foof-loop: abstracting the method of iteration from the action being performed across the sequence or collection; creating an abstraction layer underneath which clever foof-loop or Scheme implementations can optimize aggressively; naming types of iteration explicitly for reasons of clarity. 00:47:57 A Twatter feed, more like it, gnomon. 00:48:05 arcfide, no, ordinarily lowercase. 00:48:09 Alright, thanks. 00:48:41 *foof* would prefer "foof-loop" so he can regexp-search on /foof[^-]/ 00:49:08 A problem I encounter when showing people foof loop is that people who are not experienced with the concept of looping as an abstraction over data structures fail to see a need, and those who are familiar with such a concept usually are too stubborn to change. 00:49:21 foof, you mean to search for your nickname without turning up foof-loop? 00:49:36 yeah 00:49:36 In the general sense, looping necessarily conflates two specific operations: moving over a data set and performing some kind of action on that same set. foof-loop throws those two sections into clearly contrasting parts, while not distancing them enough to impede comprehension. 00:49:57 foof, well, writing `Foof-loop' will not change that. 00:50:04 foof, nor will writing `Foof-Loop' in titles. 00:50:21 zncbtrn [n=zencubot@modemcable060.30-81-70.mc.videotron.ca] has joined #scheme 00:52:10 For those who are familiar with looping and resistant to change, the argument could be made that a looping layer allows the compiler to perform naughty optimizations when and where people don't look. 00:52:25 I notice that many people who have not written or thought about programming as much as some of the people in this channel, often think of looping as some sort of semantically equivalent primitive form whose other representation is recursion. 00:52:41 -!- ttmrichter [n=ttmricht@221.235.62.13] has quit [Read error: 145 (Connection timed out)] 00:53:16 gnomon, I'm not sure whether you're saying this, but if you are, then I agree, and if not, then I'd like to add, that the introduction to foof-loop does not separate the LOOP form (whose expansion is specific and (up to a relatively simple semantic equivalence relation) reliable) well enough from the iterators (whose expressions are not so specific). 00:53:27 The idea of looping as a concept built on top of recursion doesn't seem to hit them as obviously useful, despite understanding things like Church's Thesis or the nature of tail-recursion. 00:54:32 Riastradh, that's part of what I was getting at, yes. 00:55:22 fschwidom [n=fschwido@dslb-084-059-131-012.pools.arcor-ip.net] has joined #scheme 00:56:27 gnomon, perhaps it would be better to write a conclusion to the introduction that summarizes foof-loop, and clarifies its two distinct parts. 00:56:53 Perhaps. That would lay the foundation for a clear separation of the two parts in the mind of the reader. 00:56:58 I am hesitant to write an introduction (or perhaps preface, or rationale) in generalities. Too often do I speak in vague generalities comprehensible only to me. 00:58:07 I doubt strongly whether such a preface is what any reader starting at the beginning will want to read before taking in any specifics of foof-loop. 00:58:41 Perhaps, but its primary virtue ought to be concision, which would also make it easy to skip. 00:58:46 my curiosity about the foof is piqued now 00:58:52 Ia ia Cthuloop f'thagn. 00:58:58 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 00:59:28 http://www-users.cs.umn.edu/~mcshane/Cthuloop.jpg 00:59:57 Brilliant! 01:00:01 Dawgmatix, foof is right here (say hi to Dawgmatix, foof!); what we are discussing is foof-loop, described at , and more specifically we are discussing the draft of the newer edition of that document, at . 01:00:56 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 01:01:22 thanks :) am reading the newer edition now 01:01:50 Dawgmatix: asl? 01:02:00 foof asl? 01:02:06 Please be not bored out of your skull by the dreary introductory paragraph! 01:03:22 It isn't boring, Riastradh! 01:03:29 gnomon, the criterion of concision is easy for you to state! 01:03:42 JohnnyL: 18+ / yes / far, far away 01:04:13 Riastradh, so true. 01:06:55 Hmm, jcowan is not here now, so I may flaunt my ignorance without immediate fear of embarrassment: Does anyone here know his reference to my allusion to Rio de Janeiro was about? 01:07:24 I think you missed a 'what' somewhere in that sentence. 01:07:29 (The only reference of which I was aware in foof-loop.txt lay in the second sentence of the introduction.) 01:07:32 Indeed I did. 01:07:42 The question underwent several revisions before I blew it entirely. 01:07:53 Does anyone here know what his reference to my allusion to Rio de Janeiro was about? 01:08:34 Mmm... duck is the yummiest meat. 01:09:08 Riastradh, what allusion to Rio de Janeiro appears in foof-loop.txt? If it is indeed present, it is evading my careless grep. 01:09:29 Allusion, gnomon, not reference. Grep won't find allusions; grep will find only references. 01:09:41 gnomon: You need allugrep for that. 01:09:52 Blast, and apt-get fails me again. 01:10:05 Riastradh, what allusion is that, then? 01:10:10 I haven't a clue! 01:10:13 (Have you tried liable-get, or prone-get?) 01:10:19 I thought I found it at first, but apparently I was mistaken. 01:10:23 It was an allusion illusion. 01:10:28 Are we talking about the city? 01:10:48 What allusional illusion delusioned you? 01:11:08 Could be, foof. All he said was that he liked the allusion to Rio de Janeiro. 01:11:20 A mest elusive allusion illusion. 01:11:25 -1s/mest/most/ 01:11:41 Blasted involuntary vowel migration. 01:13:25 *foof* knocks on his dorm wall to ask the Brazilian next door 01:14:14 `Can you please read this thirty-page document and find the allusion to Rio de Janeiro? It's for my class on ecclesiastical South American literature of the eighteen nineties.' 01:16:00 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 01:24:29 I think I need some Strauss waltzes to help inspire a new introductory paragraph. 01:24:37 -!- fschwidom [n=fschwido@dslb-084-059-131-012.pools.arcor-ip.net] has quit [Remote closed the connection] 01:34:01 gnomon, attempt #3 at the introductory paragraph: 01:34:11 It has, alas, expanded from eight lines to ten, and from eighty-six words to one hundred twenty-three. 01:35:50 there a way to introduce argument naming like smalltalk in scheme? 01:37:31 JohnnyL, yes, certainly. It will be easiest if you assume a macro system capable of concatenating names; then define a macro (: ...) so that it expands to (... ...). 01:38:18 You may also wish to introduce a DEFINE: macro (or choose a convention for these named constructions other than a colon, which I grabbed arbitrarily out of the air) in order to define the relevant procedures conveniently. 01:39:30 Example of use: 01:40:11 (define: (: apply-procedure: procedure to: arguments) (apply procedure arguments)) ; The `:' is a noise word here so that the left-hand side of a definition mimics calls to the procedure, as usual. 01:40:21 (: apply-procedure: (lambda (x y z) (+ x y z)) to: '(1 2 3)) 01:40:26 This is equivalent to: 01:40:34 (define (apply-procedure:to: procedure arguments) (apply procedure arguments)) 01:40:43 (apply-procedure:to: (lambda (x y z) (+ x y z)) '(1 2 3)) 01:44:34 JohnnyL, let me know whether you'd like help writing these macros, and if so what Scheme system you're using. 01:47:10 (Have I been disconnected from the network, or has an uncanny hush fallen over the channel?) 01:48:01 *Riastradh* would drop a pin, but has only a needle nearby. 01:49:30 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 01:50:22 -!- mfredrickson [n=mfredric@c-98-212-171-158.hsd1.il.comcast.net] has quit [] 01:51:16 Riastradh ok thanks. 01:51:31 what's # (syntax?)? 01:51:37 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 01:51:46 there is a similar example in the objc egg in chicken, wherein calls such as (@ plist write-to-file: "a.txt" atomically: #t) sends the message writeToFile:atomically: to plist with arguments "a.txt" #t 01:52:33 JohnnyL, # is a general hook for a variety of syntax. 01:54:09 ok 01:54:57 'course, objc hasn't been updated to use hygienic macros yet, but... 02:00:36 npe [n=npe@66.112.249.148] has joined #scheme 02:05:44 gnomon, when the ducks have ceased their assault upon your tasty bits, let me know how much worse my new attempt at an introductory paragraph is! 02:07:35 -!- jonrafkind [n=jon@wireless415.wireless.utah.edu] has quit [Read error: 110 (Connection timed out)] 02:12:33 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 02:12:47 rtra_ [n=rtra@89-180-137-50.net.novis.pt] has joined #scheme 02:17:36 -!- rtra [n=rtra@unaffiliated/rtra] has quit [Read error: 145 (Connection timed out)] 02:26:05 proqesi [n=user@unaffiliated/proqesi] has joined #scheme 02:26:48 -!- melito [n=melito@70.99.250.82] has quit ["Leaving..."] 02:35:47 Riastradh, sorry - things started breaking here. My time is not my own. 02:37:29 Those dastardly ducks, I suppose. 02:38:11 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 02:38:57 -!- proqesi [n=user@unaffiliated/proqesi] has quit [Read error: 104 (Connection reset by peer)] 02:39:02 proqesi [n=user@unaffiliated/proqesi] has joined #scheme 02:55:02 -!- timchen1` is now known as nasloc__ 03:15:12 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 03:20:38 -!- forcer [n=forcer@e179197056.adsl.alicedsl.de] has quit [Read error: 113 (No route to host)] 03:23:57 -!- felipe [n=felipe@my.nada.kth.se] has quit [Client Quit] 03:37:57 -!- proqesi [n=user@unaffiliated/proqesi] has quit [Read error: 113 (No route to host)] 03:43:22 xz [n=ramana@c-98-228-42-177.hsd1.in.comcast.net] has joined #scheme 03:43:41 hello schemers 03:44:44 hello xz 03:45:37 how's it going? 03:47:45 Hey xz. 03:50:52 -!- bogonflux [n=bogonflu@c-76-98-192-104.hsd1.nj.comcast.net] has quit [Read error: 110 (Connection timed out)] 03:54:33 xitomatl has lightweight testing right? 03:54:46 are there docs? 03:56:12 -!- dfeuer [n=dfeuer@pool-71-191-70-185.washdc.fios.verizon.net] has quit [Remote closed the connection] 03:58:01 how would you define a lazy lambda? 03:59:47 (define (lazy proc) (lambda args (if (zero? (random-integer 2)) (error "don't feel like it...") (apply proc args)))) 03:59:48 I would say it's a lambda that should get off the couch and put away the dishes once in a while, for Christ's sake. I work all day too. 04:01:32 without define 04:01:47 I mean a lazy lambda that I can apply directly 04:02:08 What do you mean by lazy? 04:02:25 ((lazy (x y z) (+ x z)) 1 (error 'y "y shouldn't be needed") 2) => 3 04:03:05 if I am restricted to define-lazy it's not too hard to define the macro instead 04:03:26 but if I want the above application to work I really need a better handle on application than the macro system gives me... but maybe there's a way out... 04:04:12 by lazy I mean call-by-need 04:04:28 (i.e. call-by-name with memoization) 04:04:35 Oh, no problem then. 04:05:20 ((lambda (x y z) (+ (x) (z)) (lambda () 1) (lambda () (error 'y "y shouldn't be needed")) (lambda () 2)) 04:05:34 uh 04:05:37 but that's not what I wrote =P 04:05:44 I don't want to have to wrap my arguments in thunks myself 04:06:01 how else do you want it to be lazy? 04:06:15 I want it to do what synx wrote 04:06:22 Yeah I was gonna say... 04:06:28 but without my having to explicitly write the (lambda () arg) for every arg 04:06:35 You could use (delay) but that's even more verbose. 04:07:36 notice that I could write a macro (define-lazy foo (lambda (a ...) b ...)) that would make foo behave like this, but foo would not be a procedure 04:07:45 and I couldn't apply a lazy lambda directly 04:07:58 So you want a syntax (lazy .....) like a lambda, but the arguments are replaced with (argument) in the body, and the arguments are replaced by (lambda () argument) for each argument. 04:08:37 I want the lazy procedures to be procedures too 04:08:40 It would evaluate to a lambda, since you're just changing how the arguments work, but still making a lambda. 04:08:54 so for example, this should work: 04:09:13 That's what I said. 04:09:23 xz: You need to redefine function application to accomplish that. 04:09:27 ((car (cons (lazy (x y) x) '())) 1 (/ 1 0)) => 1 04:09:33 foof that's what I thought - there are no tricks? 04:09:39 Some implementations (PLT) let you do exactly that. 04:09:39 Oh 04:09:52 foof oh really? 04:09:58 I wouldn't say there are, no. 04:10:19 when will a revised report provide a macro system that can control application? 04:10:39 synx by the way your version with thunks isn't quite right - it is call-by-name, but not call-by-need 04:10:52 In many implementations, you could also put your whole program in a (lazy ...) wrapper which could macroexpand the body, and then code-walk it and rewrite the applications. 04:11:10 foof that sounds... ugly =P - but thanks for the suggestion 04:11:27 I think plt do it by changing function application, i.e. a lazy language... 04:12:08 xz: Yes it's exactly right. You don't need y, so you never call y. 04:12:15 foof the code walk is probably the only way to do it in standard scheme at the moment, hey? and what if I want lazy application some of the time and strict application other times? (which is what I would get if there was a procedure constructor called lazy that did it) 04:12:19 Another option is to write a `define-lazy' macro which defines the name as another macro (not a procedure), and have that macro wrap the arguments. 04:12:26 synx: it's not right if you reference x more than once 04:12:32 Well except that I had a bunch of typos in it. 04:12:40 foof then the "procedure" is not a value 04:12:52 foof I suggested the define-lazy above 04:12:53 xz: You can't code walk in standard scheme. 04:12:54 xz: Scheme is not a lazy language. 04:13:13 arcfide my idea of scheme is "the language of least restriction" 04:13:16 xz: If you want true laziness, you have to change the way the evaluator works. 04:13:26 arcfide I can change almost anything else about the evaluator 04:13:26 felipe [n=felipe@my.nada.kth.se] has joined #scheme 04:13:37 xz: Oh, okay that's true. 04:13:40 xz: In the first two options, you also need to redefine all primitives to expect (maybe optionally) thunkified arguments. 04:14:04 In the third option this isn't necessary, but the procedures are of course not first class. 04:14:15 foof why do you have to mess with primitives? 04:14:33 Because you're rewriting every single application. 04:14:34 I'd just use the thunks myself... 04:14:39 synx: Yes, it does that by redefining the function application implicit macro, but I have a way that will probably work better. 04:14:42 xz: They'd have to handle lazy arguments. 04:14:54 foof the laziness should be only for explicitly defined lazy functions. the rewriting should only thunkify when necessary =P 04:15:05 hml [n=x@unaffiliated/hml] has joined #scheme 04:15:09 foof I agree codewalking becomes unwieldy very quickly 04:15:27 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:15:31 arcfide there's no such thing as a lazy argument 04:15:41 xz: In your world, there is. 04:15:41 arcfide there is application of a lazy procedure 04:15:59 (if (exists r5rs builtin for parsing string -> lisp expression) (tell me r5rs builtin name) (tell me function to do this in chicken scheme)); in particular, "(+ 1 2)" -> (+ 1 2) 04:16:07 xz: It won't work, because Scheme allows ((arbitrary-computation) args ...), so you can't always know whether the procedure argument is lazy or not. 04:16:09 xz: (lazy-lambda (x) (+ x x)) Is a case where I would call the x "lazy". 04:16:17 xz: The PLT `#%app' macro is basically a tool that makes many kinds of code walkers very easy, by making it possible to define a local transformation instead of a global one. 04:16:18 hml read? 04:16:32 #;1> (read "(+ 1 2")) 04:16:32 Error: argument is not a port: "(+ 1 2" 04:16:37 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 04:16:39 Just rewrite the interpreter to check if an argument is a lambda labeled as lazy, then call it and use that result if it is. 04:16:41 hml string->port or something 04:16:52 hml: eval 04:17:02 xz: There's a thread on C.L.S that talks about how Typed and Lazy Scheme are implemented using what eli is talking about. Basically, you have to redefine the way the Scheme system works internally. 04:17:06 hml open-string-input-port or something like that. 04:17:35 arcfide I know how to redefine scheme to get laziness. I'm asking for the ability to do this with the macro system. 04:17:56 eli that sounds pretty useful 04:18:05 eli how come PLT has all these awesome things... 04:18:11 xz: Huh? You mean, have a LAZY-LAMBDA macro that examines its own code? 04:18:32 #;2> (read (open-input-string "(+ 1 2)")) 04:18:32 (+ 1 2) 04:18:35 xz: thanks! 04:18:46 xz: That's easy -- it's the result of eating our own dog sh^H^Hfood. 04:18:48 hml glad you found it with my vague references =) 04:19:03 ya, this proves either i'm human or a very advanced bot 04:19:16 humans are advanced bots =) 04:19:17 xz: The best implementations all have really awesome things. They just don't agree on what the most awesome things to add are :) 04:19:30 rudybot: eval (with-input-from-string "(+ 1 2)" read) 04:19:30 arcfide: error: reference to undefined identifier: with-input-from-string 04:19:44 rudybot is a PLT 04:19:45 hehehe 04:19:47 rudybot: eval (call-with-input-from-string "(+ 1 2)" read) 04:19:48 arcfide: error: reference to undefined identifier: call-with-input-from-string 04:19:50 Bah. 04:20:00 *arcfide* abuses rudybot. 04:20:12 so can someone show me a short example of this #%app macro? 04:20:24 to see whether it's really awesome or not =P 04:20:29 hmm this is odd 04:20:31 rudybot: eval (read (open-input-string "(+ 1 2)")) 04:20:32 foof: ; Value: (+ 1 2) 04:20:33 rudybot: eval (read (open-input-string "(+ 1 2)")) 04:20:34 eli: ; Value: (+ 1 2) 04:20:43 Input> (+ 1 2) 04:20:43 Ans: 3 04:20:47 rudybot: eval (quote (+ 1 2)) 04:20:48 synx: ; Value: (+ 1 2) 04:20:49 woot, and this is ove ra tcp socket :-) 04:20:59 xz: It's not a macro if I recall correctly. I thought it was a means of redefining the applicator for PLT Scheme. 04:21:03 rudybot: eval (eval "(quote (+ 1 2))") 04:21:03 synx: ; Value: "(quote (+ 1 2))" 04:21:23 arcfide is it scoped? 04:21:24 arcfide: Sure it is. 04:21:34 xz: If I understand correctly, one of the reasons PLT Scheme has this kind of feature is because people on there are very interested in designing lots of little languages, some of which require changing internal parts of the system. 04:21:39 xz: What kind of an example are you looking for? 04:21:49 eli any 04:22:11 xz: You could examine Typed and Lazy Scheme in PLT. :-) 04:22:16 *arcfide* snickers evilly. 04:22:41 isnt' that called haskell? 04:23:04 xz: Give me a second. 04:23:14 arcfide you don't really get what I'm looking for, do you... 04:23:25 hml yep lol 04:23:31 xz: No, I don't. ;-) 04:23:37 http://docs.plt-scheme.org/lazy/ 04:23:47 by the way I wrote a nice little macro that does automatic currying of procedures with finite number of arguments 04:24:12 the next obvious step was to write a lazy procedure macro, but now that looks impossible 04:24:42 arcfide: Actually the core implementation of lazy scheme is pretty simple. 04:24:52 arcfide I want to write the macro in a revised report scheme 04:24:56 rudybot: eval (module foo scheme (provide (rename-out [my-app #%app])) (define-syntax my-app (syntax-rules (+ - * /) [(app x + y) (+ x y)] [(app x - y) (- x y)] [(app x * y) (* x y)] [(app x / y) (/ x y)] [(app f . xs) (f . xs)]))) 04:25:03 rudybot: eval (require 'foo) 04:25:09 xz: When you write Haskell, you have to sprinkle your code with annotations to make things eager. 04:25:10 arcfide i don't want to write an evaluator 04:25:15 rudybot: eval (+ (6 * 5) (2 + 3)) 04:25:15 eli: ; Value: 35 04:25:22 xz: there. 04:25:26 xz: Why do you think this could be done in say, R6RS? 04:25:39 xz: When you write Scheme, you have the option of annotating your code for parts to be lazy. 04:25:46 arcfide I'm almost sure it can't be. But I think it should be possible. 04:26:09 foof those annotations are more cumbersome than just having a lazy-lambda 04:26:17 eli thank you - i'll read it now 04:26:47 eli oh... so you redefine #%app to be whatever syntax you want.... ? 04:27:26 see look at eli's example, arcfide - this functionality could be provided by rnrs 04:27:27 xz: Sure, but you're stuck doing extra work either way if you want laziness. 04:27:30 xz: Yes. In the above example there is no runtime cost at all. 04:27:32 Ideally one would never have to make their code eager, since an eager algorithm would be identical to an lazy one... just there are some lazy algorithms that eager code cannot produce? 04:27:52 foof it's fine to do the work - the work has to be done if you mix laziness and eagerness. it's having a nice model for mixing them that i'm after. 04:28:09 Haskell adds eagerness for efficiency purposes - some algorithms blwo up in time and space otherwise. 04:28:11 synx: That's very far from reality. (See almost any non-toy haskell code...) 04:28:11 xz: Are you saying that #%app should be made a part of a report? 04:28:19 arcfide something like it. 04:28:31 s/some algorithms/many algorithms/ 04:29:02 arcfide #%app is special because it's always around and all you can do is redefine it... although I guess you could make people explicitly import it 04:29:11 xz: why do you feel this warrants inclusion in a report? 04:29:17 that would be a nice model 04:29:25 if you don't import #%app, you can't do application =) 04:29:41 (and it would come in (rnrs) automatically, of course) 04:30:11 xz: Actually this is exactly what happens in plt -- almost all languages provide an #%app. 04:30:13 arcfide it's one of a small list of things that you just can't do in the current rnrs 04:30:37 eli i guess when they were playing around with different languages they realized the importance of this abstraction =) 04:30:44 xz: There are a lot of things you can't do with pure R6RS. 04:31:13 xz: I think that the idea has been around in various places. Not sure exactly. 04:31:19 xz: Are you suggesting that report should attempt to provide features making it possible to do anything imaginable in "R6RS without extensions?" 04:31:37 #lang lazy (define a b) (define b a) (+ a b) 04:31:53 arcfide i don't know what you're talking about when you say "extensions" 04:32:15 xz: extensions as in, something not defined in R6RS. 04:32:39 arcfide (define square (lambda (n) (* n n))) - is that an extension? 04:32:48 arcfide now I have square in my language 04:33:37 That procedure being provided by some library is an extension of the procedures provided in R6RS, yes. 04:34:07 arcfide ok. i have no idea what your point is/is going to be. 04:34:12 Although, I would clarify my statement above in saying, that, possible to do anything without having to rely on extensions not definable in R6RS. 04:34:24 arcfide ah - that makes more sense 04:34:58 At the moment, I am trying to understand what you are suggesting. 04:35:05 arcfide - yes, I am looking to enlarge the set of things that can be defined in the language of the report. 04:35:17 arcfide automatic currying lambda was possible 04:35:21 arcfide lazy lambda was not 04:35:55 arcfide and eli has indicated that there is a nice model for making it possible 04:36:24 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 04:36:36 there are lots of useful things you can do when you have a handle on application, I think 04:36:42 xz: Neither is FFI, changing the reader syntax, adding new base literal types, introspecting memory of code, &c. 04:37:04 what's memory of code? 04:37:12 and what's a base literal type? 04:37:23 changing reader syntax should also be possible, I think 04:37:30 xz: (examine-internal-representation (lambda () (blah))). 04:37:41 I have no idea what that means 04:38:12 FFI and concurrency should be in there at some point. I think they have been avoided because there aren't good models around yet 04:38:16 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 04:38:22 xz: In otherwords, being able to access information about the current code that you are running at an object code level during runtime. 04:38:46 arcfide still doesn't make any sense to me. maybe you're talking about something to do with reflection? 04:39:55 xz: something like MALLOC, and treating CONS cells as arrays of bytes. 04:40:14 Oh, and what about system call interfaces? 04:40:24 arcfide ok that's completely different to what I was thinking of. don't we have bytevectors already? 04:40:34 And while we're at it, we can just put threading into there, right? 04:40:35 arcfide and the system procedure? 04:40:42 arcfide I mentioned concurrency already 04:41:11 xz: in R6RS, how do you take a CONS cell and get the representation of that CONS cell as a byte-vector representing some piece in memory? 04:41:56 arcfide i don't understand what you could do with that. 04:42:11 xz: I could set the bits, change my memory as I wished. 04:42:25 xz: Who cares what you would do with it? 04:42:29 arcfide why not use a byte vector in the first place? 04:42:34 xz: Your suggestion was that I shouldn't not be able to do anything. 04:43:27 I'm not talking about a byte vector contianing to elements, I'm talking about a byte-vecotr containing the bytes that are currently in on physical places in RAM which are being used by the interpreter to represent a CONS cell. 04:43:39 s/to el/two el/ 04:44:19 like the address-of operator in C? 04:44:28 xz: something like that. 04:44:41 that is missing from scheme 04:44:43 at the moment 04:45:24 xz: .... 04:45:30 xz: You want that in Scheme.... 04:45:31 I never suggested that "one shouldn't not be able to do anything" by the way. 04:45:57 that phrase barely makes sense 04:46:30 xz: You said that you wanted to define the scope and goals of the reports as making a language specification which permits and allows all and anything to be done and implemented somehow in the specified language without extensions which were inexpressible in the standard. 04:47:37 arcfide yes 04:47:56 I am trying -- apparently in vain -- to find a point at which you think adding this one additional feature is useless or undesirable. So far, you have eluded me, and I must conclude that you really mean what you say. 04:47:59 arcfide there should be a "within reason" tacked on the end there, and what we'll disagree on is what's reasonable 04:48:12 Ah! 04:48:14 Finally. 04:48:24 You show a glimmer of sanity. 04:48:45 xz: With all due respect, what you are suggesting is, in my humble opinion, ridiculous and crazy. 04:49:27 xz: Show me a standard spec that tries to do this, or even has this in their dreams or goals. 04:49:46 Show me then, one that professes to adhere to anything like the goals of Scheme? 04:50:42 There is nothing wrong with having extensions to a standard. 04:51:36 There is something wrong, in my opinion, in expecting everyone to have the same goals when building an implementation, especially in the Scheme world. 04:52:45 If you are going to suggest that these features should all be mandatory, then you are expecting everyone to converge to one great Scheme System, and are essentially expecting everyone to either ignore the standard, or have no reason to exist (provided the existence of one standard compliant implementation already). 04:53:12 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit [Read error: 113 (No route to host)] 04:53:30 If you are going to suggest that these features are all optional, then I suspect you are not going to get your end result that I think you want from standardizing these features, which would be that you could rely on these features being there in a Scheme implementation. 04:54:09 IF on the other hand, you are going to suggest that you don't want this, but just want to have standard interfaces, what's wrong with handling these standards separately from the language, and not bothering with putting the two together in a horrid mess? 04:54:34 De facto standards work as well for practical purposes than "real" standards. 04:54:44 Not to mention that the reports are mostly just de facto standards anyways. 04:55:14 And there can be little reason for arguing these features for inclusion on anything but pragmatic or practical grounds. 04:55:21 Okay...... 04:55:26 *arcfide* takes a breath. 04:55:44 Um, my apologize xz, you seem to have hit a sore spot with my fingers, and I find myself typing incessantly. 04:55:53 s/apologize/apologies/ 04:57:55 I don't have any issue with your philosophy. I was just looking for the ability to control application without going outside the report 04:58:48 -!- npe [n=npe@66.112.249.148] has quit [] 04:58:52 xz: Yes, but my point is basically that the idea of wanting to do things without extensions is to some extent what has gotten us into a mess with R6RS in the first place. 04:59:07 what mess? 05:00:05 xz: A badly specified, buggy standard filled with features that are complicated and strange, which are sorry compromises lacking in overall technical merit, existing only for their proposed pragmatic benefit of being "standard." 05:00:48 I guess I would only ever want _my_ implementation, whatever it is, to do whatever I need. but then why do we all say we're using "scheme"? and how do we share our code? usually with different languages you have an ffi or you do some porting, I guess. 05:01:25 xz: Oh, and which lack elegance and generality, failing in the proposed purpose of the Scheme Standard, which is ostensibly to provide for expressive and elegant computation by providing a language which makes excessive and specialized features unnecessary. 05:01:38 ? 05:02:02 so the language is both expressive and you can't write certain things in it? 05:02:20 xz: The idea is to try to make more with less. 05:02:50 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 60 (Operation timed out)] 05:03:05 xz: Do people say they are using C even though they are using GCC extensions or system calls, neither of which is defined in the C standard? 05:03:17 making more with less. yep. 05:03:44 Also, the features in the standard should be technically meritous and generally useful. 05:04:06 so how would you write lazy-lambda? 05:04:23 at the moment, I would write it by switching to PLT and using #%app 05:04:28 i can't see a simpler way 05:04:32 xz: Sharing code shouldn't expect to be shared between implementations which differ on philosophies of why they exist, but those that sufficiently intersect would then share the features necessary for sharing. 05:04:45 try to reduce the core of scheme to extend its expressivity to include lazy-lambda 05:05:04 xz: I wouldn't write it. I don't disagree that #%app is an useful feature. 05:05:30 xz: However, I am not interested in writing LAZY-LAMBDA at the moment, and I don't see why everyone should be expected to have this feature in every implementation. 05:05:44 I'm not as much interested in the philosophy, where we largely agree, as in this particular ability (#%app) and other particulars 05:05:48 like concurrency 05:05:55 because those are the things I'm using at the moment 05:05:56 If I wanted to lazily evaluate something, I would use DELAY or just thunk it or something like that. 05:06:08 for concurrency I'm using chez scheme's interface to posix threads 05:06:18 xz: You'll find it hard to work in both worlds, I think, if you want native threads. 05:06:27 what two worlds? 05:06:55 xz: the feature of native threads is a feature that may not exist on implementations that provide #%app 05:07:09 ... 05:07:21 xz: However, you might be able to find another way of dealing with your problem, unless you really are interesting in writing lazy-lambda. 05:07:39 s/esting/ested/ 05:07:44 it's like a puzzle 05:08:03 what's the smallest language in which you can do the most things 05:08:20 -!- bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has quit ["Where is the glory in complying with demands?"] 05:08:27 xz: and then let the rest of it be done with de facto standards or the like. 05:08:27 we have macros which seem to increase expressivity quite a lot 05:08:54 how much of the benefits of haskell can we incorporate without also adopting the restrictions? for example 05:08:59 how many, I mean 05:09:29 xz: What are you trying to do at the moment? 05:09:39 java and ada, for example, built concurrency into the language. scheme may do that too in the future, when there's a good model for it. 05:10:08 arcfide write lazy-lambda =P. or at least that's what i was doing before i came on here 05:10:15 tjafk2 [n=timj@e176195001.adsl.alicedsl.de] has joined #scheme 05:10:29 Why do you want to write this though? 05:10:44 xz: Why would you want to put concurrency into Scheme when it is already possible? 05:11:25 how is it possible? 05:11:25 There are plenty of implementations of green threads, and if you want anything more than that, you restrict the possible areas for the Scheme "language" to be used. 05:11:43 xz: Not all systems have native threads, so why should a language make that kind of demand? 05:12:01 you can have a concurrency model at the language level that is independent of whether the threads are native or not 05:12:13 maybe there won't even be threads and there will be some other model of concurrency 05:12:18 chandler_ [n=chandler@new.unmutual.info] has joined #scheme 05:12:19 xz: What does this bring to Scheme that can't already be done? 05:12:19 at the language level 05:12:44 xz: Coroutines are already very nicely possible, the use of engines already exists...I don't see the need. 05:12:46 ttmrichter [n=ttmricht@58.49.17.11] has joined #scheme 05:12:46 -!- chandler_ is now known as Guest41380 05:13:35 it's not obvious how to use engines based on continuations on a multicore machine 05:14:14 xz: I would argue that concurrency fails the "generally useful" requirement. 05:14:40 -!- chandler [n=chandler@opendarwin/developer/chandler] has quit [Read error: 104 (Connection reset by peer)] 05:14:48 i think concurrency is just about to become quite important 05:14:55 but we differ on our predictions i guess 05:15:10 i think parallel haskell will regain popularity 05:15:17 for example 05:15:33 and you asked what i'm working on - i'm also working on implementing ferns with native threads 05:15:53 (ferns being the datastructures mentioned last week in a class i believe you were in) 05:16:52 I'm not saying concurrency isn't already important, but why do we need to put it into the language Spec? I don't think it gives us any gain. 05:18:31 I thought implementing ferns was already done in the paper? 05:18:40 it's a uniprocessor model 05:18:46 continuations-based engines 05:19:10 And you want to implement it in parallel? 05:19:23 .oO(Talk about a side-effect nightmare.) 05:19:25 I already have, but it still needs work 05:20:03 I have two versions, actually, and they pass the little tests but either slow down majorly or infinite loop on some more difficult tests 05:20:42 xz: You don't generate a thread for every value, do you? 05:20:46 no 05:20:54 fixed number of threads 05:20:57 specified in advance 05:20:58 Alright. 05:21:03 That's good. :-) 05:21:21 we tried an erlang model with unbounded numbers of threads too 05:21:22 Too bad I don't have time to implement them. 05:21:30 I think that would be fun. 05:22:21 have you tried implementing engines? 05:22:26 that's a good puzzle 05:24:14 the version in TYS in Fixnum Days uses fluid-let (and I couldn't get it to work...), but you can do it without fluid-let 05:26:06 you know, you can write a lazy evaluator in Scheme without using any extensions beyond R4/R5RS... why don't you just do that 05:26:52 -!- tjafk1 [n=timj@e176223150.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 05:28:25 then I'm interpreting instead of compiling... 05:28:55 and it would be hard to write a full evaluator that handled definitions and macros and everything 05:29:01 -!- Nshag [i=user@Mix-Orleans-106-2-156.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 05:29:38 xz: And you already mentioned that you didn't like the idea of a code-walker? 05:29:52 xz: I would think that a limited evaluator at expand-time might be useful in your case. 05:33:38 Hey, are any of the .it addresses in here from Rome? 05:34:38 -!- Daemmerung [n=goetter@64.146.161.228] has quit ["Smoove out."] 05:34:53 Daemmerung [n=goetter@64.146.161.228] has joined #scheme 05:37:41 Daemmeru` [n=goetter@64.146.161.228] has joined #scheme 06:38:29 yawn 06:39:31 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 06:40:42 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 07:00:05 elmex [n=elmex@e180064252.adsl.alicedsl.de] has joined #scheme 07:27:17 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Read error: 104 (Connection reset by peer)] 07:27:23 Cale_ [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 07:27:51 -!- Cale_ is now known as Cale 07:47:56 -!- foof [n=user@dn157-046.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 07:49:55 ramkrsna [n=ramkrsna@unaffiliated/ramkrsna] has joined #scheme 07:50:35 hotblack23 [n=jh@p5B057FDC.dip.t-dialin.net] has joined #scheme 07:52:06 mike [n=mike@dslb-088-066-253-215.pools.arcor-ip.net] has joined #scheme 07:52:36 -!- mike is now known as Guest6114 07:52:38 proqesi [n=user@unaffiliated/proqesi] has joined #scheme 08:02:16 -!- CaptainMorgan [n=CaptainM@c-75-68-42-94.hsd1.nh.comcast.net] has quit [Remote closed the connection] 08:05:41 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 08:10:07 forcer [n=forcer@e179199231.adsl.alicedsl.de] has joined #scheme 08:10:47 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 08:16:42 -!- raikov [n=igr@203.181.243.11] has quit [Read error: 110 (Connection timed out)] 08:25:42 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 08:26:45 exexex [n=chatzill@85.101.68.57] has joined #scheme 08:26:58 ejs [n=eugen@nat.ironport.com] has joined #scheme 08:28:57 ecraven [n=nex@140.78.42.126] has joined #scheme 08:31:23 -!- hotblack23 [n=jh@p5B057FDC.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 08:33:32 foof [n=user@isa7-dhcp-116-151.naist.jp] has joined #scheme 08:34:49 -!- hml [n=x@unaffiliated/hml] has quit [Read error: 110 (Connection timed out)] 08:36:28 -!- Guest6114 [n=mike@dslb-088-066-253-215.pools.arcor-ip.net] has quit ["Leaving"] 08:40:25 -!- proqesi [n=user@unaffiliated/proqesi] has quit [Read error: 110 (Connection timed out)] 08:47:37 MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has joined #scheme 08:53:52 kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 09:06:54 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 60 (Operation timed out)] 09:10:11 -!- synthasee [n=synthase@68.63.20.12] has quit [Client Quit] 09:11:00 athos [n=philipp@p54B859BC.dip.t-dialin.net] has joined #scheme 09:18:14 -!- keyofnight [n=key@ec2-75-101-138-129.compute-1.amazonaws.com] has quit [Read error: 104 (Connection reset by peer)] 09:18:25 keyofnight [n=key@ec2-75-101-138-129.compute-1.amazonaws.com] has joined #scheme 09:19:16 -!- tabe [n=tabe@210.188.204.133] has quit ["Riece/5.0.0 Emacs/22.2 (berkeley-unix)"] 09:21:14 tabe [n=tabe@210.188.204.133] has joined #scheme 09:22:10 -!- exexex [n=chatzill@85.101.68.57] has quit [Remote closed the connection] 09:22:44 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 09:27:36 exexex [n=chatzill@85.101.68.57] has joined #scheme 09:33:35 fschwidom [n=fschwido@dslb-084-059-131-012.pools.arcor-ip.net] has joined #scheme 09:37:45 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 60 (Operation timed out)] 09:40:30 -!- MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has quit [Read error: 110 (Connection timed out)] 10:06:48 vasa [n=vasa@mm-88-92-84-93.dynamic.pppoe.mgts.by] has joined #scheme 10:09:21 orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has joined #scheme 10:11:35 -!- exexex [n=chatzill@85.101.68.57] has quit [Read error: 110 (Connection timed out)] 10:11:54 ventonegro [n=user@136.166.1.3] has joined #scheme 10:20:16 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 10:20:21 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit [Read error: 110 (Connection timed out)] 10:21:46 jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has joined #scheme 10:23:52 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 110 (Connection timed out)] 10:36:10 schmalbe [n=bernhard@p549A1616.dip0.t-ipconnect.de] has joined #scheme 10:46:23 -!- a1len [n=James@unaffiliated/a1len] has quit ["Lost terminal"] 10:49:56 -!- foof [n=user@isa7-dhcp-116-151.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 10:52:37 -!- topo [n=topo@200.37.161.41] has left #scheme 10:53:53 borism [n=boris@195-50-200-2-dsl.krw.estpak.ee] has joined #scheme 11:02:10 -!- jdev [i=jdev@panix5.panix.com] has quit ["Lost terminal"] 11:10:56 Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has joined #scheme 11:13:04 -!- Mr_SpOOn [n=Mr_SpOOn@89-97-102-218.ip17.fastwebnet.it] has quit [Client Quit] 11:31:16 -!- jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has quit [Operation timed out] 11:39:31 benny [n=benny@i577A0B39.versanet.de] has joined #scheme 11:41:41 -!- orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has quit [Remote closed the connection] 11:43:49 jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has joined #scheme 11:47:27 -!- ttmrichter [n=ttmricht@58.49.17.11] has quit [Connection timed out] 11:54:39 -!- p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has quit [calvino.freenode.net irc.freenode.net] 11:54:39 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [calvino.freenode.net irc.freenode.net] 11:54:39 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [calvino.freenode.net irc.freenode.net] 11:54:39 -!- pchrist|univ [n=spirit@gateway.hpc.cs.teiath.gr] has quit [calvino.freenode.net irc.freenode.net] 11:54:54 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 11:54:54 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 11:54:54 p1dzkl [i=p1dzkl@2001:470:d0be:0:0:0:0:13] has joined #scheme 11:54:54 pchrist|univ [n=spirit@gateway.hpc.cs.teiath.gr] has joined #scheme 12:08:17 foof [n=user@dn157-046.naist.jp] has joined #scheme 12:14:59 tizoc_ [n=user@r190-135-52-44.dialup.adsl.anteldata.net.uy] has joined #scheme 12:15:45 -!- hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 12:18:12 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [] 12:18:29 -!- tizoc [n=user@r190-135-55-57.dialup.adsl.anteldata.net.uy] has quit [Read error: 60 (Operation timed out)] 12:19:28 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 12:21:43 -!- tizoc_ is now known as tizoc 12:22:28 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 12:31:00 ttmrichter [n=ttmricht@59.174.134.36] has joined #scheme 12:32:12 cemerick [n=la_mer@75.147.38.122] has joined #scheme 12:40:22 luz [n=davids@139.82.89.70] has joined #scheme 12:57:50 hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has joined #scheme 13:02:07 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 13:03:09 name [n=name@sburn/devel/name] has joined #scheme 13:15:02 -!- jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has quit [Connection timed out] 13:25:50 morning 13:31:04 guten morgen 13:34:53 -!- vasa [n=vasa@mm-88-92-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 13:41:31 bom dia 13:43:14 npe [n=npe@66.112.249.148] has joined #scheme 13:43:43 jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has joined #scheme 13:44:38 -!- Guest41380 is now known as chandler 13:46:09 morning 13:46:24 foof: konnichiwa 13:51:12 gigabytes [n=gigabyte@host98-236-dynamic.4-87-r.retail.telecomitalia.it] has joined #scheme 13:52:14 athos_ [n=philipp@p54B84471.dip.t-dialin.net] has joined #scheme 14:00:17 -!- npe [n=npe@66.112.249.148] has quit [No route to host] 14:04:45 -!- underspecified [n=eric@clair16.naist.jp] has quit [] 14:06:01 -!- arcfide [n=arcfide@adsl-99-137-203-160.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 14:06:04 -!- athos [n=philipp@p54B859BC.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 14:08:46 bombshelter13 [n=bombshel@net1.senecac.on.ca] has joined #scheme 14:10:07 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 14:12:12 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Client Quit] 14:24:18 -!- jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has quit [Connection timed out] 14:29:40 ejs_ [n=eugen@nat.ironport.com] has joined #scheme 14:30:08 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 14:31:27 annodomini [n=lambda@64.30.3.122] has joined #scheme 14:31:30 -!- gigabytes [n=gigabyte@host98-236-dynamic.4-87-r.retail.telecomitalia.it] has quit [] 14:32:48 annodomini_ [n=lambda@64.30.3.122] has joined #scheme 14:32:48 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Connection reset by peer] 14:32:58 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 54 (Connection reset by peer)] 14:33:28 annodomini [n=lambda@64.30.3.122] has joined #scheme 14:42:00 -!- bombshelter13 [n=bombshel@net1.senecac.on.ca] has quit [Remote closed the connection] 14:42:41 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 14:44:23 -!- borism [n=boris@195-50-200-2-dsl.krw.estpak.ee] has quit [Client Quit] 14:45:26 bombshelter13 [n=bombshel@net1.senecac.on.ca] has joined #scheme 14:49:35 incubot: morning 14:49:37 naah, it's just a regular polish wednesday morning, i.e. a pint of vodka and a pickled cucumber 14:51:59 npe [n=npe@32.97.110.63] has joined #scheme 14:53:32 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 14:56:43 Nshag [i=user@Mix-Orleans-105-1-184.w193-250.abo.wanadoo.fr] has joined #scheme 15:06:28 annodomini [n=lambda@130.189.179.215] has joined #scheme 15:10:16 underspecified [n=eric@softbank220043052011.bbtec.net] has joined #scheme 15:12:37 -!- bombshelter13 [n=bombshel@net1.senecac.on.ca] has quit [Read error: 113 (No route to host)] 15:19:11 -!- ejs_ [n=eugen@nat.ironport.com] has quit [Read error: 145 (Connection timed out)] 15:19:46 vasa [n=vasa@mm-88-92-84-93.dynamic.pppoe.mgts.by] has joined #scheme 15:20:20 -!- ecraven [n=nex@140.78.42.126] has quit ["bbl"] 15:28:02 bweaver [n=bweaver@75.148.111.133] has joined #scheme 15:29:51 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 15:31:20 -!- ttmrichter [n=ttmricht@59.174.134.36] has quit ["Ex-Chat"] 15:34:53 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 15:35:03 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 15:37:52 -!- athos_ [n=philipp@p54B84471.dip.t-dialin.net] has quit ["leaving"] 15:48:09 BW^- [i=Miranda@94.191.145.226.bredband.tre.se] has joined #scheme 15:50:13 jdev [i=jdev@panix5.panix.com] has joined #scheme 15:55:42 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 16:04:05 -!- ventonegro [n=user@136.166.1.3] has quit [Read error: 54 (Connection reset by peer)] 16:04:19 ventonegro [n=user@136.166.1.3] has joined #scheme 16:08:25 jlongster [n=user@75.148.111.133] has joined #scheme 16:13:57 allnmymind [n=user@bas3-ottawa10-1279403734.dsl.bell.ca] has joined #scheme 16:15:35 jonrafkind [n=jon@wireless153.wireless.utah.edu] has joined #scheme 16:18:14 rtra [n=rtra@unaffiliated/rtra] has joined #scheme 16:19:07 -!- rtra_ [n=rtra@89-180-137-50.net.novis.pt] has quit [Client Quit] 16:21:53 -!- allnmymind [n=user@bas3-ottawa10-1279403734.dsl.bell.ca] has quit [Remote closed the connection] 16:38:34 orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has joined #scheme 16:40:09 -!- merlincorey [n=merlin@ip65-46-14-94.z14-46-65.customer.algx.net] has quit [calvino.freenode.net irc.freenode.net] 16:40:09 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [calvino.freenode.net irc.freenode.net] 16:40:09 -!- brianf [n=brian@external-asa-hq-bllvwa.corp.strata8.net] has quit [calvino.freenode.net irc.freenode.net] 16:40:09 -!- michaelw [i=michaelw@lambda.foldr.org] has quit [calvino.freenode.net irc.freenode.net] 16:42:23 replor [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:43:06 merlincorey [n=merlin@ip65-46-14-94.z14-46-65.customer.algx.net] has joined #scheme 16:43:06 rdd [n=user@c83-250-142-219.bredband.comhem.se] has joined #scheme 16:43:06 brianf [n=brian@external-asa-hq-bllvwa.corp.strata8.net] has joined #scheme 16:43:06 michaelw [i=michaelw@lambda.foldr.org] has joined #scheme 16:55:40 exexex [n=chatzill@88.235.30.87] has joined #scheme 17:00:17 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:01:39 hey sladegen 17:18:54 gigabytes [n=gigabyte@host144-60-dynamic.8-87-r.retail.telecomitalia.it] has joined #scheme 17:22:22 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 17:33:01 incubot: you're on the other side of the day border, unless it's friday there in which case... 17:33:03 yes, I understand that you can't use side effects... 17:33:41 -!- exexex [n=chatzill@88.235.30.87] has quit [Remote closed the connection] 17:33:57 exexex [n=chatzill@88.235.30.87] has joined #scheme 17:37:40 -!- exexex [n=chatzill@88.235.30.87] has quit [Remote closed the connection] 17:38:07 exexex [n=chatzill@88.235.30.87] has joined #scheme 17:44:13 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 17:44:25 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #scheme 18:00:25 -!- gigabytes [n=gigabyte@host144-60-dynamic.8-87-r.retail.telecomitalia.it] has quit [] 18:03:23 aardvarq [i=tgAardva@student3113.student.nau.edu] has joined #scheme 18:04:38 goedel [i=steffen@pdpc/supporter/professional/goedel] has joined #scheme 18:09:27 -!- goedel [i=steffen@pdpc/supporter/professional/goedel] has quit ["Leaving"] 18:15:26 -!- schmalbe [n=bernhard@p549A1616.dip0.t-ipconnect.de] has quit [Remote closed the connection] 18:16:44 saccade_ [n=saccade@dhcp-18-111-29-175.dyn.mit.edu] has joined #scheme 18:24:24 qvt [n=mark@erustan-host9.dsl.visi.com] has joined #scheme 18:24:43 -!- Daemmerung [n=goetter@64.146.161.228] has quit ["Smoove out."] 18:26:59 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 18:30:44 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 18:37:45 renke [n=renke@Le46c.l.pppool.de] has joined #scheme 18:40:46 -!- saccade_ [n=saccade@dhcp-18-111-29-175.dyn.mit.edu] has quit ["This computer has gone to sleep"] 18:41:59 -!- name [n=name@sburn/devel/name] has quit [Read error: 60 (Operation timed out)] 18:45:04 -!- exexex [n=chatzill@88.235.30.87] has quit [Remote closed the connection] 18:45:18 exexex [n=chatzill@88.235.30.87] has joined #scheme 18:47:28 melito [n=melito@70.99.250.82] has joined #scheme 18:58:13 kuribas [i=kristof@d54C4305D.access.telenet.be] has joined #scheme 19:00:36 -!- incubot [n=incubot@24.205.65.135] has quit [Remote closed the connection] 19:04:23 -!- vasa [n=vasa@mm-88-92-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 19:05:19 incubot [n=incubot@24.205.65.135] has joined #scheme 19:06:42 jgracin [n=jgracin@82.193.208.195] has joined #scheme 19:09:32 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 19:14:44 -!- exexex [n=chatzill@88.235.30.87] has quit [Remote closed the connection] 19:19:25 la la la 19:21:18 -!- qvt [n=mark@erustan-host9.dsl.visi.com] has quit [Read error: 110 (Connection timed out)] 19:24:32 easy enough for you to say 19:37:43 langmartin [n=user@75.148.111.133] has joined #scheme 19:44:28 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 19:44:54 -!- renke [n=renke@Le46c.l.pppool.de] has quit ["Lost terminal"] 19:57:08 -!- jdev [i=jdev@panix5.panix.com] has quit [Remote closed the connection] 20:04:32 kaaah [n=karim@joondalup.davromaniak.eu] has joined #scheme 20:04:36 hi 20:05:05 I'm looking for an implementation which has curses bindings 20:07:48 curses is really hard to bind to since it uses a lot of C preprocessor macros. Have you considered just using ANSI terminal escape sequences, which work on essentially all modern terminals? 20:09:23 thank you chandler 20:09:36 i'll try escape sequences 20:10:06 (This suggests that the FFIs in question are rather ABI-level bindings than library bindings.) 20:11:38 (...which makes them considerably less useful than one might wish.) 20:12:00 kaaah: any impl with a reasonable FFI can bind to curses. 20:12:05 -!- Daemmeru` is now known as Daemmerung 20:13:00 For PLT, check the ml archives -- I posted some bindings there this summer. 20:13:05 chicken has bindings too 20:13:16 Daemmerung: Really? So a reasonable FFI has to generate a C file with wrapper functions for the macros? 20:13:25 Chicken can do that, of course :-) 20:13:26 chandler: not at all. 20:13:54 chandler: Of course, Chicken generates C, so it's easier for it to do that 20:15:01 I never needed the cpp macros in my cursing. Your mileage may vary. 20:15:12 Daemmerung: So in my "reasonable" FFI, how do I bind to (say) bkgd? 20:15:26 *Daemmerung* shrugs 20:16:48 hadronzoo [n=hadronzo@ppp-70-251-241-233.dsl.rcsntx.swbell.net] has joined #scheme 20:17:02 Don't really have time to look it up now. Sorry. 20:17:13 I think it's fairly pointless. If my terminal does not do a reasonable job of emulating an ANSI terminal, there is a program which will do the conversion for me (screen). 20:17:45 If `it' is `bkgd', Daemmerung, then how about substituting `any library whose interface involves macros'? 20:18:24 Daemmerung: bkgd changes the background color of the window. It's one of the many "functions" which are implemented as macros in the version of ncurses on my system - and I believe any implementation of curses is allowed to make any of them a macro as it chooses. 20:20:17 (curses.h on NetBSD suggest that X/Open says otherwise -- but that that has traditionally always been a macro.) 20:20:46 Oh, OK. 20:20:57 -!- incubot [n=incubot@24.205.65.135] has quit [Read error: 110 (Connection timed out)] 20:21:36 http://opengroup.org/onlinepubs/007908775/xcurses/implement.html 20:21:37 Any ABI where a function may or may not be present is a pretty sorry ABI. 20:21:43 "Any function declared in a header may also be implemented as a macro defined in the header" 20:21:51 And, yeah, chandler, it was ncurses I was using. 20:21:53 OK. 20:22:19 Daemmerung, yes, but that doesn't say anything about C libraries! 20:22:37 incubot [n=incubot@24.205.65.135] has joined #scheme 20:22:44 Oh. That says that it must provide a function definition in addition to the macro. 20:23:14 So, it looks like the macros are limited to just the UPPERCASE constants. 20:24:49 Damn and blast xbindkeys and all its associated vileness. I'm getting lunch. 20:25:47 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 20:25:57 jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has joined #scheme 20:27:21 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 20:27:37 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #scheme 20:32:03 i want to "zip two lists togehter to get one list" like (zip-together (list 1 3 5) (list 2 4 6)) -> (list 1 2 3 4 5 6) 20:32:13 ive got this already http://np.gfx-dose.de/768/na/ 20:32:40 but i get several lists existing of two elements only, thats not what i want :(. any advice on that? 20:33:51 rudybot: eval (append (list 1 3 5) (list 2 4 6)) 20:33:52 zbigniew: ; Value: (1 3 5 2 4 6) 20:34:12 rudybot: wrong 20:35:01 eh? 20:35:43 renke [n=renke@Le46c.l.pppool.de] has joined #scheme 20:39:35 zbigniew waht did you want to show me? 20:40:33 -!- kaaah [n=karim@joondalup.davromaniak.eu] has left #scheme 20:42:01 hotblack23 [n=jh@p5B056D85.dip.t-dialin.net] has joined #scheme 20:43:21 ok thanks 20:44:25 orgy`: sorry. I had to step away. 20:45:04 orgy`: do you understand why you are getting the output you're getting? 20:45:30 yeah, because ive been using 'cons' instead of appending both lists 20:45:50 No, you have the right approach. You should not use append there. 20:46:21 it works with append, at least until both have the same length 20:46:58 append is a bad idea; it's extremely inefficient. there is a much better way to do it. 20:47:07 which is? 20:47:21 Well, let's run 1 step of your algorithm. 20:48:13 you have (cons (list (car a) (car b)) 20:48:25 (zip-together (cdr a) (cdr b))) 20:48:31 right 20:49:01 let's say you're at the start of the a and b lists. 20:49:22 what is (car a) and (car b) 20:49:30 (list (list 1 2) (rest stuff)) 20:49:50 rudybot: Eval (append-map list (list 1 3 5) (list 2 4 6)) 20:49:51 kuribas: ; Value: (1 2 3 4 5 6) 20:50:09 orgy`: no, what is (car a) specifically 20:50:20 when a is (list 1 3 5) 20:50:27 1 20:50:37 ok, and so (car b) is? 20:50:50 2 20:51:20 thats..good :D 20:51:29 ok. substitute just those values into the expression above 20:51:59 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 20:52:24 don't try to evaluate the result, just substitute (car a) and (car b) 20:52:32 (cons (list 1 2) (zip-together (cdr a) (cdr b))) 20:52:38 ok good 20:53:13 now let us say that you got the results you wanted from your (zip-together (cdr a) (cdr b)) 20:54:23 let's substitute the values of (cdr a) and (cdr b) into (zip-together (cdr a) (cdr b)) 20:54:37 -!- cpfr [n=cf@cpe-76-171-165-212.socal.res.rr.com] has quit [Read error: 113 (No route to host)] 20:54:44 what is the result of this step? 20:54:45 (zip-togehter (list 3 5) (list 4)) 20:55:07 i want it to work even if both lists are not of equal length 20:55:20 almost... (cdr b) is not (list 4) 20:55:30 its 4? 20:55:38 (zip-togehter (list 3 5) 4)) 20:55:42 orgy`: that is more complicated -- don't get ahead of yourself 20:55:59 try it in your scheme interpreter 20:56:05 (cdr (list 2 4 6)) 20:56:25 (list 4 6) 20:57:22 so ideally, you want the result of (zip-together (list 3 5) (list 4 6)) to be what? 20:57:42 -!- jonrafkind [n=jon@wireless153.wireless.utah.edu] has quit [Read error: 60 (Operation timed out)] 20:57:45 (list 3 4 5 6) 20:58:05 jonrafkind [n=jon@wireless153.wireless.utah.edu] has joined #scheme 20:58:22 right. so, let's assume you actually get that result. substitute THAT into your (cons (list 1 2) ...) expression above, what is the result? 20:58:43 (cons (list 1 2) (list 3 4 5 6)) 20:58:59 cpfr [n=cf@dynamic-205-166.usc.edu] has joined #scheme 20:59:11 which is (list (list 1 2) 3 4 5 6) 20:59:49 -!- ventonegro [n=user@136.166.1.3] has quit [Remote closed the connection] 21:00:01 ventonegro [n=user@136.166.1.3] has joined #scheme 21:00:33 OK, so the question is, if you have (list 3 4 5 6) and you want to get (1 2 3 4 5 6) out of it, how do you do it? (without append) 21:00:58 try a simpler problem -- given (3 4 5 6) how do you get (2 3 4 5 6) 21:01:02 well..i just dont know :D 21:01:23 is there a insert function? 21:01:28 no 21:01:44 Do you understand what CONS does? 21:01:53 it creates a new list out of two? 21:02:11 ah wait 21:02:31 well, it does what i need ;) 21:02:44 at least in order to get the two in front 21:02:50 s/two72 21:03:03 how did you do it? 21:03:14 (cons 2 (list 3 4 5 6)) 21:03:18 a1len [n=James@unaffiliated/a1len] has joined #scheme 21:04:07 now how would you get the 1 in there? 21:04:27 (cons 1 (cons 2 (list 3 4 5 6)) 21:04:42 *) 21:05:05 right. that whole list, by the way, looks like: (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 (cons 6 '())))))) 21:05:26 Can you see how to change your paste, then? 21:06:12 i probably wont, if cant see it immediately? 21:07:38 well, you used to have: (cons (list 1 2) (list 3 4 5 6)), which was wrong, and now you have 21:07:50 (cons 1 (cons 2 (list 3 4 5 6))) which is right 21:09:09 i dont get it 21:09:26 (lambda x (apply append (apply map list x))) 21:09:49 so remember where we got those numbers from, e.g. (car a) == 1 21:10:22 all we did was take your code, substitute some actual numbers in, and we got (cons (list 1 2) (list 3 4 5 6)) 21:10:49 -!- npe [n=npe@32.97.110.63] has quit [] 21:10:51 now we figured out that SHOULD be (cons 1 (cons 2 (list 3 4 5 6))) 21:11:08 so i put another cons in there? 21:11:10 so, work backwards and see what your code SHOULD have been 21:13:15 dude im sorry..i just dont get it..maybe im too stupid..maybe its too late, maybe both 21:13:44 all those brackets just confuse me and recursion makes my brain twist 21:13:51 well, take a break, try a couple different things, etc. 21:14:16 well.. i need sleep 21:14:27 anyway..thank you for your time 21:14:53 the goal is to change your code so, when you substitute the numbers in, you get (cons 1 (cons 2 (list 3 4 5 6))) ... just stew on that for a while 21:17:21 exexex [n=chatzill@88.235.30.87] has joined #scheme 21:17:55 wingo--tp [n=wingo@104.Red-88-17-128.dynamicIP.rima-tde.net] has joined #scheme 21:19:41 borism [n=boris@195-50-200-2-dsl.krw.estpak.ee] has joined #scheme 21:20:37 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 21:23:18 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 21:31:10 well thanks zbigniew 21:31:30 it now works for equally long lists 21:31:51 now i gotta sleep ;) 21:37:44 npe [n=npe@32.97.110.63] has joined #scheme 21:48:46 -!- rtra [n=rtra@unaffiliated/rtra] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:55:39 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 22:03:35 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 22:03:47 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 22:05:29 -!- incubot [n=incubot@24.205.65.135] has quit [Read error: 60 (Operation timed out)] 22:05:38 incubot [n=incubot@24.205.65.135] has joined #scheme 22:07:59 jdev [i=jdev@panix5.panix.com] has joined #scheme 22:15:59 lelf [n=lelf@217.118.90.104] has joined #scheme 22:16:47 mheld [n=mheld@129.10.230.158] has joined #scheme 22:16:49 hey y'all 22:17:37 what can I build (within a few weeks) that would really impress a professor? 22:19:17 I had this idea 22:19:32 a computer that can read brainwaves 22:19:43 well it would be the computer program, written in scheme 22:19:52 an eeg on steriods? 22:19:52 rtra [n=rtra@unaffiliated/rtra] has joined #scheme 22:19:55 oids* 22:20:14 maybe, not sure what an eeg is 22:20:23 I bet it would impress a professor 22:20:34 ElektroEncephalogram 22:21:08 i could fix some stumpwm bugs (if they exist) 22:21:22 except I want it to work both ways 22:21:28 so it can input brainwaves 22:22:00 electroencephalogram 22:22:01 i've had one 22:22:07 what does it do? 22:22:12 it reads brainwaves 22:22:25 to input brainwaves would be complex 22:22:28 and not really that good 22:22:29 they put electrodes on your head and chart yeah the brain waves 22:22:29 can it make you think certain thoughts? 22:22:45 it'd just be *buzz* lots of current *buzz* and you'd black out 22:22:47 well transcranial electrostimulation proponents think so 22:22:58 but that's a different thing, eeg is a reading device 22:23:10 can it be used to replace a keyboard? 22:23:16 yes 22:23:20 some people are using it for input device yes 22:23:24 can you buy them? 22:23:40 people who are paralyzed but it's mainly experimental i think 22:23:48 it would make writing scheme easier 22:24:03 it's not a mind reader 22:24:09 I could remap my keyboard to optimize certain keys I suppose 22:24:22 wastrel: I want to be able to think a word and have it type it 22:24:25 there's a pre-market product that is supposed to be a really cheap consumer EEG 22:24:35 yeah that's not possible right now 22:24:45 oh 22:25:04 get a touch typing program :] 22:25:10 is it a question of reading the brain waves, or interpreting them? 22:25:10 wayyyyyy more efficient. 22:25:20 its by emotive 22:25:27 forgot what its called 22:25:37 wastrel: the program types for you? 22:25:46 no it trains you to type faster 22:25:52 typing tutor 22:25:58 emotiv* 22:25:59 does it work for scheme code? 22:26:03 http://www.emotiv.com/ 22:26:05 -!- orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has quit [Read error: 113 (No route to host)] 22:26:09 it just does input 22:26:10 I need to remap ( and ) to something faster 22:26:16 i guess practice the punctuation section :] 22:26:20 it can't really do specific characters yet (i think) 22:26:21 heh 22:27:02 is it really the case that your thinking-tempo outpaces your typing-tempo? 22:27:29 klutometis: I need it to be much more advanced than keyboard input 22:27:30 not all of us think in words... 22:27:38 not all of us think linearly 22:27:48 yes, it needs to think in computer programming concepts.. datastructures etc 22:28:12 but keyboard inputs would be a huge step I think 22:28:39 I don't think the individual characters when I type 22:28:55 mheld: i'd ventured to say that most people think in a pre-linguistic soup, non-linearly; linear language is a discipline 22:29:19 orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has joined #scheme 22:29:43 well, saying that people think either linearly or non-linearly is rediculous... its like saying a shirt is either red or not-red 22:29:57 a majority of the population do think "linearly" 22:30:05 hence why its called linear for them 22:30:24 what if you have a flashback, does that mean you don't think linearly? 22:30:26 i disagree; i've watched people try to write narratives, and most people can't do it 22:31:52 i dunno, i've been in classes and lectures on methods of thinking and a majority of the people there were "linear thinkers" 22:32:26 *geckosenator* isn't even sure he knows what linear thinking means 22:32:55 as intelligence goes up, the average train of thought tends to be less linear 22:33:15 there are different styles of thought 22:33:18 "linear" 22:33:26 web 22:33:28 gestalt 22:33:31 I might have a style you don't even know of 22:33:38 and two more that i can't remember 22:33:54 one isn't usually one specific type of style at all times 22:34:15 its usually some permutation of the bunch 22:36:35 I wonder if I can order the probes online 22:36:56 mheld: you have a bizarre chain of propositions without any argument; i'd say that "non-linear thought" (whatever that is) is directly proportional to lack of discipline 22:37:25 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:37:30 linear thought is bad though 22:37:41 it's like a computer with only 1 core 22:38:08 or can you have multiple thoughts at the same time as long as all of those thoughs are linear? 22:39:56 -!- exexex [n=chatzill@88.235.30.87] has quit [Remote closed the connection] 22:40:09 all my info comes from a guy who's been working with gifted and talented children for 20+ years 22:40:16 and its only his theory 22:40:24 that he's been working on for a few years 22:41:10 fragmented thought 22:41:21 split personalities 22:41:35 it's like different processes in the same operating system 22:41:53 no like disjointed thoughts. 22:43:13 we still need to keep working on inputting thoughts 22:43:42 maybe i'll work on a simple scheme interpreter in java 22:43:43 I only wish I could think in a web. 22:43:52 or... vice versa? 22:44:11 how about no 22:44:20 why not? 22:44:24 web -> relational 22:44:58 I meant no as to java implementing. 22:45:17 ah 22:45:20 But I don't know why not. It's the same reason I can't tap out two different beats in each hand very easily. 22:45:30 umm not necessarily 22:45:40 the reason that happens is because of the corpus calosum 22:45:46 I don't understand why the brain is limited that way, but I don't think it's common to be able to override it. 22:45:59 its a dense bundle of fibers that connect the two hemispheres of the brain 22:46:14 Yeah, the two sides of the brain get crossed signals like stereo feedback. 22:46:15 and its really difficult for them to shoot both ways at the same time 22:46:36 So you can do it for a while, but eventually your juggling ability drops away. 22:46:36 relational thinking is one thought leading to the other 22:46:44 no 22:46:47 in seemingly unrelated paths 22:46:58 Oh, okay sorry I misread. 22:47:15 like... i'll be waiting in line and my stuff will ring up to $10.67 22:47:18 So the corpus callosum isn't bidi? :) 22:47:31 the first thing i'll think of is "hey, that's the year after the battle of hastings!" 22:47:49 bidirectional? 22:48:14 replor_ [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 22:48:14 uh... yeah 22:48:28 What I need is a working prefrontal cortex. @.x 22:48:43 it is, but not really very good at simultaneous crossfire 22:48:46 well, for me there is my thoughts and my sub-concious thoughts, they can occur at the same time 22:48:52 The bleeding edge of brain technology, that is. 22:49:12 if you don't have a corpus callosum, you get cool stuff like alien hand syndrome 22:49:21 and weird vision problems 22:49:31 like your hands look weird? 22:49:32 and the ability to tap in two different timing 22:49:42 have you seen dr strangelove? 22:49:52 I guess not 22:49:55 I can walk and chew gum at the same time, but for some reason two different rhythms don't work. It's quite odd. 22:49:57 but sometimes my hands look weird 22:50:17 I've seen some of the experiments they did with people who had a surgically severed corpus callosum. Awesome stuff :3 22:50:27 like.. really bizzare, and it's partially because they do, and partially because I'm imagining it 22:51:39 http://faculty.washington.edu/chudler/split.html 22:51:44 I've heard about separating the two halfes of the brain, that's different 22:51:51 -!- mheld [n=mheld@129.10.230.158] has quit [] 22:52:00 I think you can do that consiously if you really want to.. just don't send any data back and forth 22:53:22 I don't really know if that's possible. The brain can only modify its own code so much. We don't have a scalpel in there after all. 22:53:45 synx: can you control your blood pressure and pulse rate? 22:53:58 -!- npe [n=npe@32.97.110.63] has quit [Connection timed out] 22:55:09 Sure, but I can't stop my heart. 22:55:27 without external intervention 22:55:28 hmm 22:56:05 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:56:14 I think it's self limiting so we don't end up with feedback loops. You wouldn't want to be able to stop your own heart after all. 22:56:57 I can't figure out why that translates to only one drum beat though. Some people can do more than one. I guess it's just a side effect of a more major survival risk. 22:57:40 I might want to stop my own heart 22:57:45 but it won't help me evolve 22:58:16 Won't ensure your children's survival heh. 22:58:40 mheld [n=mheld@129.10.230.158] has joined #scheme 22:59:26 yeah 22:59:39 -!- lelf [n=lelf@217.118.90.104] has quit ["used jmIrc"] 22:59:44 unless I'm fully evolved 23:00:03 in that case I wouldn't need to ensure children's survival, and maybe I could stop my own heart 23:00:16 split brain -> cut corpus callosum 23:00:28 Because evolution level is strictly ordered set, honest. 23:00:51 heh 23:01:54 what about the nerves that aren't located in your brain? 23:02:00 they can think too right? 23:02:41 Not enough interconnections. They can fire, but thinking requires massive interaction between neurons. 23:02:48 muscle memory 23:03:05 yeah 23:03:20 but is that memory stored in connections between neurons in the muscles? 23:03:33 synx: whatever thinking means 23:03:35 geckosenator: neurons are in the brain 23:03:57 eh, dunno 23:03:58 muscle memory comes down to a certain pathway being heavily weighted from much use 23:04:02 merlincorey: they are in the whole body 23:04:17 geckosenator: not networks like they are in the brain [1] 23:04:25 [1] - see synx (15:04) 23:04:36 I have heard of other animals which have multiple areas of high density neurons 23:05:06 we have a lot of neurons in the spinal coard.. can I think with that part of my body? 23:05:27 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 23:05:46 -!- replor [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 23:05:53 insects sure do. I think lizards maybe... some... 23:06:25 geckosenator: Those are mostly straight without branches though. But yes you can get certain muscle memories in those things. Try touching a hot pan. 23:06:42 synx: ok 23:06:57 how do you know touching a hot pan doesn't go to the brain? 23:07:08 electricity travels fast 23:07:33 can you cut someone's head off and put their hand in a hot pan to find out? 23:07:58 They measured the speed at which people's hand jerks back, and it was too fast for the information to get past the spinal cord. Neurons aren't as fast as a wire... 23:08:43 hmm, ok, but not quite as conclusive as my proposed experiment 23:09:01 also messages are passed chemically as well as electrically 23:09:17 right 23:09:42 The closest they've done with that is to cut off the heads of cockroaches, and try to keep them alive. Works surprisingly well in fact. 23:09:58 interesting I have not heard of this :) 23:10:12 Modius [n=Modius@adsl-68-93-132-132.dsl.austtx.swbell.net] has joined #scheme 23:10:35 but their brain is spread throughout the body 23:10:40 same with giant squid 23:10:56 they probably don't have to have heads to live 23:11:08 -!- Modius [n=Modius@adsl-68-93-132-132.dsl.austtx.swbell.net] has quit [SendQ exceeded] 23:11:09 http://www.sciam.com/article.cfm?id=fact-or-fiction-cockroach-can-live-without-head 23:11:10 -rudybot:#scheme- http://tinyurl.com/2kezo7 23:11:26 -!- hotblack23 [n=jh@p5B056D85.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 23:11:32 insects have multiple brains, or, er, piles of neurons. It's not just scattershot. 23:11:50 ok 23:11:57 Modius [n=Modius@adsl-68-93-132-132.dsl.austtx.swbell.net] has joined #scheme 23:14:00 synx: that link is choice. 23:14:18 "Moreover, the human body cannot eat without the head." 23:14:48 x3 23:14:51 -!- replor_ [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 23:14:54 IV 23:14:56 -!- jewel [n=jewel@dsl-242-177-125.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 23:14:57 and "'When we're tried to teach them [cockroaches] when they had bits of them missing, it's hopeless.'" 23:15:03 From the Scientific American no less. That magazine has really gone downhill these days. 23:15:11 are they going to perform the experiment with humans soon? 23:15:23 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 148 (No route to host)] 23:15:45 I think it's done every fall in universities around the world. 23:15:51 no, uh, never. 23:15:55 -!- elmex [n=elmex@e180064252.adsl.alicedsl.de] has quit [Remote closed the connection] 23:16:11 the professors do it to the bad students? 23:16:35 To any student who doesn't live in a monastery.... 23:16:55 good thing I'm not a student 23:17:05 since it's fall and I don't live in a monastery 23:17:18 Fortunately, they sealed up my neck right quick-like with a little paraffin, and nobody's ever noticed since. My wife recaulks me every springtime. 23:17:18 you got it backwards Daemmerung 23:17:28 Why do you think all those monks have shaved heads? 23:17:37 *Daemmerung* is enlightened 23:17:46 Needed to take out the brains to power their zombie rampage D: 23:18:44 *Daemmerung* returns to the rampage already in progress 23:19:18 my roommate just shaved his head, I wonder if he took his brains out too 23:19:21 -!- wingo--tp [n=wingo@104.Red-88-17-128.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 23:19:43 wingo--tp [n=wingo@232.Red-83-37-99.dynamicIP.rima-tde.net] has joined #scheme 23:20:13 ttmrichter [n=ttmricht@59.174.134.36] has joined #scheme 23:22:40 cut a little too close there 23:22:41 -!- BW^- [i=Miranda@94.191.145.226.bredband.tre.se] has quit [Connection timed out] 23:40:12 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit ["..."] 23:40:37 Paraselene_ [n=Not@79-68-228-157.dynamic.dsl.as9105.com] has joined #scheme 23:44:48 -!- kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has quit ["Quitte"] 23:50:05 -!- ventonegro [n=user@136.166.1.3] has left #scheme 23:50:27 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 23:50:47 -!- proq [n=user@unaffiliated/proqesi] has quit [Remote closed the connection] 23:52:37 -!- orgy` [n=ratm_@pD9FFED1E.dip.t-dialin.net] has quit [Remote closed the connection] 23:54:13 -!- hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 23:56:15 proq [n=user@unaffiliated/proqesi] has joined #scheme