00:02:15 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 260 seconds] 00:02:45 -!- bweaver` [~user@host-68-169-158-230.WISOLT2.epbfi.com] has quit [Ping timeout: 276 seconds] 00:04:38 -!- rgrau [~user@62.Red-88-2-20.staticIP.rima-tde.net] has quit [Remote host closed the connection] 00:05:29 rgrau_ [~user@62.Red-88-2-20.staticIP.rima-tde.net] has joined #scheme 00:10:00 lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has joined #scheme 00:10:19 -!- rgrau_ [~user@62.Red-88-2-20.staticIP.rima-tde.net] has quit [Remote host closed the connection] 00:19:21 -!- HG` [~HG@xdsl-188-118-133-222.dip.osnanet.de] has quit [Quit: Leaving.] 00:34:35 I'm looking at http://sicp.org.ua/sicp/Exercise1-11 , and I wonder if the first solution there is sort of the standard method of converting a recursive process to an iterative one? 00:35:42 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 00:35:53 Hmm...I guess I don't really know what I'm asking. I guess I want to know if there is anything known in general about converting recursive processes to iterative ones, I'd like to get better at it, if that's possible. 00:36:31 Eh, nevermind. 00:38:54 there's a general way 00:39:00 by using a stack 00:39:00 Okay, I think the key to converting recursive processes to iterative ones is that you have to flatten the tree-shaped recursive process into a one-dimensional iterative process...I guess if that's possible. 00:39:23 okay 00:39:39 parolang: http://stackoverflow.com/questions/159590/way-to-go-from-recursion-to-iteration 00:39:40 http://tinyurl.com/4gxybp 00:39:48 Gogo Stack Overflow! :-D 00:39:53 look at the second answer 00:39:57 heh 00:42:25 Okay... 00:43:07 blueadept2 [~blueadept@cpe-24-160-96-254.tampabay.res.rr.com] has joined #scheme 00:44:03 So, Data Structures 101: is trie pronounced like "tree", "try", or something else? 00:45:01 I've heard people do both 00:45:04 it's a dumb name 00:45:10 Hehehe. 00:45:37 I've seen claims it should be pronounced like tree, because it's from retrieval 00:45:42 but that makes verbal communication useless 00:45:49 Exactly. :-( 00:45:52 so try seems odd but at least less ambiguous 00:45:59 I pronounce it "antidisestablishmentarianism" 00:46:32 I instinctly say "tree" because that rhymes with "brie", which is one letter off from "trie". But yes, it makes it hard to distinguish from tree-the-data-structure. 00:46:39 rien: Heh. 00:46:45 *instinctively 00:48:09 A stack is pretty much just a data structure that supports pushing and popping, right? 00:48:29 parolang: More specifically, pushing and popping from the same end of the container. 00:48:54 yeah 00:49:07 I'm just trying to think on how to do this generally. 00:50:49 parolang: with lists! 00:50:55 cons is cheap (for push) 00:51:13 and for pop use set-cdr! (cdr lst) 00:51:24 > set-cdr! lst (cdr lst) 00:51:54 But...how do you know what/when to push and pop? 00:51:58 making something tail recursive / "iterative" is quite different then simulating the call stack with lists 00:52:49 bremner: I don't really know, I just had heard about it on SO and then I linked that reply here 00:52:50 in the first case, you change the algorithm, in the second really just the implementation 00:52:55 he gives an example there on the link 00:52:59 that I assume works 00:53:10 `Trie' is pronounced `tree, tee are eye ee'. 00:53:22 sure, explicit stacks are sometimes faster, but not having a stack at all is better 00:53:25 Do you need a separate stack for each recursive call in the process? 00:53:32 no 00:53:35 -!- MapMan [mapman@host-62-141-192-113.swidnica.mm.pl] has quit [Ping timeout: 260 seconds] 00:55:03 MapMan [mapman@dynamic-78-8-228-46.ssp.dialog.net.pl] has joined #scheme 00:55:46 the general trick for making things tail recursive is accumulators, afaik 00:56:01 Oh...you just push whatever arguments you were going to call on the stack, and then pop those arguments on the next iteration, I guess. 00:56:49 parolang: haven't you seen e.g. depth-first search with a stack? I thought it was a pretty standard example. 00:57:07 parolang: bremner has a good idea. maybe you could turn your recursive function into a tail call function and then into recursion 00:57:12 that way you avoid the stack 00:57:56 Riastradh: O_o Fair enough. 00:58:17 (I haven't found a less verbally ambiguous way to pronounce it, anyway.) 00:58:28 bremner: I guess I'm kind of new to a lot of this. 00:58:42 I wink and nudge when I say trie, that way people know that I mean trie and not tree 00:58:47 parolang: sure, I'm just giving you some google keywords ;) 00:58:58 as in, "you should use a trie *wink wink nudge nudge* 00:59:07 Yeah...I'm still googling accumulator :D 00:59:38 throw in tail call optimization, or you'll get a lot of assembly language ;) 00:59:42 parolang: Okay, simple example for you. This one takes the product of all the numbers given. 00:59:45 !g test 01:00:19 rudybot: (define (prod-recursive l) (if (null? l) 1 (* (car l) (prod-recursive (cdr l))))) 01:00:19 cky: your racket sandbox is ready 01:00:20 cky: Done. 01:01:02 cky: Okay. 01:01:28 rudybot: (define (prod-iterative l) (let loop ((l l) (acc 1)) (if (null? l) acc (loop (cdr l) (* acc (car l)))))) 01:01:28 cky: Done. 01:01:41 parolang: The "acc" variable is the accumulator here. 01:02:33 Okay...looking... 01:02:57 I should lisppaste both, so you can see them formatted. 01:03:02 One-line is probably hard to read. 01:03:11 I can read it. 01:03:15 Okay. 01:04:00 It's basically: l --> (cdr l); acc --> (* acc (car l)) 01:04:16 And returns acc when l is null. 01:04:29 Yep. 01:05:34 That sort of simple accumulation is used so frequently that there's a name for it: fold. 01:05:46 rudybot: (require srfi/1) 01:05:46 cky: Done. 01:05:56 Well...I'll keep moving along in the book. I'm sure I'll figure it out eventually :D 01:06:00 rudybot: (define (prod-fold l) (fold * 1 l)) 01:06:00 cky: Done. 01:06:18 dnolen [~davidnole@184.152.69.75] has joined #scheme 01:06:54 rudybot: (let ((items '(3 1 4 1 5 9))) (list (prod-recursive items) (prod-iterative items) (prod-fold items))) 01:06:54 cky: ; Value: (540 540 540) 01:06:56 I think I was wondering more about tree-recursive processes, then I don't know how you'd use a stack or accumulator. 01:07:03 pothos: Notice how all three do the same thing. 01:07:16 parolang: Think about what you want the result of the tree walk to be. 01:07:33 s/pothos/parolang/ 01:07:38 :) 01:07:52 parolang: You simply update the result as you walk the tree. 01:08:06 -!- dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:08:21 But how do you walk the tree iteratively? 01:08:30 It seems that you'd need to flatten the tree. 01:09:12 So you'd push your deferred operations on the stack... 01:10:00 I honestly don't know how to iterate through a tree 01:10:12 I do it with recursion and pattern matching :P 01:10:18 -!- tessier [~treed@mail.copilotco.com] has quit [Changing host] 01:10:18 tessier [~treed@kernel-panic/copilotco] has joined #scheme 01:10:54 Yeah, that's the easy way :) 01:11:22 Here's an example of a tree recursive process: http://en.literateprograms.org/Fibonacci_numbers_(Scheme) 01:11:53 (The first, recursive scheme program.) 01:12:14 -!- tessier is now known as tessier_ 01:12:29 parolang: It's also possible to make an iterative version of Fibonacci. :-P 01:12:43 -!- tessier_ is now known as tessier 01:12:48 parolang: The iterative Fibonacci has very different structure from the recursive one, though. 01:12:49 yeah but that's easy. go walk a tree iteratively, that's hard 01:13:18 rien: If your tree has a reference to its parent node, walking the tree is easy. 01:13:31 Sorry, I mean, if each node of your tree has ... 01:13:32 cky: I'm not talking about a tree data structure. 01:13:53 I'm talking about a tree process. 01:13:57 cky: trees don't usually have that, that'd be a doubly linked tree 01:14:16 Heh. 01:14:34 -!- pygospa [~pygospa@kiel-4dbec660.pool.mediaWays.net] has quit [Disconnected by services] 01:14:46 pygospa [~pygospa@kiel-5f768e8b.pool.mediaWays.net] has joined #scheme 01:14:59 Like the fibonacci function splits into two recursions on each iteration. 01:15:26 parolang: gotcha 01:15:35 I don't know that either 01:15:45 But I think fibonacci, you just push the next value on the stack, and then pop it on the next iteration. 01:16:11 So you should only have one value on the stack on each iteration (since you're always going to use that value on the next iteration). 01:16:46 Actually...that might be wrong. Anyway, I'll keep thinking about it :) 01:29:37 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Read error: Connection reset by peer] 01:30:52 -!- Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has quit [Disconnected by services] 01:31:00 Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has joined #scheme 01:31:01 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Remote host closed the connection] 01:31:06 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 01:34:19 parolang: in fibonacci's case you can actually compute it iteratively without stacks though. 01:35:47 You can even calculate it with a closed-form equation. :-P 01:35:59 well, and real numbers 01:36:05 http://paste.lisp.org/display/119318 01:36:25 That should be iterative. But too easy. 01:37:01 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 01:37:12 I guess I interpreted s as a one-value stack. 01:37:58 so I reported a bug that actually wasn't a bug to gambit. boy is my face red. 01:38:05 s --> acc; acc --> (+ s acc); n --> (- n 1) 01:39:45 -!- faze` [~faze`@c-66-41-214-124.hsd1.mn.comcast.net] has quit [Quit: Leaving] 01:40:13 heh http://en.wikipedia.org/wiki/Fibonacci_number#Relation_to_the_golden_ratio 01:40:39 lewis1711: I hope they spanked you good. :-P 01:41:33 ravic [~ravic@smtp.touchcut.com] has joined #scheme 01:42:47 cky: it was a pretty subtle bug. for me at least. in their table construction code they use init:, which doesn't work if you have syntax-case enabled. or something 01:43:26 fds: (define (f n) (/ (- (expt phi n) (expt (1- phi) n)) (sqrt 5))) :D 01:44:31 parolang: Yep, but!!! 01:44:47 parolang: For big values of N, you lose precision. :-( 01:44:58 cky: Yep. And it's inexact. 01:45:01 Unless you have an implementation that supports expt for very large numbers. 01:45:02 That. 01:45:12 Only because computers are stupid, the maths is perfect! :-P 01:45:42 01:45:48 hmm, bad irssi 01:46:39 -!- jeefung [~jeff@c-98-223-239-157.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 01:46:47 fds: Something like that. 01:46:54 rudybot: (define (f n) (let loop ([a 1] [b 1] [count 1]) (if (= n count) a (loop (+ a b) a (add1 count))))) 01:46:55 Grazl: your sandbox is ready 01:46:55 Grazl: Done. 01:47:20 rudybot: (fib 30) 01:47:20 Grazl: error: reference to undefined identifier: fib 01:47:26 rudybot: (f 30) 01:47:26 Grazl: ; Value: 1346269 01:47:45 (note to self: remember identifiers) 01:48:43 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 01:49:26 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 250 seconds] 01:50:23 Grazl: That's the wrong answer :D 01:50:50 Grazl: There's a list of them here: http://en.wikipedia.org/wiki/Fibonacci_number#List_of_Fibonacci_numbers 01:51:47 Oh, a one off error. You produced (fib 31). 01:52:01 I was just typing that! 01:52:09 I did that at first too. 01:52:14 Mmmm, it should work replacing 'b' initial value with 0. 01:52:22 fds: Sorry. Let me know next time! Sheesh! 01:52:39 parolang: :-) 01:52:53 :D 02:00:54 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Remote host closed the connection] 02:01:12 This should do better... 02:01:20 rudybot: (define (f n) (if (zero? n) 0 (let loop ([a 1] [b 1] [count 1]) (if (= n count) b (loop (+ a b) a (add1 count)))))) 02:01:21 Grazl: Done. 02:01:44 rudybot: (values (f 0) (f 30)) 02:01:45 Grazl: ; Value: 0 02:01:46 Grazl: ; Value#2: 832040 02:02:07 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 02:02:36 I find the recursive version more elegant though. 02:05:43 Going to bed, have a good night. 02:05:54 -!- Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has quit [Quit: Grazl] 02:12:28 -!- evhan [~evhan@76-250-39-229.lightspeed.mdsnwi.sbcglobal.net] has quit [Read error: Connection reset by peer] 02:13:01 grettke [~grettke@cpe-65-30-30-255.wi.res.rr.com] has joined #scheme 02:14:58 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 02:15:01 Okay...been doing some searching, and (of course) the answer to many of my difficulties is in a late chapter, so I just stop being impatient and go along with it :D 02:24:36 wbooze` [~levgue@xdsl-78-35-131-187.netcologne.de] has joined #scheme 02:24:45 homie` [~levgue@xdsl-78-35-131-187.netcologne.de] has joined #scheme 02:25:36 anybody here know how to read and write binary floats with Chicken? 02:26:52 -!- homie [~levgue@xdsl-78-35-171-133.netcologne.de] has quit [Ping timeout: 255 seconds] 02:27:15 -!- grettke [~grettke@cpe-65-30-30-255.wi.res.rr.com] has quit [] 02:27:42 -!- wbooze [~levgue@xdsl-78-35-171-133.netcologne.de] has quit [Ping timeout: 276 seconds] 02:29:34 rudybot: (define (fact n acc) (if (= n 0) acc (fact (- n 1) (* n acc)))) ;is that tail recursive optimised? I realise it's a weird example but it's the closes translation I could get. 02:29:35 lewis1711: except libraries do exactly the opposite to that. Good ones that is. They provide an optimised and tested quite of commonly needed functionalities. This is 2011, not 1981. Its it rare to save a clock cycle by rewriting it all yourself. 02:29:46 !? 02:29:55 rudybot: (define (fact n acc) (if (= n 0) acc (fact (- n 1) (* n acc)))) 02:29:55 lewis1711: your sandbox is ready 02:29:56 lewis1711: Done. 02:30:01 right. :) 02:30:46 Yeah, it is properly tail recursive (I hope) 02:31:08 lewis1711: yes, that is tail-recursive 02:31:24 is there a definition somewhere of when something is, and when it isn't? 02:31:50 if the recursive call is in Tail position, then it is recursive 02:32:21 but isn't it only optimised in *certain* cases? 02:32:22 lewis1711: http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r5rs-html.old/r5rs_22.html 02:32:27 http://tinyurl.com/62ouxnj 02:33:17 for example, (begin expr ... Tail) 02:33:17 lewis1711: No, any `proper' tail call is optimised. That is, as long as you don't need to pass the result of the recursion back to the calling function 02:33:41 Indeed, that is a requirement stipulated by the standard. 02:33:41 in a begin statement, only the last thing is a tail call 02:33:43 could you give an example? 02:33:54 of passingthe result of a recursion back to a function 02:34:03 *is going a bit cross-eyed* 02:34:06 (* n (fact (- n 1))) 02:34:14 you pass the result of `fact` to * 02:34:16 ahh 02:34:42 I swear that's how it's normally done in examples 02:34:45 "if you do something with the result, it's not in tail position" 02:34:59 TCO is basically goto ;) 02:35:24 or JMP :) 02:35:47 or B 02:36:24 B? 02:36:27 rudybot: (define (fact n) (if (= n ) 1 (* n (fact - n 1))) 02:36:28 lewis1711: error: eval:1:0: read: expected a `)' to close `(' 02:36:35 rudybot: (define (fact n) (if (= n ) 1 (* n (fact - n 1)))) 02:36:36 lewis1711: Done. 02:36:38 (fact (- n 1)) 02:36:42 so that famous example is infact not a tail call? 02:36:48 because something is being done with it 02:36:52 lewis1711: correct, it is not a tail call 02:37:07 right. so that is not require to be optimised by r5 02:37:18 you can add an accumulator to make it one; didn't someone do that already tonight? 02:37:26 bremner: Uh huh. 02:37:32 bremner: scroll up 02:37:34 yeah 02:37:38 I know the thing you're referring to 02:37:49 and know I know why people use it: 02:37:53 *now 02:38:05 right, that was educational, thanks :) 02:38:11 erjiang: scrollback is for people with less than perfect ... what were we talking about? 02:50:21 adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has joined #scheme 02:52:02 corruptmemory [~jim@ool-18bbd5b2.static.optonline.net] has joined #scheme 02:52:56 -!- corruptmemory [~jim@ool-18bbd5b2.static.optonline.net] has quit [Remote host closed the connection] 02:53:00 -!- seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has quit [Quit: seus] 02:53:22 corruptmemory [~jim@ool-18bbd5b2.static.optonline.net] has joined #scheme 02:57:53 vu3rdd [~vu3rdd@nat/cisco/x-wojoybuwnngnmsiy] has joined #scheme 02:57:53 -!- vu3rdd [~vu3rdd@nat/cisco/x-wojoybuwnngnmsiy] has quit [Changing host] 02:57:53 vu3rdd [~vu3rdd@fsf/member/vu3rdd] has joined #scheme 02:59:34 What are valid values for RETURNTYPE for foreign-lambda in Chicken? 03:02:09 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Ping timeout: 276 seconds] 03:04:03 -!- borism [~boris@ec2-79-125-58-77.eu-west-1.compute.amazonaws.com] has quit [Read error: Operation timed out] 03:04:21 borism [~boris@ec2-79-125-58-77.eu-west-1.compute.amazonaws.com] has joined #scheme 03:14:30 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 03:19:59 housepage [~housepage@173.160.128.157] has joined #scheme 03:20:07 are there any ladies in #scheme? 03:20:16 my friends are having a debate about this 03:21:38 dunno. I generally operate under the assumption that most people on IRC are men, but I don't really care since it's not a bar:P 03:22:35 fair enough 03:22:35 chronomex [~chronomex@gir.seattlewireless.net] has joined #scheme 03:22:46 hello chronomex! 03:22:58 -!- chronomex [~chronomex@gir.seattlewireless.net] has left #scheme 03:23:49 Why does it matter? 03:23:58 housepage: why hello there sexy 03:26:10 mwolfe [~michael@cpe-67-49-72-40.socal.res.rr.com] has joined #scheme 03:27:31 http://paste.pocoo.org/show/331420/ could anyone offer some insight as to what these errors might be about? It's the warnings for the reference implementation of SRFI-1, with an r5 scheme with syntax-case loaded 03:27:44 searching the source didn't bring up any insights for me 03:35:11 nilg` [~user@77.70.2.229] has joined #scheme 03:37:27 housepage: There are a fair few women in my home channel, but they have +o in the channel and will kick you if you say misogynistic things. 03:37:57 I was not planning on saying misogynistic things 03:38:04 was just for science and curiosity! 03:38:05 cky: are you *trying* to get me to make an offensive comment? 03:38:07 :-) 03:38:11 you can't tempt me like that 03:38:37 housepage: That's good to know. Many people who come in asking about whether there are women in the channel tend to...put their feet in their mouth somewhere down the line. 03:39:47 people sure are flexible. 03:40:40 lewis1711: Re let-optionals: see what the syntax is in Gambit for creating optional arguments. 03:41:05 lewis1711: I'll lisppaste how that would look like in Racket. 03:41:10 You should adapt accordingly. 03:42:33 cky pasted "SRFI 1 iota in Racket" at http://paste.lisp.org/display/119320 03:42:44 lewis1711: ^^--- 03:47:14 -!- corruptmemory [~jim@ool-18bbd5b2.static.optonline.net] has quit [Ping timeout: 240 seconds] 03:49:40 sorry cky, was busy... someone on the internet was wrong and didn't know it!! 03:49:46 *lewis1711* checks 03:52:33 -!- timj_ [~timj@e176193003.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 03:52:41 timj_ [~timj@e176193003.adsl.alicedsl.de] has joined #scheme 03:53:11 lewis1711: Hahahaha. 03:54:34 yeah i don't get (let-optionals maybe-start+step ((start 0) (step 1)) 03:54:37 is that not r5? 04:04:22 -!- myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 04:05:04 god damn flies 04:06:09 lewis1711: R5RS does not have any optional-arguments facilities. But SRFI 89 defines one. 04:06:22 lewis1711: The Racket style I posted is the same as SRFI 89. 04:06:48 ah 04:06:59 lewis1711: Okay, I see. SRFI 89 is authored by Marc Feeley. That means it's definitely supported by Gambit. 04:07:01 maybe I'll try srfi-89. provided that doesn't rely on another SRFI 04:07:04 ha 04:07:25 lewis1711: You may be able to use that syntax straight away without having to load anything else. 04:07:44 oh. right. derp. 04:07:48 *lewis1711* copy pastas 04:09:04 that's funny because Feeley responded to this exact issue on the mailing list 04:09:26 Heh. 04:09:54 -!- housepage is now known as GeorgeBush 04:10:01 -!- GeorgeBush is now known as housepage 04:10:43 are there any good guides to reading in floating-point numbers bit by bit? 04:11:05 erjiang: I saw your question on SO. 04:11:06 :-P 04:11:30 erjiang: (I get emails for any new posts to [scheme], [lisp], [racket], and [chicken]. 04:11:33 ) 04:12:00 I get an error with that syntax. so while gambit probably has srfi-89, unlocking it may be tricky 04:12:05 Of course, [chicken] comes up with questions about chicken-the-food (via cooking.stackexchange.com), rather than Chicken Scheme. 04:12:19 lewis1711: Hmm. I'll read the documentation. :-P 04:12:25 I'd rather not implement read-float myself, but it looks like I'll have to 04:12:28 already on it cky 04:12:59 (or would be if chromium didn't crash..) 04:13:08 :-P 04:13:23 erjiang: Yeah. 04:14:08 opts = #!optional optional-formal-argument* | empty 04:14:34 Ah. 04:15:49 not that i understand it :D 04:16:45 *** ERROR IN ##call-with-values -- invalid syntax 04:16:45 (define (iota count (start 0) (step 1)) (check-arg integer? count iota) (if (< count 0) (error "Negative step count" iota ... 04:16:50 Just use (define (iota count #!optional (start 0) (step 1)) ...) 04:16:56 ahh 04:17:53 exact same error 04:18:19 Heh. 04:20:29 blergh, that's enoug scheme yak shaving for me today:) 04:20:48 Heh. 04:29:49 lewis1711: http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Black_Hole 04:30:03 lewis1711: Includes implementation of SRFI 1, 13, 14, etc. 04:30:23 i cannot get that working. nor slib. nor snow. I probably spent around 4 hours all up on those 3. I suck at that kind of stuff 04:30:33 Okay, I'll see how I go. 04:30:39 I just installed the Debian gambc package. 04:30:42 It's way out of date, but it works. 04:30:51 ah. I built from source 04:31:04 No no, I haven't tried Black Hole yet. 04:31:07 I'll try soon. 04:31:20 I'm just saying that because I can't be bothered to build manually, I'm using whatever version Debian has. 04:31:27 haha 04:31:28 sounds good 04:32:21 I don't think non-subscribers can see the mailing list, as I posted there. Marc Feeley pointed to a package that compiled with the same errors, and another recommended black hole. I'm not 1337 enough for this shit:D 04:32:50 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Ping timeout: 240 seconds] 04:33:26 -!- aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has quit [Quit: aisa] 04:35:24 lewis1711: Heh. 04:35:30 lewis1711: Maybe I'll get it going. 04:39:42 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 04:44:34 ada2358 [~ada2358@login.ccs.neu.edu] has joined #scheme 04:45:28 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 255 seconds] 04:46:03 Fare [~Fare@64.119.159.126] has joined #scheme 04:56:20 Is there something like defvar in Scheme - or some trick for seeing if a variable is already defined? (Gambit is the scheme if relevant) 05:04:55 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 05:07:34 -!- Phao [phao@189.13.75.170] has quit [Quit: Fui embora] 05:12:28 rins` [~user@173-162-214-174-NewEngland.hfc.comcastbusiness.net] has joined #scheme 05:13:48 -!- rins [~user@173-162-214-174-NewEngland.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 05:14:06 teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has joined #scheme 05:15:16 -!- teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has quit [Client Quit] 05:21:53 teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has joined #scheme 05:24:35 -!- mwolfe [~michael@cpe-67-49-72-40.socal.res.rr.com] has quit [Remote host closed the connection] 05:37:43 Modius: yes, there's a trick 05:38:06 Axiplase_: Groovy - what is it? 05:38:40 Axio pasted "DEFINED?" at http://paste.lisp.org/display/119327 05:38:43 gambit compiler will tell you about it with -warnings 05:38:54 (or something similar) 05:39:32 Man, I should follow up with: "What do people writing large shared codebase projects do to logistically keep track of all these cool little hacks?" :P 05:40:15 Modius: that is, use the var. If it's defined, then either it or its negation is true, or it raises an exception. Catch the exception, return #f. 05:40:41 omg, why did I not have this code a month ago. thanks Axioplase_, that's going in my .gambcini 05:41:06 But if you need this, chances are your code is, well, not well designed. 05:41:11 Serious though, not-entirely-related question - if you were doing up a large Scheme project; but wanted to share a bunch of . . . "libraries" between projects, how would you lay it out? Directories with a load-fest? Or is there something else the pros ues? 05:41:27 Axiplase_: It's just to use a common .scm file as both a lightweight swank and an includable swank. 05:44:24 Modius: gsc -dynamic code.scm ...wouldn't that do it? (I'm a gambit noob as well though:P) 05:45:42 Modius: Well, I guess I'd go for include/load. 05:46:06 Modius: But the pros seem to use BlackHole. Which I don't use (yet) 05:46:31 I still have to port it cleanly to FreeBSD. 05:46:34 Are there any tricks (gambit or generic) for faking "namespaces"? Maybe putting everything inside a lambda or something? (Not sure if there are any toplevel-ish issues in Scheme) 05:46:34 Black Hole seems difficult to make work with Gambit 4.2.8 (the version that comes with Debian). 05:47:33 cky: we should slap the debian maintainer for 4.2.8 is *really* outdated. 05:47:38 Modius: http://blog.willdonnelly.net/2008/08/30/a-minimalistic-module-system-for-scheme/ 05:47:39 http://tinyurl.com/5uqtxc2 05:47:51 Modius: gambit has namespaces. 05:47:53 (dunno if that code is any good, but i bookmarked it) 05:48:12 Question: Define defines within lexical scope, right? Is there an instruction that "defines" at toplevel? 05:48:33 (I realize that is probably bad but I'd like to know) 05:49:21 Axioplase_: Yeah. 05:50:15 Top-level define is toplevel, and all toplevel defines are mutually recursive when you compile, iirc 05:50:52 iirw :) 05:50:53 In gambit, I notice foo: works like :foo in CL (keyword) - is foo: keyword foo or is #:foo? Is either of them used in typical scheme code as a key? 05:51:44 Modius: you can still do defines, and then use set! afterwards. 05:52:12 Axiplase_: So if inside a lambda I do (define x then (set! x) in that same lambda it moves it to being a global? 05:52:25 Modius: Of course not. 05:52:26 No. 05:52:49 (define foo #f) (define bar #f) (set! bar 3) (set! foo bar) 05:53:39 Modius: and if you do (define (foo #!key (x 1)) ...) you can do (foo) and (foo x: 42). That's my only usage of keywords in Scheme. 05:53:59 *Axioplase_* vanishes. Too much left to do. 05:57:37 HG` [~HG@xdsl-92-252-80-80.dip.osnanet.de] has joined #scheme 06:02:13 Is there a trick to tell Gambit to run a load instruction pre-execution-time? 06:02:27 Modius: ./gambcini 06:02:52 I mean for gsc -link ... <-- is there no other way than putting files in an .ini file? 06:03:54 aah I see 06:03:58 (gambcini in the docs) 06:07:14 Hmm gambcini is for the interpreter not the compiler 06:07:47 -!- Fare [~Fare@64.119.159.126] has quit [Remote host closed the connection] 06:07:53 Is there a pre-executiion directive like "load" for loading sub-files at compile time, or do they all need to be given to the compiler? 06:07:59 -!- teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has quit [] 06:13:48 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 06:15:17 jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has joined #scheme 06:19:14 Anyone have any sort of "core" library where sort and nth are defined? 06:19:36 -!- HG` [~HG@xdsl-92-252-80-80.dip.osnanet.de] has quit [Quit: Leaving.] 06:22:20 -!- housepage [~housepage@173.160.128.157] has quit [Remote host closed the connection] 06:22:21 -!- lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has left #scheme 06:22:39 GeorgeBush [~housepage@173.160.128.157] has joined #scheme 06:22:53 Modius: nth is called list-ref. 06:22:57 Modius: sort is in SRFI 95. 06:23:05 -!- GeorgeBush [~housepage@173.160.128.157] has left #scheme 06:23:13 I have some sample code referring to nth, read-from-string, and sort - was wondering if someone had a std library for it. 06:23:28 Modius: (define nth list-ref) ; :-) 06:23:45 Modius: read-from-string sounds like a wrapper around SRFI 6. 06:23:46 Oh sure, a shaved monkey could write it; but I don't want to clash with a lib I may be including later. 06:24:10 Modius: Just replace all instances of nth with list-ref and you'll be fine. 06:26:03 Is there a read-from-string equivalent? 06:26:26 You should have a look at SRFI 6 and see if anything there looks good to you. 06:26:42 So gambit can load in srfi 6 as a library? 06:28:43 Um, I think Gambit comes with SRFI 6 already available. 06:28:56 The function won't be called read-from-string though. 06:29:33 But if you have some code demonstrating how it's used, I can see how to make it use SRFI 6 functionality. 06:33:40 The code's probably redundant for swank or the person who was testing it in the interpreter would have dealt with it. 06:33:44 I'm trying to do without. 06:37:49 -!- parolang [~kevin@c-64-246-121-114.oregonrd-wifi-1261.amplex.net] has quit [Ping timeout: 245 seconds] 06:38:49 -!- blueadept2 [~blueadept@cpe-24-160-96-254.tampabay.res.rr.com] has quit [Quit: Leaving] 06:39:32 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Ping timeout: 272 seconds] 06:40:43 user18 [~user@p5B2A9BD5.dip0.t-ipconnect.de] has joined #scheme 06:44:27 -!- user17 [~user@p5B2A9A5F.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 06:47:05 NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has joined #scheme 06:47:28 Hey, all. 06:48:58 I'm looking for a little information on numerical precision in Scheme, if anyone is feeling helpful 06:49:36 I'm not sure that I can help, but ask your question and if anyone can they'll answer it. :-) 06:49:54 Thanks :) 06:50:28 So, I'm playing around with approximating pi in Scheme, so I've been trying a few well-known approximations 06:50:31 http://snipplr.com/view/48330/shorter-pi-approximation/ 06:50:34 Like this one 06:51:05 Now, according to the literature, this should be accurate to 23 digits 06:52:11 I've been topping out at 9, and I'm curious if this is a hardware limitation, a limit of the implementation, or if I'm just missing a procedure 06:52:49 Tried in Guile, Chicken, STk, and Racket 06:53:47 Hm, well, here in Guile 1.9.15 it only shows 14 decimal places but they're all correct. 06:53:57 hmm 06:54:03 But, I've really got no idea (I warned you!) 06:54:36 Okay, so at very least it's working to some degree 06:54:46 So the 9 digit thing is on my end. That's comforting 06:54:50 :D 06:54:56 :-) 06:55:34 If you wouldn't mind eval'ing that large-number division in the middle by itself, that'd also be very helpful 06:55:43 Trying to pinpoint where the math functions are too weak 06:56:21 (/ 276694819753963 226588) 06:56:22 $16 = 276694819753963/226588 06:56:30 Not too enlightening. :-) 06:56:36 Hmm 06:57:03 You can try stuff out with rudybot too 06:57:06 rudybot: 1. 06:57:06 fds: eh? Try "rudybot: help". 06:57:06 (+ 2 (expt (/ 276694819753963 226588) (/ 1 158))) 06:57:09 Oop 06:57:10 It must be my issue, then. Mine truncates the decimal at blahblah.199999 06:57:10 s 06:57:17 Oh, really? 06:57:21 That's a very neat function 06:57:27 rudybot: (+ 2 (expt (/ 276694819753963 226588) (/ 1 158))) 06:57:27 fds: your sandbox is ready 06:57:28 fds: ; Value: 3.141592653589793 06:57:35 You can PM it too 06:57:46 Yep, rudy gets the value that I do 06:58:26 That looks correct to me 06:59:09 Comparing to http://www.geom.uiuc.edu/~huberty/math5337/groupe/digits.html 06:59:29 Oh, you know what... it's that I transposed a digit while reading the output 06:59:34 Now I look a fool :D 06:59:53 :-) 07:00:29 Well, at least you can continue with your pi-approximating now! 07:00:35 Indeed 07:00:41 Thank you very much 07:00:47 My pleasure 07:01:06 How long have you been working with Scheme, out of curiosity? 07:01:29 It was my New Year's resolution last year. :-) 07:01:42 The first one I'd ever made 07:02:01 That's the best resolution I've heard all decade :D 07:02:27 Well, when I do something, I like to do it properly. 07:02:34 :-P 07:02:42 I started learning Lisp a year or so ago, myself, and Scheme just seemed like a natural extension 07:02:57 *fds* nods 07:03:13 I've played with Lisp a bit too, but I don't like funcall 07:03:28 *NihilistDandy* nods 07:03:43 I've most been trying to figure out which implementation of Scheme I prefer. :D 07:04:13 Yeah, it's tough 07:05:10 Which flavor of Lisp did you try out? 07:05:10 -!- jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 07:05:19 The ones that you mentioned seem to be the most popular around here (although I'd never heard of STk) 07:05:24 SBCL 07:05:30 Same here 07:05:44 That seems to be the one endorsed by #lisp 07:06:31 STk is (apparently) a sort of Scheme that interfaces nicely with Tk. I haven't done anything with Tk, but it's the one they use in a Berkeley webcast I'm following 07:07:26 It seems that it was abandoned a few years ago 07:08:24 Seems so. I guess UCB's been updating their version, if nothing else 07:08:24 *fds* knows nothing about Tk 07:08:58 Me, neither :D 07:09:01 Yeah, and I'm sure it won't hurt you to use it to follow along with that course. :-) 07:09:43 Couldn't hurt 07:10:34 Well, it's getting close to my bedtime here, but it's been nice talking to you and I hope to see you around here again sometime 07:10:46 Almost certainly 07:10:47 It's really a very interesting channel :-) 07:10:58 I should hope so :) 07:11:21 Night, then. Thanks for the help, again. 07:11:57 I'm not sure I really did anything, but I'm glad something has been resolved! 07:12:17 Sanity checks are an integral part of programming :D 07:15:46 -!- scheibo [~scheibo@CPE001dba06b84c-CM0026f3358955.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 07:20:12 -!- rdd [~rdd@c83-250-51-60.bredband.comhem.se] has quit [Read error: Connection reset by peer] 07:27:30 gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has joined #scheme 07:30:09 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 07:32:19 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 07:36:50 -!- erjiang [~erjiang@7.80.244.66.jest.smithvilledigital.net] has quit [Remote host closed the connection] 08:08:10 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 08:24:44 chemuduguntar [~ravi@118-92-148-22.dsl.dyn.ihug.co.nz] has joined #scheme 08:30:15 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 240 seconds] 08:30:47 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 08:30:47 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 08:30:47 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 08:35:59 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 08:45:13 -!- gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 08:58:21 acs_ [59eed542@gateway/web/freenode/ip.89.238.213.66] has joined #scheme 08:58:46 lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has joined #scheme 09:00:04 right, more scheme yak shaving :) http://practical-scheme.net/wiliki/schemexref.cgi?let-optionals is that supposed to be code or something? 09:03:43 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 09:07:14 appareantly some kind of famous scheme macro 09:07:32 Looks like code to me 09:08:07 rudybot: [syntax] let-optionals args ((var default) ...) body ... 09:08:07 lewis1711: in SRFI-43. a comment, just above his definition of LET*-OPTIONALS 09:08:12 ha 09:11:16 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Read error: Operation timed out] 09:22:52 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 09:29:24 seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has joined #scheme 09:34:47 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 09:34:54 -!- NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has quit [Quit: reset] 09:35:13 wingo [~wingo@90.164.198.39] has joined #scheme 09:41:44 NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has joined #scheme 09:43:49 -!- NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has quit [Remote host closed the connection] 09:49:09 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 09:55:05 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 09:56:16 aleix [~aleix@eurk-125-99.uab.es] has joined #scheme 10:29:47 tupi [~david@189.60.162.71] has joined #scheme 10:32:20 -!- nilg` [~user@77.70.2.229] has quit [Remote host closed the connection] 10:32:26 -!- zanes [~zane@wall.tripitinc.com] has quit [Ping timeout: 240 seconds] 10:32:58 I spent a while reading up on guile but then it turned into this http://www.youtube.com/watch?v=-hp_FNC2B3g&feature=related 10:35:16 nilg` [~user@77.70.2.229] has joined #scheme 10:36:02 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection] 10:37:53 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 10:38:59 zanes [~zane@wall.tripitinc.com] has joined #scheme 10:48:44 vk0 [~vk@ip-23-75.bnaa.dk] has joined #scheme 10:59:50 -!- aleix [~aleix@eurk-125-99.uab.es] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:07:48 faze`afk [~faze@c-66-41-214-124.hsd1.mn.comcast.net] has joined #scheme 11:13:26 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has quit [Quit: adu] 11:15:22 -!- faze`afk [~faze@c-66-41-214-124.hsd1.mn.comcast.net] has left #scheme 11:16:14 -!- zanes [~zane@wall.tripitinc.com] has quit [Read error: Connection reset by peer] 11:16:23 zanes [~zane@wall.tripitinc.com] has joined #scheme 11:18:52 -!- wingo [~wingo@90.164.198.39] has quit [Read error: Operation timed out] 11:22:03 gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has joined #scheme 11:22:13 slom [~sloma@port-87-234-239-162.static.qsc.de] has joined #scheme 11:33:45 Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has joined #scheme 11:34:58 -!- lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has left #scheme 11:56:52 aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has joined #scheme 11:58:40 schmir [~schmir@mail.brainbot.com] has joined #scheme 12:12:44 vu3rdd [~vu3rdd@122.167.85.28] has joined #scheme 12:12:44 -!- vu3rdd [~vu3rdd@122.167.85.28] has quit [Changing host] 12:12:45 vu3rdd [~vu3rdd@fsf/member/vu3rdd] has joined #scheme 12:14:29 phax [~phax@unaffiliated/phax] has joined #scheme 12:20:05 seus pasted "what am i mising?" at http://paste.lisp.org/display/119333 12:20:34 1- Forget about brackets, use only parentheses. 12:20:35 *missing :) 12:20:49 2- you missed the part where you say what you expected and what you got. 12:20:57 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 12:21:16 pjb: [not {narrowmind 'be}] 12:21:43 why do you say don't use brackets? 12:21:48 It's harder to read. Better (not (narrow-minded 'be)). 12:22:07 pjb: in that case, omit the "not" ;) 12:23:03 bremner: not at all. If you avoid brackets and braces for normal code and data, then you free your brain cells for more important stuff. In effect, you enwidden your brain! 12:23:03 I've noticed "hard to read" is often code for "not what I'm used to" 12:23:29 which, in a certain sense is fair enough 12:23:55 bremner: I started to write lisp much too late to my taste. Be assured that I have been used to the brackets and braces. Losing them allowed be to fill my brain with better stuff. 12:24:54 i do my work in dr. racket...it auto-places the brackets for me 12:25:00 i can turn it off however 12:25:09 That'd be a good idea. 12:33:03 seus: you are also missing emacs, and it's auto-indent mode. 12:33:03 That would be much preferable than an "IDE" that converts parentheses into brackets automatically. 12:33:20 seems like much ado about nothing to me. Aren't lispers supposed to be the ones who have evolved beyond syntax? 12:33:22 hmm...i think i just downloaded emacs 12:33:28 I have textmate atm 12:33:55 HG` [~HG@xdslao226.osnanet.de] has joined #scheme 12:39:07 -!- user18 [~user@p5B2A9BD5.dip0.t-ipconnect.de] has quit [Quit: Leaving] 12:39:13 user17 [~user@p5B2A9BD5.dip0.t-ipconnect.de] has joined #scheme 13:00:40 -!- gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has quit [Ping timeout: 250 seconds] 13:08:26 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 240 seconds] 13:09:03 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 13:09:03 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 13:09:03 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 13:10:02 -!- felipe [~felipe@unaffiliated/felipe] has quit [Ping timeout: 276 seconds] 13:10:32 leppie [~lolcow@196-215-115-162.dynamic.isadsl.co.za] has joined #scheme 13:12:36 mathk__ [~mathk@194.177.61.19] has joined #scheme 13:16:26 -!- mathk [~mathk@194.177.61.44] has quit [Ping timeout: 265 seconds] 13:16:27 -!- mathk__ is now known as mathk 13:23:44 scheibo [~scheibo@CPE001dba06b84c-CM0026f3358955.cpe.net.cable.rogers.com] has joined #scheme 13:27:07 dnolen [~davidnole@184.152.69.75] has joined #scheme 13:37:04 f8l [~f8l@87.205.27.57] has joined #scheme 13:42:57 felipe [~felipe@unaffiliated/felipe] has joined #scheme 13:44:25 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 13:45:26 dnolen [~davidnole@184.152.69.75] has joined #scheme 13:59:50 neilcj [~neilcj@c-174-49-216-137.hsd1.pa.comcast.net] has joined #scheme 14:03:00 gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has joined #scheme 14:17:36 -!- gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 14:21:07 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 14:24:24 -!- Adrinael [~adrinael@barrel.rolli.org] has quit [Ping timeout: 272 seconds] 14:26:22 -!- arbscht [~arbscht@unaffiliated/arbscht] has quit [Read error: Connection reset by peer] 14:27:55 arbscht [~arbscht@unaffiliated/arbscht] has joined #scheme 14:29:03 cky: ping 14:30:50 Adrinael [~adrinael@barrel.rolli.org] has joined #scheme 14:35:19 eli: Pong. 14:35:45 cky: re "I get emails for any new posts to [...]" -- how do you do that? 14:36:14 gravicappa [~gravicapp@ppp91-78-229-235.pppoe.mtu-net.ru] has joined #scheme 14:36:22 I have some crappy thing that looks at feeds, but with SO exploding into 2000 sub-sites it becomes impossible to track it. 14:36:23 eli: http://blog.stackoverflow.com/2010/12/subscribe-to-tags-via-emai/ 14:37:47 cky: Oh, so they added this... I was looking for something like that... 14:37:58 Do I really need to make up my own tag set for it? 14:38:27 eli: You can probably use the one I have, but note that it gets posts about chicken (as in the type non-vegetarians eat). :-) 14:38:49 If you want something more fine-tuned, it may be better for you to make your own tag set. 14:39:18 Yeah, I'd use that but I don't need the chicken posts... 14:40:13 eli: Okay, I removed chicken off the tags now. 14:40:19 (I just discovered how to do that.) 14:40:39 http://stackexchange.com/tagsets/1064/schemey 14:41:07 Caleb-- [~caleb@109.64.207.198] has joined #scheme 14:41:47 cky: No, don't bother... 14:41:57 As soon as I started I found more differences. 14:42:08 *nods* 14:42:18 It's okay, [chicken] doesn't ever get any Scheme-related posts anyway. 14:42:30 I'm semi-following emacs too, and lambda-calculus, and a bunch of other things. 14:42:35 *nods* 14:43:37 cky: Do you know if there's also a way now to get notified when someone posts a comment for you? 14:43:51 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 14:44:24 eli: Not via email. :-( 14:45:00 *eli* bahs 14:45:26 elibahbah and the forty thieves 14:45:49 s/e/a/ 14:46:08 i know, i was just playin' 14:46:10 Alibahbah and tha forty thiavas? 14:46:53 I didn't use a `g'. 14:46:57 (OK, OK, you didn't type `g'.) 14:47:01 (...yeah.) 14:47:52 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has left #scheme 14:48:18 Gee, was discussion of something as Unixy as sed that offensive to offby1? 14:48:21 lol 14:55:01 using too regular expressions is considerded a turnoff by some 14:55:52 -!- homie` [~levgue@xdsl-78-35-131-187.netcologne.de] has quit [Read error: Connection reset by peer] 14:55:58 -!- wbooze` [~levgue@xdsl-78-35-131-187.netcologne.de] has quit [Read error: Connection reset by peer] 14:56:25 indeed, people are quitting in flocks just from reading about it 14:57:09 wbooze` [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 14:57:18 homie` [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 15:10:17 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #scheme 15:11:20 pytho [8cb68e5b@gateway/web/freenode/ip.140.182.142.91] has joined #scheme 15:11:26 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 15:13:48 s/s\/e\/a/*Alibahbah/ 15:15:01 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 15:18:11 it's actually "Ali Baba", if you want to be picky. 15:21:44 -!- homie` [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:22:03 -!- wbooze` [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:23:28 chittoor [~chittoor@listertech.in] has joined #scheme 15:23:51 -!- chittoor [~chittoor@listertech.in] has quit [Client Quit] 15:23:59 chittoor [~chittoor@listertech.in] has joined #scheme 15:25:30 -!- slom [~sloma@port-87-234-239-162.static.qsc.de] has quit [Remote host closed the connection] 15:29:58 homie [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 15:32:06 -!- pytho [8cb68e5b@gateway/web/freenode/ip.140.182.142.91] has quit [Quit: Page closed] 15:34:44 Caleb--: I know. 15:35:09 The similarity between "Eli" and "Ali" is not something that kids at school missed. 15:36:04 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 15:36:08 wbooze [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 15:37:25 can anyone recommend any good linux books for a beginner who is not a moron? 15:37:51 Caleb--: http://www.tldp.org/ 15:38:35 adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has joined #scheme 15:41:24 those are just a series of docs 15:41:39 i never seriously ran linux before :/ 15:43:11 copumpkin [~pumpkin@17.101.89.205] has joined #scheme 15:43:11 -!- copumpkin [~pumpkin@17.101.89.205] has quit [Changing host] 15:43:11 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 15:43:21 Caleb--: Oh! Hmm. 15:43:32 Caleb--: I've never actually used any Linux books in teaching myself Linux. 15:43:40 i see 15:44:47 http://www.linuxfromscratch.org/ 15:44:48 cool 15:48:27 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 15:54:57 bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has joined #scheme 15:58:43 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Read error: Connection reset by peer] 15:59:50 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 16:04:01 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has quit [Quit: adu] 16:28:53 -!- acs_ [59eed542@gateway/web/freenode/ip.89.238.213.66] has quit [*.net *.split] 16:33:44 carleastlund [~cce@gotham.ccs.neu.edu] has joined #scheme 16:37:21 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 16:39:11 myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has joined #scheme 16:43:21 corruptmemory [~jim@96.246.167.18] has joined #scheme 16:53:33 -!- seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has quit [Quit: seus] 16:56:39 seus [~sbero@99.114.191.162] has joined #scheme 16:59:02 ASau` [~user@95-27-147-227.broadband.corbina.ru] has joined #scheme 17:00:15 -!- ASau [~user@95-27-147-227.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 17:04:09 -!- ASau` is now known as ASau 17:04:16 mwolfe [~mwolfe@corona.cornerturn.com] has joined #scheme 17:07:59 -!- seus [~sbero@99.114.191.162] has quit [Quit: seus] 17:23:13 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection] 17:25:46 jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has joined #scheme 17:26:16 wingo [~wingo@90.164.198.39] has joined #scheme 17:28:31 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 17:32:24 -!- Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has quit [Disconnected by services] 17:32:32 Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has joined #scheme 17:32:36 -!- aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has quit [Quit: aisa] 17:47:26 -!- acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has quit [Quit: Leaving.] 17:55:59 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Remote host closed the connection] 17:58:04 rgrau [~user@62.Red-88-2-20.staticIP.rima-tde.net] has joined #scheme 18:08:50 -!- jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 18:38:40 -!- wbooze [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Remote host closed the connection] 18:38:40 -!- homie [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Remote host closed the connection] 18:41:44 rdd [~user@c83-250-51-60.bredband.comhem.se] has joined #scheme 18:52:08 NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has joined #scheme 18:53:41 bitweiler [~bitweiler@adsl-99-40-239-167.dsl.stl2mo.sbcglobal.net] has joined #scheme 19:27:25 homie [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 19:28:30 wbooze [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme 19:29:29 -!- gravicappa [~gravicapp@ppp91-78-229-235.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 19:31:01 gravicappa [~gravicapp@ppp91-78-229-235.pppoe.mtu-net.ru] has joined #scheme 19:32:26 seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has joined #scheme 19:34:53 -!- chemuduguntar [~ravi@118-92-148-22.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 265 seconds] 19:40:51 -!- pygospa is now known as pinguinDrache 19:42:49 -!- pinguinDrache is now known as pygospa 19:43:27 -!- pygospa is now known as pinguinDrache 19:46:57 Phao [phao@189.107.149.151] has joined #scheme 19:55:39 -!- seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has quit [Quit: seus] 19:56:50 -!- NihilistDandy [~ND@c-75-69-129-101.hsd1.nh.comcast.net] has quit [Remote host closed the connection] 19:58:56 -!- mwolfe [~mwolfe@corona.cornerturn.com] has quit [Remote host closed the connection] 20:00:54 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 20:01:41 -!- nilg` [~user@77.70.2.229] has quit [Remote host closed the connection] 20:03:19 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 20:08:15 -!- HG` [~HG@xdslao226.osnanet.de] has quit [Quit: Leaving.] 20:09:26 alexcg [~alexander@178.162.14.74] has joined #scheme 20:13:13 -!- Pepe_ [~ppjet@bouah.net] has quit [Remote host closed the connection] 20:17:09 aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has joined #scheme 20:18:31 masm [~masm@bl15-129-210.dsl.telepac.pt] has joined #scheme 20:32:07 -!- gravicappa [~gravicapp@ppp91-78-229-235.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:33:09 acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has joined #scheme 20:34:53 evening, schemers 20:37:17 I don't understand... What is the use of floating points if they're not precise? 20:37:35 most people don't need all the precision they think they need 20:37:38 evening 20:37:58 Phao: there's such a concept of "good enough" 20:40:50 gravicappa [~gravicapp@ppp91-78-229-235.pppoe.mtu-net.ru] has joined #scheme 20:45:31 seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has joined #scheme 20:51:17 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 20:51:23 -!- alexcg [~alexander@178.162.14.74] has quit [Quit: Leaving.] 20:52:55 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 260 seconds] 20:54:17 evhan [~evhan@76-250-39-229.lightspeed.mdsnwi.sbcglobal.net] has joined #scheme 20:55:56 Phao, floating points are very useful for things like video games where you need fast, and good enough to fool the human eye, but true precision just isn't required. On the other hand, serious math, science, and finance should not use them. 20:57:29 nilg` [~user@77.70.2.229] has joined #scheme 20:58:49 i wonder what algorithmic traders use. fixed point, i guess? 21:00:09 double should be enough 21:00:28 but you're right, errors could accumulate 21:02:47 Doubles should be enough... for what? Most of the time, for very large values of most, they'll be incredibly close to the right value. But there's absolutely no upper bound on how far they can be off, once they're off. If you get into just the wrong set of calculations, that "double precision" can still have an error that will ruin you if you stake your finances on it. 21:08:20 carleastlund: for money they're enough 21:08:29 even for fractional pips it should be enough 21:08:40 rien_: they can be off by trillions of dollars 21:08:43 but like I said, you're absolutely right about the errors 21:09:21 yessir :) I'm only saying for representing the most precise number they need, double is enough. but it's not enough to do math with it 21:09:53 The errors in floating points are "usually extremely low, but sometimes extremely high". For a video game that's fine. For my life savings, that's terrible. I don't care if it's usually less than a percent of a penny off. If some day it might bankrupt me, the banks have no right to risk it. 21:10:24 Okay. Representation yes, operations no. What you say is true, but not the main point for deciding whether to use them or not. 21:11:12 correct. I should've been cleaer 21:11:14 clearer 21:14:07 Serious math and science can use floating point, you just have to be aware of how they work and how to minimize error accumulation. 21:14:30 i remember sussman saying at one point that he was terrified of floating-point numbers 21:15:17 An intro text on numerical methods ought to give a pretty good treatment of what the sources of errors are and how you can put bounds on them. 21:15:54 If you're very, very careful, you can get away with it. But floating points are not designed to obey particular mathematical properties. It is very hard to get any kind of real guarantee that errors will be "minimal". What math and science you can do with them really depends on what you expect out of your results. 21:16:10 Issues with finance, as far as I understand, aren't so much those of inaccuracy but the importance of following common conventions, so everyone comes up with the same results. 21:16:47 That's important, too, but if everyone makes the same mistake and crashes the stock market, we're not so happy, are we? 21:16:52 Mackleficent [4a604e18@gateway/web/freenode/ip.74.96.78.24] has joined #scheme 21:17:35 carleastlund: What? Of course they obey mathematical properties, they're just not necessarily intuitive if you're used to real numbers. 21:17:55 That's why they put some though into the conventions in the first place. :P 21:18:00 s/though/thought 21:18:04 (or a certain way of looking at real numbers) 21:19:41 Yes, they have some properties. But they're not generally the properties one needs if ones numbers have to be reliable. 21:20:20 They have properties that can be modelled with interval arithmetic. 21:20:28 However, many programmers don't understand interval arithmetic, so. 21:20:31 Absolutely not. Floating points are not intervals. 21:20:50 No, but the errors introduced by operations can be modelled that way. 21:21:35 There's a whole branch of math dedicated to numerical analysis, and a sub-branch to studying generation and propagation of errors due to truncation and discretization. 21:21:44 I certainly can't argue with that. But like you say... not many understand it. 21:22:20 There are whole branches of math devoted to things that still should not be part of common programming practice. 21:22:23 Not many people understand quantum physics either, but that doesn't make it useless. 21:22:32 I never said useless. 21:22:44 it does imply that it is nonessential, no? 21:22:51 (@levi) 21:23:24 All this stuff is nonessential. We could go back to living in caves and eating uncooked meat. But... no thanks. 21:23:39 Mackleficent: Depends on what you're trying to do. Knowledge of quantum physics is certainly essential for some fields. 21:23:46 ...lol, ok 21:24:12 If you're trying to do science with computers, numerical analysis and the math related to studying error propagation is essential. 21:24:44 Yes. 21:25:07 This is true no matter what kind of numerical representation you choose. 21:25:11 Certainly. On the other hand, if I were trying to do really precise science with well-tracked error margins, I would imagine there are better methods than IEEE floating point out there. 21:25:40 carleastlund: You might imagine so, but then, where are those methods? What tradeoff vs. floating point do they introduce? 21:25:42 carleastlund: MPFR lets you do that. You specify the precision you want, etc. Every operation requires you to specify a rounding mode. 21:25:59 carleastlund: That way, there are no "unspoken assumptions". 21:26:53 What are those methods? I don't know. I don't know whether they've been discovered yet or not. But I seriously doubt that a method of computation designed to save computer memory and time in a day when every bit and cycle was a dear cost to be paid, is also the best method for precise scientific calculation in the age of gigahertz and petabytes. 21:27:34 There's also a related library, MPC, that brings MPFR's wonders to complex numbers. 21:27:41 *cky* wonders if Guile will use MPC for its complex support. 21:27:54 carleastlund: Really? I'm pretty sure that scientific problems don't tend to be algorithmically simple. 21:28:13 Nor do they tend to be small. 21:28:19 Pepe_ [~ppjet@bouah.net] has joined #scheme 21:28:33 Optimizing for storage and computational efficiency is as important as ever. 21:28:43 pothos_ [~pothos@111-240-165-153.dynamic.hinet.net] has joined #scheme 21:28:49 I'm sure they don't. But is IEEE really the universal "sweet spot" for trading off precision for time/space? Is it really one size fits all? I am skeptical. 21:29:12 -!- corruptmemory [~jim@96.246.167.18] has quit [Quit: Leaving] 21:29:57 carleastlund: Feel free to be skeptical, but I am skeptical that the flaws you are concerned about are as fatal as you believe, since there don't seem to be any serious attempts to replace IEEE floating point. 21:30:42 Of course there aren't. Most of the programs we use are there to put up flash ads on our websites. They are definitely good clients of floating point. 21:31:03 I worked in the supercomputing industry for years. 21:31:11 -!- pothos [~pothos@111-240-167-72.dynamic.hinet.net] has quit [Ping timeout: 276 seconds] 21:31:22 -!- pothos_ is now known as pothos 21:31:31 We sold cluster computers to the sorts of people who run huge scientific and engineering problems. 21:32:33 what sort of stuff did you(in specific) do? 21:32:55 They, for the most part, seemed pretty satisfied with C, Fortran, and floating point. The sticky issues were getting as much memory, storage, computing power, and interconnect bandwidth as possible in a stable system. 21:33:28 When was this? 21:34:06 I worked on embedded code for a hardware management device, but it was a small company and I was familiar with the people who helped validate the system by running actual codes on them. 21:34:22 A few years ago is when I left. 4 years, maybe? 21:34:42 Yes, they still write fortran code. 21:34:47 Okay. For all I knew you were retired and did this in the 70s. But yes, I am not entirely surprised. 21:34:58 And I'd be surprised if they were using anything *but* Fortran. 21:35:21 They tend to be not terribly sophisticated in terms of software engineering, but very good at math. 21:35:25 Which leads me to another point... just because they're good at science doesn't mean they show good judgement in computer science. 21:35:35 hardware floating point is a sweet way to exploit parallelism without thinking too hard. 21:36:40 carleastlund: OK, so what's your background in numerical analysis? 21:37:38 Never said I had one. Nor did you say you did have one. If someone here has a degree in it, I will certainly be swayed by their statements. So far, your appeal to authority has been "I knew some guys once", so I was not going to give up based solely on that. 21:37:55 I at least took a class on numerical analysis. 21:38:05 Good for you. Everyone should take classes. 21:38:21 Dealing with the sort of errors you're talking about is a fundamental part of it. 21:38:37 This discussion has become somewhat ridiculous. I have made all the points I care to make. 21:41:26 Well, I would just like to suggest that you take a look at a numerical analysis textbook if you'd like to further your understanding of the sorts of errors that can be introduced by different methods of truncating and discretizing real numbers. 21:41:42 And how they can be dealt with in a controlled manner. 21:45:27 it's amusing how this conversation has proceeded without the words "inexact" or "exact" 21:45:34 pnkfelix [~Adium@c-68-38-142-34.hsd1.nj.comcast.net] has joined #scheme 21:46:12 Exactly! 21:46:18 Oops, was I out of line? 21:46:41 wingo: You can't do real "exact" numeric math on a computer. 21:47:16 Find me the exact real numerical value of the area of a circle. 21:47:58 heh 21:48:16 i just mean to say that the scheme standard is all over the words "exact" and "inexact" 21:48:33 and somehow, that concern did not figure into the discussion :) 21:48:54 *wingo* recalls enjoying sperber's numerical tower rant a few years ago 21:49:20 on this channel? 21:49:57 Well, it could have gone there. There are doubtless many different computer representations of numbers that are useful in different domains. 21:49:59 no, in a paper 21:50:21 [ah, yeah, found it on google] 21:50:56 hue hue hue hue 21:56:14 But saying that floating point math is only useful for computer games and that it's really hard to characterize the errors in floating point math is just silly and ignorant. Not to say that it doesn't take effort and learning to be able to do it, but that the mathematical tools to do it are well-known and apply just as well to any other scheme you might come up with for storing approximations of real numbers in the computer. 21:57:15 hehehe, he said scheme 21:57:17 -!- nilg` [~user@77.70.2.229] has quit [Remote host closed the connection] 21:59:25 Anyway, the overall point is that if your problem doesn't fit completely within the bounds of the integer data type of your language, you're going to have accuracy problems if you don't learn the necessary math to deal with inexact numeric representations. 22:01:07 well, or live within the rationals and take the performance hit for arbitrary precision 22:02:18 Arbitrary precision is not exact precision, and the world, unfortunately, does not confine itself to the rational numbers. 22:02:46 math would suck if it did 22:02:52 the world is irrational 22:02:52 levi: as much as I respect your general argument, there is a large class of applications where arbitrary precision rationals work very well 22:03:00 Looking back over the above, I think I have to capitulate to levi's points. There was a valid point I was trying to make, but I don't think it coincided with what I actually said, and what I actually said was exaggerated enough to be, as said above... "silly and ignorant". 22:03:06 bremner: I'm not disagreeing with that! 22:03:10 levi: ok 22:05:02 My argument wasn't intended to raise floating point math up as the best inexact numeric representation for everything, just to defend its usefulness in real-world pursuits where you do care about accuracy and precision. 22:05:12 sure, agreed 22:05:18 My perspective on numerical (in)accuracy has been somewhat skewed by years of working on theorem proving, where any inaccuracy is pretty much tantamount to total inaccuracy, and reasoning explicitly about accuracy is just... well, let's just say that math is hard. 22:05:46 I hear you there. 22:06:17 Also, I totally took a class once, and there were some maths in it. I think there was even a number, once. 22:06:26 lol! 22:06:39 I analyzed the heck out of that number. 22:07:01 don't worry bender, there's no such thing as two 22:07:06 :) 22:10:07 Well, I realize the fact that I took a class doesn't make me any sort of authority, but it does at least show that I'm passingly familiar with the field. Aside from math being hard, it's *big* and people working in one subfield often don't know a lot about other subfields. 22:16:55 phao_ [pedro-hen@189.107.228.108] has joined #scheme 22:17:55 groovy2shoes [~guv@unaffiliated/groovebot] has joined #scheme 22:18:54 -!- phao_ [pedro-hen@189.107.228.108] has quit [Client Quit] 22:20:14 -!- Phao [phao@189.107.149.151] has quit [Ping timeout: 240 seconds] 22:29:51 Phao [pedro-hen@189.107.228.108] has joined #scheme 22:35:56 -!- bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:37:49 -!- f8l [~f8l@87.205.27.57] has quit [Quit: WeeChat 0.3.4] 22:40:16 If you took a class and there was a number in it, unless the number was 0, 1, 2, or pi/2, it probably wasn't a math class. 22:40:56 I thought the numbers were 0, 1, i, and pi. Hmpf. 22:41:11 not i 22:41:15 that's too concrete 22:41:20 XD 22:45:37 -!- ravic is now known as chemuduguntar 22:46:42 http://stwww.weizmann.ac.il/G-CS/BENARI/articles/nonmyths.pdf 22:51:23 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 22:52:25 "At worst, they will call you an 'impressionist' and not buy your paintings until after you are dead." 22:52:39 :} 22:52:40 I don't know if that's the worst, but it's funny. :) 23:05:21 The number was 28. The instructor said it was perfect, but I don't know. I kind of like 5. 23:05:57 -!- Mackleficent [4a604e18@gateway/web/freenode/ip.74.96.78.24] has quit [Quit: Page closed] 23:07:43 -!- groovy2shoes [~guv@unaffiliated/groovebot] has quit [Quit: groovy2shoes] 23:10:54 carleastlund: Hahahaha. 23:13:24 -!- seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has quit [Quit: seus] 23:14:05 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 245 seconds] 23:14:57 -!- Phao [pedro-hen@189.107.228.108] has quit [Quit: Fui embora] 23:18:55 HG` [~HG@xdslao226.osnanet.de] has joined #scheme 23:30:10 Grazl_ [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has joined #scheme 23:30:14 -!- Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has quit [Disconnected by services] 23:30:17 -!- Grazl_ is now known as Grazl 23:40:44 _danb_ [~user@124-171-12-242.dyn.iinet.net.au] has joined #scheme 23:49:26 amca [~amca@CPE-121-208-84-154.cqzr1.cha.bigpond.net.au] has joined #scheme 23:51:39 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Read error: Operation timed out] 23:57:16 -!- homie [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:57:27 -!- wbooze [~levgue@xdsl-78-35-173-125.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:57:52 blueadept2 [~blueadept@cpe-24-160-96-254.tampabay.res.rr.com] has joined #scheme 23:59:19 homie [~levgue@xdsl-78-35-173-125.netcologne.de] has joined #scheme