00:00:34 -!- Zuu [~Zuuo@unaffiliated/zuu] has quit [] 00:17:09 -!- davazp [~user@198.Red-88-1-98.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 00:17:51 In '(func #t #t)', do the #t's occupy the same storage location? 00:18:35 jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has joined #scheme 00:19:43 most likely 00:20:40 Do two symbols that look the same occupy the same memory location? 00:22:09 *Colloguy* is trying to make sense of the various caveats in eqv? 00:22:14 Yes, although the more Schemey way to say that is that they are eq?. 00:22:41 eq? means the same thing as "same storage location" ? 00:22:51 The only difference between eq? and eqv? is that using eq? you are not allowed to assume that identical looking numbers or characters are eq?. They are eqv?. 00:23:41 what does the 'v' stand for, btw? 00:23:52 equiValent. 00:24:07 oh so what does eq stand for? 00:24:12 EQuivalent. 00:24:19 So if two things are eq?, then does that tell you that the scheme implementation stores them at the same location? 00:24:23 *jonrafkind* jumps off a building 00:24:27 In general, yes. 00:24:52 logic equivalnce and physical equivalence ? 00:25:02 Indeed. 00:25:33 so byte-logic against what ? 00:25:42 Eh? 00:26:56 sorry maybe exaggerated 00:27:05 Maybe unintelligible, you mean. 00:28:16 -!- schmir [~schmir@p54A9309D.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 00:28:28 do i ? 00:29:54 -!- drwho [~drwho@c-98-225-208-183.hsd1.pa.comcast.net] has quit [*.net *.split] 00:29:54 -!- copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has quit [*.net *.split] 00:29:54 -!- adu [~ajr@pool-71-191-173-96.washdc.fios.verizon.net] has quit [*.net *.split] 00:29:54 -!- oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has quit [*.net *.split] 00:29:54 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [*.net *.split] 00:29:54 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [*.net *.split] 00:29:54 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [*.net *.split] 00:29:54 -!- ASau [~user@83.69.227.32] has quit [*.net *.split] 00:29:55 -!- rudybot [~luser@offby1.xen.prgmr.com] has quit [*.net *.split] 00:29:55 -!- nothingHappens [~nothingha@173-31-122-80.client.mchsi.com] has quit [*.net *.split] 00:29:55 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [*.net *.split] 00:29:59 rudybot [~luser@offby1.xen.prgmr.com] has joined #scheme 00:30:09 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 00:30:12 Quadrescence [~quad@unaffiliated/quadrescence] has joined #scheme 00:30:20 oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has joined #scheme 00:30:22 nothingHappens [~nothingha@173-31-122-80.client.mchsi.com] has joined #scheme 00:30:23 drwho [~drwho@c-98-225-208-183.hsd1.pa.comcast.net] has joined #scheme 00:30:25 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 00:30:26 copumpkin [~copumpkin@c-75-69-96-50.hsd1.nh.comcast.net] has joined #scheme 00:30:31 GammaRays [~user@77.246.230.163] has joined #scheme 00:30:32 ASau [~user@83.69.227.32] has joined #scheme 00:31:12 does the scheme spec force "eqv? iff same physical location" ? 00:31:29 err I meant eq? 00:31:37 -!- masm [~masm@bl9-114-242.dsl.telepac.pt] has quit [Quit: Leaving.] 00:33:11 If you have two references to the same physical location, there can't possibly be more than one thing in that location. 00:33:55 -!- guenthr [~unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [Remote host closed the connection] 00:35:01 that seems to be <=, what about => ? 00:35:47 But two numbers or characters that look the same are eqv?, whether or not they are eq?. 00:36:51 I corrected myself, currently I'm only interested in "eq? iff same physical location" 00:37:13 1) Not all Scheme objects have a physical location. 00:37:30 2) The behavior of eq? on numbers and characters is undefined, and you cannot rely on it. 00:38:28 ok, so I shouldn't think below eq... 00:38:38 Exactly. 00:38:58 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 248 seconds] 00:41:44 Checkie [~checkie@unaffiliated/checkie] has joined #scheme 00:42:27 Most of the time you have no need to think below eqv?, as the fact that eq? is marginally faster than eqv? is not usually very important. 00:43:36 oh okay :P 00:43:50 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:44:02 Old Lisp/Scheme weenies have the habit of writing eq? instead of eqv?, but there's no reason to imitate them. 00:44:47 http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node74.html may be helpful, even though it is about Common Lisp. 00:45:16 is there some rhyme or reason why (eqv? "" "") => unspecified but (eqv? '() '()) => #t ? 00:45:18 In CL, eq? is spelled EQ, eqv? is spelled EQL, and equal? is spelled EQUAL. There is no Scheme equivalent of EQUALP, so skip that portion of the page. 00:45:30 () is a unique object, but "" may or may not be. 00:46:03 Ditto with #(). 00:46:20 seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has joined #scheme 00:46:28 unique, not by virtue of physical location, but because eqv says it is? 00:46:52 Yes. 00:46:58 should I just study all the little exceptions to eq?, as defining which things are the same physical object? 00:47:06 and which aren't? 00:47:53 It's a matter of thinking in Lisp/Scheme. 00:48:03 () is atomic, but "" and #() are sequences of length zero. 00:48:25 That is, () is a sequence of length zero too, but it's thought of as a unique atom, like a symbol, number, or character. 00:48:45 This is primarily a historical fact. 00:48:53 its an object, but the others are emptiness? 00:49:12 Mmmm. 00:49:18 I prefer my formulation. 00:49:40 All of them are objects, and emptiness is where you find it. () is called the empty list, just as "" is the empty string and #() the empty vector. 00:50:37 Some people pronounce () as "nil" when they are treating it as an object rather than a list of length zero. This too is historical. 00:57:59 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Read error: Connection reset by peer] 00:58:29 sepult [~user@xdsl-87-78-131-9.netcologne.de] has joined #scheme 01:03:21 -!- Skewb [~Skewb@83.231.83.207] has quit [] 01:03:27 -!- rstandy [~rastandy@net-93-144-223-221.t2.dsl.vodafone.it] has quit [Ping timeout: 276 seconds] 01:03:47 bokr [~eduska@95.154.102.124] has joined #scheme 01:06:49 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 01:07:05 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 01:10:34 annodomini [~lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 01:10:34 -!- annodomini [~lambda@c-75-69-96-104.hsd1.nh.comcast.net] has quit [Changing host] 01:10:34 annodomini [~lambda@wikipedia/lambda] has joined #scheme 01:12:18 *jcowan* discovers that let-syntax does not, after all, mean what he always thought it meant. 01:12:58 *jcowan* is confirmed in his feeling that local syntax extensions are a Bad Thing. 01:13:59 It's fine to change the syntax of your language. But do it at the top of the program, once for all. 01:16:41 hey for some reason these notes mention these types: word, sentence 01:16:51 are they symbols and lists, respectively? 01:17:21 I think these notes come from SICP 01:18:08 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Read error: Connection reset by peer] 01:18:41 sepult [~user@xdsl-87-78-131-9.netcologne.de] has joined #scheme 01:19:10 *Colloguy* thinks he should just google this stuff himself. 01:19:25 yeah, I think so, those are the phrases that the lecturer at berkley used IIRC 01:19:58 I watched some of the sicp lectures on academic earth, and I'm fairly sure he used that terminology 01:20:55 :) 01:21:00 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 276 seconds] 01:21:49 although more in the sense of "this list represents a sentence" 01:22:19 they're really types that only exist as convention 01:27:05 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 01:27:16 JoelMcCracken [~joelmccra@pool-71-240-21-174.pitt.east.verizon.net] has joined #scheme 01:27:17 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 01:27:50 -!- JoelMcCracken [~joelmccra@pool-71-240-21-174.pitt.east.verizon.net] has quit [Remote host closed the connection] 01:31:29 jcowan: what if other people want to use your code but don't want to use your syntax globally? 01:33:52 That's a modularity problem, best solved by the development of standard module syntax. 01:42:07 -!- jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has quit [Quit: Leaving] 01:45:02 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Remote host closed the connection] 01:47:51 josephholsten [~josephhol@ip70-189-108-199.ok.ok.cox.net] has joined #scheme 01:48:34 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Remote host closed the connection] 01:51:12 sepult [~user@xdsl-87-78-131-9.netcologne.de] has joined #scheme 01:51:35 -!- saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 268 seconds] 02:04:03 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 02:05:58 -!- mbishop [~mbishop@geeks.im] has quit [Quit: Lost terminal] 02:06:51 foof [~user@FL1-122-131-198-106.osk.mesh.ad.jp] has joined #scheme 02:14:55 mbishop [~martin@adsl-222-54-160.msy.bellsouth.net] has joined #scheme 02:17:12 -!- funkenblatt [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has quit [Remote host closed the connection] 02:17:55 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Read error: Connection reset by peer] 02:18:40 sepult [~user@xdsl-87-78-131-9.netcologne.de] has joined #scheme 02:19:21 -!- PygoscelisPapua [~pygospa@f055003143.adsl.alicedsl.de] has quit [Ping timeout: 260 seconds] 02:19:38 heym is there a synonym for "special form" that appears in r5rs? 02:19:43 -!- proq [~user@unaffiliated/proqesi] has quit [Read error: Operation timed out] 02:19:44 hey* 02:20:50 oh, I think it's "macro" 02:20:56 PygoscelisPapua [~pygospa@g230091010.adsl.alicedsl.de] has joined #scheme 02:25:48 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 02:26:51 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 02:27:22 kniu [~kniu@HOHOHO.RES.CMU.EDU] has joined #scheme 02:30:47 -!- mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 02:33:56 -!- MrFahrenheit [~RageOfTho@users-55-238.vinet.ba] has quit [Ping timeout: 245 seconds] 02:36:45 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Remote host closed the connection] 02:37:47 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 02:40:39 sepult [~user@xdsl-87-78-131-9.netcologne.de] has joined #scheme 02:44:08 Is there a scheme function for calculating log base 10? 02:44:17 Or at least the natural logarithim? 02:46:37 jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has joined #scheme 02:47:50 (log 12) works for me 02:47:57 for the natural log 02:48:50 it's mentioned in r5rs 02:48:58 thanks 02:53:54 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 02:54:36 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 02:56:50 mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has joined #scheme 03:08:25 askhader: (define log10 (let ((ln10 (log 10))) (lambda (n) (/ (log n) ln10))) 03:09:07 So, even though there's no log10 "out of the box", writing one is trivial. :-P 03:09:27 gwynddyllyd [~fintn@201.29.249.11] has joined #scheme 03:11:15 cky: Yep thanks 03:11:22 rudybot: eval (define log10 (let ((ln10 (log 10))) (lambda (n) (/ (log n) ln10)))) 03:11:41 -!- SharkBrain [~gerard@210.48.104.34] has quit [Quit: leaving] 03:13:38 SharkBrain [~gerard@210.48.104.34] has joined #scheme 03:14:26 incubot: kick rudybot to the shinbone! 03:14:30 just made a kick-ass sandwich 03:14:44 incubot: gimmie gimmie 03:14:47 gimmie! gimmie! 03:15:03 incubot: youuuu stupid not monkey! 03:15:06 I was just doing the ugliest monkey-grunt type of web programming. 03:15:43 incubot: web is not to be programmed but evolved 03:15:46 well, the psycho-nlp thingy evolved from phrase structur grammar, originally, so those two are related 03:16:09 incubot: your do'in it, baby! 03:16:10 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 03:16:12 Why can't I call you baby? 03:16:46 incubot: koz i ain't no silicophiliac. 03:17:19 -!- Colloguy [~colloguy@64.134.220.190] has quit [Quit: leaving] 03:22:46 -!- mbohun [~mbohun@202.124.74.150] has quit [Quit: Leaving] 03:34:01 elly: I'd fix the bot if I knew how, but I don't know how. 03:34:48 ton [~ton@173-16-130-10.client.mchsi.com] has joined #scheme 03:34:58 hellooooooooo 03:35:28 I need help with lists: specifically is there a way to make a list containing other variables? 03:35:35 TR2N` [email@89.180.235.140] has joined #scheme 03:35:46 You probably want the LIST procedure. 03:37:00 LIST procedure.... okay 03:37:09 maybe the bot has something to say? 03:37:14 list! 03:37:16 .... fail 03:37:31 rudybot list! 03:37:38 ... twice failed 03:38:13 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_416 03:38:53 -!- TR2N [email@89.180.230.255] has quit [Ping timeout: 268 seconds] 03:39:14 -rudybot:#scheme- http://tinyurl.com/5ppw5q 03:40:19 mbohun [~mbohun@202.124.74.150] has joined #scheme 03:40:52 thx for link 03:51:21 ton: If your list is mostly constants but have a small amount of variables, you can also use quasiquote. 03:51:46 (Well, even if your list is all variables you can use quasiquote too, but "list" would likely be clearer to read.) 03:52:41 e.g., `((+ 3 4) => ,(+ 3 4)) is the same as '((+ 3 4 => 7) 03:52:51 Uh, '((+ 3 4) => 7), rather 03:53:38 Daemmerung [~goetter@64.146.161.228] has joined #scheme 03:54:16 list! 03:54:31 what???? 03:54:46 Rudybot doesn't always, umm, behave quite like a bot. 03:55:00 yeah... >_> 03:55:17 anyway cky, I'm having a hard time getting this, but.... 03:55:21 Then again, #scheme doesn't always behave quite like an IRC channel. 03:55:28 lol how so 03:55:58 ton: ` (quasiquote) is like ' (quote), except that you can have expressions that are actually evaluated, if you precede it with a , (unquote). 03:56:10 Sometimes the humans become bots, and the bots become quite human.... 03:56:33 jcowan that's quite disturbing... like an awesome sci-fi novel! 03:56:58 cky so all along I've been using ' (quote) as a function to denote a list???? 03:56:59 *rudybot* burps discreetly 03:57:04 LOL!!!! 03:57:18 ton: You can use quote, but nothing inside the quote would get evaluated. 03:57:40 ah! so quasiquote does on-the-spot calculations? 03:57:48 It gives you the option to. 03:58:03 or even allows variables to change and therefore.... wow 03:58:03 If you have no unquotes inside the quasiquote, then it's the same as using quote. 03:58:20 :| 03:58:25 e.g., `(foo bar baz) is really not very different from '(foo bar baz); they're both lists with the symbols foo, bar, and baz. 03:58:37 Where quasiquote gets interesting is when you unquote stuff. 03:58:56 I've debut wouldn't quasiquote actually take "foo" as a function with bar and baz as variables to it? 03:59:03 `(foo bar ,baz) is the same as (list 'foo 'bar baz) 03:59:12 oh.... 03:59:15 (Well, "same as" here in the equal? sense.) 03:59:22 strange 03:59:58 something I've noted as a noob (srr off-topic) is that if you define "list" as a variable, you can't use LIST as a regular function 04:00:18 Yes, Scheme is a Lisp-1, meaning that variables and functions are in the same namespace. 04:00:47 wow.... I'm in over my head :P 04:00:55 -!- bokr [~eduska@95.154.102.124] has quit [Remote host closed the connection] 04:01:03 but this is the furthest I've ever gotten learning a prog languange 04:01:10 bokr [~eduska@95.154.102.124] has joined #scheme 04:01:12 err... scripting language 04:02:08 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 04:02:58 I personally don't try to distinguish between a programming language and a scripting language too much, and in any case, Scheme is (in my opinion) more a programming language than a scripting language. :-P 04:03:36 and a mighty useful one at that imao 04:03:45 I think it's a silly distinction 04:03:52 and one that nobody can formalize anyway 04:03:52 copumpkin: Totally agree. 04:05:23 "Scripting language" means "high-level language, as seen by those who think only low-level languages are morally worthy." 04:05:30 well... noob talkin here... isn't a so-called "scripting language" normally higher-level, and a lower-level language meant to build other apps on? 04:05:41 ton: Scheme is for building apps on. 04:05:42 would you call haskell a scripting language? 04:05:48 No, it's too hard. 04:05:56 jcowan: Hahahaha. 04:05:58 ? 04:06:08 too hard to build apps w/ scheme? 04:06:17 jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 04:06:24 the closest I could come to a "scripting language" definition would be something with a bunch of primitives for dealing with stdin/stdout/unixy things in the prelude 04:06:26 No, Haskell is too hard to be called (insultingly) a scripting language. 04:06:27 like ruby or perl 04:06:35 but even that's a bit of a stretch 04:06:50 People call programs "scripts" if you don't have to suffer to write them. 04:06:57 ><'' .....lol 04:07:15 I'm suffering a little writing Scheme for Gimp! =O 04:07:17 mmm, suffer 04:07:23 agda is definitely a scripting language then 04:07:27 it's so fun to write! 04:07:28 yet it's so pleasurable 04:07:32 even if I never run the programs 04:08:10 in fact, I don't think I've ever compiled an agda program 04:08:38 That's just incidental suffering because you are a n00b. Writing C or C++ or Java, you suffer *every time you write code*. And that's the way it *should* be. According to people who talk about "scripting languages". 04:08:50 lol 04:09:12 lol wut 04:09:34 is this your idea or do you literally hear pros say this stuff??? 04:09:41 Not so much say it, as imply it. 04:09:55 spend some time on reddit.com/r/programming :) 04:10:01 but w/ C++ you can write Blender! 04:10:19 you can write blender in brainfuck if you really want to 04:10:23 with Scheme you can write a little button-making thing for Gimp! 04:10:42 (that variant of brainfuck that can make library calls) 04:10:44 mmm.... thanks for that copumpkin >_> 04:10:46 You can fuck your brain in a blender if you *really* want to. 04:11:01 yyyyyyyyyyeeeeeeeeahhhhhhhhhhh 04:11:01 (http://en.wikipedia.org/wiki/Brainfuck) 04:11:03 so anyway 04:11:08 moving along 04:11:34 doesn't a scripting language need some sort of app to work with pre-made? 04:12:19 like if you're talking Scheme 04:12:23 an interpreter? 04:12:29 ummm... .no 04:12:37 It's common to use such languages to make large programs "scriptable". 04:12:49 Some, like Lua, are designed for that purpose. 04:12:50 like we're talking Scheme is used to make Gimp "scriptable" 04:13:00 but I don't know what else you can do with it 04:13:03 However, people also write stand-alone "scripts". 04:13:10 Shell scripts, notably. 04:13:24 Python is used to "script" Blender, but people apparently write actual apps in it 04:14:02 I mean... don't you need C++ etc.'s low-level abilities to write a stand-alone program? 04:15:21 I've written several "stand-alone programs" without buffer overflows, so, no. 04:17:41 um... guess that means you've written said progs with something like Scheme? 04:19:03 Well, I hope that the ones in C didn't contain buffer overflows. But, yes, in Scheme, too. When I really need a buffer overflow, I'll use the FFI to call into an unsafe C subroutine. 04:20:54 in other words if you need extra memory you'll use C from within Scheme? 0_o 04:22:47 (A buffer overflow is a class of bug.) 04:24:03 I got that much from Wikipedia :)... but you said if you "need a buffer overflow" 04:24:46 Scheme is safe, so that class of bug can't happen unless your Scheme implementation is broken or you are using the interface to icky C stuff. 04:25:00 So if you *need* certain kinds of bugs, C/C++ are your friends. 04:25:08 ah :D 04:25:23 maybe ten years from know this stuff will be basic to me 04:25:32 -!- gwynddyllyd [~fintn@201.29.249.11] has quit [Quit: Lost terminal] 04:25:39 for now it's over meh head >< 04:25:52 I have another question (everyone has been so helpful thx) 04:26:25 when using if in scheme, is the first function mentioned after the "if test" the "then", and the second the "else"? 04:26:26 2cm cubes of sweet potato roasting at 375F. Maybe 40 minutes? 04:26:44 oh that sounds heavenly 04:26:54 and OT 04:27:03 ton: Pretty much, though I'd call them "expressions", not "functions". :-P 04:27:12 oh srr >< 04:27:40 that confused me at first, because you could say I'm "used" to seeing "then" and "else" actually stated 04:27:51 like in Visual Basic ;) 04:27:58 For example, you can say: (if (zero? (modulo n 2)) 'even 'odd) 04:28:14 r5rs if 04:28:15 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_98 04:28:16 -rudybot:#scheme- http://tinyurl.com/4xlwxg 04:29:36 thx guys 04:29:59 *ton* bows ten times before leaving this sacred hall 04:30:07 -!- ton [~ton@173-16-130-10.client.mchsi.com] has quit [Remote host closed the connection] 04:30:09 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 04:30:39 What is this >< with which he speaks? 04:31:11 Who will rid me of this meddlesome priest? 04:31:53 jcowan: maybe it's a great big X 04:50:02 Or maybe it's a sign of his inequality to us. 04:50:48 An inequality sign, for short. 04:51:29 (define >< (compose not equal?)) 04:52:09 http://funcall.blogspot.com/2010/02/unbelievable.html 04:53:51 jrm is the ruliest. 04:56:02 *jcowan* is concerned. 04:56:57 -!- sstrickl [~sstrickl@pool-141-157-183-82.bos.east.verizon.net] has quit [Quit: sstrickl] 04:57:24 -!- TR2N` is now known as TR2N 04:57:53 Owner_ [~chatzilla@cpe-174-102-198-0.wi.res.rr.com] has joined #scheme 04:57:57 what's with Honu in PLTScheme? 05:00:54 *eli* explicitly +1s Daemmerung's implicit +1 05:01:04 Owner_: It's a language in plt. 05:01:24 what is its purpose? is it described anywhere? 05:01:58 No, it's still in development. 05:02:11 The language is an infix-ish language, with contracts, and might have types. 05:02:33 *jcowan* hopes jrm doesn't burn out. 05:03:44 "atomic wedgie". 05:04:14 Owner_, do you want to use it? 05:05:02 *jcowan* thinks JavaScript would make a good PLT language. 05:05:33 *eli* is semi surprised that jcowan doesn't guess that there is already a JS language in PLT. 05:05:36 the guys at brown made a javascript->scheme compiler 05:06:14 http://planet.plt-scheme.org/display.ss?package=javascript.plt&owner=dherman 05:06:15 -rudybot:#scheme- http://tinyurl.com/yuf3m3 05:06:22 Two minds with but a single thought, it seems. 05:06:43 (That link is not what jonrafkind's talking about.) 05:06:54 Right. 05:09:06 melba [~blee@unaffiliated/lazz0] has joined #scheme 05:09:36 One of my back-burner projects is to write a compiler and interpreter for an S-expression version of JavaScript:The Good Parts 05:09:49 (Douglas Crockford's subset documented in the book of that name) 05:10:06 I've got as far as working out the S-expression conventions, and figuring out the implementation of objects. 05:10:25 Macros are the real challange; without that there's not much point. 05:11:14 A matter of opinion. 05:11:46 But I do want to port a macro library to Chicken for run-time use, probably alexpander, though in some ways riaxpander would be preferable. 05:12:23 *eli* coughs 05:13:55 *jcowan* raises an eyebrow. 05:14:29 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Remote host closed the connection] 05:15:30 *jcowan* delicately enquires wherein he has offended. 05:15:36 jonrafkind: just wanted to see a sample of it 05:16:07 the syntax is in flux at the moment, but you can see some examples in plt/collects/tests/honu 05:16:35 jcowan: No offence, but I'll avoid further comments... 05:16:51 dfeuer [~dfeuer@wikimedia/Dfeuer] has joined #scheme 05:17:27 *Daemmerung* doesn't use macros himself, but will defend to the death your right to expand them 05:17:46 *jcowan* laughs. 05:17:55 i have no plt/collects/tests 05:18:00 oh well 05:18:01 Syntax-case wouldn't be very appropriate, unless you can write the RHSes in JavaScript. 05:19:32 can a named let have optional parameters? 05:20:19 There is no standard answer, because optional params are not standard. 05:20:47 SRFI 89 isn't standard? :-P 05:20:49 jcowan: Um... In most Schemes (and certainly all r6rs schemes) that would be a natural restriction, but in PLT there's no problem for `syntax-case' clause to use a different language than the one they're manipulating. 05:22:00 Well, there's not much point in me implementing my odd-syntaxed subset of JS in PLT, is there. 05:23:32 So.....you like Atlanta? 05:23:40 Not really 05:23:46 Only was there once, I think. 05:23:54 *Daemmerung* has been browsing the sarahbot source 05:24:07 I mean, given there is already *Real JS* there. 05:24:57 Ah. 05:25:38 IIRC, Dave said that it's not practical in that it's slow; but competing with him on the side of semantics of the language would not be a good idea. 05:25:54 Mine will be even slower, so there! 05:26:10 *jcowan* plans to implement JavaScript objects as .... 05:26:12 .... a-lists! 05:26:44 That would probably be faster than hash tables in most cases. 05:27:07 At least in plt, I think that the threshold point is at about 30-40 items. 05:27:17 Technically, a-lists whose first entry is (magic-object js-type . useful-stuff) 05:27:19 (But that's for a flat list as a set.) 05:27:29 OK, that's just silly. 05:27:33 SICP-silly. 05:27:33 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 05:27:49 (cons '() '())-silly. 05:28:03 That would be a good magic object, yes. 05:28:16 But it'll probably be (list 'js-object) 05:28:19 for readability 05:29:00 That way you know when you are crossing an object boundary to the prototype object, and yet searching the prototype chain is a single assq. 05:29:52 IIRC, Matthias's first graduate student showed that there is no way to make those kind of tags work out. 05:30:16 "work out" in what sense? 05:30:37 lists + unique-tag != defstruct. 05:31:13 I said it would be slow. 05:31:33 Speed is not the problem, abstraction is. 05:31:41 Within Scheme, yes. Within a meta-interpreter I don't see why it can't work. 05:31:57 Lists are not a JS type, so I can use them how I please. 05:33:14 (Yes, it would work if you use them uniformly and never let plain scheme values leak in -- easy for a from-scratch interpreter, not so easy for a library thing.) 05:33:25 Just so. 05:33:46 The Scheme API has an a-list->object converter, of course. 05:34:48 Still, the biggest problem is the usual one you get when you abuse lists for everything. 05:35:10 In JS, the types are numbers (doubles), strings, booleans, the undefined value, and objects, where objects are property-bags and subsume functions, arrays, and the null object. 05:35:38 So these map neatly onto Scheme numbers, strings, booleans, and lists. 05:35:48 JS already abuses objects for almost everything. 05:36:12 There are even Numbers, Strings, and Booleans, which are objects that are sort of interchangeable, but not quite, with numbers, strings, and booleans. 05:36:34 But The Good Parts subset does not include them. 05:37:16 What are some common graphics libraries for use with scheme? 05:37:18 So what are you calling the usual and biggest problem? 05:37:46 askhader: can you provide a little more context? 05:37:49 Implementing a crappy language with a crappy language is still harder than implementing a crappy language with a good one. 05:38:20 There are good languages?! :o 05:38:41 You doubt that Thing One will be a good language?! 05:38:47 :) 05:38:50 Daemmerung: Well, I've been introduced to scheme through my computer science classes and until now all of my functions exist only with stdin and stdout. Since I have this newfound infatuation with scheme, I want to be able to expand the functionality of my scheme programs with perhaps a graphical user interface. 05:39:20 JavaScript also has way too many false values 05:39:27 jcowan: The usual biggest problem is that the fewer types you have, the bigger your chance is to have bugs. When you have only lists, the chances are pretty high. "Good-faith" abstractions as in SICP (things like (define foo-x car)) break fast. 05:39:36 -!- seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 05:40:14 eli: Indeed! 05:40:17 Fair enough. Here, however, lists mean objects and only objects. 05:40:25 We need user-defined types and extensive pattern matching. 05:40:36 JS doesn't have those things. 05:40:44 askhader: there are three basic approaches to graphics in Scheme. 1) OpenGL glue, very low-level 2) Tk 3) PLT's hoary fork of WxWidgets which no longer bears much relationship to its parent. 05:40:47 Programming with LC is the peak of this catastrophe, much like prgramming with TMs 05:41:00 foof: We are going to have user-defined types in Thing One, no? 05:41:01 Daemmerung: hoary? 05:41:05 jcowan: You can't turn JS into a good language no matter how hard you try! :) 05:41:13 No, I deny that. 05:41:23 I would strongly endorse option 3 for you. 05:41:23 JS:TGP is well worth reading 05:41:26 jcowan: I'm going to push for SRFI-9. 05:41:44 *jcowan* doubles foof's efforts by pushing for (the syntactic part of) SRFI-99 05:42:09 Which has the advantage of upward compat with SRFI-9, and not too far upward either. 05:42:11 Daemmerung: I'll proably look into for a place to start, but I have to say that OpenGL glue looks promising. Thanks. 05:42:13 The syntactic-part is just ading single inheritance? 05:42:23 Daemmerung: It being option 3 05:42:42 And auto-supplied names if you want them. 05:42:46 ah 05:43:14 JavaScript values which count as false: #f (spelled "false"), null, undefined, 0, "", NaN 05:43:45 Daemmerung: What is the formal name of option 3? Google isn't turning up anything sane. 05:43:53 askhader: If you do pursue PLT, it contains OpenGL bindings as well as its native GUI. 05:43:57 askhader: www.plt-scheme.org 05:44:04 Ah yes, thank you. 05:45:05 foof: Also, SRFI-99 define-record-type need not be at top level. 05:45:11 askhader: Also, both of the major C-schemes, chicken and gambit, bind easily to OpenGL (opengl being a pretty simply bound interface). So you have other options if PLT proves too limiting. The ease of PLT's native GUI, however, is unmatched IMO. 05:45:18 The auto-supplied names means you can't use syntax-rules to define them. 05:45:25 right 05:45:34 But all those things are cheap. 05:46:20 in explanatory energy and implementation cost 05:46:33 given that most Thing Ones will probably have low-level macros of some sort 05:48:11 I was thinking today about relaxing the constraints on identifiers that don't allow them to look like numbers. 05:48:17 s/identifiers/symbols 05:48:30 Currently 4bsd and +foo+ and -bar- are not valid symbols, but most Schemes treat them as such. 05:49:00 Is keeping them out of the Standard in the hope that someone will provide lexical syntax for quaternions really worth while? 05:49:09 -!- amca [~amca@CPE-121-208-82-97.cqzr1.cha.bigpond.net.au] has quit [Quit: Farewell] 05:50:05 I think the rule should be that if there are any digits in the symbol, then a character other than a digit, + or - must occur before it. 05:50:30 So +foo+ and -bar- are valid symbols, 4bsd is not. 05:51:11 -!- annodomini [~lambda@wikipedia/lambda] has quit [Quit: annodomini] 05:51:19 That reduces to a constant lookahead to determine symbol vs number. 05:52:19 See, this is why implementors should not be part of a language definition. 05:52:54 What about .foo.? 05:53:06 Ah, digits. 05:53:07 allowed, no digits 05:53:47 I like how Chicken's nth prompt is #;n> 05:53:51 By my definition, +i and -i are not numbers - we may or may not want to make those exceptions. 05:54:02 which means you can cut and paste the prompts along with the code 05:54:24 I am also in favor of #; and #|...|# comments 05:54:46 But that only works because in Chicken 1> is a symbol 05:55:22 I think we have to allow +i and -i as numbers. 05:56:01 Anything with existing meaning as a number must still be a number, even if it complicates the rules. 05:56:30 Shiro made a comment about -i often being confused as a symbol representing a command-line option in shell-like syntax. 05:56:31 But otoh, is constant lookahead really important? What's wrong with the good old rule "If it's not a number, taken as a whole, it's a symbol"? 05:56:37 *jcowan* nods. 05:56:51 You have to write "-i" in that case in scsh. 05:57:28 It pukes on "(run (ls -i))" 05:57:50 Although a reasonable rule is to specify explicitly that 0.0-1.0i be written as "-i" in shell serialization. 05:57:59 Just so. 05:58:38 Scsh won't let you serialize anything but symbols, strings, and exact integers to the shell. 05:58:50 (or rather, to the process macros) 05:58:59 pavelludiq [~quassel@87.246.14.89] has joined #scheme 06:00:11 In scsh, btw, +i means 0+1i, not 0.0+1.0i. 06:00:25 is there an indexOf function for strings? 06:00:44 or should i just use regexp-split? 06:01:55 nevermind 06:02:02 string-index from SRFI 13 is your friend. 06:02:44 r2q2 [~user@acad245170.eastdorm.uic.edu] has joined #scheme 06:02:47 not string-contains? 06:03:03 That just tells you #t or #f, not where it is. 06:03:11 Up to you. 06:03:14 *jcowan* departs. 06:03:15 -!- jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has quit [Quit: Leaving] 06:03:26 thanks 06:09:28 -!- r2q2 [~user@acad245170.eastdorm.uic.edu] has quit [Remote host closed the connection] 06:16:37 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 06:34:34 -!- Owner_ [~chatzilla@cpe-174-102-198-0.wi.res.rr.com] has quit [Ping timeout: 256 seconds] 06:34:51 Modius_ [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #scheme 06:37:34 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Ping timeout: 252 seconds] 06:38:23 -!- jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Ping timeout: 246 seconds] 06:47:50 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 06:49:40 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 252 seconds] 07:01:42 toekutr [~toekutr@adsl-69-107-105-129.dsl.pltn13.pacbell.net] has joined #scheme 07:06:52 -!- oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 07:11:09 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 07:18:31 -!- leppie|work [~52d2e3c8@gateway/web/freenode/x-njnzqsoxeozlesea] has quit [Quit: Page closed] 07:22:28 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 07:22:44 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 07:23:01 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 07:23:06 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 07:24:34 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 07:25:17 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 07:28:17 punzik [~punzik@u5-60-231.lan.fecity.ru] has joined #scheme 07:28:38 a 07:29:17 .repl 07:29:46 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 07:33:06 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 07:33:21 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 07:37:11 -!- drwho [~drwho@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Quit: Leaving] 07:54:00 -!- mbohun [~mbohun@202.124.74.150] has quit [Quit: Leaving] 07:58:31 -!- punzik [~punzik@u5-60-231.lan.fecity.ru] has quit [Ping timeout: 268 seconds] 08:05:15 -!- melba [~blee@unaffiliated/lazz0] has quit [Read error: Connection reset by peer] 08:07:24 punzik [~punzik@217.118.95.79] has joined #scheme 08:11:59 -!- zmyrgel [~zmyrgel@hoasnet-fe22dd00-59.dhcp.inet.fi] has left #scheme 08:18:48 '(1 2 3) 08:24:47 are you trying to talk to the eval bot? 08:24:50 rudybot: eval '(1 2 3) 08:24:57 elly: error: with-limit: out of time 08:25:00 rudybot: eval '(1 2 3) 08:25:05 elly: error: with-limit: out of time 08:25:09 hm, uncool 08:25:10 rudybot: init 08:25:14 elly: your sandbox is ready 08:25:17 rudybot: eval '(1 2 3) 08:25:18 elly: ; Value: (1 2 3) 08:25:20 yeah 08:31:07 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 08:43:21 hkBst_ [~hkBst@gentoo/developer/hkbst] has joined #scheme 08:43:31 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 245 seconds] 08:43:31 Edico [~Edico@unaffiliated/edico] has joined #scheme 08:57:17 -!- toekutr [~toekutr@adsl-69-107-105-129.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 08:57:47 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 09:02:06 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 09:11:22 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 09:14:44 schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has joined #scheme 09:19:30 -!- Checkie [~checkie@unaffiliated/checkie] has quit [Ping timeout: 248 seconds] 09:24:39 Checkie [~checkie@unaffiliated/checkie] has joined #scheme 09:26:47 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 09:29:50 MrFahrenheit [~RageOfTho@users-55-84.vinet.ba] has joined #scheme 09:32:43 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 09:36:37 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Quit: Leaving] 09:36:48 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: Connection reset by peer] 09:37:02 -!- punzik [~punzik@217.118.95.79] has quit [Ping timeout: 256 seconds] 09:49:53 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 09:51:48 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 09:53:13 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Ping timeout: 264 seconds] 09:55:32 ribbs [~ribbs@p024062.doubleroute.jp] has joined #scheme 09:56:36 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 09:56:51 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 10:08:33 punzik [~punzik@u5-60-231.lan.fecity.ru] has joined #scheme 10:09:30 -!- hkBst_ [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 10:09:33 -!- punzik [~punzik@u5-60-231.lan.fecity.ru] has left #scheme 10:09:46 hkBst_ [~hkBst@gentoo/developer/hkbst] has joined #scheme 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:14:03 -!- incubot [incubot@klutometis.wikitex.org] has quit [Remote host closed the connection] 10:18:27 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 10:18:50 incubot [incubot@klutometis.wikitex.org] has joined #scheme 10:19:40 punzik [~punzik@u5-60-231.lan.fecity.ru] has joined #scheme 10:21:41 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 10:23:50 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 10:28:33 -!- punzik [~punzik@u5-60-231.lan.fecity.ru] has quit [Quit: used jmIrc] 10:29:45 punzik [~punzik@u5-60-231.lan.fecity.ru] has joined #scheme 10:32:55 (+ 1 2) 10:33:09 .repl 10:33:41 (+ 1 2) 10:36:47 melba [~blee@unaffiliated/lazz0] has joined #scheme 10:37:34 rudybot, eval (+ 1 2) 10:37:39 Jafet: error: with-limit: out of time 10:37:51 Erm. 10:37:54 rstandy [~rastandy@net-93-144-67-152.t2.dsl.vodafone.it] has joined #scheme 10:41:25 Zuu [~Zuuo@h207.natout.aau.dk] has joined #scheme 10:42:59 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 10:43:04 -!- punzik [~punzik@u5-60-231.lan.fecity.ru] has quit [Quit: used jmIrc] 10:43:26 punzik [~punzik@u5-60-231.lan.fecity.ru] has joined #scheme 10:43:37 -!- PygoscelisPapua [~pygospa@g230091010.adsl.alicedsl.de] has quit [Ping timeout: 264 seconds] 10:44:06 (+ 1 2) 10:44:16 .help 10:44:18 -!- schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 10:44:41 Perhaps you might like to speak in english 10:45:17 rudybot, eval "How about a nice game of chess?" 10:45:20 C-Keen: your sandbox is ready 10:45:20 C-Keen: ; Value: "How about a nice game of chess?" 10:45:26 PygoscelisPapua [~pygospa@f055100208.adsl.alicedsl.de] has joined #scheme 10:46:04 Hmm, IRC chess engine golf 10:46:13 rudybot is stateful, so that'd work 10:46:31 ;) 10:48:02 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 10:48:27 How to work in repl? 10:51:34 Which repl you want to work in? 10:51:44 Bot on #schemerepl don't send answers for my requests 10:52:05 Oh, I don't know about that channel 10:54:19 :( 11:07:01 hkBst__ [~hkBst@41.184.82.6] has joined #scheme 11:07:16 -!- hkBst_ [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 245 seconds] 11:07:21 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 11:09:59 -!- MrFahrenheit [~RageOfTho@users-55-84.vinet.ba] has quit [Ping timeout: 246 seconds] 11:11:53 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 11:13:54 masm [~masm@bl9-114-242.dsl.telepac.pt] has joined #scheme 11:16:41 alvatar [~alvatar@254.126.222.87.dynamic.jazztel.es] has joined #scheme 11:18:00 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 252 seconds] 11:21:14 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 11:31:40 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Ping timeout: 256 seconds] 11:31:46 -!- punzik [~punzik@u5-60-231.lan.fecity.ru] has quit [Ping timeout: 248 seconds] 11:32:35 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 11:32:47 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 11:39:39 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 11:46:55 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Ping timeout: 265 seconds] 11:47:34 sepult` [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 11:50:36 -!- sepult [~user@xdsl-87-78-131-9.netcologne.de] has quit [Ping timeout: 245 seconds] 11:52:14 mario-goulart [~user@67.205.85.241] has joined #scheme 11:58:32 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 11:59:11 i1ey [~iley@host-81.200.2.121.su29.ru] has joined #scheme 12:03:25 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 12:03:42 tim [~tim@h85-8-46-177.dynamic.se.alltele.net] has joined #scheme 12:03:43 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Quit: Leaving.] 12:05:36 In a procedure, I want to modify the binding of the argument, e.g. define a modify! such that (modify! fn) changes fn to another procedure. Is this possible? 12:06:49 -!- ribbs [~ribbs@p024062.doubleroute.jp] has quit [Quit: Leaving...] 12:06:51 It would be similar to what trace does 12:08:40 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 12:13:40 no, because the procedure gets the value of fn with a new, local binding 12:15:14 sloyd: Isn't there some silly work-around then? IIRC you can (trace fn), and then there will be displays added to fn. 12:15:44 this is why set! is a special form. you could create your own special form with define-syntax, but it seems like (set! fn (modify fn)) would be enough 12:16:30 sloyd: Ok, thank you! 12:31:43 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 12:35:04 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 12:36:05 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 12:37:21 sstrickl [~sstrickl@nomad.ccs.neu.edu] has joined #scheme 12:49:23 -!- haptiK [~alsodongs@157.140.112.178] has quit [] 12:54:32 Adamant [~Adamant@unaffiliated/adamant] has joined #scheme 12:56:16 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #scheme 13:01:46 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 13:06:15 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 13:06:51 -!- hkBst__ [~hkBst@41.184.82.6] has quit [Ping timeout: 245 seconds] 13:09:16 -!- sepult` [~user@xdsl-87-78-173-237.netcologne.de] has quit [Remote host closed the connection] 13:09:33 hkBst__ [~hkBst@41.184.82.6] has joined #scheme 13:18:03 sepult [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 13:19:46 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 13:24:23 -!- josephholsten [~josephhol@ip70-189-108-199.ok.ok.cox.net] has quit [Quit: josephholsten] 13:25:45 -!- Len_ [~Len@87.70.35.38] has quit [Ping timeout: 260 seconds] 13:26:14 Len_ [~Len@87.70.35.38] has joined #scheme 13:26:35 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 13:28:48 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 13:34:05 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 13:38:42 davazp [~user@83.46.0.116] has joined #scheme 13:45:49 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 265 seconds] 14:00:09 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 14:02:10 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Ping timeout: 248 seconds] 14:02:20 schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has joined #scheme 14:03:31 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 14:05:09 stepnem [~stepnem@88.103.132.186] has joined #scheme 14:05:31 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 14:09:15 -!- tim [~tim@h85-8-46-177.dynamic.se.alltele.net] has quit [Quit: leaving] 14:09:20 annodomini [~lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 14:09:20 -!- annodomini [~lambda@c-75-69-96-104.hsd1.nh.comcast.net] has quit [Changing host] 14:09:20 annodomini [~lambda@wikipedia/lambda] has joined #scheme 14:14:08 -!- hkBst__ [~hkBst@41.184.82.6] has quit [Remote host closed the connection] 14:14:46 hkBst__ [~hkBst@41.184.82.6] has joined #scheme 14:20:03 ASau [~user@83.69.227.32] has joined #scheme 14:20:40 josephholsten [~josephhol@ip68-0-123-16.tu.ok.cox.net] has joined #scheme 14:21:18 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Remote host closed the connection] 14:24:51 merimus [~merimus@office.vivisimo.com] has joined #scheme 14:27:16 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 245 seconds] 14:28:30 oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has joined #scheme 14:30:09 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 14:33:24 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Ping timeout: 256 seconds] 14:36:19 hkBst___ [~hkBst@41.184.82.6] has joined #scheme 14:36:26 -!- hkBst__ [~hkBst@41.184.82.6] has quit [Ping timeout: 245 seconds] 14:36:40 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 14:37:01 -!- foof [~user@FL1-122-131-198-106.osk.mesh.ad.jp] has quit [Ping timeout: 264 seconds] 14:42:25 -!- josephholsten [~josephhol@ip68-0-123-16.tu.ok.cox.net] has quit [Quit: josephholsten] 14:43:51 luz [~davids@189.122.90.116] has joined #scheme 14:45:40 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 14:45:55 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 14:47:29 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 14:48:23 foof [~user@FL1-122-131-198-106.osk.mesh.ad.jp] has joined #scheme 14:48:31 -!- hkBst___ [~hkBst@41.184.82.6] has quit [Ping timeout: 245 seconds] 14:48:42 marijn [~hkBst@41.184.82.6] has joined #scheme 14:50:31 -!- sepult [~user@xdsl-87-78-173-237.netcologne.de] has quit [Read error: Connection reset by peer] 14:54:15 sepult [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 14:56:36 -!- alvatar [~alvatar@254.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 14:59:59 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Read error: Connection reset by peer] 15:06:33 attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has joined #scheme 15:07:07 -!- sepult [~user@xdsl-87-78-173-237.netcologne.de] has quit [Remote host closed the connection] 15:07:21 -!- SharkBrain [~gerard@210.48.104.34] has quit [Ping timeout: 252 seconds] 15:08:05 SharkBrain [~gerard@210.48.104.34] has joined #scheme 15:15:28 sepult [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 15:18:08 -!- Zuu [~Zuuo@h207.natout.aau.dk] has quit [Ping timeout: 265 seconds] 15:19:52 -!- marijn [~hkBst@41.184.82.6] has quit [Remote host closed the connection] 15:22:55 marijn [~hkBst@41.184.82.6] has joined #scheme 15:24:34 -!- attila_lendvai [~ati@apn-89-223-169-46.vodafone.hu] has quit [Ping timeout: 256 seconds] 15:25:12 josephholsten [~josephhol@adsl-70-234-138-72.dsl.tul2ok.sbcglobal.net] has joined #scheme 15:26:06 marijn_ [~hkBst@41.184.82.6] has joined #scheme 15:28:06 -!- marijn [~hkBst@41.184.82.6] has quit [Ping timeout: 245 seconds] 15:30:06 -!- marijn_ [~hkBst@41.184.82.6] has quit [Remote host closed the connection] 15:30:48 marijn_ [~hkBst@41.184.82.6] has joined #scheme 15:33:47 -!- bokr [~eduska@95.154.102.124] has quit [Quit: Leaving.] 15:34:28 -!- marijn_ [~hkBst@41.184.82.6] has quit [Read error: Connection reset by peer] 15:35:07 marijn_ [~hkBst@41.184.82.6] has joined #scheme 15:37:40 Bot on #schemerepl is long dead 15:43:20 -!- sepult [~user@xdsl-87-78-173-237.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:47:11 alvatar [~alvatar@254.126.222.87.dynamic.jazztel.es] has joined #scheme 15:49:20 -!- schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has quit [Ping timeout: 256 seconds] 15:53:49 -!- melba [~blee@unaffiliated/lazz0] has quit [Ping timeout: 264 seconds] 15:59:44 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 15:59:58 -!- marijn_ [~hkBst@41.184.82.6] has quit [Remote host closed the connection] 16:06:55 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 16:12:18 -!- merimus [~merimus@office.vivisimo.com] has left #scheme 16:22:10 Zuu [~Zuuo@0x55529f1b.adsl.cybercity.dk] has joined #scheme 16:28:10 phao [~phao@189.107.131.94] has joined #scheme 16:30:00 In exercise 1.7 of SICP, it's said this "Also, in real computers, arithmetic operations are almost always performed with limited precision. This makes our test inadequate for very large numbers." -- it was talking about the sqrt algorithm. What do they mean by "limited precision"? 16:30:32 Real machines operate on fixed-size data, which has limited precision by definition 16:31:04 Sure. 16:31:07 so for example, many machines have either 32-bit or 64-bit integers, which limits the size of values they can store; limited-size floats and doubles limits how many bits of precision they can store for floating-point computations 16:31:38 So... precision of a number is the amount of decimal places a it has? 16:31:43 or can have. 16:31:44 no 16:31:53 well, it's similar to that 16:32:05 it's more like how many decimal places it /could/ have 16:32:14 as in how many the hardware has room to store 16:32:54 Ok. 16:33:31 Hmm. So if you choose to use really big numbers, you gotta give up the decimal parts because there isn't room for both. Is that right? 16:33:51 s/decimal parts/the part of the number that is smaller than 1 16:34:38 -!- Zuu [~Zuuo@0x55529f1b.adsl.cybercity.dk] has quit [Changing host] 16:34:38 Zuu [~Zuuo@unaffiliated/zuu] has joined #scheme 16:35:17 not in most Schemes, but in general, you can do that by using what's called a "fixed point", or you can rely on the hardware to do a floating point for you 16:36:03 back shortly, relocating myself 16:36:24 Ok, but what about those systems that have limited precision. 16:36:29 ? 16:42:02 reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:44:45 lisppaste [~lisppaste@common-lisp.net] has joined #scheme 16:47:40 phao, can you elaborate on your question a bit? 16:49:29 -!- Len_ [~Len@87.70.35.38] has quit [Ping timeout: 246 seconds] 16:50:10 Len_ [~Len@87.70.35.38] has joined #scheme 16:52:57 I don't know how to do that... 16:53:08 I think that if I could elaborate it, I'd know the answer. 16:53:30 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 16:56:20 phao, are you attempting to implement arbitrary precision integers, or to understand them? 16:56:32 None of both. 16:56:37 Did you read my initial question? 16:56:53 "What do they mean by 'limited precision'?" ? 16:57:01 yes. 16:57:11 -!- snorble [~none@s83-179-14-105.cust.tele2.se] has quit [Read error: Connection reset by peer] 16:57:39 snorble [~none@s83-179-14-105.cust.tele2.se] has joined #scheme 16:57:41 phao, ok. Do you mind if I start off with the very basics? I don't mean to insult your intelligence, I just want to make sure we're both on the same page. 16:57:49 Go ahead. 16:58:02 You know how binary numbers work, yes? 16:58:14 I suppose I do. 16:58:28 Ok. Let's say that you're using a machine with 8-bit memory cells. 16:58:51 8 bits gives you the ability to represent integers between 0 and 255. 16:59:04 What happens when you want to represent the number 260? 16:59:29 The short answer is that you can't; the slightly longer answer is, add more bits! 16:59:57 So you could then pack together two memory cells into a 16-bit value, which can represent numbers from 0 to 2^16 - 1. 17:00:24 That gives you many more numbers to play with, but you still only have a limited range of numbers that you can represent. 17:00:27 ok.. 17:01:00 So let's imagine that your Scheme system is quite smart, and can pack any number of memory cells together to give you as many bits as you need to represent any given number. 17:01:52 -!- foof [~user@FL1-122-131-198-106.osk.mesh.ad.jp] has quit [Ping timeout: 256 seconds] 17:02:07 You are then limited by the amount of memory that your machine can address; but you're also limited by the amount of memory your machine has installed, which is usually far less; and the amount that is free, which is far less again; and, practically, by the amount of memory that your Scheme system can efficiently marshal, which is usually far less again. 17:02:27 The limit itself matters less than the fact that *a* limit - any limit - exists at all. 17:03:15 So, for example, the naive result of dividing 1 by 3 gives you a number that no amount of RAM can actually contain. At some point you will run out of RAM and have to round it off. 17:04:24 Now, a sufficiently smart Scheme system can look at that and say "bah, forget floating point numbers! I'll represent that as a ratio of two integers!", and then you've effectively got a compound data structure which, while still limited in the ranges of the numerator and denominator of the fraction, can usefully retain far greater precision. 17:04:26 -!- Len_ [~Len@87.70.35.38] has quit [Quit: leaving] 17:05:16 But the story doesn't end there, thanks to irrational numbers: you can't represent the square root of two as a ratio of any two numbers, so you're forced to fall back to floating point numbers again. 17:05:35 Ok.. 17:07:25 Now.. 17:08:02 elly, already told me that the precision of a number is how many decimal places ir could have (or something like that) 17:09:02 this you said... 17:09:07 Hang on a second. 17:09:13 seems to be the same... but you're talking about som special cases. 17:09:31 Are you familiar with how floating point numbers are represented in binary? 17:10:14 No 17:10:58 Ok. 17:11:05 Let's imagine you're on a machine with 32-bit memory words. 17:12:25 Ok... but wait a moment. 17:12:27 Why all this? 17:12:34 So, some part of those 32 bits are usually reserved to contain the integer portion of the number, and some other numbers of bits are usually used for the exponent of the number by which the integer portion is scaled. 17:13:01 mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 17:13:09 phao, so that when you look up the specifics of how all this is implemented to *really* find out what's going on, you'll know the terminology to understand what the authors are talking about. 17:13:23 ok then 17:14:08 "It is obvious that irrationals are uninteresting to the engineer since he is only concerned with approximations and all approximations are rational." ~ Hardy 17:16:16 phao, there is a bunch more information in the Wikipedia article, of course, and the IEEE-754 standard, but the short version is that if you think of a floating point in a binary number instead of in a decimal number, you'll see that you still need a certain number of bits to represent a given number with some level of precision; and that those bits correspond to elements of RAM, which must be finite. 17:17:09 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 252 seconds] 17:17:29 In sum: (1) clever representations only get you so far; (2) a given finite amount of RAM can only hold so many bits; (3) the precision of numbers you work with is, in general, directly related to the number of bits used to represent it. 17:17:34 sepult [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 17:19:31 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 17:19:44 Ok. 17:20:00 So, if I can only have X bytes for a number 17:20:08 and the number is too big that it uses all the X bytes 17:20:15 and the number is an intenger 17:20:30 It won't be possible to add values that are smaller than 1, sure? 17:20:43 because there aren't more bytes to store those numbers. 17:20:53 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #scheme 17:21:44 phao, imagine a floating-point representation where you can meld together memory cells to increase the size of your mantissa and/or of your exponent. 17:22:02 ok, but could you answer my question? 17:22:15 You can represent numbers much, much smaller than 1 with that format by making your exponent very, very large, and negative; but you would still be limited by available RAM. 17:22:48 Does that answer your question? 17:23:02 I conclude that the answer is an 'yes' 17:23:06 but I may be wrong. 17:23:26 I couldn't really parse the gist of your question, so I tried to answer what I thought it was. 17:23:48 Well 17:24:02 I still don't understand very well what is the precision of a number. 17:24:22 I'd love a definition saying "The precision of a number is ..." 17:24:31 and the closest to that was what elly gave me. 17:24:39 phao: For double-precision number, the precision is 53 significant binary figures. :-) 17:24:50 cky, hehe 17:24:55 I was referring to the meaning of the expression. 17:25:00 not the specifics. 17:25:11 Hmm. 17:25:26 But that helped 17:25:42 the precision of a number is the number of binary digits that can be used to represent the number internally. 17:25:44 Is that right? 17:25:46 phao: Precision is how small of a number after the decimal point you can represent 17:25:49 (more or less) 17:26:08 So if your precision is 2, you can store only 0.01, but not the number 0.011 17:26:11 They would be the same 17:26:12 sjamaan: I tried to get around the decimal/binary point by talking only about significant figures. :-) 17:26:25 phao, that's correct, but it's too specific. Remember when we were talking about using two numbers bound together to represent fractions like 1/3, with effectively unlimited precision? 17:26:34 yes. 17:26:44 Not if your FPU lets you get the extra bits 17:26:45 I'm not sure how correct the above explanation is though, but at least it's intuitive, I hope 17:26:52 phao, the precision of a number depends both on how you're representing it and on how many bits that representation may use. 17:26:56 bbl 17:27:10 gnomon, ok, but those are details of implementation, is that right? 17:28:02 They are, but they are *significant* details of the implementation. Glossing over those would be like glossing the importance of the value of c and sticking to Newtonian mechanics. 17:28:37 ...that is, it'll mostly work, but small errors will creep in that your mental model won't be able to accomodate, and you'll generally just trip yourself up by ignoring the bigger picture. 17:29:49 phao: the answer to your "Why" question is that real numbers are entities most of them need an infinite amount of information to characterize. 17:29:55 http://docs.sun.com/source/806-3568/ncg_goldberg.html 17:30:34 phao: some real number however can be characterized by a finite amount of information. However, when youtry to write them in decimal representation (or similar), you still need an infinite number of digits to represent them. 17:31:00 (also, _most_ real numbers cannot.) 17:31:14 The precision of a representation is the number of digits used by the representation, to approximate the real number. 17:31:23 Whether real numbers exist is mostly a philosophical concern... 17:31:37 Um, no? 17:31:45 Can't represent them in any way, so worry not. 17:31:55 Also no? 17:32:10 "Pi." 17:32:11 Done. 17:32:15 "e". 17:32:24 You've not done anything. 17:32:31 I've represented pi and e. 17:32:39 Pi and e represent, yo. 17:32:48 Heh. 17:32:48 I can also give names to my invisible friend. That doesn't make it exist. 17:33:02 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 17:33:05 You can represent things that don't exist. 17:33:07 There's also at least one algorithmic way to identify every digit in Pi, in base 16. 17:33:13 pjb, the name makes the concept exist. Arguing that pi or e doesn't exist is useless; there are any number of ways of deriving them to arbitrary precision. 17:33:36 This really doesn't pertain to phao's question at all anymore, either. 17:33:38 gnomon: that of course is possible, to have a concept, of something that doesn't exist. 17:33:48 If we speak a few more lines, we'll scroll up my link successfully. 17:34:00 "pi is the radius of a sphere of diameter 1." 17:34:03 Jafet, it's a bloody good link. 17:34:05 Come on, let's work together. 17:34:06 A circle, rather. 17:34:46 mhoye, what's a circle 17:35:00 pjb, your point about the possible non-existence of pi or e makes sense in the context of a debate about mathematical philosophy, and as long as your arm yourself with a hair-splitting definition of the word "exists", but I think you'll make more enemies than friends by attempting that here. 17:35:19 nhoye: Which may very well NOT exist in this universe. If the universe is discrete (and it seems it is), then a circle doesn't exist, and an approximation has not PI as ratio betweein it's "circumference" and one of its radiuses. 17:35:36 Right, I'm out. 17:35:57 Well, I didn't introduce the question of the philosophical existence of real numbers :-/ 17:36:20 You belaboured the point beyond its usefulness in the original discussion, however. 17:36:44 Sorry. 17:36:56 Philosophy is more accessible to people than discussing the algebraic structure of IEEE 754 floating point 17:37:00 *gnomon* hands pjb a slice of apple pie 17:37:08 Jafet, really?! 17:37:22 (denormals sold separately) 17:37:23 Now *that* is a debate I would like to entertain! 17:37:34 Well, IEEE 754 has some corners... 17:38:07 In exercise 1.7 of SICP, it mentions the precision problem for big numbers. Why doesn't it talk about precision problems for small numbers? 17:39:12 Because in floating-point, there is no difference within the range of the exponents. 17:39:37 There is one exercise which asks you to consider relative error 17:39:52 That is why I'm asking why it makes only "visible" for big numbers the 17:39:55 precision problem. 17:41:15 phao: for some small numbers, the representation can represent them precisely. 17:41:29 same for big numbers, isn't it? 17:42:08 Well, yes. For real number, it depends on the number of digits needed to represent them. 17:42:32 well... another question of SICP that I couldn't understand very well, but it's ok. 17:42:35 thanks all 17:42:57 phao: be sure to read the goldberg paper! 17:43:08 (url given by Jafet). 17:43:12 Ok.. but latter. 17:43:17 I doubt he presently has the mathematical background to appreciate it. 17:43:57 Jafet, but looking up the background necessary to appreciate the paper will do him a world of good! 17:44:06 And don't get bogged down on one exercise -- SICP is well known for doing that to people 17:44:29 Jafet, doing what to people? 17:44:58 Veering less erudite readers off into tangents. 17:45:12 Well, maybe 17:45:23 I preffer believing the question is just not well written. 17:45:33 If you have the time to explore them, it's rather interesting. 17:46:13 Knuth wisely anticipated and guards against this trap via his elaborate rating system 17:46:34 well 17:46:38 the point of that question 17:46:56 that makes it bad in my op. 17:47:01 is NOT how hard it is to answer it 17:47:09 it's that what it's asked is not clearly defined. 17:47:19 Oh, you're still here. 17:47:29 "An alternative strategy for implementing good-enough? is to watch how guess changes from one iteration to the next and to stop when the change is a very small fraction of the guess. Design a square-root procedure that uses this kind of end test." 17:47:42 Snipped for your easy consumption 17:47:43 I did this. 17:47:50 but the question is not jus that. 17:48:05 it asks you to explain why the old algorithm doesn't work very well on small numbers 17:48:17 and why the precision problem would make it not work very well for big numbers 17:48:24 it also asks if the new algorith solves the problems. 17:48:27 and why. 17:48:29 If your question is "how far down the rabbit hole can you go", then the answer is "very far". 17:48:36 Have you tried the sqrt procedure on small numbers? 17:49:31 yes, it doesn't work. 17:49:42 I answered all those questions, except the precision-related one 17:50:08 because even with you guys telling me what precision is, I still don't know very well what is its meaning in the question. 17:50:14 saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has joined #scheme 17:51:16 phao: Assume we represent real number with 3 decimal digits of precision. 17:51:38 ok 17:51:38 phao: to represent pi, we will use: 0.314e1 17:51:54 phao, the SICP question is actually very well constructed: it suggests the entire line of inquiry you're currently pursuing, and if you follow it through instead of giving up on it you'll acquire a very deep mechanical and philosophical understanding of computer numerics. You may not appreciate the amount of work necessary to do so, however, and I'll cheerfully grant that SICP might benefit from a warning there. 17:52:21 If we added warnings to SICP, no one would touch it 17:52:24 phao: to represent 10! we will use 0.362e7 17:52:25 gnomon, I first have to translate the question to something I can understand. 17:52:41 phao: to represent 10! we will use 0.362e8 rather. 17:52:44 ok pjb 17:52:45 "Warning: you're about to write a compiler. Don't tell your instructor in the actual compiler construction course!" 17:53:28 phao: Now, the problem is that we will have to use the same representation for 3621234 too. 17:53:46 why? 17:53:55 ah ok 17:54:02 Because we only have 3 digits of precision. 17:54:08 Jafet, hah! 17:54:19 phao: A whole lot of numbers will be represented by the same representation. 17:54:50 And the difference between these numbers while being big, will come out 0 when computed using the representations. 17:55:16 phao: 10! - 3621234 = 7566 but 0.362e8 - 0.362e8 = 0. 17:55:33 ok 17:55:37 Hence a problem when you compare the last difference. 17:56:29 ok... imagine 333e-10 and 333e-10, if you subtract one by the other, you get 0 17:56:45 but the first could be something like 0.303...333 17:56:45 Yes. 17:56:54 same problem as in big numbers. 17:57:00 pjb, very nicely done. 17:57:17 phao: yes, you have the same problem with small numbers. 17:57:32 Ok. Now, why SICP only mentions big numbers having this problem? 17:58:00 and, btw, gnomon I didn't give up. 17:58:01 phao: but for small numbers you have an additionnal problem, it's slightly different. For small numbers, their difference will be small, even if their representations don't collide. 17:58:21 It's a different problem. 17:58:30 Yes. 17:58:42 phao, I noticed that. Props, yo. 17:58:54 sqrt.ss http://dpaste.com/163685//plain/ 17:58:54 e1.7 http://dpaste.com/163686//plain/ 17:58:54 e1.7.ss http://dpaste.com/163687//plain/ 17:59:04 if you wanna see what I have done about that exercise. 17:59:19 I don't think my answers are good because I don't know calculus and an answer on the internet 17:59:29 i've seeb before comming here 17:59:39 was using something on derivatives, which I have no clue about. 17:59:54 Consider good-enough?. 17:59:54 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Quit: Leaving.] 18:00:04 ? 18:00:25 phao: What is 123e10 + 111e10 ? 18:00:38 234e10 18:00:41 Correct. 18:00:47 phao: What is 123e10 + 001e0 ? 18:01:06 don't ask me that... hehe 18:01:24 That's the core of the problem with big numbers and limited precision. 18:01:31 it's... 123,....1e10 18:01:49 and "..." being a bunch of 0 18:02:00 As number it would be 12300000001, but written with 3 digits of precision it's 123e10. 18:02:29 Which is the number we started with. (Therefore 1 = 0 ! :-)) 18:05:06 ok. 18:05:20 So, the subtraction of the guess, which always start at one 18:05:25 to x, which is huge 18:05:33 will always result in x 18:05:37 if the precision problem is present. 18:06:51 It's possible. And this could lead to infinite loops, if the values don't change from one iteration to the other. 18:07:44 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 18:12:33 ok 18:12:35 now I understand. 18:17:53 -!- jimrees_ [~jimrees@ita4fw1.itasoftware.com] has quit [Quit: Ex-Chat] 18:22:12 -!- davazp [~user@83.46.0.116] has quit [Remote host closed the connection] 18:25:16 pjb, is there any book on that topic? 18:25:40 I have an impression that I know too little to understand from that article 18:25:42 this oen http://docs.sun.com/source/806-3568/ncg_goldberg.html 18:25:46 The goldberg paper is rather complete. 18:26:03 well, yeah, but it looks hard to read 18:26:19 and it seems that it's supposing the reader knows more than I know. 18:26:33 You could google for: floating point representation tutorial 18:28:36 somtimes I think I shouldn't start learning CS by my own because I like without learning some MATH 18:29:06 There are also books of Mathematics for CS. 18:29:12 -!- hosh_office [~hosh@c-24-99-42-62.hsd1.ga.comcast.net] has quit [Ping timeout: 240 seconds] 18:29:37 for beginners? 18:29:42 If it looks hard to read, don't you think you're liable to learn something from it 18:29:42 phao, if you delve deeply enough into any topic you'll end up needing mathematical and/or philosophical tools. Well, or heavy medication. Don't be discouraged! 18:29:45 I always thought those books were for advanced people 18:30:03 phao, the trick is to *become* one of those advanced people :) 18:30:21 Jafet, I don't like to think of something as hard to read. 18:30:27 but picking a text like that to read 18:30:36 is like picking a text in french to read and I know nothing of french. 18:30:51 I won't understand it... I gotta learn the basics before going read that text. 18:31:02 You can always read the synopsis on wikipedia. 18:31:09 http://en.wikipedia.org/wiki/IEEE_754 18:31:11 gnomon, I'd love to learn how to 18:33:25 phao, carry on doing just what you're doing: set difficult tasks for yourself and overcome them by reading and asking questions! 18:33:38 I don't have references. Googling you might find leads. In France, where I studied, there's usually a module of "Mathématique pour l'informatique" and there are good books for these courses. But in French. 18:34:37 -!- josephholsten [~josephhol@adsl-70-234-138-72.dsl.tul2ok.sbcglobal.net] has quit [Quit: josephholsten] 18:35:17 phao: you may have a look at http://steve-yegge.blogspot.com/2006/03/math-for-programmers.html and follow leads from there. 18:35:59 ok, I'll. 18:37:35 NNshag [~shag@lns-bzn-57-82-249-9-129.adsl.proxad.net] has joined #scheme 18:38:41 -!- Nshag [~shag@lns-bzn-37-82-253-58-127.adsl.proxad.net] has quit [Ping timeout: 246 seconds] 18:43:42 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 18:51:07 wingo [~wingo@83.32.64.39] has joined #scheme 18:51:40 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 18:55:48 szgyg [~luni@dsl51B7A979.pool.t-online.hu] has joined #scheme 18:59:05 -!- alvatar [~alvatar@254.126.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 19:00:38 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 19:01:59 ASau [~user@83.69.227.32] has joined #scheme 19:02:59 alvatar [~alvatar@252.126.222.87.dynamic.jazztel.es] has joined #scheme 19:11:33 -!- snorble [~none@s83-179-14-105.cust.tele2.se] has left #scheme 19:14:58 punzik [~punzik@217.118.95.75] has joined #scheme 19:17:35 -!- wingo [~wingo@83.32.64.39] has quit [Ping timeout: 240 seconds] 19:20:35 -!- punzik [~punzik@217.118.95.75] has quit [Ping timeout: 240 seconds] 19:26:39 alexsuraci_ [~alexsurac@32.133.123.29] has joined #scheme 19:27:37 Blkt [~user@dynamic-adsl-94-37-249-225.clienti.tiscali.it] has joined #scheme 19:28:35 -!- alvatar [~alvatar@252.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 19:29:28 MrFahrenheit [~RageOfTho@users-33-206.vinet.ba] has joined #scheme 19:30:16 jengle [~9598170a@gateway/web/freenode/x-xuclgdtflytsqfbw] has joined #scheme 19:33:47 saccade_ [~saccade@dhcp-18-111-68-179.dyn.mit.edu] has joined #scheme 19:37:57 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 19:48:16 -!- annodomini [~lambda@wikipedia/lambda] has quit [Quit: annodomini] 19:54:30 -!- alexsuraci_ [~alexsurac@32.133.123.29] has quit [Quit: alexsuraci_] 19:55:33 -!- sepult [~user@xdsl-87-78-173-237.netcologne.de] has quit [Ping timeout: 252 seconds] 19:56:01 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 19:58:22 -!- jengle [~9598170a@gateway/web/freenode/x-xuclgdtflytsqfbw] has quit [Quit: Page closed] 19:58:53 snorble [~snorble@s83-179-14-105.cust.tele2.se] has joined #scheme 20:02:35 -!- masm [~masm@bl9-114-242.dsl.telepac.pt] has quit [Quit: Leaving.] 20:03:56 alexsuraci__ [~alexsurac@166.132.93.156] has joined #scheme 20:05:04 -!- alexsuraci__ [~alexsurac@166.132.93.156] has quit [Client Quit] 20:10:25 sepult [~user@xdsl-87-78-173-237.netcologne.de] has joined #scheme 20:16:15 schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has joined #scheme 20:17:36 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 20:24:47 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:27:55 -!- szgyg [~luni@dsl51B7A979.pool.t-online.hu] has quit [Ping timeout: 240 seconds] 20:29:02 hotblack23 [~jh@p4FC5AE51.dip.t-dialin.net] has joined #scheme 20:30:46 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 20:38:32 flonum [~ben@24-138-98-109.zing-net.ca] has joined #scheme 20:45:42 hosh_office [~hosh@c-24-99-42-62.hsd1.ga.comcast.net] has joined #scheme 20:49:21 mije [~antoine@tal33-5-88-181-16-209.fbx.proxad.net] has joined #scheme 20:49:46 hello 20:51:35 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 240 seconds] 20:53:07 -!- copumpkin is now known as Tway 20:53:44 -!- Tway is now known as copumpkin 20:54:30 does anybody have an experience in developing web applications in scheme ? 20:54:47 josephholsten [~josephhol@adsl-70-234-48-154.dsl.tul2ok.sbcglobal.net] has joined #scheme 20:54:56 mije: I have a little. 20:55:47 have you used a web framework or something like that ? 20:56:46 Currently I'm using awful (http://chicken.wiki.br/eggref/4/awful). 20:57:19 are you satisfied with it ? 20:57:27 Yes 20:58:19 i'll give it a try then :) 20:59:17 if you're using PLT, then I enjoyed letfparen 20:59:33 mije: Ok. If you have questions/suggestions contact me. 20:59:47 okay 20:59:50 thanks ! 21:00:17 http://blog.leftparen.com/ 21:00:32 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:02:20 SharkBrain: Is leftparen being maintained? Does it work with current version of PLT? 21:02:56 yes (but doesn't seem to be hugely active) and yes 21:03:05 OK, thanks. 21:04:31 O didn't know leftparen, SharkBrain. Thanks for the link. 21:04:39 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: Lost terminal] 21:04:48 shp looks interesting as well 21:05:06 -!- schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 21:05:36 right now, though the PLT libraries provide a great web-server & ORM & templates & form handling & javascript generation etc... so I don't really use a "framework" as such when I'm writing a web app nowadays 21:06:36 although, I have a shocking lack of accomplishments/experience/skills so have a big cup of salt with anything I say 21:09:37 i said my coworkers scheme kicks ass, and they told me to prove it to them by livecoding a web app during a presentation 21:09:41 i can not fail. 21:10:19 :-) 21:10:25 for 0 -> blog leftparen is quite nice 21:10:43 mije: You'd better practice then. 21:13:12 mije: here are more chicken things for the web: http://chicken.wiki.br/chicken-projects/egg-index-4.html#web 21:13:23 wingo [~wingo@83.32.64.39] has joined #scheme 21:14:19 bbl 21:15:30 i have to practice a lot before i'm able to be fluent in web applications in scheme, i'm afraid 21:15:55 it's not the path that is difficult, it's difficult that is the path. 21:16:15 mije: deep 21:18:10 yeah a kierkegaard quote always shines 21:19:44 -!- Edico [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:20:26 szgyg [~luni@dsl51B7A979.pool.t-online.hu] has joined #scheme 21:24:59 I hope you realise that by labelling that quote, you've negated it 21:25:06 Could anyone help me by telling if this answer is right for the exercise 1.7 of SICP? Here are file names and a link to their contents 21:25:09 e1.7 http://dpaste.com/163788//plain/ 21:25:10 e1.7.ss http://dpaste.com/163789//plain/ 21:26:15 hadronzoo [~hadronzoo@64.134.146.34] has joined #scheme 21:29:31 e1.7 http://dpaste.com/163794//plain/ <== this is the answer... the older one had some mistakes in it 21:30:05 schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 21:31:07 does it produce accurate results? 21:31:42 surely that's the measure of the correctness 21:31:43 -!- wingo [~wingo@83.32.64.39] has quit [*.net *.split] 21:31:43 -!- jmcphers [~jmcphers@218.185.108.156] has quit [*.net *.split] 21:31:43 -!- Blkt [~user@dynamic-adsl-94-37-249-225.clienti.tiscali.it] has quit [*.net *.split] 21:31:43 -!- mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [*.net *.split] 21:31:54 yes, but part of the answer 21:31:56 is not scheme code 21:31:57 wingo [~wingo@83.32.64.39] has joined #scheme 21:32:00 Blkt [~user@dynamic-adsl-94-37-249-225.clienti.tiscali.it] has joined #scheme 21:32:06 it's explaining why it avoid some problems 21:32:15 mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 21:32:17 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:32:25 ah, I see what you're asking. 21:32:56 and since those problems doesn't happen in scheme as far as I know, I don't know if the answer is right or not 21:36:34 -!- wingo [~wingo@83.32.64.39] has quit [Ping timeout: 248 seconds] 21:40:06 btw... is there anyway to configure mzscheme to print numbers with the "decimal point" format 21:40:12 I mean, without num/den format. 21:40:35 I get numbers that are 10000...0000 digits that waylong 21:40:40 Blkt` [~user@dynamic-adsl-94-37-243-96.clienti.tiscali.it] has joined #scheme 21:40:45 digits long* that way* 21:41:18 I guess you need to corce them to floating-point representation 21:41:29 Maybe exact->inexact will help 21:41:41 what do you mean by "exact->inexact"? 21:41:57 xerox [~xerox@unaffiliated/xerox] has joined #scheme 21:43:21 -!- Blkt [~user@dynamic-adsl-94-37-249-225.clienti.tiscali.it] has quit [Ping timeout: 265 seconds] 21:43:36 inexact numbers are displayed in decimal format 21:43:45 wait... that wasn't helpful 21:44:35 scheme has the idea of exact numbers wherein mathematical operations on exact numbers produce exact results 21:45:09 ok. 21:45:31 Can I have them inexact? 21:45:47 I don't care if I only get the first 20 decimal places after the decimal point... 21:46:02 sure, that's what exact->inexact does 21:46:10 but 21:46:15 what do you mean by "exact->inexact"? 21:46:17 (* 1. x) does that too, but is a brain rape 21:46:24 (exact->inexact x) 21:46:29 -!- Sergio` [~Sergio`@a89-152-187-26.cpe.netcabo.pt] has quit [Ping timeout: 260 seconds] 21:46:46 AMAZING! 21:47:04 ?? 21:47:20 -!- szgyg [~luni@dsl51B7A979.pool.t-online.hu] has left #scheme 21:47:39 well dude... it's much better to have that result format when you're testing a sqrt or cbrt algorithm 21:47:57 I mean... I'm only reading SICP... 21:48:00 -!- Blkt` [~user@dynamic-adsl-94-37-243-96.clienti.tiscali.it] has quit [*.net *.split] 21:48:01 -!- ASau [~user@83.69.227.32] has quit [*.net *.split] 21:48:01 -!- rmrfchik [~rmrfchik@linuxhacker.ru] has quit [*.net *.split] 21:48:01 -!- dlouhy [~jdlouhy@zerowing.ccs.neu.edu] has quit [*.net *.split] 21:48:04 dlouhy [~jdlouhy@zerowing.ccs.neu.edu] has joined #scheme 21:48:05 Sergio` [~Sergio`@a89-152-187-26.cpe.netcabo.pt] has joined #scheme 21:48:05 rmrfchik [~rmrfchik@linuxhacker.ru] has joined #scheme 21:48:07 I guess... 21:48:08 I don't need THAT exact results. 21:48:16 Blkt` [~user@dynamic-adsl-94-37-243-96.clienti.tiscali.it] has joined #scheme 21:48:23 the good of scheme is that you can have names big like exact->inexact 21:48:28 and the code doesn't become ugly 21:48:29 I would have just tested if it was +/- 1/10000 21:48:31 or summat 21:48:33 ASau [~user@83.69.227.32] has joined #scheme 21:48:47 what do you mean? 21:48:55 wingo [~wingo@83.32.71.204] has joined #scheme 21:49:19 schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has joined #scheme 21:49:50 are you talking about checking the result from your square-root to an answer you know to be true? 21:50:37 No no... 21:50:43 I was just commenting that getting results 21:50:47 wait... you obviously aren't because you wrote a "good-enough" as instructed in that chapter 21:51:00 like num/den which num has more than 1000 digits 21:51:02 same for den 21:51:07 and you copy that to run in BC 21:51:08 to get 3 21:51:10 or 4 21:51:19 -!- xerox [~xerox@unaffiliated/xerox] has left #scheme 21:51:20 it's 4.00000 21:51:22 ah... you mean just like visually checking your results 21:51:26 yes. 21:51:48 I think I'm going to retire from irc until I can read english proper 21:52:08 heh 21:52:17 is there anyway I can get the integer value of a number? 21:52:26 like an (int) C's cast 21:52:49 (round n) 21:53:06 :-) 21:53:25 alternatively floor and ceiling 21:53:47 (print (= (round (cbrt 125)) 5)) 21:53:54 much better than visual checking 21:54:26 round still gives you an inexact 21:54:31 sometimes that matters. 21:54:32 cbrt is cube-root? 21:54:37 SharkBrain, yes 21:54:52 > (exact? (round 5/7)) 21:54:53 #t 21:54:59 in mzscheme 21:55:28 is it different in the standards? 21:56:08 5/7 is an exact number tho 21:56:23 exact->exact, inexact->inexact 21:56:25 ben_m [~ben@chello084113058207.12.vie.surfer.at] has joined #scheme 21:56:28 Greetings :) 21:56:32 i could be wrong of course 21:56:32 oh, yeah I see what you mean 21:56:37 Are there SDL bindings for Scheme? 21:56:37 hello ben_m 21:56:54 wingo: that's the behaviour in mzscheme anyways 21:57:13 rudybot: eval (round 5.1) 21:57:19 wingo: error: with-limit: out of time 21:57:22 rudybot: eval (round 5.1) 21:57:26 wingo: error: with-limit: out of time 21:57:29 hmm. 21:57:34 rudybot: init 21:57:36 wingo: your sandbox is ready 21:57:40 rudybot: eval (round 5.1) 21:57:41 wingo: ; Value: 5.0 21:57:57 wingo: according to the R5RS that's how it should behave 21:58:13 "If the argument to one of these procedures is inexact, then the result will also be inexact. If an exact value is needed, the result should be passed to the inexact->exact procedure." 21:58:36 ben_m: chicken has sdl bindings iirc 21:59:23 cool, I'll check that out 21:59:29 http://chicken.wiki.br/eggref/4/sdl and according to that page so does guile 21:59:55 i think guile's bindings are in a nebulous state tho 22:02:20 drwho [~drwho@c-98-225-208-183.hsd1.pa.comcast.net] has joined #scheme 22:02:45 I don't know either chicken nor guile 22:02:53 Always used PLT 22:04:12 then perhaps you should have said, "Are there SDL bindings for PLT Scheme", on the plt list :) 22:05:11 there's OpenGL bindings for PLT, but I haven't seen bindings for SDL in general 22:05:16 Well, I don't mind using another Scheme 22:05:26 SharkBrain: yeah I've seen those, but I don't know OpenGL 22:06:10 LOL, a prime opportunity to learn the scheme/foreign library 22:06:23 -!- schmir [~schmir@p54A91C12.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 22:06:38 indeed 22:07:47 Do you want me to use FFI for SDL? :P 22:08:04 i made sdl bindings at some point.. im not sure where i put them 22:08:18 check the couch cushions 22:08:27 I'll check out chicken :D 22:08:44 i wrote abm in sdl+plt ;) 22:10:24 what's abm? :) 22:10:36 missle command 22:10:50 i dont know if abm stands for anything, i just call it abm 22:11:02 cool 22:14:14 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 22:15:19 ASau [~user@83.69.227.32] has joined #scheme 22:16:38 -!- sphex [~nobody@modemcable072.42-37-24.mc.videotron.ca] has quit [Remote host closed the connection] 22:18:25 anti-ballistic missile 22:19:49 "ants bug me" 22:21:00 wingo. promise me that when you do a branch to optimize guile you will call the project "sonic boom" 22:22:26 or invisible throw... to demonstrate how cheap guile is 22:22:29 a variable defined outside any definition is a free variable, sure? 22:23:24 a variable is 'free' within a particular expression if it isn't bound in that expression 22:23:37 and if someone doesn't like the guile developers he has to fork it and call it charlie (nash in japan) 22:24:34 street fighter reference! 22:25:04 and and and and and when there is a vm that can store state to flash memory... 22:25:08 fnord123: yes sir 22:25:48 also i will mention that the branch name is your fault ;) 22:25:55 meeshyun komupuriito 22:26:10 -!- schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 22:28:19 SharkBrain, and a variable will only be bound to a set of expressions when this variable is a formal parameter of a procedure and those expressions are the ones of the procedure. Sure? 22:29:21 he even throws parens! http://nufor.net/img/images/60.jpg 22:30:19 the formal parameters of a procedure are bound within the body of an expression yes 22:30:41 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 22:31:11 ok, but is that the only way to bind variables to a set of expressions? 22:31:19 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 22:33:03 `let` is a binding form, and `define` binds in the top level 22:34:02 but let and most other binding forms can be defined in terms of lambda 22:36:28 in EOPL there's a fun exercise where you write functions that identify free and bound variables in expressions written in a subset of scheme 22:36:44 EOPL? 22:37:08 http://www.eopl3.com/ 22:38:30 Ahn... 22:39:03 great book, highly recommend, would read again a+++ 22:39:47 It's quite strange the rules for variable bindings. I mean, if you have a definition, and in that definition, more definitions. The arguments of the outer definitions are free variables in the inner definitions. 22:39:50 Is that right too? 22:40:14 incubot: someone should lend thomas lord a copy 22:40:17 ...but 'weak-keys' doesn't lend itself to a nice adjective, and 'head-weak' is a pretty well-established term. 22:40:42 -!- ben_m [~ben@chello084113058207.12.vie.surfer.at] has left #scheme 22:40:45 ? 22:43:29 -!- saccade_ [~saccade@dhcp-18-111-68-179.dyn.mit.edu] has quit [Quit: This computer has gone to sleep] 22:46:36 -!- mije [~antoine@tal33-5-88-181-16-209.fbx.proxad.net] has quit [Remote host closed the connection] 23:00:25 don't listen to incubot, that guy is mentil 23:01:26 incubot, SharkBrain is calling you a mental case. 23:01:28 It's for calling an FFI function 23:01:39 Well, that's not far off from the truth. 23:01:42 incubot: you're cool with that right? 23:01:45 yes, that would be cool. 23:01:53 B-) 23:02:43 phao: yeah, that's right 23:04:46 it's relevant for various reasons, such as that lambdas close over free variables 23:06:07 and for alpha equivalency 23:08:42 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Quit: ...] 23:11:08 ben_m [~ben@chello084113058207.12.vie.surfer.at] has joined #scheme 23:18:38 mbohun [~mbohun@202.124.72.238] has joined #scheme 23:25:07 -!- josephholsten [~josephhol@adsl-70-234-48-154.dsl.tul2ok.sbcglobal.net] has quit [Quit: josephholsten] 23:25:38 -!- flonum [~ben@24-138-98-109.zing-net.ca] has left #scheme 23:31:22 jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has joined #scheme 23:32:48 *jcowan* unvanishes and all that. 23:33:04 *ben_m* vanishes in your stead 23:33:37 What editor(/mode) do you all use for your Schemeing? 23:33:58 Most people use Emacs. 23:34:14 That is why I put /mode there 23:34:16 :) 23:34:57 Slime, then. 23:35:38 Only works with Scheme48, doesn't it? 23:35:48 MIT and Kawa, it says here.' 23:35:54 oh 23:35:56 gambit too sometimes i hear 23:35:59 No chicken :( 23:36:00 geiser for guile 23:36:12 *jcowan* writes Chicken code in "ex" 23:36:18 ex? 23:36:31 The CLI interface of vi. 23:36:47 (With occasional excursions into vi proper to bounce on the % key.) 23:36:53 heh 23:37:06 I am an "ex" troglodyte. 23:38:23 But even plain Emacs is supposed to be okay for editing Lisp (as opposed to getting full IDE functionality) 23:38:34 Editing is not the problem really 23:38:42 The REPL is the thing that never works right 23:46:15 -!- hadronzoo [~hadronzoo@64.134.146.34] has quit [Quit: hadronzoo] 23:48:09 -!- hotblack23 [~jh@p4FC5AE51.dip.t-dialin.net] has quit [Quit: Leaving.] 23:49:47 cluck works rather fine with chicken 23:49:49 once you change the prompt 23:49:55 it seems to mess with stuff 23:58:28 -!- pavelludiq [~quassel@87.246.14.89] has quit [Read error: Connection reset by peer]