00:01:48 -!- orgy` [n=ratm_@pD9FFDF15.dip.t-dialin.net] has quit ["Gone."] 00:03:28 synthase [n=synthase@68.63.19.212] has joined #scheme 00:06:10 -!- shemale_magic [i=d01415be@gateway/web/ajax/mibbit.com/x-9548002a97725d13] has quit ["http://www.mibbit.com ajax IRC Client"] 00:19:46 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 60 (Operation timed out)] 00:20:00 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit [Read error: 60 (Operation timed out)] 00:20:42 -!- ray [i=ray@2001:41c8:1:54da:0:0:0:1337] has quit [Read error: 60 (Operation timed out)] 00:20:54 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 00:21:31 ray [i=ray@2001:41c8:1:54da:0:0:0:1337] has joined #scheme 00:21:42 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 00:34:33 -!- melgray [n=melgray@70.99.250.82] has quit [] 00:38:42 bombshelter13_ [n=bombshel@209-161-231-13.dsl.look.ca] has joined #scheme 01:03:16 mejja [n=user@c-f6b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 01:06:17 -!- blackened` [n=blackene@89.102.208.138] has quit [] 01:13:48 raikov [n=igr@203.181.243.11] has joined #scheme 01:18:08 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:22:49 brweber2 [n=brweber2@ip68-100-65-167.dc.dc.cox.net] has joined #scheme 01:25:48 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Success] 01:26:15 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 01:28:24 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 01:34:16 -!- sepult [n=sepult@xdsl-87-78-28-240.netcologne.de] has quit ["KVIrc 3.4.0 Virgo http://www.kvirc.net/"] 01:42:10 raikov` [n=igr@203.181.243.11] has joined #scheme 01:43:06 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 01:45:36 -!- raikov [n=igr@203.181.243.11] has quit [Read error: 60 (Operation timed out)] 01:53:14 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 104 (Connection reset by peer)] 01:53:14 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 01:53:37 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 01:53:39 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 01:54:40 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 54 (Connection reset by peer)] 01:55:01 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 01:56:13 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 104 (Connection reset by peer)] 01:56:34 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 01:57:15 yome [n=guillaum@bas4-montreal28-1177570516.dsl.bell.ca] has joined #scheme 01:57:34 sarahbot: yow! 01:59:01 There hasn't been a sarahbot 'round these parts in years. 02:05:43 -!- pumpkin_ [n=pumpkin@pat9.border1-cfw.dartmouth.edu] has quit [] 02:06:05 -!- CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has quit [Remote closed the connection] 02:07:35 raikov [n=igr@60.32.127.43] has joined #scheme 02:08:48 foof, at least you're still here ;) 02:11:51 yome! 02:12:08 Glad to see you're still alive! :) 02:12:28 gnomon, hey! How is it going? 02:13:40 Very well, thanks! Life is good, the [new[ish]] job is good, Toronto is still pleasant... good times! 02:13:41 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Client Quit] 02:13:53 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 02:13:53 How about you? Is life treating you and yours well? 02:14:48 Yeah, everything is going very well. 02:15:01 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 104 (Connection reset by peer)] 02:15:07 I've just switched job 02:15:16 I'm still in the video game industry 02:15:25 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:15:39 But I've joined a startup and I'm now writing video games with Gambit :) 02:16:20 Holy cow! 02:16:31 Congratulations, sir, on Living The Dream(tm) ;) 02:16:43 Are you allowed to mention the name of the startup? 02:16:43 Hey, thanks :) 02:16:44 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 02:16:44 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 104 (Connection reset by peer)] 02:17:05 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:17:11 Sure: http://www.gamerizon.com/ 02:17:13 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 02:17:47 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 02:17:48 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 54 (Connection reset by peer)] 02:18:14 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 02:18:37 Ooooooooh, pretty! 02:19:33 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:19:58 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 104 (Connection reset by peer)] 02:19:58 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 02:20:21 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:20:23 Oh hey, another friend of mine works right near there! 02:20:24 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 02:22:13 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 02:23:02 -!- raikov` [n=igr@203.181.243.11] has quit [Read error: 110 (Connection timed out)] 02:23:20 gnomon, which company does he work for? 02:24:25 Let me ask! 02:30:50 yome, Ludia, but they're not as close as I thought they were. 02:31:00 Maybe ten blocks away. 02:32:09 yome: That's awesome! 02:33:35 gnomon, I didn't even know about that company... So many game companies in Montreal. 02:33:36 More people need to do Scheme startups. 02:33:48 foof, yes, I'm very happy about it. 02:34:52 Boo. 02:35:15 Since when does writing video games with Gambit involve the SCA? 02:35:54 SCA? 02:36:14 rennfest geeks? 02:36:16 Googlez-le! 02:36:37 http://www.sca.org/ 02:36:54 "Googlez-le"? 02:36:58 "The SCA is an international organization dedicated to researching and re-creating the arts and skills of pre-17th-century Europe." 02:37:08 Nice. 02:37:09 (`Rennfest' c'est pas tout a fait correct.) 02:37:13 I think having that on the record will forbid you from visiting Montreal now, Riastradh, and possibly all of Canuckistania ;) 02:37:21 Translation: They play with swords while wearing tights. 02:37:41 -!- ken-p [n=unknown@84.92.70.37] has quit [Connection timed out] 02:39:07 Well, how would you conjugate the verb `to Google' in French, gnomon? 02:39:31 cherchez? 02:39:44 That's not the meme chose! 02:40:14 I don't think l'Academie would want to add the verb `to Google'. 02:42:21 yome, so, how do you conjugate the verb `to Google' in French? 02:43:29 Riastradh, you had it right. I still don't know what "SCA" means, though. 02:43:46 See, gnomon? 02:43:53 The SCA is the Society for Creative Anachronism. 02:44:54 `Living the Dream' is a common phrase (perhaps almost, but not quite, a shibboleth) identifying `Scadians'. 02:45:50 chickamade [n=chickama@123.16.64.200] has joined #scheme 02:46:38 Riastradh, is it really?? I had no idea. 02:48:17 -!- hadronzoo [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has quit [] 02:49:42 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 02:49:59 kilimanj4ro [n=kilimanj@70.116.95.163] has joined #scheme 02:52:17 http://linuxhaters.blogspot.com/2009/05/tribute.html 02:52:29 tjafk1 [n=timj@e176219163.adsl.alicedsl.de] has joined #scheme 02:57:20 hadronzoo [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has joined #scheme 02:59:31 foof: Nice. 03:01:04 XTL: "that little extra" ... ? 03:02:09 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 110 (Connection timed out)] 03:02:17 -!- kilimanj4ro is now known as kilimanjaro 03:06:01 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 03:06:21 -!- 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"] 03:06:35 Is the typical way to implement a precise GC to record locations on the stack that point to Scheme objects? 03:08:40 -!- cky [n=cky@cpe-024-211-255-155.nc.res.rr.com] has quit ["Leaving"] 03:09:44 -!- tjafk [n=timj@e176198135.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:11:24 cky [n=cky@cpe-024-211-255-155.nc.res.rr.com] has joined #scheme 03:12:26 -!- hadronzoo [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has quit [] 03:16:02 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Remote closed the connection] 03:24:07 -!- kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 03:28:59 CaptainMorgan [n=CaptainM@c-24-62-183-102.hsd1.ma.comcast.net] has joined #scheme 03:29:56 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:34:32 sohum [n=sohum@unaffiliated/sohum] has joined #scheme 03:35:49 would it be possible to rewrite LAMBDA and the application model of (fn a b c...) to do the implicit currying that haskell does? 03:36:13 sohum: you mean like case-lambda? 03:37:46 -!- mejja [n=user@c-f6b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 03:38:22 I'm don't think so 03:38:26 *I 03:39:44 I'm not sure what implicit currying haskell does. 03:40:22 as in, (lambda (x y) ...) gets transformed to (lambda (x) (lambda (y) ...)) and (fn a b c) gets transformed to (((fn a) b) c) 03:40:34 kniu [n=kniu@OVERLORD.RES.CMU.EDU] has joined #scheme 03:40:45 sohum: I think it's possible 03:41:11 it just means all lambdas are of one arguments, right? 03:41:16 yea 03:41:23 it has all sorts of neat side effects 03:41:24 (((fn a) b) c) each one would have to return a lambda itself... 03:41:33 procedure I mean 03:41:36 yea 03:41:53 I'm not talking something you can build on top of scheme-as-it-exists 03:42:06 this would be a fundamental change in how the underlying code works 03:42:06 -!- xwl_ [n=user@147.243.236.60] has quit [Remote closed the connection] 03:42:09 So (fn a b c) could never work like (((fn a) b) c). The two procedures would have to be vastly different from each other. 03:42:17 sohum: but then you won't have varadic proc or proc with optional/keyword arguments? 03:42:18 well, no 03:42:31 because fn was defined with lambda as modified above 03:42:43 chickamade: I think you could, I'm still working that bit out 03:43:02 Uh, but then why are you composing it at all? 03:43:24 because fn only takes one argument 03:43:36 sohum: IIRC Haskell doesn't have variadic functions or optional/keyword args, correct? 03:43:37 Are you saying you want to take (fn a b --) pass it as an argument somewhere and then call (thingy c) to get (fn a b c)? 03:44:20 chickamade: I'm not sure that's due to the function application model 03:44:37 chickamade: it would impose some restrictions on ordering 03:45:33 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 03:45:50 synx: (define (fn a b c) ...) actually expands to (define fn (lambda (a) (lambda (b) (lambda (c) ...)))), so (fn a b c) expands to (((fn a) b) c) to be transparent 03:46:13 sohum: exactly, so the only flexibility is when your function is commutitive wrt. the operands? 03:46:21 Like with your proposed idea you would say (define foo (haskell-lambda (a b c) (+ a b c))) and then later you would go (define bar (foo 1 2)) then (bar 3)? 03:46:28 To get 6 as a result? 03:46:44 synx: yea 03:47:05 chickamade: is the issue about flexibility? 03:47:09 What you want is a procedure called 'curry' 03:47:49 I know curry exists, I was just asking if a) it could be implemented into scheme, and b) if it can, what are the technical considerations against it 03:48:38 sohum: I'm sure you could easily write a metacircular interpreters which will curry automatically 03:49:19 rudybot: eval (define foo ( (a b c) (+ a b c))) 03:49:20 the reason I'm asking about this is because it allows lots of neat tricks, such as (map (+ 4 foo) list) and (define newfunc (oldfunc arg1)) 03:49:21 synx: your scheme sandbox is ready 03:49:28 rudybot: eval (define bar (curry foo)) 03:49:37 rudybot: eval (((bar 1) 2) 3) 03:49:38 synx: ; Value: 6 03:49:45 not implemented /on/ scheme, implemented /into/ scheme 03:50:08 I don't see your point. I can use bar like I would any normal procedure. 03:50:36 curry just converts an ordinary procedure into a procedure wrapped in successive lambdas (curries really), just like you proposed. 03:51:32 but he wants to write (bar 1 2 3)... 03:51:33 rudybot: (define my-+ (curry +)) 03:51:34 sohum: eh? Try "rudybot: help". 03:51:41 rudybot: eval (define my-+ (curry +)) 03:51:42 sohum: your sandbox is ready 03:51:42 rudybot: eval (bar 1 2 3) 03:51:42 synx: ; Value: 6 03:52:03 Oh, + is special. How do you know when to stop currying it? 03:52:35 well, see, that's kinda the point 03:52:42 curry is conservative with +, only currying until it has "enough" arguments. That is, 2. 03:52:53 Variable length procedures with rest arguments... 03:53:15 okay, so what would you want (curry +) to do? 03:54:13 -!- meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has quit ["has been attacked by a grue"] 03:54:22 off the top of my head, something like (case-lambda (() acc) ((x) (built-in-add x acc))) 03:54:34 hadronzoo [n=hadronzo@gateway.publicvpn.net] has joined #scheme 03:54:43 is how you might deal with &rest parameters 03:55:34 I um... sorry I don't read that quite right. 03:56:41 (lambda (x) (lambda (y) (lambda (z) (lambda (q) (+ x y z q))))) but when you call that, it has to return another lambda, since you haven't finished building up your argument list. 03:57:02 rudybot: eval (define (my-+ acc) (case-lambda (() acc) ((x) (+ x acc)))) 03:57:17 And you can never finish with an unbounded argument list. So instead curry just stops as soon as possible. 03:57:28 did that eval take? 03:58:02 rudybot: eval (my-+ 1) 03:58:02 sohum: ; Value: # 03:58:15 rudybot: eval ((my-+ 1)) 03:58:15 sohum: ; Value: 1 03:58:24 -!- sad0ur [n=sad0ur@psi.cz] has quit [Remote closed the connection] 03:58:35 rudybot: eval (define (my-+ acc) (case-lambda (() acc) ((x) (+ x acc)))) 03:58:42 rudybot: eval ((((my-+ 1) 2) 3)) 03:58:43 sohum: error: procedure application: expected procedure, given: 3; arguments were: 3 03:58:59 rudybot: eval ((my-+ 1) 2) 03:58:59 synx: ; Value: 3 03:59:13 rudybot: eval ((bar 1) 2) 03:59:13 synx: ; Value: # 03:59:27 rudybot: eval (((my-+ 1) 2) 3) 03:59:28 sohum: error: procedure application: expected procedure, given: 3; arguments were: 3 03:59:50 See curry has to return a curry, otherwise you end up with the value of the procedure instead of a new procedure. 04:00:01 curry needs a bowl. 04:00:09 delicious Indian curry 04:00:43 -!- davids [n=davids@189.122.121.232] has quit ["Client exiting"] 04:00:53 right, so whenever the interpreter needs a value and has a fn, it calls that fn with no arguments 04:01:29 *chickamade* prefer Thai curry 04:01:35 So you want a variation on curry that continues to curry forever for variable length argument lists, unless it's called with no arguments. 04:01:54 If called with no arguments, it spits out the value, or raises an error if not full yet. 04:02:11 mmm .... curry 04:02:33 ok, sure. plus the syntax parsing to make it backward compatible 04:04:00 eval (define (my-+ acc) (case-lambda (() acc) ((x) (lambda (x) (+ x acc))))) 04:04:05 there 04:04:13 hm 04:04:24 not quite 04:04:27 but you get the idea 04:05:21 lemme try hacking something together I bet it's possible. 04:05:35 eval (define (my-+ acc) (case-lambda (() acc) ((x) (my-+ (+ x acc))))) 04:07:27 badtruffle [n=pumpkin@Aeropuerto.Kiewit.Dartmouth.EDU] has joined #scheme 04:11:52 xwl_ [n=user@147.243.236.60] has joined #scheme 04:12:37 -!- Modius [n=Modius@adsl-70-240-14-157.dsl.austtx.swbell.net] has quit [SendQ exceeded] 04:13:13 Modius [n=Modius@adsl-70-240-14-157.dsl.austtx.swbell.net] has joined #scheme 04:13:45 got it 04:14:01 -!- brweber2 [n=brweber2@ip68-100-65-167.dc.dc.cox.net] has quit [] 04:14:01 rudybot: eval (define (my-+ acc) (case-lambda (() acc) ((x) (lambda (y) (my-+ (+ x y)))))) 04:14:14 rudybot: eval (my-+ 1) 04:14:15 sohum: ; Value: # 04:14:20 rudybot: eval ((my-+ 1) 2) 04:14:20 sohum: ; Value: # 04:14:26 rudybot: eval (((my-+ 1) 2)) 04:14:27 sohum: error: #: expects 1 argument, given 0 04:14:33 hrmm 04:14:54 ok, apparently not. 04:16:23 -!- badtruffle is now known as pumpkin_ 04:17:43 -!- Nshag [i=user@Mix-Orleans-106-2-156.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 04:22:02 this seems to work, but I thought I tried it already 04:22:12 rudybot: eval (define (my-+ acc) (case-lambda (() acc) ((x) (my-+ (+ x y))))) 04:22:30 rudybot: eval ((my-+ 1) 2) 04:22:30 sohum: error: reference to undefined identifier: y 04:22:35 wait 04:22:38 rudybot: eval (define (my-+ acc) (case-lambda (() acc) ((x) (my-+ (+ x acc))))) 04:22:41 rudybot: eval ((my-+ 1) 2) 04:22:41 sohum: ; Value: # 04:22:46 rudybot: eval (((my-+ 1) 2)) 04:22:46 sohum: ; Value: 3 04:29:34 -!- chickamade [n=chickama@123.16.64.200] has quit ["Leaving"] 04:45:54 -!- yome [n=guillaum@bas4-montreal28-1177570516.dsl.bell.ca] has quit ["Ex-Chat"] 04:51:48 sohum: https://synx.us.to/code/curry-2.ss 04:52:06 That's my best shot at it. 04:52:52 incidentally, that  thing 04:52:57 is that a plt-scheme thing? 04:53:13 Uh, yeah... I mean... 04:53:18 It's the greek letter for lambda. 04:53:36 Most schemes have some way at least to use it instead of lambda. With plt it comes by default. 04:53:36 I know, but usually source files are ascii only 04:53:41 ah 04:53:49 ok, cool 04:53:54 ascii can kascii my ascii :p 04:54:34 I like using one character symbols for concepts I use over and over again often. 04:54:34 heh 04:54:46 yea, high information density ftw 04:56:16 haha yeah no way to typo lamdba if you just type  04:56:23 U+03BB 04:56:35 ok, that looks fairly cool, I'll have to sit down and understand it. what's that [] syntax? 04:56:56 It's just a visual convenience, plt interprets it like parentheses. 04:56:59 well, you can typo  or ;) 04:57:01 Except ) can't close [ 04:57:03 ah 04:57:06 ok then 04:57:41 (I thought [] were valid characters for variable names, though? 04:57:54 not a clue. 04:58:20 -!- hadronzoo [n=hadronzo@gateway.publicvpn.net] has quit [] 04:58:24 trickiest thing I do is make-keyword-procedure. curry-call always returns a (keyword) procedure, but that procedure may or may not recurse on curry-call. 04:59:00 Oh and keyword-append because plt keywords suck and require you to order two independent lists at once :p 04:59:16 I just make an a-list and mess with that instead. 04:59:29 guile at least works properly with (define [ab] ...) 04:59:52 as in, it treats [ and ] as valid characters 05:00:01 for varying degrees of properly... 05:00:19 yea 05:00:50 That actually works in plt too. 05:00:57 huh. 05:01:23 only coincidentally though. :) 05:01:37 rudybot: eval (define [ab] 3) 05:01:44 rudybot: eval [ab] 05:01:44 synx: ; Value: 3 05:01:49 rudybot: eval ab 05:01:49 synx: ; Value: # 05:01:52 ah 05:01:54 right 05:01:56 rudybot: eval (ab) 05:01:56 synx: ; Value: 3 05:01:57 didn't think of that 05:02:41 Technically the compiler could optimize out the procedure call and replace with the unchanging value. I don't like to think overly hard about such things though. 05:02:55 ...and this is weird. inferior-scheme won't let me /type/ (define ([foo a) ...) 05:03:23 It must be inferior! 05:03:34 as in, the emacs mode 05:04:02 wow, that's ... either annoying or clever, I'm not sure which 05:04:56 drscheme has got a reeeally nice setup, where [] will type 'intelligent' parentheses. So [ normally produces (, but inside a let or a cond it will automatically turn to [. And ] does whatever the closing parentheses ought to be, whether ] ) or }. 05:05:15 rudybot: eval (define [foo (lambda (x) (+ x 5))) 05:05:16 sohum: error: eval:1:33: read: missing `]' to close preceding `[', found instead `)' 05:05:20 yea 05:05:28 Except I totally make tons of typos outside of drscheme, it really makes typing scheme a lot faster with less leaning on the shift key. 05:05:31 synx: ah! I didn't know that about [ 05:06:24 offby1: yay I'm helping! ^.^ 05:06:29 oh, wait, my bad, sorry, inferior-scheme /does/ let me type that 05:06:33 sorry, brain barf 05:07:04 offby1: and to make a [ even where not expected, ctrl+[ does that. 05:07:21 ... or not 05:07:50 no, it does not. that is clear. ok. 05:07:59 jesus, my brain is being weird today 05:08:30 my brain has had me on hold for the last 20 minutes 05:08:37 goddamn I hope I don't get forwarded to India 05:08:59 heheh 05:09:11 right, yea, that rudybot line works fine in guile 05:09:26 and you can call it via ([foo 5) 05:10:09 rudybot: eval (define foo-brace-[-inside 5) 05:10:10 sohum: error: eval:1:28: read: missing `]' to close preceding `[', found instead `)' 05:11:42 rudybot: eval (define |foo-brace-[-inside| 5) 05:11:43 *offby1: your scheme sandbox is ready 05:11:46 *offby1* whistles innocently 05:11:52 well, yea, sure 05:11:58 if you want to /escape/ it 05:11:59 rudybot: eval |foo-brace-[-inside| 05:12:00 *offby1: ; Value: 5 05:12:01 :) 05:12:13 -!- 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"] 05:12:58 and I haven't seen this (display (format format-str args)) before 05:13:17 rudybot: eval (format #t "~a" "foo") 05:13:17 sohum: error: format: expects type as 1st argument, given: #t; other arguments were: "~a" "foo" 05:13:25 ah, that's why 05:14:16 no standard for "format", as far as I know 05:14:23 every implementation does it differently 05:15:07 *nod* 05:19:00 clhs format 05:19:00 http://www.lispworks.com/reference/HyperSpec/Body/f_format.htm 05:19:51 *eli* throws a hygienic macro at Daemmerung 05:20:50 *Daemmerung* blocks with a MOP 05:22:27 *eli* swindles Daemmerung out of mopping 05:23:57 oh, for a language with the power of common lisp, the ideological cleanliness of scheme, and at least /some/ of the syntactical cleanliness of haskell 05:24:21 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 113 (No route to host)] 05:26:06 Clean syntax? Haskell? 05:26:59 clean syntax? in *my* haskell? 05:27:07 hadronzoo [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has joined #scheme 05:27:59 surely not! 05:28:10 I have to say, \x y -> is nicer than (lambda (x y) ...) :P 05:28:12 foldl (\x y -> y:(map (1+) x)) foolist 05:28:28 func = foo.bar 05:28:35 yea, it's pretty darn clean ;) 05:28:36 make it pointless :P 05:31:16 How is `func = foo.bar' cleaner than (define func (compose foo bar))? 05:31:56 that foo.bar looks dirty, maybe foo . bar 05:32:12 or `x:xs' cleaner than (cons x xs) 05:32:20 -!- bombshelter13_ [n=bombshel@209-161-231-13.dsl.look.ca] has quit [Client Quit] 05:33:37 shorter, for one 05:33:46 I wouldn't mind (: x xs) 05:34:08 so (define : cons) 05:34:09 :) 05:34:15 and confuse your readers. 05:34:18 yea, but then everyone reading your code needs to - yea 05:34:43 sohum: Yes, it's shorter, might be easier to read for some people (apply the usual infix flames here), etc -- but how is it *cleaner*? 05:35:39 eli: Do you know offhand how the 3m gc detects Scheme object references on the C stack? 05:36:25 foof: Roughly like what you said before. 05:36:43 OK 05:36:51 Plus a bunch of stuff to mark in structs which of them are pointers, etc. 05:37:02 (5+)  (lamdba (x) (+ x 5)) for one. that falls out of a the whole fns have only one argument thing 05:37:29 It's the only sane thing I can think of, I'm just not looking forward to uglifying my code to put in the appropriate bookkeeping :/ 05:37:31 foof: You can probably run the transformation independent of plt -- jonrafkind was playing with applying it to the linux kernel or something. 05:37:51 yes 05:38:21 sohum: "the whole fns have only one argument thing" (which is more commonly known as currying) is completely independent of syntax. 05:38:58 eli: true, but the syntax makes good use of it to simplify expressions down to their highest information density 05:39:20 sohum: And yes, there are some very nice outcomes from having everything curried by default -- but there's also a price: no variable arity functions and everything that that allows. 05:40:14 sohum: And "highest information density" is certainly not a property of haskell and not a property that I would call "clean" -- or I'd design a language where source code must be compressed. 05:40:26 eli: which they get around with lists, which is how we handle variable arity functions anyway 05:40:58 eli: ok, "highest human-readable information density, without getting into tricks that make the code look like line noise" 05:41:07 if you want highest information density, use APL :) 05:41:14 oh 05:41:16 :( 05:41:41 what's that language that implements APL into ascii? 05:41:45 sohum: pumpkin_ makes a good point -- I'd add Perl to the list too. 05:42:17 sohum: That is, some people would consider `x.y' and `x:y' exactly as "tricks that make the code look like line noise". 05:42:38 haskell can go overboard sometimes with its flexible operators 05:43:01 sohum: And BTW, saying that we handle variable arity functions with lists is not entirely correct either. 05:44:18 malbolge is where it's at 05:44:24 sohum: "J" is the language you're thinking of 05:45:07 eli: there's a balance to be struck between no syntax and all syntax. no syntax, i.e. the lisp family, has some really powerful benefits, but adding a few simple abbreviations for commonly used operations does not hurt and infact helps 05:45:27 offby1: ahah, thankee 05:45:45 in something so regular as lisp though, adding significant sugar to the syntax would just feel dirty :P 05:45:58 sohum: sounds like you've been reading Paul Graham 05:46:10 offby1: I have? this is news to me 05:46:21 if you've already got an "organic" syntax (whatever that means), it's easier to add syntactic sugar 05:46:26 I dunno, I maybe full of it :) 05:46:42 sohum: You're missing my point; or rather you're missing your own point: you were talking about "clean". I completely agree with your point, but "clean" does not equal a bunch of things. 05:47:15 IceD^ [n=theiced@93.84.112.80] has joined #scheme 05:47:18 s/agree with your point/agree with your last point/ 05:47:34 pumpkin_: I'm not sure how it is in schemeland, but cl has this convention that globals are declared *global*. sbcl will actually complain if you define a non global with asterisks and if you define a global without asterisks 05:48:32 eli: ok, cleanliness is subjective. for me, it's that definition I threw up, "high information density, but no line noise". with a certain k constant that manages the trade-off 05:50:10 "But subjectivity is objective!" -- Cousin Sonia 05:50:15 sohum: That's a very odd definition of "cleanliness". 05:50:57 eli: I think I /am/ missing my own point. gimme a sec... 05:55:57 eli: The best I can formalise it is with that example of (fn a) again. it's a case where the syntax and the semantics of the language conspire so as the resulting sequence of characters "look like syntactic sugar" but aren't. 05:56:42 "look like syntactic sugar" = "looks like an expression in a special purpose minilanguage designed to compactly and legibly encode certain information" 05:57:02 sample "J" code: comb2 =: (, #: I.@,@( yea, I looked over the J code examples and decided it didn't really help my case ;) 05:59:21 sohum: That's a fine feature of Haskell, but not related to syntactic cleanliness. (If anything, consider the fact that you're mentioning semantics -- and semantics has nearly nothing in relation to the syntax, as Scheme can demonstrate very effectively.) 06:00:05 sohum: I'd argue it is related, because though syntax and semantics can be orthogonal, that doesn't mean that they /should be/ 06:00:11 bah 06:00:14 eli: ^ 06:00:42 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 60 (Operation timed out)] 06:01:11 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [Read error: 113 (No route to host)] 06:01:55 ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has joined #scheme 06:03:06 sohum: Well, as long as we're splitting hairs, I can just as well point out that from a *syntactical* point of view, forcing any design decisions based on the semantics will only get you a *less* clean result -- one that is dictated by external reasons. This is why Scheme's syntax is so absolutely clean: it doesn't depend in any way on any semantics. 06:03:55 (In fact, the s-expression syntax was intended to (roughly) represent parse trees in a compiler, not as a human-read/write-able form of source code.) 06:12:23 -!- aspect [n=aspect@abstracted-spleen.org] has quit ["Reconnecting"] 06:12:28 aspect [n=aspect@abstracted-spleen.org] has joined #scheme 06:17:12 -!- sohum [n=sohum@unaffiliated/sohum] has quit [Read error: 104 (Connection reset by peer)] 06:18:03 sohum [n=sohum@unaffiliated/sohum] has joined #scheme 06:18:18 bah, think I froze irssi or something 06:18:56 missed everything since :01 06:21:20 slava [n=slava@li13-154.members.linode.com] has joined #scheme 06:21:39 I recall there was a lot of controversy about R6RS when it was first released; what was that all about? 06:23:23 I'm not an insider by any means, but I think it was about case sensitivity 06:23:44 (sohum : see ) 06:25:02 (ski: thankee) 06:27:15 eli: I know what the sexp syntax was meant to represent, and I agree that it gives powerful, powerful benefits. I just disagree that language design should look at syntactical and semantic considerations separately 06:27:47 eli: if you like, call it "language cleanliness", though that implies its about the fundamentals of the language, which is not what I'm talking about 06:30:13 -!- IceD^ [n=theiced@93.84.112.80] has quit ["Leaving"] 06:32:04 -!- slava [n=slava@li13-154.members.linode.com] has left #scheme 06:33:15 sohum: Well then... (a) "language cleanliness" is a much wider concept than "syntactical cleanliness"; 06:33:43 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:33:46 (b) re your disagreement about "language design" (I take it that you mean both the concrete syntax and the semantics) -- I disagree with your disagreement, and Scheme in general disagrees with you too. 06:35:35 eli: re (a) the reason I didn't use it is because that sounds like I'm talking about the semantics only. the issue is clearly /more/ to do with syntax than semantics, if only because syntax is more malleable 06:35:57 eli: re (b) and that's fine. I'd just like a language that agrees ;) 06:37:00 sohum: (...a) You could just clarify; (...b) I don't think that Scheme will make you happy then. 06:38:04 eli: that is, from my perspective, the one real problem with the lisp family. "it's the worst, except for all the others" ;) 06:38:45 I'd even argue that most of the family's other problems stem from that, but that's a different discussion 06:43:48 sohum: I don't know what "it's the worst, except for all the others" is supposed to mean in this context. 06:45:13 eli: you know that old chestnut, "democracy is the worst political system we've tried, except for all the others" ? 06:47:38 worse is better anyway, if soviet union was a democracy we'd all be speaking japanogerman now. 06:48:12 (sohum: Yes, I know that, but what I don't understand is how this applies to lisp...) 06:51:13 ejs [n=eugen@118-31-178-94.pool.ukrtel.net] has joined #scheme 06:51:44 (eli: it was just a snarky way to say that though the family has its problems, it's probably the best thing around. i.e., "it's the worst language we've tried, except for all the others.") 06:52:08 (except for maybe factor, which I really need to look into) 06:55:24 amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has joined #scheme 06:55:34 sohum: Oh, scheme definitely has it's baggage... 06:58:10 -!- maskd [n=maskd@unaffiliated/maskd] has quit [Read error: 60 (Operation timed out)] 07:02:14 ASau` [n=user@host192-230-msk.microtest.ru] has joined #scheme 07:04:28 maskd [n=maskd@2001:470:1:41:a800:ff:fe59:ad66] has joined #scheme 07:04:33 wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has joined #scheme 07:18:41 -!- bweaver [n=user@c-68-60-0-190.hsd1.tn.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:22:24 Ran [n=Ran@81-226-215-80-no31.tbcn.telia.com] has joined #scheme 07:25:25 -!- mogunus [n=user@173-9-7-10-New-England.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 07:26:13 mmc [n=mima@esprx02x.nokia.com] has joined #scheme 07:28:17 majhool [n=mrw@user-118bgr6.cable.mindspring.com] has joined #scheme 07:30:18 -!- ejs [n=eugen@118-31-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 07:32:54 attila_lendvai [n=ati@89.132.189.132] has joined #scheme 07:33:38 mike [n=m@dslb-088-067-026-058.pools.arcor-ip.net] has joined #scheme 07:34:06 -!- mike is now known as Guest11966 07:38:13 it will be obvious i didn't RTFM, where M is SICP, but suppose i have (cond ( > x y) 1 (a) (b)) 07:38:53 well the parens don't balance, but my question is: how do i make a multiple functions? 07:39:10 specifically i'd like to (display ) something before recursing 07:42:52 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Read error: 131 (Connection reset by peer)] 07:44:05 chickamade [n=chickama@123.16.64.200] has joined #scheme 07:44:23 -!- majhool [n=mrw@user-118bgr6.cable.mindspring.com] has quit ["Leaving"] 07:45:26 is there a major scheme interpreter/compiler that is self hosting? 07:46:23 antoszka [n=antoszka@chello087206248143.chello.pl] has joined #scheme 07:57:14 -!- chickamade [n=chickama@123.16.64.200] has quit [Remote closed the connection] 07:57:21 -!- raikov [n=igr@60.32.127.43] has quit [Remote closed the connection] 07:57:43 ken-p [n=unknown@84.92.70.37] has joined #scheme 08:20:53 chickamade [n=chickama@123.16.64.200] has joined #scheme 08:24:05 is there a major scheme interpreter/compiler that is written in Scheme? 08:27:43 offby1: stretch? 08:29:02 scheme48 for one... 08:33:19 cracki [n=cracki@40-157.eduroam.RWTH-Aachen.DE] has joined #scheme 08:37:30 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 08:39:01 orgy` [n=ratm_@pD9FFE398.dip.t-dialin.net] has joined #scheme 08:51:45 sladegen: you're right, although it seems that is not the whole truth, it looks like the Scheme that scheme48 uses compiles into C 08:52:51 so it actuallys contain two Schemes, PreScheme and Scheme48 09:01:38 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 09:01:51 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 09:08:45 rdd [n=user@c83-250-152-109.bredband.comhem.se] has joined #scheme 09:15:58 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 113 (No route to host)] 09:16:23 X-Scale2 [n=email@89.180.151.164] has joined #scheme 09:16:44 alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has joined #scheme 09:17:10 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 113 (No route to host)] 09:23:22 -!- X-Scale [n=email@89.180.188.211] has quit [Nick collision from services.] 09:23:37 -!- X-Scale2 is now known as X-Scale 09:23:59 -!- chickamade [n=chickama@123.16.64.200] has quit ["Leaving"] 09:28:27 Ran_ [n=Ran@81-226-215-80-no31.tbcn.telia.com] has joined #scheme 09:35:37 mejja [n=user@c-f6b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 09:47:30 -!- Ran [n=Ran@81-226-215-80-no31.tbcn.telia.com] has quit [Read error: 110 (Connection timed out)] 10:09:32 -!- rstandy [n=rastandy@net-93-144-225-1.t2.dsl.vodafone.it] has quit [Remote closed the connection] 10:12:33 mike_ [n=m@dslb-088-066-245-165.pools.arcor-ip.net] has joined #scheme 10:13:01 -!- mike_ is now known as Guest68580 10:18:19 -!- m811 [n=user@234.191.191.90.dyn.estpak.ee] has quit [""If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will] 10:18:49 -!- sanguinev [n=sanguine@116.197.145.49] has quit [Remote closed the connection] 10:22:19 -!- Guest11966 [n=m@dslb-088-067-026-058.pools.arcor-ip.net] has quit [Read error: 110 (Connection timed out)] 10:23:33 sanguinev [n=sanguine@116.197.145.49] has joined #scheme 10:29:31 jewel [n=jewel@dsl-242-158-152.telkomadsl.co.za] has joined #scheme 10:42:55 mike_ [n=m@dslb-088-066-232-121.pools.arcor-ip.net] has joined #scheme 10:43:23 -!- mike_ is now known as Guest92140 10:43:47 -!- Guest68580 [n=m@dslb-088-066-245-165.pools.arcor-ip.net] has quit [Read error: 60 (Operation timed out)] 10:44:29 puchacz [n=puchacz@87.194.5.99] has joined #scheme 10:53:35 -!- etoxam [n=etoxam@84.79.67.254] has quit [Read error: 110 (Connection timed out)] 11:05:08 athos [n=philipp@92.250.250.68] has joined #scheme 11:10:31 extoxam [n=extoxam@84.79.67.254] has joined #scheme 11:13:49 mike_ [n=m@dslb-088-066-224-241.pools.arcor-ip.net] has joined #scheme 11:14:17 -!- mike_ is now known as Guest35708 11:18:29 Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has joined #scheme 11:22:24 -!- Guest92140 [n=m@dslb-088-066-232-121.pools.arcor-ip.net] has quit [Read error: 110 (Connection timed out)] 11:26:14 -!- rdd [n=user@c83-250-152-109.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 11:31:08 rdd [n=user@c83-250-152-109.bredband.comhem.se] has joined #scheme 11:35:31 -!- projections [n=p@88.235.101.2] has quit [Read error: 110 (Connection timed out)] 11:38:41 dfeuer [n=dfeuer@pool-71-178-188-245.washdc.fios.verizon.net] has joined #scheme 12:04:00 -!- ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has quit [Client Quit] 12:06:15 -!- rdd [n=user@c83-250-152-109.bredband.comhem.se] has quit [Remote closed the connection] 12:07:52 -!- synthase [n=synthase@68.63.19.212] has quit [Read error: 145 (Connection timed out)] 12:10:43 ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has joined #scheme 12:16:25 dzhus [n=sphinx@93-80-241-138.broadband.corbina.ru] has joined #scheme 12:18:32 rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has joined #scheme 12:22:21 k-zed [i=kzed@morecp.net] has joined #scheme 12:22:33 greetings 12:22:58 i have a somewhat implementation-specific problem 12:23:04 (i hope this is not too annoying :) 12:23:21 -!- ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has quit [Read error: 104 (Connection reset by peer)] 12:23:42 we have an internal application in our company written in mzscheme 372, using the plt web server 12:23:47 and sqlid 1.5 12:24:07 works mostly nicely, but sometimes for large outputs the server randomly resets the connection 12:24:15 so i just figured out that in these cases mzscheme segfaults 12:24:35 so i thought, why not upgrade to most recent mzscheme version (4.1.5) 12:24:50 problem is that sqlid 1.5 doesn't seem to run on mzscheme 4.* 12:24:54 because it uses set-car! 12:25:02 and we can't have set-car! in scheme, oh no :) 12:25:17 *mejja* laughs cruelly 12:26:04 i don't want to rewrite the app to use slpgsql (or whatever it's called) 12:26:18 because the semantics are totally different, and it's a standalone implementation using tcp 12:26:36 while i want to use the official pgsql client lib (because i need SSL, among other things) 12:27:07 rudybot_: eval ncons 12:27:08 i naively tried to change the module language in sqlid to "r5rs", but then (require .. isn't available 12:27:09 hkBst: your sandbox is ready 12:27:09 hkBst: error: reference to undefined identifier: ncons 12:28:25 planet seems to list sqlid in the 4.x repository as well 12:28:27 ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has joined #scheme 12:28:31 so is it possible that noone has tested this, ever? :) 12:28:46 k-zed: Your best bet is to ask it on the mailing list. 12:28:58 rudybot_: eval mcons 12:28:58 hkBst: ; Value: # 12:29:17 *eli* wonders if mejja ever says anything that is not semi-unfunny-like flamebait 12:29:18 rudybot_: eval (define pair (mcons 12 34)) 12:29:29 eli: ok, i guess there is no alternative :) 12:29:30 thanks. 12:29:42 rudybot_: (set-car! pair 543) (display pair) 12:29:42 hkBst: eh? Try "rudybot_: help". 12:29:50 rudybot_: eval (set-car! pair 543) 12:29:51 hkBst: error: reference to undefined identifier: set-car! 12:29:59 rudybot_: eval (set-mcar! pair 543) 12:29:59 k-zed: just this morning there was something about available db interfaces. 12:30:06 rudybot_: eval (display pair) 12:30:07 hkBst: ; stdout: "{543 . 34}" 12:30:22 k-zed: mutable pairs ^^ ;) 12:30:54 hkBst: i know 12:31:02 however, the use of these is in the sqlid code 12:31:06 hkBst: yes, there are mutable pairs, but I don't think that this will help k-zedmuch. 12:31:11 and it seems to update lists with it 12:31:21 so i either understand the entirety of sqlid and port it.. 12:31:29 (set-car! (cdddr (cddddr (cdddr handle))) jn) 12:31:33 etc. 12:31:56 I'm not sure how well the sqlid code was maintained anyway -- I don't remember seeing anything from the guy who wrote it in a long time. 12:33:25 hm, spgsql claims to support ssl 12:36:01 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 12:38:24 npe [n=npe@195.207.5.2] has joined #scheme 12:50:30 sohum, if you want to learn about the objections to the R6RS, read the comments on its ratification vote, particularly those on votes in opposition. 12:59:20 dlt_ [n=dlt@201.17.159.169] has joined #scheme 13:01:31 hello guys! can somebody give me a hand at discovering why this procedure doesn't return the right answer? http://pastebin.com/d47721b9d 13:05:35 *foof* guesses the procedure is incorrect 13:06:23 The other possibilities being, 1) what you think the right answer is isn't, 2) you're running your test incorrectly or 3) you're lying. 13:06:47 foof, it seems that the same-parity? procedure always return #t, do you know ehy? 13:07:06 dlt_: tell us what you expect it to return and we might be able to tell better :) 13:07:08 I don't know ehy, is he a friend of yours? o_O 13:07:22 s/ehy/why 13:08:06 this procedure should return a list with elements that have the same parity as the first number in the list 13:08:46 incubot: There is some speculation that Skynet is nothing more than a pretentious buffer overrun. 13:08:49 dlt_: write it with filter, your code is awkward 13:08:49 I have a wiki that was literally overrun by spam 13:09:00 jao` [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 13:09:03 for example (same-parity '(1 2 3 4 5)) should return (1 3 5), and (same-parity '(2 3 4 5 6 7)) should return (2 4 6) 13:09:04 sladegen: That was a cute post :) 13:09:13 incubot: good boy! 13:09:16 public transportation is pretty good though 13:09:21 AWESOME post! 13:09:29 Edico [n=Edico@unaffiliated/edico] has joined #scheme 13:10:11 dzhus, I'd wrote it without filter because I want to filter it 'by hand' on purpose 13:10:14 dlt_: hint: the way you wrote the procedure it expects to be called as 13:10:21 (same-parity 1 2 3 4 5) 13:10:37 this is a SICP exercise... 13:10:45 dlt_: what number? 13:11:01 this is not a test... 13:11:14 dlt_: there's also a ##SICP channel 13:11:48 foof, thanks! that was the problem.. I wasn't calling it right 13:12:20 dzhus, exercise number 2-20 13:13:49 dlt_: but now you're getting results like (5 3 . 1) right? 13:15:43 dlt_: http://rafb.net/p/Z5l58I66.html 13:15:45 yeah foof.. I changed the way I was calling the procedure to this (add-all-with-same-parity rest '(f)), but the '(f) is evaluating to a list with the character f instead of the argument f 13:16:05 dlt_: that's what ' does 13:16:25 '(f) is the same as (quote (f)), which is a list literal 13:16:37 To create a new list, use (list f). 13:16:57 foof, dzhus, thanks a lot, guys 13:17:18 -!- jao` is now known as jao 13:17:19 foof, it is working correctly 13:18:19 jao are you brazilian? 13:19:14 dlt_: nope, spanish 13:19:46 jao, ok 13:23:28 *foof* is Brazilian 13:23:42 ... at least in spirit whenever I eat churrascaria ^_^ 13:23:50 chickamade [n=chickama@123.16.64.200] has joined #scheme 13:25:11 mrscheme [n=user@67.110.140.180.ptr.us.xo.net] has joined #scheme 13:26:46 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:31:44 -!- ASau` [n=user@host192-230-msk.microtest.ru] has quit ["Off!"] 13:34:57 luz [n=davids@139.82.89.70] has joined #scheme 13:36:27 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:38:04 MrFahrenheit [n=RageOfTh@92.36.206.214] has joined #scheme 13:43:22 bombshelter13_ [n=greg@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has joined #scheme 13:45:04 -!- dzhus [n=sphinx@93-80-241-138.broadband.corbina.ru] has quit [Remote closed the connection] 13:51:58 -!- ken-p [n=unknown@84.92.70.37] has quit [Connection timed out] 13:55:39 -!- chickamade [n=chickama@123.16.64.200] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- dlt_ [n=dlt@201.17.159.169] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- certainty [n=david@alpha.d-coded.de] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- nasloc__ [i=tim@kalug.ks.edu.tw] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- bsund [n=bsund@213.180.77.55] has quit [brown.freenode.net irc.freenode.net] 13:55:39 -!- inimino [n=inimino@atekomi.inimino.org] has quit [brown.freenode.net irc.freenode.net] 13:56:23 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Connection reset by peer] 13:56:54 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 13:58:16 bsund [n=bsund@213.180.77.55] has joined #scheme 13:58:20 certainty [n=david@alpha.d-coded.de] has joined #scheme 13:58:37 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 13:59:52 timchen119 [i=tim@kalug.ks.edu.tw] has joined #scheme 14:01:53 Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 14:05:51 inimino [n=inimino@atekomi.inimino.org] has joined #scheme 14:10:52 dlt_ [n=dlt@201.17.159.169] has joined #scheme 14:11:43 annodomini [n=lambda@130.189.179.215] has joined #scheme 14:11:45 chickamade [n=chickama@123.16.64.200] has joined #scheme 14:20:03 -!- jewel [n=jewel@dsl-242-158-152.telkomadsl.co.za] has quit [Connection timed out] 14:20:05 dzhus [n=sphinx@95-24-94-243.broadband.corbina.ru] has joined #scheme 14:27:16 -!- attila_lendvai [n=ati@89.132.189.132] has quit ["..."] 14:37:44 -!- offby1` is now known as offby1 14:38:02 -!- dlt_ [n=dlt@201.17.159.169] has quit ["Leaving"] 14:47:17 -!- chickamade [n=chickama@123.16.64.200] has quit [Read error: 104 (Connection reset by peer)] 14:49:01 blackened` [n=blackene@ip-89-102-208-138.karneval.cz] has joined #scheme 14:53:30 xwl [n=user@114.246.90.27] has joined #scheme 14:58:28 -!- puchacz [n=puchacz@87.194.5.99] has quit [Remote closed the connection] 15:00:35 -!- bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 15:01:05 bsmntbombdood [n=gavin@97-118-129-241.hlrn.qwest.net] has joined #scheme 15:03:39 dysinger [n=tim@166.129.49.203] has joined #scheme 15:05:37 weekend! 15:09:34 yay! 15:09:35 -!- alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has quit [] 15:09:53 -!- cracki [n=cracki@40-157.eduroam.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 15:10:33 thehcdreamer [n=thehcdre@94.198.78.26] has joined #scheme 15:13:33 where?! 15:13:42 *offby1* leaps onto a chair and gathers up his skirts 15:13:51 mooto [n=mooto@59.172.140.184] has joined #scheme 15:13:59 is that a destructive predicate ? 15:14:26 -!- mmc [n=mima@esprx02x.nokia.com] has quit [Remote closed the connection] 15:17:52 well, after I said it, I found myself moved onto the chair, so I guess it is. 15:19:05 so you descructed your previous continuation 15:27:25 -!- mooto [n=mooto@59.172.140.184] has quit ["Leaving"] 15:27:59 -!- Mikoangelo [i=mikael@chemwarrior.meta.io] has left #scheme 15:31:26 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 15:33:28 cornucopic [n=r00t@115.241.79.193] has joined #scheme 15:35:05 -!- MrFahrenheit [n=RageOfTh@92.36.206.214] has quit [Read error: 110 (Connection timed out)] 15:46:19 -!- xwl [n=user@114.246.90.27] has quit [Read error: 113 (No route to host)] 15:49:04 saccade [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 15:51:10 -!- ASau [n=user@193.138.70.52] has quit [Read error: 104 (Connection reset by peer)] 15:53:33 hotblack23 [n=jh@p5B054E99.dip.t-dialin.net] has joined #scheme 15:57:05 -!- joast [n=rick@76.178.184.231] has quit [Remote closed the connection] 15:59:40 joast [n=rick@76.178.184.231] has joined #scheme 15:59:40 Riastradh, ping. wanted to discuss about https://savannah.gnu.org/bugs/index.php?24338 16:02:27 pitui [n=pitui@135.207.174.197] has joined #scheme 16:11:25 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 16:14:17 Anybody knowing a free NNTP server providing comp.lang.scheme? 16:16:29 -!- orgy` [n=ratm_@pD9FFE398.dip.t-dialin.net] has quit ["Gone."] 16:17:24 rotty: some university's? 16:17:38 my uni doesn't provide nntp, it seems 16:19:36 -!- saccade [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 16:20:31 google? 16:20:36 your ISP? tanstaafl 16:20:54 (SRSLY, haven't heard of a free newsfeed in a long, long time) 16:21:00 leppie: google doesn't do NNTP. 16:21:16 and my ISP doesn't do it either. 16:21:18 I was about to suggest google 16:21:29 alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has joined #scheme 16:21:46 did you google "free nntp"? I see a number of likely hits 16:21:56 dont they have an upstream provider that does? 16:22:09 from google, the best you can get is an about-once-per day summary mail for each newsgroup, stripped of most of the meta-info. 16:23:07 bah: "Unable to contact server public.teranews.com: 400 Too many connections in your class" 16:23:16 *sladegen* used to use news.task.gda.pl looooong time ago... 16:23:31 offby1: the google result look a bit better now (I tried that about a month ago to no avail) 16:23:52 perhaps ro at least... 16:24:25 hmm ... does gmane not do nntp? 16:24:42 I suppose they do, but only for mailing lists, and not traditional newsgroups 16:25:44 gnus may be a creeping horror, but gmane is pretty slick. 16:25:55 they used to call them mail-to-nntp gateways. 16:29:44 textnews.news.cambrium.nl seems to work. 16:30:35 indeed 16:31:12 I wonder if some of the "Big Four" -- Yahoo, Microsoft, AOL, Google -- offer nntp. (OK, we ruled out Google earlier.) 16:32:01 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 16:33:46 Yikes! "netnews" has certainly gotten even more chaotic in the ten-or-so years since I last looked in at it. 16:34:12 haha Usenet 16:34:14 enjoy your spam 16:34:18 LOLUSENET 16:34:57 synx: yeah,the one group I picked semi-randomly appears to be 100% spam 16:35:42 newsgroups are pretty awful. No protection against impersonation, ergo no general way to block spam. 16:36:54 how's that different from email? 16:37:13 not that I'm saying you claimed it -was- different 16:37:22 I was gonna say :) 16:37:29 You know what a big fan of email I am. 16:37:51 oooohhhh yeah ... 16:38:03 I'd sorta forgotten that, actually :) 16:39:43 newsgroups are less direct than email, so you could get the same post from a lot of different servers. There is the Path: header but it can be spoofed too in many cases. 16:40:08 But it's true that it's almost impossible to prevent spammers from flooding a mailing list. Any mailing list. 16:41:55 I'm kind of mystified why it isn't more common actually. You just find the address of a subscriber, and generate a million emails with that in the From: field. 16:50:47 cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has joined #scheme 16:51:15 theunixgeek [n=patrick@201.53.244.231] has joined #scheme 16:51:29 What are the main differences between "common" Lisp and Scheme? 16:53:17 theunixgeek: probably one of the major differences is Lisp-2 vs. Lisp-1. 16:53:37 rotty: Lisp-1 has only one namespace and Lisp-2 can have multiple, right? 16:54:36 -!- theunixgeek [n=patrick@201.53.244.231] has left #scheme 16:55:02 theunixgeek: yes. functions live in a different namespace (as opposed to "regular" values in CL, whereas Scheme has only one namespace. This is why Scheme doesn't have (and doesn't need) `funcall', for example. 16:56:03 inimino: vafancullo 16:56:13 oops! 16:56:36 Rude, dude 16:56:40  16:56:40 incubot: vafancullo squared! 16:56:43 pi is (letrec((ataninvint(let((precision(expt 10 -15)))(lambda(x)(let*((result(/ 1 x))(x-squared(* x x)))(let calc-term((divisor 1)(term result)(result result)(op+ -)(op- +))(if(< term precision)result(let*((divisor(+ divisor 2))(term(/ term x-squared))(result(op+ result(/ term divisor))))(calc-term divisor term result op- op+)))))))))(exact->inexact(*(-(*(ataninvint 5)4)(ataninvint 239))4))) 16:56:50 ouch 16:57:09 incubot: mistabcompletion. 16:57:20 *sladegen* lafs. 16:57:49 one nick per letter please. 16:58:52 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 16:59:16 -!- cornucopic [n=r00t@115.241.79.193] has quit [Read error: 113 (No route to host)] 17:00:56 Nshag [i=user@Mix-Orleans-106-3-40.w193-248.abo.wanadoo.fr] has joined #scheme 17:01:09 lol 17:03:56 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 17:04:48 Daemmerung: not rude it just kinda befit theunixgeek's departure and variable/function split needing funcall, i'm not even sure if it's spelled that way. 17:06:40 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 17:11:27 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 17:17:21 -!- ct2rips [n=ct2rips@blfd-4db1d2e9.pool.einsundeins.de] has quit [Remote closed the connection] 17:19:58 npe_ [n=npe@195.207.5.2] has joined #scheme 17:21:21 -!- npe [n=npe@195.207.5.2] has quit [Read error: 60 (Operation timed out)] 17:21:51 -!- npe_ [n=npe@195.207.5.2] has quit [Client Quit] 17:23:52 -!- jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 17:27:27 bweaver [n=user@64-139-72-146-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 17:37:32 sepult [n=sepult@xdsl-87-78-30-194.netcologne.de] has joined #scheme 17:39:55 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 17:40:04 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:40:06 synx, newsgroups don't have "no" way of preventing impersonation. There are many ways, just as there are many ways of authenticating email, or indeed of authenticating any digital document. It's just not built into the transport protocol. There's no reason you can't use GPG over Usenet and tie that into your score file. 17:41:13 GnuPG is laughably obscure I have to say. Plus it only can sign parts of the message body, not the message itself, so you still would have to get the spams. 17:41:46 *gnomon* shrugs 17:41:59 Obscure or not, it's a brilliant tool. You're hanging out in #scheme, if I may remind you. 17:42:09 heh! 17:42:18 haha point 17:42:28 :) 17:42:49 I use PGP. It just has some crippling faults. 17:46:12 -!- alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has quit [] 17:48:15 -!- dysinger [n=tim@166.129.49.203] has quit [] 17:50:33 -!- kniu [n=kniu@OVERLORD.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 17:50:37 kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has joined #scheme 17:52:24 -!- dzhus is now known as dzhus[afk] 17:57:09 antoszka_ [n=antoszka@unaffiliated/antoszka] has joined #scheme 18:10:12 -!- rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has quit ["leaving"] 18:11:30 dysinger [n=tim@c-98-246-183-155.hsd1.or.comcast.net] has joined #scheme 18:12:53 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 18:13:17 -!- antoszka_ is now known as antoszka 18:13:53 melgray [n=melgray@70.99.250.82] has joined #scheme 18:17:35 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 18:21:50 -!- langmartin [n=user@exeuntcha.tva.gov] has quit [Client Quit] 18:23:44 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 18:23:54 -!- z0d [n=z0d@unaffiliated/z0d] has quit ["leaving"] 18:23:58 synx, do you expect to inspire someone to design, implement, and deploy newer, fancier, goodier substitutes for Usenet and email, by complaining here? 18:24:24 Oh yes entirely. Whine bitch moan. 18:24:25 saccade [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 18:25:00 -!- wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has quit [] 18:28:36 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 18:34:07 -!- dzhus[afk] is now known as dzhus 18:53:03 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 18:53:32 athos [n=philipp@92.250.250.68] has joined #scheme 18:53:38 -!- pitui [n=pitui@135.207.174.197] has quit [Remote closed the connection] 19:00:44 -!- dzhus [n=sphinx@95-24-94-243.broadband.corbina.ru] has quit ["-__"] 19:11:39 alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has joined #scheme 19:13:10 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 19:23:23 projections [n=projecti@88.235.101.2] has joined #scheme 19:26:58 -!- alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has quit [] 19:27:25 -!- cads [n=max@c-76-122-89-218.hsd1.ga.comcast.net] has quit [Remote closed the connection] 19:30:21 -!- dysinger [n=tim@c-98-246-183-155.hsd1.or.comcast.net] has quit [] 19:37:26 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 19:38:45 -!- Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has quit [Read error: 60 (Operation timed out)] 19:39:09 tailot [n=film@adsl-ull-197-55.51-151.net24.it] has joined #scheme 19:40:38 Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has joined #scheme 19:45:57 -!- tailot [n=film@adsl-ull-197-55.51-151.net24.it] has left #scheme 19:47:10 ken-p [n=unknown@84.92.70.37] has joined #scheme 19:48:41 ddvlad [n=vlad@p5.eregie.pub.ro] has joined #scheme 19:49:05 HG` [n=wells@xdslfn110.osnanet.de] has joined #scheme 19:49:10 hey, is there a (standard) scheme function for calculating the cubic root of a number? 19:49:50 yes 19:50:09 (lambda (x) (expt x (/ 3))) 19:51:08 geckosenator: thanks, that was a true no-brainer :) 19:51:25 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 19:58:28 -!- Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has quit [Read error: 110 (Connection timed out)] 20:14:52 alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has joined #scheme 20:16:34 -!- HG` [n=wells@xdslfn110.osnanet.de] has quit [Client Quit] 20:17:23 -!- kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 20:18:29 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has quit [Remote closed the connection] 20:20:25 kniu [n=kniu@OVERLORD.RES.CMU.EDU] has joined #scheme 20:23:46 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit ["foo"] 20:24:00 -!- mrscheme [n=user@67.110.140.180.ptr.us.xo.net] has quit ["bar"] 20:26:01 -!- Modius [n=Modius@adsl-70-240-14-157.dsl.austtx.swbell.net] has quit [Connection timed out] 20:27:23 hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has joined #scheme 20:27:53 norvig's PAIP or norvig-russel's AI? 20:28:01 quick; i have to pack 20:28:36 hadronzoo__ [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has joined #scheme 20:29:03 incubot: fuck it; paip it is 20:29:06 paip? 20:29:08 yes 20:32:24 -!- kniu [n=kniu@OVERLORD.RES.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 20:32:55 AIMA. 20:34:42 -!- alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has quit [Connection timed out] 20:40:05 rdd [n=user@83.250.152.109] has joined #scheme 20:45:54 -!- hadronzoo_ [n=hadronzo@gateway.publicvpn.net] has quit [Read error: 110 (Connection timed out)] 20:47:06 -!- hadronzoo [n=hadronzo@ppp-70-251-98-238.dsl.rcsntx.swbell.net] has quit [Read error: 110 (Connection timed out)] 20:48:47 npe [n=npe@91.179.104.2] has joined #scheme 20:52:36 -!- hadronzoo__ is now known as hadronzoo 20:53:05 -!- Deformative [n=joe@c-71-238-45-45.hsd1.mi.comcast.net] has quit [SendQ exceeded] 20:56:10 geckosenator: Or: (if (< x 0) (- (expt (- x) (/ 3))) (expt x (/ 3))) 20:58:04 ak70 [n=ak70@195.158.94.48] has joined #scheme 20:59:03 -!- ak70 [n=ak70@195.158.94.48] has left #scheme 21:00:32 rudybot_: eval (expt (expt -8 (/ 3)) 3) 21:00:33 Daemmerung: your sandbox is ready 21:00:33 Daemmerung: ; Value: -8.0+3.1086244689504383e-15i 21:01:04 Daemmerung: That's interesting. I thought some implementations don't like non-integer powers with negative bases. 21:01:12 cky why? 21:01:21 mine is simpler 21:01:54 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 21:01:56 geckosenator: I agree yours is simpler. Like I said, I thought some implementations don't like non-integer powers with negative bases. But maybe I'm wrong. 21:02:07 oh some dont 21:02:55 rudybot_: (expt -27 (/ 3)) 21:02:56 geckosenator: eh? Try "rudybot_: help". 21:03:00 rudybot_: eval (expt -27 (/ 3)) 21:03:01 geckosenator: your sandbox is ready 21:03:01 geckosenator: ; Value: 1.5000000000000004+2.598076211353316i 21:03:07 Heh, complex values. 21:03:08 it worked 21:03:14 heh 21:03:20 I wonder how non-complex-supporting implementations handle it. 21:03:36 the give me nan 21:03:39 at least oen does 21:03:48 which is what the c pow function would give 21:04:14 but not the c cpow function would 21:04:52 Yeah, that makes sense. 21:05:01 The version I have would give real answers every time. :-) 21:05:24 Real in the mathematical sense, not in the "lay" sense, although that's true too. :-P 21:05:57 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:06:32 I would rather give imaginary ones 21:06:35 but different conjugates 21:06:43 and sometimes real ones too 21:07:10 Heh, have the function randomly pick from one of the 3 possible answers. :-P 21:08:07 but what if there are 12 answers? 21:08:13 or 1000 21:08:53 Well, for cube roots, I can imagine 3 answers: the answer rudybot showed, its conjugate, and the real version. 21:09:14 wel waht about for 10th roots? 21:09:20 I mean 11th roots 21:09:26 Hehehehe. :-) 21:09:33 rudybot_: eval (expt -27 (/ 11)) 21:09:34 geckosenator: ; Value: 1.294689951437083+0.380155269883015i 21:09:36 Well, then there are 11 answers. :-P 21:09:42 it should return a stream 21:09:57 because in some expressions there could be infinite answers 21:10:00 That's right! 21:10:10 or none 21:11:27 *cky* 's brain just got a little twisted by the idea of multi-value returns, with promise objects: a pseudo stream. Except, multi-values do have a finite size. Hmm. 21:13:13 I do want to write a generalised nth-root function that returns all the values as a multi-value return. :-) 21:13:28 That's probably only possible with integer n, but still. 21:15:30 mokogobo [n=mokogobo@pcp075595pcs.unl.edu] has joined #scheme 21:19:09 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 21:21:14 rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has joined #scheme 21:27:36 alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has joined #scheme 21:40:21 -!- bombshelter13_ [n=greg@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has quit [] 21:40:59 Ran__ [n=Ran@81-226-215-80-no31.tbcn.telia.com] has joined #scheme 21:52:03 -!- Adrinael [i=adrinael@rid7.kyla.fi] has quit [Client Quit] 21:52:56 -!- npe [n=npe@91.179.104.2] has quit [] 22:01:07 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:07:44 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit [Remote closed the connection] 22:09:25 -!- Ran_ [n=Ran@81-226-215-80-no31.tbcn.telia.com] has quit [Connection timed out] 22:11:26 Adrinael [n=adrinael@barrel.rolli.org] has joined #scheme 22:16:47 Judofyr [n=Judofyr@81.191.155.52] has joined #scheme 22:31:42 -!- hotblack23 [n=jh@p5B054E99.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 22:32:07 synthase [n=synthase@68.63.19.212] has joined #scheme 22:32:48 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 22:40:26 cky, there are may values that satisfy certain properties involving roots of polynomials or roots of hairier functions, but for each pair of arguments a, b (provided that a is nonzero), there is a unique value of (EXP (* b (LOG a))) where LOG computes the principal branch of the logarithm. This is what (EXPT a b) gives. 22:42:58 `Many values', even. 22:43:55 Riastradh: That makes sense. I don't actually have an idea (yet; I'm sure I've been taught it, but I've forgotten) of how negative logarithms are calculated (and thus what principal branch means), but I will look into it. Thanks! 22:48:05 In real analysis, one often defines the logarithm log x = \int_1^x (1/t) dt, and proves that it is an increasing function whose value at 1 is 0. It is continuous by the FTC, and so it is invertible, and one calls its inverse the exponential function, written exp x. 22:48:31 xwl [n=user@114.245.139.170] has joined #scheme 22:49:41 It also has various nice properties, such as log (a b) = log a + log b, and so on; and the exponential function has the opposite properties, exp (a + b) = (exp a) (exp b), &c.; this means that the exponential function agrees with the usual notions of exponentiation to integral powers, i.e. exp n = exp (1 + ... + 1) = (exp 1) ... (exp 1) = (exp 1)^n, and indeed the same is so of rational powers, and so on. 22:50:02 -!- rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has quit ["leaving"] 22:51:00 Thus if x is a rational number, and a is any real number, the `usual' definition of a^x agrees with exp (x log a). This suggests that we can extend the notation a^x to any real number x by defining it to be exp (x log a). 22:52:02 Unfortunately, when you extend the exponential function by analytic continuation to the complex plane, it turns out not to be invertible any longer, because it's 2 pi i-periodic, i.e. exp a = exp (a + 2 pi i), since exp (2 pi i) = 1. 22:52:58 So it no longer makes sense to say `the' logarithm of a complex number, because if z is a complex number, there are many possible values of w so that z = exp w. Fortunately, the set of such possible values is very simple: each element differs from each other element by an integral multiple of 2 pi i. 22:53:51 Some authors will write `Log z' to denote this *set* of complex numbers. A branch of the logarithm function is a choice of an element of each of these sets. 22:54:48 (Some authors write `log z' for the set, and `Log z' for the principal branch, too.) 22:55:50 *nods* That all makes sense. I guess the principal branch is the one with the least number of (2 pi i) added on? 22:56:05 The principal branch is the branch in which the chosen element is that whose imaginary part is in the interval (-pi, pi]. 22:56:13 *nods* 22:57:06 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 113 (No route to host)] 22:57:12 Branches have many unpleasant properties, such as not being differentiable, or even continuous, on the whole complex plane. 22:57:38 amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has joined #scheme 22:57:48 la la la 22:58:13 So, are you saying that on the complex plane, each branch is a non-continuous point? 22:58:15 It is also not always the case that if log z is the principal logarithm of z, then log (z^w) = w log z. 22:59:40 -!- amca [n=amca@CPE-121-208-82-97.qld.bigpond.net.au] has quit [Client Quit] 23:00:07 ...er, sorry, I don't know what you mean by a `non-continuous point'. A branch of the logarithm is a function from C to C. (C is the complex plane.) It's not necessarily continuous because, for example, if you consider log (-1 - .0001i), log (-1 - .00000001i), &c., you don't approach the same value as what you approach from log (-1 + .0001i), log (-1 + .0000001i), &c. 23:00:35 The first sequence approaches -pi, but the second sequence approaches pi. 23:01:04 Right, like tan approaching pi/2. 23:01:18 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 23:01:24 Not quite, just a visual image I'm trying to work with. 23:01:41 Arctan may be better to think about here -- it's more closely related. 23:01:56 *nods* 23:02:50 I wish I had a good suggestion for an introduction to complex analysis, but I don't know of one that I've been satisfied with. 23:03:25 The most common one, I suppose, is Lars Ahlfors', but I wasn't too keen on it. 23:03:40 *nods* Thanks for what you've explained so far. :-) Except for the last bit (which I'll have to sit with for a while), the rest of it was easy enough to understand. 23:04:11 Sorry, let me clarify a little bit; I think what I said was somewhat confusing: 23:05:33 I remember at university, I enrolled in a complex analysis course, and quit that course after two days. That was probably the only course I quit; it was _that_ over my head at the time (that was 10 years ago, when I was 18; I've found that my ability to grasp high-level concepts improves with age). :-) But yes, please continue. 23:06:13 You can extend the exponential function to the whole complex plane (in one of several manners: the computationally easiest is by computing its Taylor series on the real numbers, and then proving that that converges on the complex numbers too; the quickest is with analytic continuation; the most unmotivated is to say exp (i t) = sin t + i cos t, and then to extend to all of C)... 23:07:01 ...but the resulting function exp : C -> C is no longer invertible, because exp (z + 2 pi i) = exp z. Hence if we say Log z = exp^(-1) z, we must accept a set of complex numbers, not a single complex number, as the value of Log z; in other words, Log z = { w \in C : exp w = z }. 23:07:12 This is `the complex logarithm'. 23:07:20 *nods* 23:07:35 A branch of the complex logarithm is a function f : C -> C such that for any z in C, f(z) \in Log z. 23:08:13 (In general, when you have a map F : C -> \PowerSet(C) [where the power set of a set is the set of all its subsets], a branch of F is a function f : C -> C such that f(z) \in F(z).) 23:09:28 f12 [n=sylar@87.57.191.249] has joined #scheme 23:10:07 -!- alaricsp [n=alaricsp@88-202-197-217.rdns.as8401.net] has quit [] 23:10:09 hi, how can i define a unary function that makes a list from n to m? 23:10:56 Unfortunately, no branch of the complex logarithm can be continuous everywhere. If you choose some branch, and evaluate that branch along the unit circle (so that you get i theta, where theta is 2 pi i plus the angle of the point), say starting at -1 (i.e. (-1, 0)), eventually you must hit a `jump'. 23:11:10 If your branch is continuous, the angle must increase continuously, but then when you come back around to the point (-1, 0), you have to jump discontinuously to the value you started with. 23:11:26 (Sorry, `where theta is some integral multiple of 2 pi i plus `the angle' of the point, whatever exactly `the angle' is.) 23:12:53 I'm picturing this M. C. Escher picture with the stairs, when you mentioned about jumping back to the value you started with. 23:12:53 If you just ask `what is the angle of a point on the unit circle?' for every point, eventually you'll hit a discontinuity. 23:13:23 Yep. 23:13:51 *nods* Yep, that makes sense. It's actually a good way to picture it, I think. 23:13:52 Anyway, I have to vanish now. 23:14:57 Okay. Thanks so much for your explanation! 23:16:09 I will probably come back to the IRC logs to reread this time and again. :-) 23:23:50 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 23:28:37 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 23:35:49 jao [n=jao@123.Red-79-155-155.dynamicIP.rima-tde.net] has joined #scheme 23:40:41 brandelune [n=suzume@pl130.nas933.takamatsu.nttpc.ne.jp] has joined #scheme 23:41:18 borism_ [n=boris@195.50.197.60] has joined #scheme 23:42:28 mike_ [n=m@dslb-088-064-133-241.pools.arcor-ip.net] has joined #scheme 23:42:56 -!- mike_ is now known as Guest17659 23:46:37 -!- borism [n=boris@195.50.201.161] has quit [Read error: 145 (Connection timed out)] 23:46:40 -!- mejja [n=user@c-f6b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 23:46:56 -!- rdd [n=user@83.250.152.109] has quit [Read error: 104 (Connection reset by peer)] 23:50:54 -!- f12 [n=sylar@87.57.191.249] has quit ["Leaving"] 23:51:43 jao` [n=jao@204.Red-81-32-185.dynamicIP.rima-tde.net] has joined #scheme 23:52:55 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 60 (Operation timed out)] 23:53:56 -!- Guest35708 [n=m@dslb-088-066-224-241.pools.arcor-ip.net] has quit [Read error: 110 (Connection timed out)] 23:58:37 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"]