00:00:07 MapMan [mapman@dynamic-78-8-226-30.ssp.dialog.net.pl] has joined #scheme
00:00:33 maybe, but it was a pain in the ass haha, I was just writing some sample cases and didn't get any way of knowing when to double and when to add 1
00:00:41 starting from 1
00:02:12 -!- Pepe_ [~ppjet@bouah.net] has quit [Read error: Operation timed out]
00:02:33 -!- muks [~muks@misha.banu.com] has quit [Read error: Operation timed out]
00:03:27 muks [~muks@misha.banu.com] has joined #scheme
00:03:32 -!- lbc [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Read error: Connection reset by peer]
00:04:30 Pepe_ [~ppjet@bouah.net] has joined #scheme
00:07:35 lbc [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #scheme
00:08:24 -!- nilg [~user@77.70.2.229] has quit [Read error: Connection reset by peer]
00:12:40 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 246 seconds]
00:14:11 racket's trace is GREAT =)
00:15:20 I've never used Racket's, but trace is great. :-)
00:15:39 oh, but it doesn't trace inner functions calls :(
00:17:18 -!- tronador_ [~guille@190.144.171.111] has quit [Read error: Connection reset by peer]
00:17:29 tronador_ [~guille@190.144.171.111] has joined #scheme
00:18:13 There are probably ways to configure it. I don't really know much about this stuff, but I've flicked throught that section of the Guile manual and seen all kinds of options
00:19:26 davazp [~user@201.Red-88-6-204.staticIP.rima-tde.net] has joined #scheme
00:21:30 fds: Special for you: http://codereview.stackexchange.com/q/1221/216
00:23:13 alcuadrado: "expansion passing style" is an easy way to write a tracer that does just what you want - the paper is widely available on the net
00:24:21 let me check that :)
00:25:05 pdlogan: do you mean continuation passing style or do I not know about something? :)
00:26:06 rien: nope - "expansion passing style" - kind of the same idea, but at "macro expansion time" - you pass (and potentially augment) the "expanders" that you want to apply to your forms.
00:26:27 pdlogan: awesome - I'll read up on that :)
00:30:27 cky: :-o Are you referring to me being stupid about reversing numbers back when I first met you? :-P (I've got a memory like a sieve.)
00:30:30 -!- tronador_ [~guille@190.144.171.111] has quit [Quit: tronador_]
00:31:27 But, I think that's what happened. I remember feeling very humiliated. But I got it right in the end!
00:36:00 fds: No, I wasn't referring to that, actually.
00:36:11 fds: If such a thing happened, I didn't remember it, for sure.
00:36:50 fds: You were just talking about simple solutions earlier, so I thought I'd link you something I wrote that might be classified as that. ;-)
00:37:46 is LinearML interesting: ?
00:38:17 -!- ysph [~user@75-143-85-15.dhcp.aubn.al.charter.com] has quit [Ping timeout: 255 seconds]
00:38:21 cky: Oh, well, as I remember it, someone came in here asking for help with a homework problem very similar to that one. And I suggested strng operations and Riastradh told me how stupid I was for suggesting such a thing. I quickly came up with a solution like yours there and PMed it to you, so as to not spoil the guy's homework, but still prove that I wasn't an idiot. ;-)
00:38:42 Hahahaha, awww....
00:38:46 cky: But, if that's not what you meant then I guess I can forget it again!
00:38:51 Hehehehehe.
00:41:49 transforming the number into a string to reverse it is only stupid if you're trying to solve it for the sake of it (e.g. homework).
00:43:00 masm [~masm@bl16-168-147.dsl.telepac.pt] has joined #scheme
00:43:01 I'm not sure if it was actually reversing it. But it involved separating out the digits.
00:43:27 I see
00:47:48 klutometis: that's an interesting link
00:48:02 languages that don't need garbage collectors are intriguing
00:48:58 -!- pdlogan [~patrick@75-175-5-194.ptld.qwest.net] has left #scheme
00:49:11 dnolen [~davidnole@pool-68-161-103-147.ny325.east.verizon.net] has joined #scheme
00:51:27 -!- joast [~rick@76.178.178.72] has quit [Quit: Leaving.]
00:52:12 joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has joined #scheme
00:56:21 C for example?
00:56:57 C doesn't need a garbage collector?
00:57:11 C needs a garbage collector. Trouble is, there's not enough information at run-time for a program to do it. YOU need to be the garbage collector when you write the program!
00:58:01 no
00:58:08 C just needs a capable programmer who understands C
00:58:42 Riastradh: do you know if those languages that don't need a GC (be it because they use linear logic or similar devices) are too constraining for the programmer? I know they need a "clone" or "dupe" function if you need to use a variable twice, but what else?
00:58:59 I haven't found much info on them when I was looking out of curiosity
00:59:18 Riastradh++
00:59:44 When Peter Seibel interviewed Ken Thompson, he said:
01:00:05 -!- lbc [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Remote host closed the connection]
01:00:14 (lemme find here in the book)
01:00:39 here
01:01:46 Seibel: "(...) What about garbage collection? (...) As Dennis Ritchie once said, C is actively hostile to garbage collection. (...) Is it a technology that deserves to finally be in mainstream use?"
01:02:34 there's not enough information at runtime for a program to do it? wouldn't that make it impossible to have something like the Boehm GC?
01:03:07 Thompson: "I don't know. I'm schizophrenic on the subject. If you're writing (...) something that's used by lots and lots of people, I think garbage collection is a mistake, almost. It's a cheat for you when you can do it by hand and do it better - much better."
01:03:08 The Boehm GC heuristically approximates garbage collection.
01:03:43 It is a conservative garbage collector; in other words, a bug.
01:04:00 I didn't know that. so it's really a limitation in the language C that doesn't allow for GC? interesting
01:04:04 and he continues: "But if you're writing a hack program to do a job, get an answer and then throw the program away, it's beautiful."
01:04:27 that's it.
01:05:04 so he called GCs a cheat? wow. that's a whole field of computer science and a lot of PhDs gotten from a "cheat" subject :)
01:06:09 hahaha
01:07:01 if he were here and he said "GCs are a cheat" many would consider him a troll, and rightly so.
01:10:18 GCs ARE A CHEAT, BRO
01:10:19 :P
01:10:31 rofl
01:10:40 :)
01:11:26 :)
01:11:49 U BUNCH OF CHEATERS :P
01:12:28 -!- tauntaun [~icarus@64.134.66.112] has quit [Quit: Ex-Chat]
01:12:43 lol
01:12:50 why u mad bro?
01:13:01 he's impersonating Ken Thompson
01:16:59 -!- jewel [~jewel@196-215-16-243.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds]
01:19:52 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection]
01:23:05 rageous [burli024@cs1260-15.cselabs.umn.edu] has joined #scheme
01:29:37 blueadept2 [~blueadept@cpe-24-160-96-254.tampabay.res.rr.com] has joined #scheme
01:29:41 tronador_ [~guille@190.66.173.210] has joined #scheme
01:31:25 so guys, this is turning into a head-twister
01:32:57 I'm trying to make a priority queue, so I need to add the element to an existing list
01:33:11 I'm trying to do it recursively, but that's harder than I thought
01:36:41 I pretty much say (define (enqueue node Q) ( (cond ((null? Q) ) ((higher-priority? node (car Q)) ) (else (enqueue node (cdr Q))))
01:36:46 -!- zmv [~daniel@c934a9f5.virtua.com.br] has quit [Ping timeout: 240 seconds]
01:37:05 where the is, I've tried cons, to add recursively until I have the full, proper list
01:38:37 I'm also open to doing it a different way :p
01:38:44 zmv [~daniel@c934a9f5.virtua.com.br] has joined #scheme
01:38:49 dammit, computer locked up :(
01:39:54 tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has joined #scheme
01:42:32 -!- pnkfelix1 [~Adium@c-71-224-241-168.hsd1.nj.comcast.net] has quit [Quit: Leaving.]
01:49:06 sth0KK [~Administr@125.71.39.215] has joined #scheme
01:50:46 ysph [~user@adsl-89-38-168.mgm.bellsouth.net] has joined #scheme
01:54:33 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.]
01:59:22 -!- ckrailo [~ckrailo@208.86.167.249] has quit [Quit: Computer has gone to sleep.]
02:01:13 xwl_ [~user@nat/nokia/x-uzitkxwxfqqpzqmw] has joined #scheme
02:08:44 -!- alcuadrado [~alcuadrad@host89.190-139-17.telecom.net.ar] has quit [Ping timeout: 255 seconds]
02:09:51 -!- zmv [~daniel@c934a9f5.virtua.com.br] has quit [Quit: bye]
02:12:21 '!' is generally read as "bang", i take it; what about '?': "p"?
02:13:01 also, is it generally acceptable to read '%' as "grapes" (especially in renaming macros); or is "mod" preferable?
02:13:03 Yes, I think so.
02:13:33 (That's about `?' being `p'. No idea about the grapes. :-P)
02:13:48 heh; yeah, just came across that one myself. i kind of like it.
02:15:43 pnkfelix [~Adium@c-71-224-241-168.hsd1.nj.comcast.net] has joined #scheme
02:16:43 ou can read it as "query"
02:17:11 *foof* has never heard "grapes"
02:18:29 s/ou/or/
02:18:41 actually it was s/ou/you/ :)
02:19:16 foof: http://en.wikipedia.org/wiki/Percent_sign#In_computers
02:20:27 still no one has any idea what software to use to draw contour diagrams on a linux system?
02:21:19 Harrold: something like this: ?
02:21:34 not sure what you mean; and i'm too lazy to scroll up.
02:21:38 -!- tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has quit [Quit: Ex-Chat]
02:21:56 klutometis: A contour environment diagram for scheme
02:22:27 alcuadrado [~alcuadrad@host74.200-45-92.telecom.net.ar] has joined #scheme
02:22:33 I'll try to look up a link
02:22:53 Harrold: are you talking representations of dyadic functions; or maybe topological maps?
02:26:24 rien: in general, though, isn't it nice to have a symbol -> monosyllable mapping?
02:27:00 klutometis: can I give you a link in a query?
02:27:52 klutometis: hold that thought. I have 2 good links about the nicknames of all characters
02:27:53 Harrold: have you looked at PLT Racket's PLoT library?
02:28:15 no I want to draw it myself
02:28:23 just not on paper :D
02:29:33 ckrailo [~ckrailo@utdpat242007.utdallas.edu] has joined #scheme
02:30:41 Harrold: here's a paper on PLT PLoT; page six has a 3d contour that looks to me like what you want: http://repository.readscheme.org/ftp/papers/sw2003/PLoTScheme.pdf
02:30:53 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving]
02:30:57 Harrold: sure
02:31:00 I found an example: well I found this example: http://sikaman.dyndns.org:8888/courses/3007/sophisticated-environments/More%20Environment%20Model%20Examples.pptx
02:31:00 http://tinyurl.com/4marlcc
02:32:05 OH, *that* kind of contour environment!
02:32:26 yes
02:32:28 hard to explain
02:32:40 you could have given the link to the section in SICP
02:32:51 openoffice is ont very userfriendly in drawing those
02:33:38 homie` [~levgue@xdsl-78-35-158-203.netcologne.de] has joined #scheme
02:34:16 -!- ckrailo [~ckrailo@utdpat242007.utdallas.edu] has quit [Client Quit]
02:34:41 do you want to have the tool automatically lay out the nodes and edges of the graph structure, or do you want to do the layout manually yourself?
02:35:27 -!- homie [~levgue@xdsl-78-35-186-126.netcologne.de] has quit [Ping timeout: 252 seconds]
02:35:50 I want to do the layout myself
02:36:04 I just need some tools for being able to draw the environment and do the input
02:36:57 klutometis: I found one link but not the other: http://ascii-table.com/pronunciation-guide.php
02:37:02 I would probably still suggest starting with PLT Racket. See for example Matthew Flatt's examples from his paper on PLT Slideshow
02:37:10 Slideshow paper: http://www.cs.utah.edu/plt/publications/icfp04-ff.pdf
02:37:12 I use plt racket
02:37:18 for the programming part
02:38:36 Are you willing to describe your diagrams programmatically? Or was your plan to draw the diagrams with a mouse?
02:39:21 (If you're willing to do it programmatically, then the image support in PLT Racket should be quite capable, as illustrated by the graphics demo'ed in the icfp04-ff.pdf paper I linked above
02:39:27 with my mouse
02:40:12 finally figured it out
02:40:22 In that case, I would probably recommend using Dia
02:40:38 I looked in dia, I don't find support for Environment models
02:40:58 Why do you need support for them specifically? Just draw the boxes and arrows with the right labels?
02:41:20 hmm I need to put in the text in the fields
02:41:30 and seperate the variable names from the values
02:41:33 and and and :(
02:43:37 vu3rdd [~vu3rdd@nat/cisco/x-idsccqzfnwbrsfwx] has joined #scheme
02:43:38 -!- vu3rdd [~vu3rdd@nat/cisco/x-idsccqzfnwbrsfwx] has quit [Changing host]
02:43:38 vu3rdd [~vu3rdd@fsf/member/vu3rdd] has joined #scheme
02:43:41 I guess I don't understand your use case. I'd say go with either Dia, or Xfig. Or bite the bullet and describe your diagrams with code in either Tikz/Pgf or PLT Racket.
02:44:23 xfig... have to check that out
02:45:05 this blog post: http://eli.thegreenplace.net/2007/09/28/sicp-section-32/ used Gliffy to draw such diagrams
02:45:13 nilg [~user@77.70.2.229] has joined #scheme
02:45:47 will look at that link!
02:45:58 once my internet lets me!
02:46:33 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme
02:47:49 -!- rageous [burli024@cs1260-15.cselabs.umn.edu] has quit [Quit: leaving]
02:50:02 oh, yeah; forgot about Xfig. it's actually pretty cool.
02:50:13 btw, do people generally prefer epsilon and lambda for the null string?
02:50:18 can I draw diagrams in Xfig or do I modify current X windows?
02:50:27 in scheme-dom, epsilon; i'd guess.
02:53:17 scheme-dom?
02:54:06 The realm of Scheme
02:54:20 ah
02:54:29 xfig looks weird
02:54:33 but I think it has what I need
02:54:39 good old X style :)
02:55:40 just how can I interrupt the poly draw style?
02:55:48 klutometis: I thought epsilon meant the smallest float?
02:56:06 got it
02:56:07 ha
02:59:19 No, rien. What you are thinking of is probably the machine epsilon, which is the distance between 1 and the smallest representable number larger than 1. In the IEEE 754 double format, this is 2^-52: 1 is represented by an exponent of zero (represented by some nonzero string of bits, because of the bias, but this is irrelevant) and a 52-bit significand zero (all bits zero), so the next representable number is 1 + 2^-52, represented by setting th
03:00:07 (See: `by setting th...'
03:00:12 Oops
03:00:19 ...represented by setting the lowest bit of the significand.
03:00:22 s/(See://
03:00:39 Riastradh: yes. and what was he thinking? about using the character epsilon to represent "" ?
03:02:16 ckrailo [~ckrailo@pool-71-170-15-148.dllstx.fios.verizon.net] has joined #scheme
03:02:17 Oh, that's pretty common too. I don't think using lambda for that is as common.
03:03:21 -!- Intensity [w4jkYxZ10A@unaffiliated/intensity] has quit [Remote host closed the connection]
03:04:29 Riastradh: I never knew that. I find that kind of stuff interesting
03:05:26 I should learn my programming greeks
03:05:26 brb
03:07:25 wow
03:07:29 xfig is actually pretty nice
03:07:31 thanks!
03:08:36 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Remote host closed the connection]
03:09:01 yaay, now I've implemented BFS and UCS
03:09:03 only A* to go
03:10:28 -!- `Jaka [~derp@ucbvpn-208-217.VPN.Berkeley.EDU] has left #scheme
03:16:12 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #scheme
03:16:52 -!- davazp [~user@201.Red-88-6-204.staticIP.rima-tde.net] has quit [Remote host closed the connection]
03:17:06 in scheme?
03:17:07 NEVER
03:17:09 lol
03:19:55 Can anyone help me with an exercise of the SICP? It's about normal and applicative evaluation: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_thm_1.20
03:26:25 Articate: you plan on writing games or what?
03:28:41 rien: I hope not!
03:36:10 jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has joined #scheme
03:39:40 -!- nilg [~user@77.70.2.229] has quit [Remote host closed the connection]
03:40:20 -!- myu2 [~myu2@x108121.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection]
03:40:28 -!- masm [~masm@bl16-168-147.dsl.telepac.pt] has quit [Read error: Operation timed out]
03:43:39 tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has joined #scheme
03:44:02 I just read a very interesting paper on how GC and reference counting (or more precisely recursive freeing) are duals of one another.
03:44:51 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Quit: leaving]
03:46:32 In GC, you start with roots, which are cells whose reference count is known to be nonzero, and trace to find other cells whose reference count is thereby determined to be nonzero.
03:47:02 In recursive freeing, you start with anti-roots, which are cells whose reference count is known to be zero, and trace to find other cells whose reference count is thereby determined to be zero.
03:48:19 hmph
03:48:33 how do you identify the original anti-roots?
03:49:10 masm [~masm@bl16-168-147.dsl.telepac.pt] has joined #scheme
03:49:26 You decrement an object's reference count. If it drops to zero, then it's an anti-root.
03:49:55 is that different from asking if the refcount is one?
03:51:26 -!- Harrold [~quassel@bas1-ottawa11-1176121997.dsl.bell.ca] has quit [Ping timeout: 240 seconds]
03:51:52 So when you decrement a reference count to zero, you must find and the circular structures it refers.
03:51:55 offby1: the context is that you're dropping a reference to the object. So yes, it is different from asking if the refcount is one, because of the side-effect of decrement the ref-count regardless of its current value
03:52:14 Not really. If the reference count is not one, you need to decrement it anyway. Of course you're supposed to do this always and only when you're actually not going to use it any more.
03:54:46 It seems to me that the time and/or space complexity of decrementing correctly the references counts while identifying the circular structures might be "slightly" above those of a normal GC...
03:55:41 Typically tracing is done in batch and recursive freeing is done on the spot so you don't have to keep an explicit list of anti-roots, but that's an implementaiton detail.
03:56:19 jcowan: it's not recursive freeing that's the problem. It's recursive decrement of refcounts.
03:56:30 If jcowan is talking about the paper I'm thinking of, the real point was more something like: As you optimize a Tracing GC, it looks more and more like a ref-counting system, and as you optimize a ref-counting system, it looks more an more like a Tracing GC.
03:56:40 Yes, I was getting to that.
03:56:54 pjb: What's the difference between recursive freeing and recursive decrementing?
03:57:07 If you have an object refering to a circular list. When you decrement the refcount to zero, you must decrement the refcount of the head of the circular list. So far so good. But then the head of the circular lists refcount will be 1. So it won't be freed.
03:57:19 Oh, sure. They're not *perfectly* dual.
03:57:52 Or, you go on, and try to check that it's a circular list. And then the complexity is not bounded: you may have to walk all the allocated objects to determine that the data structure is still used somewhere.
03:57:55 So a recursive freeing system either needs a backup GC, or it needs a speculative freer, which is a GC seen from a different point of view.
03:58:16 So, it's a silly idea, as it has been know for ever.
03:58:27 What's a silly idea?
03:58:39 refcounts, and trying to make it equivalent to GC.
03:58:45 pnkfelix, what ever happened to regional garbage collection? I want a Scheme system with a garbage collector that runs fast and has bounded pause times!
03:59:07 There are real-time GC with no pause times.
03:59:18 pnkfelix, I heard that Adobe ate you; does that mean Flash will get this before Scheme?
03:59:42 pjb, `that runs fast'.
03:59:45 -!- tupi [~david@189.60.162.71] has quit [Quit: Leaving]
03:59:49 That's the subject of another paper I just read, about a GC that concurrently marks the Nth generation and sweeps the N+1th, all concurrently with the mutator.
04:00:04 -!- Hal9k [~Lernaean@unaffiliated/kusanagi] has quit []
04:00:17 http://www.cs.utexas.edu/users/mckinley/395Tmm/talks/May-4-gc-theory.pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.5135&rep=rep1&type=pdf http://tinyurl.com/4w7dp8j
04:02:43 Now that's bizarre, rudybot. Why give me a tinyurl for one but not the other?
04:03:28 length
04:03:31 75 I think
04:03:43 Ah, thanks.
04:04:22 Kiba [~user@adsl-176-43-225.asm.bellsouth.net] has joined #scheme
04:04:25 hello
04:04:48 Hey ho, Kiba.
04:06:57 Hal9k [~Lernaean@unaffiliated/kusanagi] has joined #scheme
04:07:06 I was wondering what's a good scheme compiler thingy
04:08:42 Depends on your definition of "good". Fast compile? Fast execute? Small footprint? Lots of available packages?
04:08:56 Which in turn depends on what you actually want to do.
04:09:04 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme
04:09:17 oh, I just want something that's easy to understand
04:09:33 cat /dev/null > scheme-compiler.sh
04:09:38 chmod +x scheme-compiler.sh
04:11:22 Riastradh: Adobe did eat me, yes. But I finished my dissertation in parallel with my work there. Will and I hope to roll the regional GC into the next release of Larceny
04:12:49 Kiba, I'm also new to scheme, and racket seems really easy to use
04:13:04 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme
04:13:08 Or rather, Will plans to make the Regional GC part of the next release, and I think Will's hope is that I will soon get around to doing the merge of my dev branch over into the trunk.
04:13:32 I like if interactive mode, which has readline support, which is really important of learning from errors and correct bad syntax
04:13:53 Kiba: Racket is super easy to use. Larceny's compiler is among the easiest I've seen to understand. Well, wait, I spent a couple years learning how to understand it ...
04:15:02 ok
04:16:07 Riastradh: as for whether Adobe gets Regional GC first Well, you see that pjb's comment above about how ref-counting is bad? Guess what the Actionscript VM uses in its memory manager ...
04:18:43 -!- alcuadrado [~alcuadrad@host74.200-45-92.telecom.net.ar] has quit [Ping timeout: 246 seconds]
04:23:55 alcuadrado [~alcuadrad@host15.186-125-69.telecom.net.ar] has joined #scheme
04:24:33 Sorry if I repeat this, my connection was lost. Can anyone check if this is correct? It's really short: http://paste.lisp.org/display/120408
04:26:55 -!- pnkfelix [~Adium@c-71-224-241-168.hsd1.nj.comcast.net] has quit [Quit: Leaving.]
04:28:02 alcuadrado: don't your unit tests tell you if it's correct?
04:28:15 ah, I see
04:29:13 -!- masm [~masm@bl16-168-147.dsl.telepac.pt] has quit [Quit: Leaving.]
04:31:17 I want to know if the applications work like that
04:31:38 it's exercise 1.20 of SICP
04:32:37 yeah, I dunno
04:36:14 -!- tr3x_ [~tr3x@93-138-70-18.adsl.net.t-com.hr] has quit [Ping timeout: 246 seconds]
04:39:56 tr3x [~tr3x@93-141-3-50.adsl.net.t-com.hr] has joined #scheme
04:41:00 anyone?
04:47:25 -!- tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has quit [Quit: Ex-Chat]
04:48:51 -!- jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has quit [Quit: Leaving]
04:59:54 -!- blueadept2 [~blueadept@cpe-24-160-96-254.tampabay.res.rr.com] has quit [Quit: Leaving]
05:02:05 bharath_g [~bharath10@117.211.88.150] has joined #scheme
05:04:11 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.]
05:05:16 -!- homie` [~levgue@xdsl-78-35-158-203.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
05:08:11 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme
05:10:32 homie [~levgue@xdsl-78-35-158-203.netcologne.de] has joined #scheme
05:16:11 -!- alcuadrado [~alcuadrad@host15.186-125-69.telecom.net.ar] has quit [Ping timeout: 248 seconds]
05:26:19 -!- metasyntax [~taylor@72.86.89.174] has quit [Ping timeout: 248 seconds]
05:28:20 metasyntax [~taylor@72.86.89.174] has joined #scheme
05:28:46 alcuadrado [~alcuadrad@host113.190-138-76.telecom.net.ar] has joined #scheme
05:32:22 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme
05:32:23 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Remote host closed the connection]
05:32:46 -!- tronador_ [~guille@190.66.173.210] has quit [Quit: tronador_]
05:37:40 -!- Kiba [~user@adsl-176-43-225.asm.bellsouth.net] has quit [Read error: Operation timed out]
05:51:58 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Ping timeout: 240 seconds]
05:53:37 alcuadrado: I don't think that's right.
05:53:56 nilg [~user@77.70.2.229] has joined #scheme
05:54:58 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme
05:55:03 alcuadrado: For a start, you've got the GCD wrong. :-)
05:55:18 Mango-chan [Mango-chan@unaffiliated/mango-chan] has joined #scheme
05:55:34 I copy-pasted the definition from SICP :s
05:55:47 (Acknowledgment: This assignment is loosely based on an MIT homework assignment in their version of this course. But since this is Berkeley we've changed it to be politically correct; instead of killing each other, the characters go around eating gourmet food all the time.)
05:55:48 lol
05:56:02 The definition is right, the answer is wrong!
05:56:45 alcuadrado: Oh, I think you've calculatd the GCD of 260 and 40, not 206 and 40!
05:56:53 I see, it's 260, it's a typo
05:57:05 alcuadrado: In that case, your method could be right, just try it again with the right numbers. :-)
05:57:37 ok =)
06:05:00 here it is: http://paste.lisp.org/display/120409 :)
06:07:13 I'd say your applicative order is correct, but not your normal order
06:07:29 Look back at the solution you showed me before
06:08:46 Although, for your applicative order, I'd have written each `1 remainder application
06:09:35 I miss one application in the applicative one
06:09:38 ' on the line above
06:09:44 in the 2 line
06:10:13 Because when b is zero, you don't do any remainder operation. But you had to do one to move from (gcd 206 40)
06:10:22 to (gcd 40 6)
06:10:37 (Sory, my Internet connection is terrible at the moment)
06:10:45 np
06:11:09 You didn't miss any on the applicative order solution
06:11:22 tha's what I meant
06:11:38 I should have put them in between lines maybe
06:12:00 Yeah, something like that.
06:15:00 Now look again at the normal order solution. It might help to look back at your previous attempt and/or the definition in the book.
06:15:55 *fds* brushes his teeth.
06:16:41 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Read error: Connection reset by peer]
06:18:18 I think a got it: http://paste.lisp.org/display/120410
06:19:42 -!- dnolen [~davidnole@pool-68-161-103-147.ny325.east.verizon.net] has quit [Quit: dnolen]
06:20:02 I was taught that normal application always made less applications :s
06:21:59 No, it's usually the other way around. You should be careful to notice that `normal order' probably isn't what you consider normal, and it isn't what is normally used by Scheme systems!
06:22:32 ccorn [~ccorn@j109182.upc-j.chello.nl] has joined #scheme
06:24:06 And, about your solution, uhh. I think you're getting closer, but you're not quite right yet. I'm a bit tired and I'm not sure if I can think up a clever way to guide you. Heh. :-P
06:24:26 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 276 seconds]
06:24:55 Perhaps you should think about how it knows when to return. That is, when (= b 0) returns true.
06:25:22 it has to reduce b
06:25:24 right?
06:26:13 But if b is already reduced, why would it call the next iteration with a not-reduced b?
06:28:30 ebzzry [~aoeu@203.213.202.186] has joined #scheme
06:28:54 Hi! Where can I find a portable destructuring-bind?
06:29:26 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection]
06:30:13 alcuadrado: Because that's how normal order evaluation works. The function call doesn't know that b has been calculated already by the equality test.
06:30:50 I think I'm explaining this right, heh.
06:30:54 so, I must pass the non-reduced form to both arguments, right?
06:31:49 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme
06:32:03 Yes, although, it will only look at the a value once
06:32:11 When it tries to return it, at the end.
06:32:21