00:02:51 xwl [~user@124-168-127-20.dyn.iinet.net.au] has joined #scheme 00:06:19 -!- sepult [~user@xdsl-87-79-116-184.netcologne.de] has quit [Ping timeout: 240 seconds] 00:07:51 -!- xwl [~user@124-168-127-20.dyn.iinet.net.au] has quit [Ping timeout: 276 seconds] 00:08:17 -!- winxordie [~winxordie@n128-227-3-198.xlate.ufl.edu] has left #scheme 00:09:18 -!- masm [~masm@bl7-38-107.dsl.telepac.pt] has quit [Quit: Leaving.] 00:11:39 winxordie [~winxordie@n128-227-3-198.xlate.ufl.edu] has joined #scheme 00:19:16 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 00:37:09 Mr_Awesome [~eric@pool-72-69-240-30.chi01.dsl-w.verizon.net] has joined #scheme 00:42:37 -!- Dark-Star [Darkstar@p57B55252.dip.t-dialin.net] has quit [] 00:44:06 is there nice syntax for updating a member of an immutable struct functionally? 00:49:20 jengle [~9598170a@gateway/web/freenode/x-dftjurxunczmkamp] has joined #scheme 00:59:01 elly: What about something based on "Labeled record expressions" or "Record update" in SRFI-57? 00:59:13 wfm 01:03:46 -!- saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 265 seconds] 01:18:16 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #scheme 01:21:39 -!- rdd [~user@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 240 seconds] 01:23:41 sundaymorning [~roo1@189.107.184.230] has joined #scheme 01:26:48 -!- sstrickl [~sstrickl@nomad.ccs.neu.edu] has quit [Quit: sstrickl] 01:27:31 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: Lost terminal] 01:29:19 -!- jengle [~9598170a@gateway/web/freenode/x-dftjurxunczmkamp] has left #scheme 01:31:44 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 01:37:59 -!- fradgers- [~fradgers-@5ad4c06e.bb.sky.com] has left #scheme 01:40:23 -!- cmatei [~cmatei@95.76.26.166] has quit [Read error: Operation timed out] 01:43:46 -!- fnord123 [~fnord123@94-194-63-222.zone8.bethere.co.uk] has quit [Quit: leaving] 01:47:07 cmatei [~cmatei@95.76.26.166] has joined #scheme 01:48:21 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Quit: Leaving] 01:48:25 -!- dsmith [~dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Ping timeout: 276 seconds] 01:49:53 dsmith [~dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 02:03:16 bokr [~eduska@95.154.102.124] has joined #scheme 02:11:12 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:11:16 I'm considering to make some kind of scheme generator for me. 02:12:01 I'd write scheme more or less like one write python in the sense of using indentation as part of the code, to avoid parenthesis 02:12:13 -!- mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has quit [Read error: Operation timed out] 02:12:20 wow 02:12:23 looks like a good idea.. 02:12:30 seems very hard 02:12:35 that's a lot of effort to go to for some fairly trivial syntax, but whatever you want to do 02:12:36 in fact, not. 02:12:46 copumpkin, you may be right. 02:12:51 I'm not experienced enough with scheme 02:12:56 but the software would just 02:13:02 add ( and ) auto. for me 02:13:27 I generally do my best, when learning a new language, to avoid trying to squeeze idioms and practices I'm used to from existing languages into it 02:13:38 Well 02:13:41 I'm not used to python 02:13:43 I love paredit-mode 02:13:48 there, I've said that today 02:13:49 in fact I don't like it and I also don't like 02:13:56 once I'm more experienced I start making joking literal translations of idioms for the fun of it 02:14:01 Real hackers can write FORTRAN in any language 02:14:02 indent as part of the code 02:14:22 *copumpkin* writes FORTRAN in agda to see if he's a real hacker 02:14:37 "le FORTRAN" 02:14:38 argh. 02:14:44 wadler's arrow-calculus paper is difficult to read 02:14:56 elly: :O 02:15:10 *elly* does not understand what '\lambda \cdot x . M' is 02:15:30 once my computer finishes being overhot, I'll take a look 02:15:36 (if you provide a link) 02:15:44 it'd basically convert first to second 02:15:45 http://pastebin.com/r7exxEhe 02:16:23 and I'd ignore indentation inside parenthesis so I can go back to "normal mode" 02:16:25 whenever I want. 02:17:13 I think it's a bad idea, if you actually want to learn scheme 02:17:41 copumpkin: http://homepages.inf.ed.ac.uk/wadler/papers/arrows/arrows.pdf 02:17:50 it looks visually similar to ordinary lambda 02:18:21 elly, could you tell me what is in that paper? 02:18:31 sure; it's Wadler's arrow calculus 02:18:39 which is a reformulation of the classic arrows 02:18:44 with less primitives 02:18:50 (and generally cleaner and more flexible) 02:18:58 But do they have Folsom points? 02:19:11 or are these point-free arrows 02:19:30 *Daemmerung* makes a pointed remark 02:19:51 rotty: What do you mean by GC architecture dependencies? 02:19:56 copumpkin, yeah, I agree with you. 02:19:57 "Oxymoron, or the _pointedly foolish_" 02:20:00 sstrickl [~sstrickl@pool-141-157-183-82.bos.east.verizon.net] has joined #scheme 02:20:16 It can be compiled either with its native GC, or with Boehm 02:20:36 elly: where is the thing you don't understand, in that paper? 02:20:48 *copumpkin* needs a grep-pdflatex 02:21:02 oh I think I see it 02:21:57 http://snapplr.com/hg7p? 02:22:11 bah 02:22:40 http://snapplr.com/77t5 02:23:50 elly: you don't know haskell, right? 02:25:09 anyone know of a nice easy way to draw primitives with scheme? (something like a turtle graphics library but maybe a little more sophisticated) 02:27:07 http://docs.plt-scheme.org/turtles/index.html 02:27:37 -!- ben_m [~ben@chello084113058207.12.vie.surfer.at] has left #scheme 02:27:41 copumpkin: I don't know it usefully, no 02:27:49 hmm 02:27:52 copumpkin: I know it inasmuch as it intersects with ML, but that does not include Monads 02:28:06 it gives you a function that is pre-lifted into the arrow, as far as I can tell 02:28:11 Quetzalcoatl_: thank you, i will have a look. 02:28:12 the lambda with the dot 02:28:26 derrida: You're welcome. 02:28:28 Quetzalcoatl_: would the next step be something like SDL? 02:29:11 Len_ [~Len@87.70.4.31] has joined #scheme 02:29:38 derrida: What type of program are you trying to write? 02:30:26 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 02:30:36 I do architectural design and I'm wanting to use scheme to experiment with generating algorithmic patterns 02:31:03 mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has joined #scheme 02:31:23 so, for the most part, i want to build myself a little sandbox for playing around with this kind of stuff :) 02:31:36 if that makes any sense 02:31:38 hehe 02:31:45 différance 02:31:51 literal patterns like textile patterns 02:32:00 not code patterns :D 02:32:56 copumpkin: :D 02:33:51 copumpkin: i see you are familiar with my other work! 02:33:56 indeed :) 02:37:25 hm 02:37:31 I just realized that I've not eaten today 02:40:12 derrida: To answer your previous question, the next step is the GUI library: http://docs.plt-scheme.org/gui/index.html 02:40:29 derrida: I can't find any bindings to SDL for PLT Scheme. 02:43:04 Quetzalcoatl_: Given the power of PLT's FFI, it shouldn't be hard to write one. ;-) 02:51:15 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Quit: rickmode] 02:51:26 Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #scheme 02:51:52 oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has joined #scheme 02:59:58 hadronzoo [~hadronzoo@ppp-70-251-81-42.dsl.rcsntx.swbell.net] has joined #scheme 03:14:09 -!- JoelMcCracken [~joelmccra@pool-96-235-2-32.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 03:24:30 -!- offby1` is now known as offby1 03:24:34 -!- offby1 [~user@q-static-138-125.avvanta.com] has quit [Changing host] 03:24:34 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 03:38:38 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 03:38:50 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 03:39:59 -!- jcowan [~jcowan@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 03:42:26 Quetzalcoatl_: thank you much, sir. looks to be just what i wanted. (http://docs.plt-scheme.org/gui/drawing-overview.html) 03:49:58 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 276 seconds] 03:51:43 -!- toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has quit [Ping timeout: 268 seconds] 03:58:18 JoelMcCracken [~joelmccra@pool-96-235-2-32.pitbpa.east.verizon.net] has joined #scheme 03:58:45 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 04:00:56 -!- hadronzoo [~hadronzoo@ppp-70-251-81-42.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 04:09:50 -!- bokr [~eduska@95.154.102.124] has quit [Quit: Leaving.] 04:17:50 -!- Quetzalcoatl_ [~godless@cpe-71-72-235-91.cinci.res.rr.com] has quit [Remote host closed the connection] 04:30:36 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 04:31:00 mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has joined #scheme 04:31:46 Hi. What's the use of proving an algorithm? 04:31:58 I mean, formal mathematical proof. 04:32:14 satisfaction of the mind 04:32:21 huh? 04:32:25 then you know it's correct 04:40:02 saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has joined #scheme 04:46:09 elly, but, is math proof necessary ? 04:46:48 are there other ways to do proofs? 04:46:49 no, it's hardly evern necessary, if you think about it 04:47:07 it might be fun, though 04:47:09 elly, proof? no, but to see if it's correct, yes. 04:47:17 o.O 04:47:17 you can look at the output it produces 04:47:26 and see if it's what it's supposed to be 04:47:27 proof by example! 04:47:27 that doesn't tell you that it works in general, just for that particular input 04:47:38 seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has joined #scheme 04:48:23 it does in many cases -- not all of them though 04:48:53 sometimes, what you have is basically a formula with no special cases that will work for 4, 5, 6, ... if it worked for 1, 2 and 3 04:49:00 no, and in those cases you must prove that a restricted number of cases is sufficient 04:49:05 in fact, I've never seen anything different from that... 04:49:31 I find it very useful when writing programs to be able to prove that they are correct 04:49:44 elly, 04:49:45 there aren't languages that I know of that allow this proof to itself be part of the language, but that's what comments are for :P 04:49:51 *elly* frequently proves parts of her compilers correct 04:49:55 do you always write mathematical proof to show your programs are correct? 04:49:57 but if you prove it you don't show it works in reality, only in theory 04:50:02 arithmetic-sum :  x d n  2sum-explicit x d n  2 * sum x d n 04:50:09 *copumpkin* is just trying to prove that right now 04:50:09 phao: not always, but if I want to know that it does, I do 04:50:36 copumpkin: can you rewrite that with slightly less unicode? 04:50:40 sundaymorning, if you have a math proof 04:50:43 it'll work in reality 04:50:59 arithmetic-sum : forall x d n -> 2sum-explicit x d n == 2 * sum x d n 04:51:15 *elly* doesn't recognize 2sum-explicit 04:51:27 where sum is a recursive arithmetic sum function and 2sum-explicit is the explicit formula for summing arithmetic series 04:51:33 oh, I see 04:51:36 heh, good luck with that :P 04:51:39 division makes things ugly 04:51:44 so I multiplied it by 2 :P 04:52:02 at least my typechecker will tell me if I messed up :) 04:52:10 delicious typechecker. 04:52:39 I had very few contact with prooving things mathematically 04:52:45 but those I did 04:52:50 I was able to do it very easily just 04:52:55 by paying attention to definitions of things 04:52:58 proving is programming 04:53:03 well dude 04:53:04 that makes most things easily 04:53:10 It's REALLY different from programming. 04:53:12 no 04:53:16 copumpkin: the Currey-Howard Isomorphism is my favorite result from computer science :) 04:53:18 it's exactly the same thing :) 04:53:21 phao: there exists a formal proof that they are the same 04:53:24 -!- parolang2 [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 04:53:26 (namely the aforementioned isomorphism) 04:53:35 I think I understand you guys 04:53:44 anything you can express in simply-typed lambda calculus can also be expressed in first-order predicate calculus 04:53:46 phao: if you think about how you prove things, it's very similar to how you'd write a program (if you're doing it right) 04:54:04 copumpkin, that's right 04:54:07 the difference is that 04:54:17 which is why the language I'm using right now is a proof language and a programming language, all in one! 04:54:19 :P 04:54:21 you have MUCH MORE flexibility 04:54:23 in programming 04:54:26 no? 04:54:33 create stronger axioms 04:54:35 phao: define flexibility? 04:54:39 well, maybe I just don't know enough math 04:54:46 copumpkin, you can use more stuff to prove things. 04:54:52 create new stuff easily, etc. 04:55:00 it's also easy to create and reuse proofs 04:55:02 you have more "features" to prove something 04:55:11 I have an epic standard library in agda :) 04:55:15 elly, I may be easy 04:55:16 full of proofs I can reuse 04:55:20 once you prove that map : (a -> b) -> [a] -> [b], you can use that anywhere you like 04:55:25 but programming makes it hundreds of times easier 04:55:33 http://www.cs.nott.ac.uk/~nad/listings/lib/README.html 04:55:37 phao: that is a symptom of using an insufficiently powerful logical system :P 04:55:46 hehe. 04:56:05 heh, 'import Everything' 04:56:06 induction in a proof is just recursion 04:56:11 yeah :) 04:56:20 there's a lot of good stuff in there 04:56:24 copumpkin, which language is that? 04:56:25 copumpkin: and structural induction is structural recursion! 04:56:27 (zomg.) 04:56:29 phao: agda! 04:56:31 phao: Agda, looks like 04:57:22 So, I don't know enough math to think "talking in it" is as easier as "taking in scheme" or any other language. 04:57:43 But going back... 04:57:52 reminding me of the definitions of things 04:58:01 were basically how I proved what I had to. 04:58:09 was* 04:58:13 The fact that "proving is programming" and "programming is proving" is a very important insight. 04:58:20 TR2N: yes :P 04:58:26 why? 04:58:50 phao: because it gives us a logical framework to reason formally about our programs with 04:58:58 if I try to write a function forall a b. a -> b 04:59:04 I'll give up because I know it's ridiculous 04:59:18 I really need to see how I bridge the gap of what you guys talk here 04:59:22 and what I see people talking in ##c 04:59:34 betwee* 04:59:39 betwixt 04:59:44 copumpkin: :P 04:59:48 :) 05:00:45 phao: if nothing else, it's fascinating 05:00:55 phao: things like DeMorgan's law only hold in one direction 05:01:06 (in constructive logic) 05:01:11 phao: it gives you an hint that mathematics is nothing else than a programming exercise. :) 05:01:14 mmm, demorgan's law 05:01:19 Not (Not a) does not imply a 05:01:21 things like that 05:01:23 TR2N: ahem! uppity programmers, the lot of you :P 05:02:12 :P 05:02:21 in SICP 05:02:29 'nothing more than a programming exercise' indeed 05:02:32 the writers seems to treat math and cs differently 05:02:39 as if one were not part of the other 05:02:46 like in the beginning 05:02:48 it all depends what level of abstraction you want to look at things with 05:02:57 ¬¬ 05:03:00 SICP is written for freshmen who are not yet familiar with sufficiently formal notions of mathematics, I think 05:03:01 very convenient. 05:03:48 indeed, very convenient 05:04:02 being able to see things from different perspectives ;) 05:04:15 rather than pigeonholing everything into one view of the world 05:04:26 is that the right expression there? 05:04:43 ? 05:04:44 *copumpkin* feels the urge to say "and by the pigeonhole principle, ..." 05:05:03 copumpkin: I /love/ the pigeonhole principle 05:05:55 :) http://en.wikipedia.org/wiki/Pigeonhole_principle I love that they have a picture on there 05:06:22 hah, so they do! 05:06:34 ... 05:06:41 phao: yes? 05:07:20 I'm reading that page 05:07:29 and I cannot understand why that principle was created. 05:07:35 I'm reading "uses and application" 05:07:39 to see if I find something. 05:08:29 for example, it leads to a trivial proof that there are no collision-free hash algorithms with domains larger than their ranges 05:08:38 it's very useful stuff, 05:08:51 especially their example about proving that there exist two people in london with the same number of hairs on their heads 05:08:59 (making a few assumptions along the way) 05:09:09 'a few' 05:09:19 sometimes I forget one has to state the obvious in math. 05:09:19 hm, I wonder if the grad students left any food out... 05:09:21 *elly* -> scavenging 05:09:28 :o 05:09:32 phao: there's no such thing as 'obvious'; only 'provable' and 'not provable' :P 05:09:34 don't steal grad student food! 05:09:41 po' grad students 05:09:44 copumpkin: they leave it out precisely so it can be stolen :P 05:09:48 oh ok 05:09:59 hehe 05:10:06 if that's not obvious, then I don't know what is. 05:10:27 *copumpkin* has a book on universal algebra he checked out of the library 05:10:37 but it's too far from me and I'm lying on my bed, and am very very lazy 05:10:44 why must life be so hard! 05:10:44 ls 05:11:17 . 05:11:17 .. 05:11:44 ... or .... or something else? 05:11:49 no dude 05:11:49 wrong fscking screen, sorry 05:11:51 that was a joke. 05:11:51 score, pretzels 05:12:05 phao: and mine was an attempt to be silly on top of your joke 05:12:11 ah 05:12:15 I didn't notice. 05:13:09 *copumpkin* weeps 05:13:28 here, have some leftover cauliflower 05:13:36 elly: so when are you going to join the elitist pricks in #haskell at promoting their language? 05:13:39 leftover cauliflower? where? 05:13:50 thousands of klicks from you, sorry 05:13:52 copumpkin: no idea; like I said, I don't know haskell :P 05:14:01 elly: well, I mean when are you going to learn it! 05:14:11 because clearly as soon as you learn it, you'll be promoting it 05:14:18 damn Daemmerung, so you are :P 05:14:25 copumpkin: as soon as you write the haskell merit badge thing! 05:14:34 so much pressure :( 05:15:07 it will be nice to not be a penniless undergrad soonish 05:15:15 I bet 05:16:41 :P 05:17:15 oh, hm 05:17:19 it's probably medication time 05:17:23 :O 05:18:12 delicious hormones... 05:18:15 :O :O 05:18:58 :O? 05:19:10 I find it funny that the vast majority of mathematicians don't see themselves as programmers. But I would put them next to Perl programmers for their convoluted ways. :P 05:19:31 *elly* has seen some very beautiful math before :) 05:19:35 http://www.cs.nott.ac.uk/~nad/listings/lib/Algebra.RingSolver.html#5301 05:19:37 *copumpkin* coughs 05:19:42 math has the same underlying conception of elegance as programming does 05:20:37 Math/Programming as the anatomy of exact thinking. 05:28:20 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Quit: mheld] 05:28:21 -!- sundaymorning [~roo1@189.107.184.230] has quit [Ping timeout: 265 seconds] 05:30:02 phao: if you really want to get frustrated at math-heads telling you math is important, come to #haskell :) 05:30:49 mheld_ [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has joined #scheme 05:31:03 dejavu.. 05:31:36 the emphasis was on the _really_ 05:31:45 -!- mheld_ is now known as mheld 05:41:14 pavelludiq [~quassel@87.246.14.89] has joined #scheme 05:44:58 arcfide [arcfide@adsl-99-14-208-221.dsl.bltnin.sbcglobal.net] has joined #scheme 05:54:27 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 265 seconds] 05:56:08 -!- drwho [~drwho@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Quit: Leaving] 06:12:37 aspect [~aspect@abstracted-spleen.org] has joined #scheme 06:22:32 Syntropy|Laptop [~who@unaffiliated/syntropy] has joined #scheme 06:23:25 -!- Syntropy|Laptop [~who@unaffiliated/syntropy] has left #scheme 06:39:07 toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has joined #scheme 06:51:50 ASau [~user@83.69.227.32] has joined #scheme 06:54:36 High points in Lisp code (part II in an occasional series): http://code.google.com/p/femtolisp/source/browse/trunk/femtolisp/FLOSSING 07:05:26 This from an implementation that doesn't deliver hygienic macros? I disbelieve. 07:06:06 -!- phao [~phao@189.107.229.73] has quit [Quit: Leaving] 07:31:04 -!- oconnore_ [~oconnore_@c-24-61-119-4.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 07:32:20 Syntropy|Laptop [~who@unaffiliated/syntropy] has joined #scheme 07:32:23 hrm 07:32:31 how do I get a macro to expand into multiple top-level forms? 07:32:45 (in this case, I'd like (define-foo bar baz) to expand to (define foo x) (define bar y)) 07:32:49 How can I select a random choice sample from a hash table? 07:33:26 elly: my hunch is, you can't. 07:33:28 elly: You can't, but you can get it to expand to a single (begin ...) form. 07:33:43 but BEGIN can't contain DEFINE, can it? oO 07:33:45 Syntropy|Laptop: one ugly way: map all the keys to a list, pick one randomly from it 07:33:51 yuck 07:34:15 oh, you can 07:34:17 and it even works! 07:34:19 rudybot: eval (begin (define a 1) (define b 2)) 07:34:20 I'm trying to do something akin to python's "random.choice(mydictionary)" 07:34:32 offby1: error: with-limit: out of time 07:34:33 Syntropy|Laptop: I betcha it's doing the same under the covers 07:34:36 *offby1* slaps rudybot upside the haid 07:34:48 Oww.... its haid 07:34:53 :) 07:34:55 offby1: You're probably correct. It's python. =D 07:35:05 bots should be struck regularly, like gongs 07:35:12 like hours 07:35:55 incubot: (begin (define a 1) (define b 2)) 07:35:55 # 07:35:57 incubot: a 07:36:00 incubot: eval a 07:36:04 eval 1@90 07:36:09 incubot: (list a b) 07:36:09 Error: unbound variable: a 07:36:13 *sigh* 07:36:20 offby1: try (begin a) 07:36:28 incubot: (begin (list a b)) 07:36:28 Error: unbound variable: a 07:36:32 oh, you;re ahead of me 07:36:40 we're both ahead of incubot 07:36:54 incubot: when you went to school, did you ride on the _short_ bus? 07:36:57 Something was 'brewing' when I went into uber lurk mode awhile back. 07:36:57 incubot is very good at... ah...what it does. 07:37:05 oh, well said. 07:37:50 what /does/ incubot do? 07:38:23 it regurgitates the ancient wisdom of yore. also evals tiny bites of Chicken. 07:40:03 incubot: wer reitet so spaet durch nacht und wind? 07:40:07 Per Anhalter durch die Galaxie. :-) 07:40:25 See? A polygotbot. 07:40:31 er, glotbot. 07:41:06 polyblot 07:42:56 incubot: (begin (define a 1) (define b 2) (list a b)) 07:42:57 (1 2) 07:43:31 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 245 seconds] 07:46:06 oh 07:46:16 it just doesn't maintain state from one invocation to the next, I guess 07:46:26 Correctamundo. 07:47:31 Check out the big brain on Brad! 07:47:49 *Daemmerung* smirks 07:50:15 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #scheme 07:57:09 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Ping timeout: 276 seconds] 08:04:44 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 08:10:05 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 08:13:57 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 08:26:52 -!- pavelludiq [~quassel@87.246.14.89] has quit [Read error: Connection reset by peer] 08:36:52 sepult [~user@xdsl-87-78-102-114.netcologne.de] has joined #scheme 08:40:24 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 08:49:56 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 08:52:13 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 08:59:17 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 240 seconds] 09:00:16 ASau [~user@83.69.227.32] has joined #scheme 09:02:59 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 09:03:10 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 09:03:37 wingo [~wingo@83.44.189.229] has joined #scheme 09:05:37 -!- sepult [~user@xdsl-87-78-102-114.netcologne.de] has quit [Ping timeout: 268 seconds] 09:11:04 xwl [~user@124-168-127-20.dyn.iinet.net.au] has joined #scheme 09:12:40 -!- toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 09:17:42 -!- seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 09:32:43 pure_x01: but i'm just guessing... you must try if it works. 09:32:48 oops 09:33:19 incubot: you did not hear it! 09:33:22 ricky_clarkson: hear, hear. 09:33:31 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 245 seconds] 09:33:39 incubot: who is ricky? 09:33:42 ricky_clarkson: well, you can use a compacting garbage collector then 09:33:52 hm. well apparently my markov chain didn't work. =( 09:34:07 incubot: who are you talking to? 09:34:10 ah, sorry to pounce; I think I'm talking more about myself than about you :-[ 09:35:24 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 09:35:24 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #scheme 09:44:00 sepult [~user@xdsl-87-78-102-114.netcologne.de] has joined #scheme 09:59:17 -!- PygoscelisPapua [~pygospa@f055065178.adsl.alicedsl.de] has quit [Ping timeout: 256 seconds] 10:01:02 PygoscelisPapua [~pygospa@f055173074.adsl.alicedsl.de] has joined #scheme 10:07:36 Narrenschiff [~ritchie@xolotl.plus.com] has joined #scheme 10:10:03 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:12:18 melba [~blee@unaffiliated/lazz0] has joined #scheme 10:14:49 -!- xwl [~user@124-168-127-20.dyn.iinet.net.au] has quit [Read error: Connection reset by peer] 10:37:45 -!- Syntropy|Laptop [~who@unaffiliated/syntropy] has quit [Read error: Connection reset by peer] 10:41:59 Syntropy|Laptop [~who@unaffiliated/syntropy] has joined #scheme 10:45:54 -!- SharkBrain [~gerard@118-93-23-48.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 265 seconds] 10:49:05 -!- sepult [~user@xdsl-87-78-102-114.netcologne.de] has quit [Read error: Connection reset by peer] 10:49:28 choas [~lars@p5B0DAD8E.dip.t-dialin.net] has joined #scheme 10:53:07 -!- Nshag [~shag@lns-bzn-43-82-249-172-85.adsl.proxad.net] has quit [Ping timeout: 276 seconds] 10:56:33 borism [~boris@213-35-235-6-dsl.end.estpak.ee] has joined #scheme 10:56:48 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 265 seconds] 10:58:19 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 10:59:05 -!- Syntropy|Laptop [~who@unaffiliated/syntropy] has quit [Ping timeout: 268 seconds] 11:01:58 -!- Jafet [~Jafet@unaffiliated/jafet] has left #scheme 11:04:56 pavelludiq [~quassel@87.246.14.89] has joined #scheme 11:06:00 -!- arcfide [arcfide@adsl-99-14-208-221.dsl.bltnin.sbcglobal.net] has left #scheme 11:06:13 Nshag [~shag@lns-bzn-35-82-250-253-135.adsl.proxad.net] has joined #scheme 11:08:33 -!- Narrenschiff [~ritchie@xolotl.plus.com] has quit [Quit: Narrenschiff] 11:11:06 fradgers- [~fradgers-@5ad4c06e.bb.sky.com] has joined #scheme 11:11:40 bokr [~eduska@95.154.102.124] has joined #scheme 11:15:33 -!- tltstc` [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [Quit: tltstc`] 11:17:42 tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #scheme 11:33:15 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 11:44:03 masm [~masm@bl5-104-43.dsl.telepac.pt] has joined #scheme 11:49:20 rgrau [~user@107.Red-88-11-109.dynamicIP.rima-tde.net] has joined #scheme 12:00:24 -!- mreggen [~mreggen@cm-84.215.18.49.getinternet.no] has quit [Quit: leaving] 12:15:54 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 252 seconds] 12:42:10 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 265 seconds] 12:44:10 myu2 [~myu2@w179122.dynamic.ppp.asahi-net.or.jp] has joined #scheme 12:50:39 krr [~matthias@dslb-084-056-048-010.pools.arcor-ip.net] has joined #scheme 12:55:21 mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has joined #scheme 13:04:47 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 13:05:07 -!- krr [~matthias@dslb-084-056-048-010.pools.arcor-ip.net] has quit [Quit: WeeChat 0.3.1.1] 13:08:58 -!- Kusanagi [~Lernaean@unaffiliated/kusanagi] has quit [Disconnected by services] 13:09:03 Hydr4 [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has joined #scheme 13:09:06 -!- Hydr4 [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has quit [Client Quit] 13:09:28 Kusanagi [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has joined #scheme 13:09:31 -!- Kusanagi [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has quit [Changing host] 13:09:31 Kusanagi [~Lernaean@unaffiliated/kusanagi] has joined #scheme 13:19:22 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Ping timeout: 276 seconds] 13:21:48 -!- rgrau [~user@107.Red-88-11-109.dynamicIP.rima-tde.net] has quit [Ping timeout: 265 seconds] 13:27:59 -!- foof [~user@FL1-118-110-51-236.osk.mesh.ad.jp] has quit [Remote host closed the connection] 13:28:05 foof [~user@FL1-118-110-51-236.osk.mesh.ad.jp] has joined #scheme 13:30:37 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #scheme 13:56:01 Edico [~Edico@unaffiliated/edico] has joined #scheme 13:58:45 -!- Pepe_ [~ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has quit [Ping timeout: 252 seconds] 14:00:07 Pepe_ [~ppjet@mna75-4-82-225-76-148.fbx.proxad.net] has joined #scheme 14:11:34 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 14:22:56 attila_lendvai [~ati@213.129.230.10] has joined #scheme 14:24:41 knight1996 [~user@222.240.203.245] has joined #scheme 14:26:35 -!- knight1996 [~user@222.240.203.245] has left #scheme 14:34:29 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 14:36:26 -!- samth [~samth@punge.ccs.neu.edu] has quit [Remote host closed the connection] 14:36:35 samth [~samth@c-65-96-168-99.hsd1.ma.comcast.net] has joined #scheme 14:38:36 -!- bokr [~eduska@95.154.102.124] has quit [Quit: Leaving.] 14:42:43 -!- snorble [~snorble@s83-179-14-105.cust.tele2.se] has quit [Read error: Connection reset by peer] 14:52:57 tobetchi [~tobetchi@218-40-236-19.ppp.bbiq.jp] has joined #scheme 14:57:20 -!- tobetchi [~tobetchi@218-40-236-19.ppp.bbiq.jp] has quit [Remote host closed the connection] 15:02:17 bokr [~eduska@95.154.102.124] has joined #scheme 15:02:41 snorble [~snorble@s83-179-14-105.cust.tele2.se] has joined #scheme 15:12:07 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 15:14:21 -!- Baughn [~svein@40.39.202.84.customer.cdi.no] has left #scheme 15:30:27 Fabse [~mightyfid@wikipedia/Track-n-Field] has joined #scheme 15:32:51 parolang` [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 15:36:22 Paraselene [~Not@79-67-146-129.dynamic.dsl.as9105.com] has joined #scheme 15:45:45 -!- Checkie [~checkie@unaffiliated/checkie] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet] 15:47:30 -!- leppie [~lolcow@dsl-243-30-181.telkomadsl.co.za] has quit [Ping timeout: 265 seconds] 15:50:06 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 15:50:42 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 15:51:49 leppie [~lolcow@196-210-200-244.dynamic.isadsl.co.za] has joined #scheme 15:59:55 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 276 seconds] 16:04:27 luz [~davids@189.122.90.116] has joined #scheme 16:05:25 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #scheme 16:08:06 hello. I have to debug code that has to run under petite and mzscheme. i would like to debug it with drscheme. unfortunately, the stuff expects unix-like pathnames, and I am using Windows (and cygwin) so I wrote a function to overload the "load"-function and translate the pathnames. under petite, this is no problem, but mzscheme tells me "set!: cannot mutate module-required identifier in: load" - what am I doing wrong? 16:08:47 -!- bokr [~eduska@95.154.102.124] has quit [Quit: Leaving.] 16:09:14 I am using the r5rs-support of mzscheme. 16:09:37 schoppenhauer: Maybe you should consider switching to Unix-style pathnames. Windows' path functions can handle those too, AFAIK 16:13:36 schoppenhauer: or you could use unix-load instead of load, since that symbol is "reserved". Or else, you could learn about modules and how to defeat that protection. 16:17:14 sjamaan: huh. indeed. it seems to be able to load them ... omg ... 16:17:38 pjb: well, no, i cant, since I would have to change a lot of code for this :/ 16:17:56 sjamaan: ok, the main problem was with /cygwin/... <-> /... 16:18:01 sundaymorning [~roo1@189.107.184.230] has joined #scheme 16:18:04 ic 16:18:39 -!- parolang` [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 16:19:13 Daemmeru` [~goetter@64.146.161.228] has joined #scheme 16:19:26 -!- Daemmerung [~goetter@64.146.161.228] has quit [Read error: Connection reset by peer] 16:20:02 schoppenhauer: but this is no conversion. Only you need to parameterize the pathnames. 16:21:17 Daemmerung [~goetter@64.146.161.228] has joined #scheme 16:23:30 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:24:15 pjb: yes, I didnt know that it translates /cygwin/... into C:\... 16:25:30 -!- Daemmerung [~goetter@64.146.161.228] has quit [Client Quit] 16:26:02 Daemmerung [~goetter@64.146.161.228] has joined #scheme 16:27:40 -!- Daemmeru` [~goetter@64.146.161.228] has quit [Quit: Smoove out.] 16:31:08 -!- snorble [~snorble@s83-179-14-105.cust.tele2.se] has quit [Remote host closed the connection] 16:31:51 snorble [~snorble@s83-179-14-105.cust.tele2.se] has joined #scheme 16:41:05 jcowan [~jcowan@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 16:46:38 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Quit: mheld] 16:50:33 mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has joined #scheme 16:50:58 schoppenhauer: Using PLT to debug petite is something that will be inherently limited -- it would really work *much* better if you choose a specific implementation and go with it. It would also work much better if you avoid `load' braindamage. 16:51:22 pjb: Scheme doesn't use "symbols" for code -- it uses identifiers. 16:52:32 eli: Do you know the story of vectors in syntax-rules macros, what they are for and how you are supposed to use them? Most Schemes accept such definitions, but I get errors trying to invoke them. 16:54:18 eli: actually, if I would have the choice, I would use common lisp (since I am simply more expierienced with it), but have no choice. its a project thesis ... 16:54:50 Oh, nm the part about errors, that was just a bug. But still, why allow vectors in syntax at all? 16:55:39 eli: and seems like the software was already made at r4rs-times, and it has its "own" packaging-system which uses a lot of "load"-stuff ... 16:56:35 My MIT Scheme disagrees: (symbol? (first (call-with-input-file "definitions.ss" (lambda (in) (read in))))) --> #t 16:56:37 jcowan: I don't know the history, but vectors are usually borderline acceptable in macros and quasiquotes etc. I think that it's very frequent to see problems in those areas. 16:57:21 pjb: That is wrong. When you `read' code, you get sexprs, that is not code that runs. That's something that all Schemes (that have hygienic macros) do. 16:57:53 Quasiquoted macros I can see. But I've been looking into conceptual barriers to allowing vectors to be self-evaluating, and that's one of them, however obscure. 16:57:58 pjb: You could just as well read the first character and claim that identifiers are actually characters, or do the same with random bits. 16:57:58 eli: Why should I care about the compiler's internal data structures? 16:58:26 "Cash registers don't really compute sums, they just grind their gears. Actually, they don't really grind their gears either, they just obey the laws of physics." 16:58:31 Well, eval doesn't take characters or identifiers. It takes symbols and list. 16:58:36 -!- mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has quit [Ping timeout: 276 seconds] 16:58:54 schoppenhauer: You're getting yourself into a huge amount of pain -- my personal threshold for not rewriting it (in a single implementation) would probably be higher than 10k lines of code. 16:59:41 pjb: And indeed `eval' is defined in a very unique way, as was mentioned a few days ago -- the bottom line is that this is *not* CL, and very intentionally so. 17:00:17 jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 17:00:42 eli: well, if i would have to write /that/ amount of code, I would just switch to linux instead of working under windows ^^. 17:01:09 eli: Even not considering CL. I agree that the standard speaks of figments such as identifiers. But in practice in scheme, you still deal with lists and symbols. You may call eval and load strange, but that's what they deal with, and what the programmer only need to deal with. 17:01:22 Even after fixing my bug, a fair number of Schemes still don't like (foo #(1 2)) at all. 17:01:45 where (define-syntax foo (syntax-rules () ((foo #(a b)) (+ a b)))) 17:02:02 jcowan: Yeah, that's not surprising at all. 17:02:57 This is, AFAICT, the only feature added by R5RS to R4RS optional syntax-rules. 17:03:02 pjb: It's more than the standard: once you implement a Scheme (and you take care of hygiene), you reazlize that "identifiers" are roughly "symbols + lexical scope", where lexical scope is some opaque type. 17:03:03 Someone must have wanted it for something. 17:03:28 jcowan: Probably some symmetry-fetish... 17:03:36 mjonsson [~mjonsson@cpe-74-68-154-7.nyc.res.rr.com] has joined #scheme 17:04:07 Yeah, you may be right at that. 17:04:29 How would you implement quasiquote in syntax-rules without vector patterns? 17:04:43 Ah. 17:04:46 mheld [~mheld@nomad.ccs.neu.edu] has joined #scheme 17:09:40 Daemmerung: (Well, it's a question whether there's any use for quasiquoted vectors...) 17:10:29 Well, certainly they are not useless. Perl and sh do well with quasiquoted strings, for that matter. 17:11:15 Quasiquoted vectors aren't particularly useful *as code*, but there are many S-expression data structures other than code. 17:11:49 I would like to see quasiquoted structs, as well. 17:12:11 quasirecords. 17:13:58 jcowan: http://groups.csail.mit.edu/mac/ftpdir/scheme-mail/HTML/rrrs-1993/msg00050.html 17:13:59 -rudybot:#scheme- http://tinyurl.com/yanpw7b 17:14:18 rudybot: eval `#s(foo 1 ,(+ 1 2)) 17:14:19 eli: your scheme/base sandbox is ready 17:14:19 eli: ; Value: #s(foo 1 3) 17:15:00 rudybot: eval (hash-ref `#hash((1 . ,(+ 2 3))) 1) 17:15:00 Okay, now I've seen 'em. 17:15:01 eli: ; Value: 5 17:15:13 But it's still mostly just symmetry, IMO. 17:18:27 Daemmerung: In order to have quasirecords we need to have record datum syntax, which I don't believe is readily achievable. 17:18:44 Symmetry is very important. 17:18:52 jcowan: I see. 17:19:52 I thought about it quite a bit, but the question is, how do you associate a given lexical syntax, something like #Sfoo(bar baz zam), with a record that is certainly not defined before macro-processing time, and may not be defined until run time? It's Yet Another Phasing Issue. 17:19:56 punzik [~punzik@wn2nat36.beelinegprs.ru] has joined #scheme 17:21:01 -!- punzik [~punzik@wn2nat36.beelinegprs.ru] has quit [Client Quit] 17:21:10 The best I could come up with was to map #Sfoo(...) into (construct-lexical-foo ...), where construct-lexical-foo is a syntax keyword. But that would prevent #s from being used inside quotes or in S-expressions read at run time. 17:21:58 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:22:59 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 265 seconds] 17:28:29 that kind of defeats the point, yes 17:29:20 In CL this works because CL's attitude to phasing problems is to ignore them. 17:34:17 Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #scheme 17:34:43 phao [~phao@189.107.169.91] has joined #scheme 17:35:14 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Max SendQ exceeded] 17:35:58 jcowan, if literal vectors weren't allowed in macros, you couldn't write this pattern matcher: synthcode.com/scheme/match.scm 17:36:03 -!- pavelludiq [~quassel@87.246.14.89] has quit [Read error: Connection reset by peer] 17:36:06 Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #scheme 17:36:22 which, you'll notice, was written by the illustrious alex shinn 17:37:03 mheld_ [~mheld@155.33.212.236] has joined #scheme 17:37:43 It appears that PLT has a degenerate "prefab" variety of structure with a simple datum syntax. Hence the tricks that eli evoked from rudybot. 17:38:21 I remember reading up on that, but I've forgotten what. 17:38:23 *jcowan* goes to look. 17:38:49 -!- mheld [~mheld@nomad.ccs.neu.edu] has quit [Ping timeout: 245 seconds] 17:38:49 -!- mheld_ is now known as mheld 17:39:18 jcowan: http://docs.plt-scheme.org/reference/reader.html?q=struct#(part._parse-structure) 17:42:10 rudybot: eval 'i-am-alive 17:42:12 offby1: your scheme sandbox is ready 17:42:13 offby1: ; Value: i-am-alive 17:42:50 rudybot: eval 'chief-dan-george 17:42:50 offby1: error: reference to an identifier before its definition: chief-dan-george in module: 'program 17:43:04 rudybot: eval chief-dan-george 17:43:04 offby1: ; Value: "Sometimes the magic works; sometimes it doesn't" 17:43:52 I see. "Degenerate" is the word. Or even "skanky". 17:44:09 Cheesy but oh-so-useful. 17:45:45 -!- masm [~masm@bl5-104-43.dsl.telepac.pt] has quit [Ping timeout: 260 seconds] 17:47:10 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 276 seconds] 17:47:20 -!- jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Ping timeout: 268 seconds] 17:47:32 I think you hit on the right flexpoint for useful symmetry: any type of compound object with a concrete datum syntax should work with quasiquotation, and as a pattern in a syntax-rules production. 17:47:37 *Daemmerung* slips on the slippery slope 17:47:43 My Nefarious Plot is to make SRFI-99 the record system of Thing Two, and to make its syntactic subset (which is upward compatible with SRFI-9) the record system of Thing One. 17:48:00 "any type of compound object with a concrete datum syntax": even strings? 17:48:07 Not compound. 17:48:16 How not? 17:48:38 jengle [~45002463@gateway/web/freenode/x-bvxokslfqifsuoxg] has joined #scheme 17:48:47 Strings are compounded of characters (though in a better world characters wouldn't exist) 17:49:01 -!- jengle [~45002463@gateway/web/freenode/x-bvxokslfqifsuoxg] has quit [Client Quit] 17:49:04 Their individual components can't be grokked, lexically. 17:49:10 (am I wrong?) 17:50:06 *Daemmerung* stops talking out his ass, goes to read the grammar already 17:50:13 jengle [~45002463@gateway/web/freenode/x-ymbbonkitydpktbe] has joined #scheme 17:51:06 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 17:51:08 Okay, at least for R5 I am wrong. 17:51:18 r2q2 [~user@acad243207.eastdorm.uic.edu] has joined #scheme 17:51:22 hey guys 17:51:26 and girls 17:51:28 and bots 17:51:31 sup dawg 17:51:38 I'm taking over bitc 17:51:45 I'm taking over dawgs. 17:51:48 http://www.bitc-lang.org/ 17:51:56 bitc-in. 17:52:04 http://github.com/zitterbewegung/bitc 17:52:05 Bitc-in ya. 17:52:11 in da houseeee 17:52:17 i'm adding monads and shit 17:52:28 -!- wingo [~wingo@83.44.189.229] has quit [Ping timeout: 265 seconds] 17:52:30 Now THAT is a quotable quote. 17:52:47 ya boyyy 17:53:00 I think its mostly r4rs compliant 17:53:02 or actually 17:53:06 r3.99rs compliant 17:54:01 Anyone know of an bitchin r4rs syntax-rules implementation? 17:54:37 You mean, an impl of syntax-rules written in R4RS Scheme? 17:54:37 -!- attila_lendvai [~ati@213.129.230.10] has quit [Ping timeout: 265 seconds] 17:54:40 Yea 17:54:49 Try the Tonder 'spander. 17:55:04 link? 17:55:17 oh nvm 17:55:25 http://www.het.brown.edu/people/andre/macros/index.html right? 17:55:36 right 17:55:48 Thanks dawg 17:55:50 mreggen [~mreggen@cm-84.215.18.49.getinternet.no] has joined #scheme 17:56:19 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 17:56:23 jcowan: where the dickens is the lexical structure of R6 spec'd? 17:56:32 I fail at reading. 17:57:13 Oh, 4.2. 17:57:39 I don't think that alexpander particularly depends on any R5RS specifics, though I haven't checked it. 17:59:01 maybe i can try an older version 17:59:36 masm [~masm@bl8-56-112.dsl.telepac.pt] has joined #scheme 18:00:00 Oh, my bad r2q2. van Tonder expects R5RS eval. 18:00:18 yea... i sort of got that 18:00:36 http://www.cs.cmu.edu/afs/cs/project/ai-repository-9/ai/lang/scheme/doc/macros/r4rs/syntax/0.html 18:00:38 -rudybot:#scheme- http://tinyurl.com/yhtmawu 18:00:40 that probably will work 18:01:25 So does Al* 18:01:28 bummer 18:01:40 What is r4rs eval? I thought there was none. 18:01:56 It's "ghetto eval." 18:02:37 maybe i will use lisp in small pieces 18:02:47 You certainly could rip the eval out of van Tonder's impl. It's just there to provide a REPL out of the box. 18:02:58 Ignotus per ignotiem, I fear 18:03:04 ok 18:03:06 Ah. 18:04:06 Yeah, there are no uses of eval in alexpander, although the token "eval" does appear three times. 18:04:22 Daemmerung: But what do you mean by "ghetto eval"? 18:04:43 The poorly specified eval that every Scheme contained, pre R5. 18:05:21 Typically they worked against whatever was in the global oblist. 18:05:31 The one at the heart of `load'. 18:06:08 I might use syntactic-closures 18:06:11 i already have that 18:06:48 alvatar [~alvatar@158.127.222.87.dynamic.jazztel.es] has joined #scheme 18:07:20 http://www.ccs.neu.edu/home/dorai/mbe/mbe-imps.html 18:07:23 The shortest route to having /something/ would be the {al,ria}expander. 18:07:26 Daemmerung: Oh, okay. But that's not in R4RS itself. 18:07:26 are there many books like SICP? 18:07:30 :-) 18:07:32 There are no other books like SICP. 18:07:41 phao: SICP is too good to have books like it. 18:07:51 that's what I thought, hehe 18:07:51 r2q2: don't use mbe. It lacks referential transparency 18:07:53 phao: There are books as good. 18:07:55 Daemmerung: Ok 18:08:04 r2q2, about programming? 18:08:14 phao: TAOCP 18:08:24 phao: the art of computer programming 18:08:27 sure 18:08:43 phao: Lisp in small pieces is good 18:08:50 phao: Its a good thing to read after sicp 18:09:39 jcowan: Indeed, there is no eval in R4RS. So I could have just said "standard EVAL" rather than "R5." I don't know what R6 has to say on it. (And I should.) 18:09:54 R6 has no eval. 18:09:56 http://www.bitc-lang.org/docs/bitc/spec.html 18:10:20 I just googled for "Descot arcfide" and got asked if I wanted "Ascot arcade". 18:10:24 jcowan: I Did Not Know That. 18:10:25 lisppaste: 18:10:28 lisppaste: url 18:10:28 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 18:10:43 r2q2 pasted "verbs i have" at http://paste.lisp.org/display/95714 18:10:55 Thats the stuff in bitc 18:13:26 *Daemmerung* forgot he was rebuilding PLT on this box until the world slowed to a crawl again 18:13:43 Probably ld. 18:13:46 ld is such a time suck 18:13:48 Go with Gold 18:14:29 Oh, R6 eval is hiding in the libraries document. 18:16:06 Yes, my bad. 18:16:46 But there is no notion of the interaction environment there. 18:16:53 Indeed. 18:17:03 The source of much griping. 18:17:15 Not that it is actually forbidden: one may create environments through non-portable means even in R6RS. 18:17:18 masm1 [~masm@bl5-106-117.dsl.telepac.pt] has joined #scheme 18:18:01 Why should that get in the way of griping?? 18:18:05 -!- masm [~masm@bl8-56-112.dsl.telepac.pt] has quit [Ping timeout: 265 seconds] 18:18:49 Personally I gripe about people who use EVAL at all. 18:19:26 They took a feature very poorly specified in previous Schemes and removed it entirely from the spec. That doens't bother me a whit. 18:19:26 But of course you need it if you are going to explicate Scheme semantics via fexprs. 18:19:32 *Daemmerung* flinches 18:19:44 ...more coffee.... 18:19:52 *jcowan* apologizes. 18:21:36 Back to quasistrings. R5 strings are indeed compound, but their individual components are all self-evaluating. No room for a quasistring production without introducing a new datum syntax. 18:21:48 R6 strings have a little more room, thanks to their hideousness. 18:22:11 hideousness = ugly inline hex escape 18:24:08 wingo [~wingo@83.44.189.229] has joined #scheme 18:24:31 -!- jao [~jao@37.Red-88-6-172.staticIP.rima-tde.net] has quit [Ping timeout: 258 seconds] 18:24:40 Sure. \,expression would do the trick. 18:25:04 R5 and R6 strings are already mildly incompatible, but I think most Schemes are R5-incompatible when it comes to \n and suc. 18:25:06 such. 18:25:27 As to the usefulness of quasistrings - they're a feature that, while oddly appealing, I can't justify with any usage scenario. Unless you really wanted to make a program impossible to localize. 18:26:51 That would be an argument against string datum syntax to begin with. But I have certainly written plenty of Perl and sh programs that had things like "Found $k hits in $n trials" in them. 18:28:01 As long as the string is immutable, it can be localized pretty easily. 18:28:56 Perhaps "feature can be used to write shitty code" is not the best disqualifying characteristic. 18:29:27 *Daemmerung* loves him some let* and set! 18:29:30 No, otherwise we'd have to do without named-let and call/cc. 18:29:38 (Odd that we picked different choices) 18:29:53 The hive mind is failing us. 18:30:02 "We are all individuals" 18:30:05 "We are all unique" 18:30:25 No, it's succeeding. Soon all features useful for shitty code will be gone, all of Scheme will be gone, and I can resign with a clear conscience. 18:30:45 Heh. 18:31:22 I can only imagine the degree of "What the hell was I thinking?" that you must confront daily. 18:32:13 ...whoa, PLT build failed. 18:33:54 I'm getting this error here: default-load-handler: expected a `module' declaration for `e1.19', found: something else in: # 18:34:01 sorry 18:34:07 nevermind 18:34:45 wow... this time I did e1.19 of sicp with no trouble 18:34:59 I remember trying to do it when I was 16 and I could understand what was being asked. 18:35:04 If I really were a hive mind, I might. But my ability to back up my wetware RAM also declines daily, so I manage. 18:35:18 phao: s/could/couldn't/? 18:35:28 jcowan, that's right. 18:35:46 sometimes I don't add the 'not' where I should add it. 18:35:53 I don't know why. I think it's lack of attention 18:38:09 -!- r2q2 [~user@acad243207.eastdorm.uic.edu] has quit [Remote host closed the connection] 18:38:58 eli: PLT build is kaputt. setup-plt: ...\plt\collects\typed-scheme\private\with-types.ss:14:32: ?: invalid module-path form in: "..\\utils/utils.ss" 18:39:38 Daemmerung, is that on windows? 18:39:44 samth: yes 18:40:12 ok, i know how to make it work pretty easily 18:40:39 _ist_ kaputt, not "is" kaputt. 18:41:02 ist! ist!! ist!!! 18:41:03 *jcowan* sings "Ach, du lieber Augustin" 18:41:15 *Daemmerung* dances ponderously 18:41:27 *jcowan* adds the accordion accompaniment. 18:41:37 mejja [~user@c-52b1e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 18:41:47 *Daemmerung* wipes away a beery tear 18:41:48 *jcowan* gets the Ohrwurm, too. 18:41:54 *offby1* invades Czechoslovaki 18:41:55 a 18:41:57 Serves you right. 18:42:50 *offby1* invokes Godwin's Law, in the spirit of one who shouts "Mornington Crescent" at random times, just in case 18:43:35 Just remember that Bohemia *is* part of the Empire, though with mute vote since 1613 (or whenever). 18:43:49 offby1: Is the $9 chimay a 750ml bottle? 18:44:24 offby1: I think you could declare Mornington Crescent the official pasttime of this channel. 18:45:02 Of course, in an alternate universe the boundary of the Holy Roman Empire runs *through* several other countries. 18:45:34 Not to be confused with the Wholly Woman Empire. 18:45:36 Which meant that when Germany attacked the Scandiavian Realm in 1947 (the turning point in WW2), Oldenburg had to declare war on itself. Twice. 18:46:01 *jcowan* laughs. 18:46:06 o_O 18:46:39 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 240 seconds] 18:47:48 -!- wingo [~wingo@83.44.189.229] has quit [Ping timeout: 276 seconds] 18:48:02 ASau [~user@83.69.227.32] has joined #scheme 18:48:06 *Daemmerung* might as well go outside and play, since he's sans Scheme at the moment 18:53:42 mije [~antoine@tal33-5-88-181-16-209.fbx.proxad.net] has joined #scheme 18:53:42 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 19:01:07 Daemmerung: Or you could grab chibi and use that. 19:01:20 jcowan@jcowan-laptop:~/Desktop$ scheme 19:01:20 Try mzscheme, gosh, mit-scheme, gsi, csi, bigloo, scsh, guile, kawa, sisc, petite, scm, ikarus, larceny, s9, s7, sscm, sxi, vscm, or chibi-scheme. 19:02:36 (`s9' ?) 19:03:04 pavelludiq [~quassel@87.246.14.89] has joined #scheme 19:03:09 Scheme 9 From Outer Space 19:03:34 ah, on Plan9 19:03:41 No, not particularly. 19:03:58 mejja: yes, 750ml for US$9 at "Pier 1 Imports" here in Seattle 19:04:26 .oO("gosh"?) 19:04:27 golly 19:04:45 I thought plan9 people used tinyscheme 19:04:57 but as far as I know plan9 is dead 19:05:02 Sorry, s/Outer/Empty 19:05:18 Plan 9 will never die. Any more than Scheme will. 19:05:23 its creators don't use it... The people that used to love it don't use it anymore 19:05:31 jcowan, I didn't mean it literally 19:06:25 What do the people that used to love it use now? 19:06:51 linux and mac 19:07:00 I think they still want to use plan9 19:07:14 but their environment (work, university, ...) "forces" them to use other systems 19:07:25 Well, that's different. Fafiation, not gafiation. 19:07:38 I don't know what those words mean. 19:07:57 wingo [~wingo@83.44.189.229] has joined #scheme 19:08:01 -!- alvatar [~alvatar@158.127.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 19:08:15 wait 19:08:48 I have a link here... let me just fnd it 19:08:53 *Daemmerung* observes that GAFIA is almost an anagram of JFGIA 19:09:01 http://groups.google.com/group/comp.os.plan9/browse_thread/thread/d8fc273f429f2790/1fd0d23c9d28b621?pli=1 19:09:03 Cool. 19:09:03 -rudybot:#scheme- http://tinyurl.com/y868hne 19:09:17 you can see what rob pike and russ cox is using by reading that 19:09:22 thread. 19:09:36 Ken works at google too, so he must use something similar to Pike at work. 19:09:47 I'm looking for speakers for the Boston Lisp Meeting. 19:10:01 and/or a panel on the future of Scheme. 19:10:05 Any suggestions? 19:10:13 Fare, is it going to be recorded? :-) 19:10:28 may or may not. Probably no video. Audio should be easy 19:10:45 I love to watch/listen to those things. 19:11:33 Fare: JBL makes some nice ones 19:11:35 *offby1* flees 19:11:59 if it's about lisp, I think you can talk to that guy in #lisp 19:12:04 that wrote practical common lisp 19:12:08 Hi Fare! 19:12:09 he seems to like thos things too 19:12:11 *jcowan* runs Goobuntu on both laptop and Desktop. I don't like Macs -- can't stand the incompatible UI. 19:12:33 I use archlinux here. 19:12:55 alaricsp, howdy? 19:13:13 how's ugarit? How are sarah + jean? 19:13:15 (Yes, there is a Goobuntu; no, it's nothing special, just Google-specific builds; no, we aren't going to distribute it, it's Google-specific and there's no point.) 19:13:39 jcowan, you're a googler now? 19:13:56 Great Froogly Woogly 19:13:58 phao: gigamonkey is on the west coast 19:14:24 Fare: yes. 19:14:49 jcowan: I do have Gambit, but all my tools depend on PLT. Anyway. Any excuse for a little sunshine. 19:15:16 vscm... whoa. 19:15:17 Fair enough. There's snow on the ground here. 19:15:20 jcowan, http://www.google.com/moderator/#15/e=7f3&t=7f3.44&f=7f3.29bc 19:15:26 you may find what ken thompson is using there. 19:15:33 As there is here. Hence gore-tex running shoes. 19:16:15 jcowan, any scheme work there? 19:16:24 jcowan, which office? 19:17:24 New York City. No Scheme work here that I have ever heard of. 19:18:06 jrm says he could sneak scheme into ad hoc data analysis tools 19:19:26 Sure, and I wrote an auto-poster in Perl that runs on my own machine. Hardly counts as "work". 19:21:59 Daemmerung, should be now fixed in SVN 19:23:46 hotblack23 [~jh@p4FC5B8F0.dip.t-dialin.net] has joined #scheme 19:24:39 -!- mije [~antoine@tal33-5-88-181-16-209.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 19:25:07 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 19:25:50 seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has joined #scheme 19:25:55 Fare: Meh. Life is being complex, as usual. To take a recent sample, I am now without a vehicle (while living in a remote valley), and £900 out of pocket due to an evil used-care salesman! Burnt my face in Jan, but grew it back without any scarring, which was entertaing... 19:25:58 How about yourself? :-) 19:27:28 ?r lo re nixli li vo 19:27:32 Lauren left me, looking at changing my job, either inside or outside 19:27:47 Bah, wrong window 19:27:50 life is interesting. 19:27:54 Lauren left you? :-( 19:27:58 :( :( :( 19:28:42 Define 'inside or outside' - within the company or without, or something more metaphysical? :-) 19:30:20 Never buy used care; always make sure it's brand-new. 19:30:27 yup, within or without 19:30:52 I'm lucky enough to live in the city and not need a car... 19:30:54 that's my luxury 19:31:01 *jcowan* too. 19:31:05 jcowan: This is a fine principle, if one has many thousands of pounds lying around, unlike myself ;-) 19:31:25 I live six miles from the nearest supermarket, alas 19:31:30 You have to spend thousands of pounds for care? I get caring pretty much for free from my family. 19:31:39 care? car! :-) 19:31:53 Heh 19:31:56 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 240 seconds] 19:31:57 and £900 out of pocket due to an evil used-care salesman! 19:32:12 Yes, I suspected as such ;-) 19:32:21 *alaricsp* ponders what a used care might look like 19:32:38 or feel like 19:32:57 Used care is when Alice cares for Bob and then Bob turns around and sells it to Charlie. Doesn't help Charlie much. 19:33:23 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 19:35:04 is there any primitive to compute the reminder of a division? 19:35:09 like C's $ 19:35:11 % 19:35:42 specbot: r5rs remainder 19:35:42 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_290 19:35:44 -rudybot:#scheme- http://tinyurl.com/2bvclp 19:35:48 phao: Yes, there's two IIRC. Let me just find chapter and verse... 19:35:54 Yeah, like that! 19:35:57 :) 19:35:57 Beware of negative values, though; they may not do what you expect. 19:35:59 Also 19:36:03 specbot: r5rs modulo 19:36:03 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_292 19:36:04 s/values/arguments 19:36:05 -rudybot:#scheme- http://tinyurl.com/mokmum 19:36:09 nice! 19:36:12 sjamaan LEAPS INTO ACTION 19:36:59 alaricsp: Been lurking all day while working on the postgres egg 19:37:14 Fare: Come back to Europe! You can visit us (and be trapped in a valley, too. But at least we have IP connectivity ;-) 19:37:24 sjamaan: Aye 19:37:33 good luck :P 19:38:02 alaricsp, I'll be sure to visit someday 19:38:51 I've not seen you in six or seven years! I went to the States last April, but was down in SF and had no time to get away 19:39:18 samth: Thanks. 19:45:06 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 248 seconds] 19:45:59 Have a good run, Daemmerung? 19:46:19 I'd like to summon a panel at BLM on the future of Scheme. 19:46:30 haole [~ivan@187.23.80.198] has joined #scheme 19:46:39 not sure whom to invite. 19:46:45 hello there... i'm using structures a lot with gambit-c and i'm wondering: which is more cpu intensive? lists or structures? 19:48:47 Depends what you do with them. 19:49:06 Such micro-performance questions are best answered by testing your actual application, or a reasonable facsimile of it. 19:49:27 Fare: What are your options? Who's interesting, near Boston, and likely to come (the latter being the hardest, I bet)? 19:52:05 I'm starting to exhaust my source of speakers at NEU. 19:52:16 Hard to get the boys from Brandeis 19:52:35 MIT old-timers say they don't have anything to say and/or no time. 19:52:42 There are no MIT new-timers. 19:52:49 damn people from MIT, never have anything to say 19:53:40 jcowan, i'm using them to make a small type system for my application and i will need to work with big arrays of structures... i don't know yet how they are implemented, so i was wondering that 19:53:58 Probably best to ask the Gambit maintainer, then. 19:54:39 Fare: I might come if you wanted me. 19:55:21 Fare, why would the people you get on a panel know the future of scheme? 19:55:46 because they make it? 19:56:01 jcowan: I want YOU... for the BLM. 19:56:11 jcowan, that would be great. Do you often come to Boston? 19:56:17 I have a room for you, too 19:56:22 No, almost never. But I could. When? 19:57:07 incubot: benevolent lasagna meister 19:57:10 "Du riechst so gut", "Der Meister", "Heirate mich", "Tier", "Eifersucht", "Klavier"... 19:57:49 -!- masm1 [~masm@bl5-106-117.dsl.telepac.pt] has quit [Ping timeout: 260 seconds] 19:58:11 jcowan, usually we meet on the last monday of every month 19:58:28 jcowan, we make exceptions more easily for speakers who come from afar 19:58:45 i mean, the future of lisp looks a lot different because of clojure, but would rich hickey have been on a panel 2 years ago? 19:59:10 masm [~masm@bl5-106-117.dsl.telepac.pt] has joined #scheme 19:59:41 dunno, maybe. 19:59:49 s/because of/thanks to/ 20:00:03 I invited him at the BLM two years ago. 20:01:25 day, evening? 20:01:36 Why do you guys consider SICP good? 20:01:36 clojure is both very modern in many ways (interfaces, mostly-pure, concurrency) and somewhat primitive in other ways (macros). 20:01:43 jcowan, usually we meet at 6pm 20:02:05 metasyntax [~taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has joined #scheme 20:02:16 That would be hard for me, I wouldn't get back to NYC till pretty late with work the next day. 20:02:16 phao, it's good for people with mathematical mind/background, with plenty of insight. 20:02:26 I suppose it's not possible to move it to a day when work does not follow? 20:02:29 jcowan, we could do one on the weekend 20:02:38 it is certainly possible 20:02:44 That'd be great, either Fri or Sat would be fine 20:02:48 Fare, what do you mean by "with mathematical mind/background"? 20:02:57 name your day and month, we'll reserve a room at MIT 20:03:40 phao: requires the kind of mind that goes (or could go, or went) to undergraduate math studies. 20:04:01 Actually, I'm fairly unmathematical and still find SICP intelligible. 20:04:14 Formalism is not necessarily mathematical. 20:04:40 Do you want the 1-minute, 5-minute, 1/2-hour, 1-hour, or 3-hour chalk talk? 20:05:57 (for the BLM, I mean) 20:06:24 our target is more like 1 hour including questions. 20:06:27 usually 20:06:40 once again, we make exceptions for people coming from afar. 20:06:46 and we accept shorter formats, too 20:08:01 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 20:09:01 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Ping timeout: 260 seconds] 20:09:26 *alaricsp* would like to meet jcowan one day, having bumped into him in three different online communities already 20:10:16 Unfortunately I am next to immobile. I might go to Philadelphia (by train) every year and to Boston (also by train) every five years. Flying for pleasure is out. 20:10:37 I've managed not to have to go to California on business more than twice in almost three years at Google. 20:10:56 OTOH, I do live in a tourist city, one in which native guides are invaluable. 20:11:29 jcowan: you got some weird rock-star thing goin' on :) 20:11:40 Hey, I'm not demanding that you come and fly to my house, just because I think you might be interesting ;-) 20:11:51 jcowan: sign me boob! 20:12:09 jcowan, are you somehow boycotting the TSA? 20:12:37 offby1: No, just that air travel makes me mildly ill. 20:12:40 However, should I swing by the east coast again, I'll drop you an email, thanks ;-) 20:12:44 Please do! 20:13:13 jcowan, send me a date & time (hopefully 6pm), a title, a one-paragraph blurb about your talk, a one-paragraph blurb about yourself, and you're in! 20:13:34 alaricsp, you better drop me an email, too! :) 20:13:39 I still need to know how long to talk for, per above: 1-minute, 5-minute, 1/2-hour, 1-hour, or 3-hour? 20:14:02 the longer the better 20:14:09 Fare: That goes without saying ;-) 20:14:28 let's say 1-hour. 20:14:40 3-hour without food is too hard. 20:14:56 unless we move the talk earlier in the day 20:15:00 say, AFTER lunch. 20:15:08 if it's a saturday, e.g. 20:17:18 I wouldn't actually want to do the 3-hour one. 20:17:35 I assume the end of March would be appropriate, given that you've just had a meeting. 20:19:11 I'll probalby talk about R7RS, more likely process than result at that point. 20:19:47 indeed 20:19:54 that would be just great 20:21:21 Daemmerung: That problem is fixed now. 20:21:59 so: Saturday March 27 at 6 pm, dinner to follow? (By room do you mean room to talk in or room to sleep in?) 20:24:27 sleep in 20:24:36 to talk to, I'll have to reserve one 20:24:55 but probably will get MIT 34-401B 20:27:22 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Ping timeout: 264 seconds] 20:28:06 -!- nowhere_man [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: Operation timed out] 20:28:22 Fare, when will that speech be? 20:28:43 so: Saturday March 27 at 6 pm, dinner to follow? (By room do you mean room to talk in or room to sleep in?) 20:28:50 jcowan, any preference re: food ? 20:29:24 Not spicy or pepper-laden, otherwise I am flexible. (I don't like peppers and I don't eat for pain.) 20:29:24 -!- jengle [~45002463@gateway/web/freenode/x-ymbbonkitydpktbe] has quit [Quit: Page closed] 20:29:42 jengle [~45002463@gateway/web/freenode/x-cyrtoztnedgqzpll] has joined #scheme 20:33:22 jcowan, too bad, there are great szechuan restaurants not too far from MIT :) 20:33:31 Mmmm, spicy food 20:34:13 jcowan, indian, pizza, french-style, middle eastern, tibetan, chinese, korean, ethiopian... 20:34:16 Barbarian Eggplant Cowpork, please. 20:34:48 raw meat! 20:34:50 *mejja* laughs 20:35:30 (allegedly what a Chinese menu actually says next to "beef with tomatoes") 20:38:09 Fare: re "french-style", see http://quomodocumque.wordpress.com/2009/05/15/the-only-argument-i-have-ever-won-with-colliot-thelene/ 20:38:10 -rudybot:#scheme- http://tinyurl.com/yf536tz 20:39:35 -!- masm [~masm@bl5-106-117.dsl.telepac.pt] has quit [Ping timeout: 240 seconds] 20:39:36 McDonalds is very big in France. 20:39:55 and is a vast improvement upon jambon-beurre 20:40:15 though not as filling as a sandwich grec 20:40:42 Yes, but nobody would call it "classical French cooking", per http://www.gregoirerestaurant.com/ 20:41:37 my this argument is making me hungry! 20:43:15 jcowan: best run in memory. happy fun endorphins 20:45:50 eli: great service from samth. A+++++++ would svn update again 20:46:37 *alaricsp* needs to go and discuss dinner with t'wife, in fact; it's 20:46 here in the UK - prime dinnering time. 20:46:44 "We cook it..... You eat it!" 20:46:51 Thanks god... Imagine if it was the opposite. 20:47:14 "Oh... we have the restaurant, but you gotta cook it and we'll eat it." 20:47:34 alaricsp: A northerner, I see. 20:47:37 "You work for us and we get paid for it" 20:47:47 Daemmerung: Actually, the bug was in my code, which he used -- and he retracted using it (which fixed the immediate problem), bit in addition I fixed the bug -- so it's very fixed now. 20:47:59 "We pretend to work, and they pretend to pay us." (Communist countries in the 1980s) 20:48:13 jcowan: How do you mean? I live in the South West and grew up in the South East :-) 20:48:32 However, I do have a broad cultural background, so may emit Northern idioms 20:48:52 t' for the is definitely northern, which misled me. 20:48:58 "Not like when I were a lad, aye." ;-) 20:49:22 Yeah, I randomly do misleading things. Diverts my enemies, etc. 20:49:24 *jcowan* sings all 377 verses of "On Ilkley Moor Bar 't Hat" 20:50:13 -!- mheld [~mheld@155.33.212.236] has quit [Quit: mheld] 20:50:37 I have a good friend who's a Yorkshirewoman, plus a tendency to absorbs accents and idioms 20:50:57 *jcowan* too. 20:51:25 *Daemmerung* apes the accent of anybody within earshot 20:51:34 I was talking to a woman from India one day years back who told me I had "only a light American accent". I explained that that was because I was unconsciously imitating her accent to some degree. 20:51:46 Oh, god. Done that. 20:51:50 A yorkshirewoman friend, or accent absorption?!? :-) 20:51:54 The latter only 20:52:12 When I was in the US for two weeks once, my inner dialogue acquired a faint American accent, to my surprise 20:52:35 Few and far between are they who can really manage more than one. 20:52:50 The sterling example used to be Peter Ustinov, now it's Hugh Laurie. 20:53:05 Not as bad as when I was in Switzerland, and I started thinking in French. As I know enough French to order sandwiches and ask the way to the station, this somewhat crippled my mental powers. 20:53:25 Yeah, not sure what mine was; I was amongst a fairly varied group of people, so probably a vague mix 20:56:00 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 20:56:59 "Dutch happens to be a language in which my unfettered human capacity for free expression and comprehension of thoughts is rather fettered. In fact, all I can convincingly say in Dutch is that I would like to have en broodje met warme worst en een koffie met melk alstublieft. (This ability once saved me from starving to death during a GLOW conference in Amsterdam when no one would have lunch with me because of my position on the boundin 20:56:59 g of movement rules.)" --Geoffrey Pullum, "Footloose and context-free" 20:58:53 -!- samth [~samth@c-65-96-168-99.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 21:00:31 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:04:16 Sorry guys, basic question here 21:04:19 What is ~~/ ? 21:05:28 A Gambit-specific hack meaning "where Gambit is on this system" 21:07:48 masm [~masm@bl5-106-117.dsl.telepac.pt] has joined #scheme 21:19:07 ASau [~user@83.69.227.32] has joined #scheme 21:21:42 -!- jengle [~45002463@gateway/web/freenode/x-cyrtoztnedgqzpll] has quit [Quit: Page closed] 21:22:32 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #scheme 21:23:18 karme [~user@HSI-KBW-078-043-001-160.hsi4.kabel-badenwuerttemberg.de] has joined #scheme 21:24:30 *jcowan* tries to figure out where the devil ~~ is on *his* system 21:25:35 *jcowan* also tries to figure out why DNS is so *@#$ slow 21:25:41 jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 21:27:46 See the value returned by (##path-expand "~~"). 21:27:56 *Daemmerung* need to get off his ass and make a Gam-bot 21:28:07 Thanks. 21:28:55 Ah. /usr/local/Gambit-C 21:30:11 I guess I shouldn't be promoting the unsafe ## version. Please pretend that I typed (path-expand "~~"). 21:30:33 Works for me. 21:31:17 Is there a command-line option to load syntax-case? 21:31:24 -:s 21:33:41 *jcowan* breathes a sigh of relief when gsi proves not to have a "true REPL" either. 21:34:00 Death to false metal!!! er, REPLs. 21:34:18 The REPL is in the eye of the beholder 21:35:04 That is: redefining a syntax keyword does not affect procedure definitions you have already entered. 21:35:22 It sort of does in SCM, provided you have not invoked the procedure yet. 21:35:40 I'm not sure I stand on this whole REPL issue... but I suspect that's just life's way of telling me it needn't be standardised, but the standard needs to avoid accidentally standardising it, too. 21:35:44 SCM doesn't compile a procedure until its first inv. 21:35:48 Just so. 21:36:08 (for some degenerate definition of "compile") 21:36:23 "compile" ==> "splice in the macro expansion" 21:36:30 Precisely, Robin. 21:36:38 Robin?? 21:36:52 Watson's name was James 21:36:54 thanks guys, I appreciate that 21:37:00 *Daemmerung* is trying to imitate Adam West and failing. 21:37:06 Oh. 21:38:53 Gotcha. 21:39:10 "If I ever get my hands on the blinkin' nanny that sold me this leaky bumbershoot...." 21:39:28 I am afraid to check the WG archives for the definition of a True REPL. 21:39:44 *elly* is losing repeatedly at Wesnoth :( 21:40:01 No definition was actually posted, despite an offer to do so for the LiSP definitions (a book which I do not have, or I'd do it) 21:40:37 I'm about 400km from my copy; otherwise I'd volunteer 21:40:44 Daemmerung: One in which you can redefine macros and everything that used that macro changes, AIUI 21:40:52 That's what I assume too. 21:40:59 /me threes 21:40:59 Hmmm, I have a copy of Lisp in Small Pieces 21:41:09 Presumably if you redefine "if" *everything* stops working. 21:41:34 But I take it to refer only to definitions given at that REPL, not the whole Scheme system. 21:41:42 It's a nice idea in some ways, but... what's the real point of it, and it'll be hard to implement. 21:41:59 Oooh, look, an arbitrary boundary. How elegant. 21:42:04 -!- Edico [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:42:07 pdponze [~pierre@144.85.124.96] has joined #scheme 21:42:36 I suppose the real point is that you are talking at the REPL and realize that your macro was botched. 21:42:51 Why should you have to re-enter *the exact same code* for each procedure you typed in below that point? 21:43:11 I got the impression it was meant to be whole-system, like (set! ...) 21:43:20 Yes, that is a nice use case 21:43:32 I halfwayed a Scheme once that worked like that. Everything defined in the REPL worked within a namespace unique to that REPL. 21:44:22 You can get that by, whenever a form that actually does something is entered, starting from scratch and replaying the entire session into a fresh environment - and whenever a re-definition is entered, overwriting the old definition in the 'log' 21:44:38 Which is sort of what i do in practice; have file open in emacs, pump it into a csi process when I'm ready to try it out. 21:44:49 But why a language standardization committee should be worrying about a particular dev env's UI -- that defeats me. 21:45:08 But that's driven by my desire to have my "real state" in a file on disk, not in a process' RAM. 21:45:38 Same way here. Why I never could get any traction in Smalltalk. 21:45:55 Daemmerung: I think the problem arose in that R6RS' macro semantics seem to preclude a REPL-esque implementation being confirming 21:46:25 This raised some hackles, rightly so, and we're seeing an overreaction to this: "The spec must MANDATE REPL-compatible semantics!" 21:46:41 overreaction is an understatement 21:46:59 I am known to occasionally make small understatements 21:47:19 heh 21:47:36 ;-) 21:48:24 *alaricsp* must depart 21:48:33 Happy trails, etc. 21:48:39 Farewell! thou art too dear for my possessing. 21:50:16 ;-) 21:52:01 So. 21:52:23 samth [~samth@c-65-96-168-99.hsd1.ma.comcast.net] has joined #scheme 21:52:42 R6 libraries are a lame compromise between modules-as-syntax and modules-as-packaging. They exist only at the top level, they can't be generated by a macro, etc.; but they are not separate from Scheme, because you have to read all the code in order to figure out how to handle one. 21:53:24 *Daemmerung* needs food badly 21:53:25 Arcfide has proposed modules-as-syntax for Thing One, with import and include available anywhere, including at the top level/REPL. WIth those, you can simulate modules-as-packaging. 21:53:26 But. 21:54:21 -!- leppie [~lolcow@196-210-200-244.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 21:54:42 What you can't tell from modules-as-syntax with includes is whether an exported name is syntax or not. Scheme48 requires a special indication of tis. 21:54:43 this. 21:55:14 I'm a little reluctant to add export-for-syntax to Thing One, but it would kill N+1 birds with N stones. 21:55:39 Anyone have an idea? 21:58:57 leppie [~lolcow@dsl-243-59-14.telkomadsl.co.za] has joined #scheme 22:03:13 There is a strong precedent for *-syntax variants ("like *, but for syntax") in R5. 22:03:18 jcowan, requiring marking syntax bindings is a terrible idea 22:03:52 it prevents you from changing an api between syntax and value without changing the clients 22:04:35 for an example of where this would be bad, see the plt contract library 22:05:22 -!- Poeir [~Poeir@c-98-228-48-133.hsd1.il.comcast.net] has quit [Ping timeout: 248 seconds] 22:06:04 samth: I don't see why you'd need to change the clients, only the packaging objects that the clients import. 22:06:34 After all, you need to recompile the clients, don't you? 22:06:44 jcowan, but what if the clients reprovide the binding? 22:07:11 I have no problem with making that kind of change awkward. It substantially affects the semantics of an API. 22:07:16 mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has joined #scheme 22:07:33 -!- melba [~blee@unaffiliated/lazz0] has quit [Read error: Connection reset by peer] 22:07:55 That too would only (if used in a disciplined fashion) require you to change the packaging object of the client. 22:08:32 but why should the client have to change at all? 22:09:05 Daemmerung, it affects the semantics less than you would think 22:09:18 One is first class, one ain't 22:09:22 So that when I import things from a compiled module, I know what I may need to run at compile time and what can just be passed along as a procedure pointer. 22:09:53 for example, in PLT, if you add a contract to a value, you're changing it to syntax 22:10:10 -!- mheld [~mheld@c-76-119-90-161.hsd1.ma.comcast.net] has quit [Client Quit] 22:10:15 but you basically never notice that difference 22:10:29 Unless, of course, you are trying to pass the value about rather than invoking it, eh? 22:10:32 jcowan, you don't need a special marker for that 22:10:35 Poeir [~Poeir@c-98-228-48-133.hsd1.il.comcast.net] has joined #scheme 22:10:42 jcowan, you should try it 22:10:53 samth: I'd love to see an example 22:10:53 it works just fine 22:11:33 -!- pdponze [~pierre@144.85.124.96] has left #scheme 22:12:13 Daemmerung, here: 22:12:14 #lang scheme/load 22:12:14 (module m scheme 22:12:14 (define (f x) (/ x 17.0)) 22:12:14 (provide/contract [f (number? . -> . number?)])) 22:12:16 (module n scheme 22:12:18 (require 'm) 22:12:20 (map f (list 100 200 400))) 22:12:54 What is the value of (procedure? f)? 22:13:17 n/m. I can try this myself 22:13:38 -!- fradgers- [~fradgers-@5ad4c06e.bb.sky.com] has left #scheme 22:13:40 (display (procedure? f)) 22:13:46 > (procedure? f) 22:13:46 #t 22:14:01 adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has joined #scheme 22:14:41 And yet (map f (list + - * /)) will display an error? 22:14:46 Sounds like you have compiler macros here. 22:14:54 (Which would be a good thing for a Scheme to have.) 22:18:21 This isn't acting like syntax. 22:18:26 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 22:19:07 The error isn't raised until runtime. 22:19:58 Well, you wouldn't want it to be. 22:20:04 Contracts are a runtime notion. 22:20:25 Absolutely. But samth was claiming that f was syntax, in the example. 22:20:44 Well, perhaps it's both (hence the reference to "compiler macros", which CL allows) 22:21:02 jcowan, there's nothing magic there 22:21:13 certainly not compiler macros in the sense of CL 22:21:25 `f' is certainly syntax 22:21:37 Please explain. 22:21:43 Daemmerung, if you have DrScheme handy, look at that in the macro stepper 22:21:53 but the short answer is that `f' is an identifier macro 22:21:58 Ah 22:22:31 I wasn't thinking about the effects of identifier macros. 22:23:38 Indeed, I don't like them at all. 22:24:19 The behavior in the macro stepper is not particully enlightening, but I'll take your word for it. 22:26:29 Identifier macros can be extremely useful -- and the plt contract system is a perfect example. 22:26:40 *eli* glances around nervously 22:26:43 *eli* turns on the rant switch and takes a deep breath 22:26:54 jcowan: Related remark: I'm *very* surprised at the fact that this is taken seriously. 22:27:09 ("that" = arcfide's suggested module system(s?)) 22:27:13 There was the usual goal of "a standard" which arcfide mentioned several times too (conservative, look at what's used, and most importantly: no trying out of new ideas), 22:27:25 and yet after all of this there is a suggested module system that is based on a distribution system that was hardly ever used by anyone other than arcfide. 22:27:29 True, but modules are going to beexceptional. 22:27:37 not to mention nearly ignoring existing systems, most notably r6rs, which was written by people who have far more experience with this than anyone on r7rs. 22:28:01 (And that follows the fact that module systems are only exceptional for people who haven't used them so far.) 22:28:06 I view this as one of the main flaws in r7rs -- at least as much as it looks so far. 22:28:23 Obviously, given the tlbhs, getting anything sane has nearly zero chances, and I wouldn't be surprised to see wheels badly reinvented. 22:28:39 (And that would lead to a (justified) diminish in respect for "Scheme" in general, from several directions.) 22:28:46 *eli* turns off the rant switch, and will now pretend that none of that was said 22:29:35 Well, as to the last point, steps are being taken, though I can't release details. 22:29:59 But arcfide's proposal is much closer to Chez and R6RS than to Descot. 22:30:42 I'd call it a Chez-ification of R6RS, in fact. 22:30:47 But that just may be my ignorance. 22:35:33 -!- JoelMcCracken [~joelmccra@pool-96-235-2-32.pitbpa.east.verizon.net] has quit [Ping timeout: 260 seconds] 22:37:14 jcowan, it is striking how much less expertise there is on the current committees than on those that created r1-r6 22:37:54 at least, scheme-specific expertise 22:38:29 It was not meant to be an implementer's committee, which was certainly true of earlier r's. 22:38:46 But, y'know, *everyone* who applied was accepted. That means that no people with experience applied. 22:39:16 Had some applied, would you have rejected some of those with no experience? 22:39:35 vy [~user@88.229.24.96] has joined #scheme 22:39:37 There is no shortage of experience on the Steering Committee. 22:39:45 jcowan, i know that, and it's certainly not your fault - you have a very tough job to do 22:39:58 -!- wingo [~wingo@83.44.189.229] has quit [Ping timeout: 264 seconds] 22:40:32 Hi! Are there any mailing lists for Scheme48? s "Scheme 48 has been aggressively un-marketed. We didn't and don't really want to support a user community or lose the freedom to experiment." phrase still applicable? 22:40:42 JoelMcCracken [~joelmccra@pool-96-235-15-67.pitbpa.east.verizon.net] has joined #scheme 22:41:14 And if you review rrrs-authors, you'll see the process nearly ossifying by R5. And the R6 effort produced, well, R6, a standard remarkable to me in its unpopularity. 22:42:27 Daemmerung, r6 has been more popular than you give it credit for 22:42:42 samth: I am not one of the haters 22:42:49 Daemmerung, I know 22:43:21 what's interesting about r6 is that anyone doesn't like it, since the mechanism for the previous standards made dislike impossible 22:43:34 I still remember mblume stomping off in a huff after R5 22:43:43 well, except that a few people don't like multiple values and/or macros 22:43:56 or dynamic-wind vs call/cc 22:45:18 that too 22:45:30 *jcowan* is proposing that m-v be a module in Thing One 22:45:48 that sounds like the mutable pairs module in r6 22:46:03 That's just personal, nothing official about it. 22:46:26 as in, we pretend that we've segregated it, but in reality you can't assume anything without heroic analysis efforts 22:46:26 m-v is pretty primordial. Seems it'd be hard to put that in a ghetto. 22:47:11 As much as I loathe it, I think I'm stuck with it. 22:47:12 chandler: It wasn't my decision, though they did ask if I wanted to veto anyone. 22:47:39 samth: How heroic? You have to see if any module imports it. 22:47:48 If not, you can use the immutable-pairs runtime. 22:47:59 jcowan, that breaks separate compilation 22:48:20 if you want to compiler-analyze about mutation 22:48:40 and dynamic code loading if you just want the immutable pairs runtime 22:50:48 You can tag all compiled output to note if it uses mutable pairs or not. 22:50:52 As a library author, I have to assume that any pairs that are handed to me are mutable, since there's no separate type for mutable pairs. Other than some theoretical efficiency benefit, I'm not sure what the point of this is. 22:50:54 Dynamic loading I agree is a problem. 22:51:10 chandler: True enough. 22:51:17 What I really want to get rid of is mutable *strings*. 22:51:23 Yes, them too. 22:51:55 It's a breaking change, agreed. But allowing string mutability really constrains implementation. 22:52:39 Daemmerung pasted "glitch in my fresh-built PLT" at http://paste.lisp.org/display/95725 22:52:49 samth: Do you recognize this error message? 22:52:52 -!- choas [~lars@p5B0DAD8E.dip.t-dialin.net] has quit [Quit: leaving] 22:53:39 Daemmerung, several people in my lab have seen that error message occasionally recently 22:53:47 Thanks. 22:53:51 but we haven't been able to reliably reproduce it 22:54:05 if you have a good reproduction recipe, please submit a bug report 22:54:31 It appears whenever I launch drscheme. I'lls ee what I can do. 22:55:01 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 264 seconds] 22:55:09 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 22:55:45 Here's my current list of proposed modules for Thing One: inexact, complex, delay, eval, repl, m-v, files, reader, writer, process-context, load, transcripts. 22:55:51 foof: wrt. chibi GC: to be a bit more specific: I was wondering if chibi's built-in GC has architecture dependencies (e.g stack growth direction). 22:56:38 It's only 8 AM in foofville. 22:56:43 foof: (my guess would be "no") 22:57:02 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 22:57:14 What ho, it is a gnomon! 22:57:21 jcowan: he's reading the logs, I think :p 23:00:22 But perhaps not in real time. 23:00:31 jcowan, what would the complex module do to +,-,* etc? 23:01:05 The right thing. 23:01:57 *eli* wonders what that means. 23:02:27 jcowan: re "delay" -- "promise" a better name for this. (See srfi-45 for a reason.) 23:02:41 jcowan, what's 'the right thing'? 23:03:00 If the module is imported, the appropriate procedures are side-effected. 23:03:08 I'm assuming SRFI-45, yes. 23:03:42 Exactly which modules are loaded when a REPL starts is implementation-dependent, and standard modules need not be visible in the file system. 23:03:53 jcowan: Ugh^2. 23:04:01 Care to elucideate? 23:04:22 *Daemmerung* ideates 23:04:56 (1) Who exactly is it that considers "the right thing" to be set!ting globals? 23:05:27 (2) `lazy' is the main keyword in srfi-45, therefore `delay' is a bad name for a module. 23:05:45 No problem with #2. 23:06:12 I didn't say set!ing globals. I said the + procedure, meaning the procedure bound to +, is side-effected to handle complex numbers correctly (if indeed it does not do so already). 23:06:17 I very much disagree. 23:07:12 Either it's a side-effect, or not. If it is, then it's bad. If it isn't, then the choice of the "side-effecting" term is wrong. 23:08:28 *jcowan* distrusts trenchant antitheses. 23:08:53 "Either these books agree with the Quran or not. Therefore they are either rendundant or heretical ... Burn them all!" 23:09:57 is the old + eq? to the new +? 23:10:08 Is this a description of what is taking place within a REPL? 23:10:59 -!- vy [~user@88.229.24.96] has quit [Remote host closed the connection] 23:11:19 Well, in my book "side effecting a binding" has a very clear meaning -- one that I would not like to happen when these bindings are functions. For example, I wouldn't want to have `+' be something that depends on whether I required some module or not, and I would like even less for it to be different if I use the non-complex version and some library I used requires the complex module and therefore changing it for me 23:11:19 too. 23:11:51 -!- karme [~user@HSI-KBW-078-043-001-160.hsi4.kabel-badenwuerttemberg.de] has quit [Ping timeout: 245 seconds] 23:12:32 If you're talking about getting a *different* binding in, then the answer to samth is "no, they're not `eq?'", and that runs into other problems: specifically, requiring two modules that provide different `+'s. 23:13:19 I am not talking about side-effecting bindings, but about side-effecting *procedures*. 23:13:44 samth's question is quite to the point, and I would tend to say "yes", but I'm open to being convinced otherwise. 23:14:11 Scheme was a call-by-value language last time I checked. "side-effecting procedures" doesn't make any sense. 23:14:24 SICP shows something called "fermat's little theorem". It says that if 'n' is prime and 'a' is smaller than 'n', them 'a' to the power of 'n' is congruent to a modulo n. 23:14:28 Why not? We can side-effect a pair, or a vector. 23:14:34 According to the explanation the book gave about being congruent 23:14:47 What's immoral about allowing procedures to be mutated? 23:14:48 that means that a^n and a, when divided by n, have the same reminder. 23:14:51 Is that right? 23:14:55 -!- Fabse [~mightyfid@wikipedia/Track-n-Field] has quit [] 23:15:07 My system clock side-effects `current-milliseconds', in this sense. 23:15:23 *alaricsp* returns 23:15:42 jcowan: So what you're talking about is, roughly, (define + (lambda xs (if some-global-flag (do-this args) (do-that args)))), with the complex module banging `some-global-flag' -- right? 23:15:52 Also, there's plenty of "Look, OO with mutable slots inside a closure" examples 23:15:52 Fair enough. 23:16:01 -!- JoelMcCracken [~joelmccra@pool-96-235-15-67.pitbpa.east.verizon.net] has quit [Ping timeout: 264 seconds] 23:16:15 If that's so then that is very much set!ing -- it *is* mutation. 23:16:17 decker [~decker@user-0c9h6n8.cable.mindspring.com] has joined #scheme 23:16:30 It *is* mutation, but does not involve rebinding +. 23:16:31 -!- decker [~decker@user-0c9h6n8.cable.mindspring.com] has left #scheme 23:16:33 or set!ing + either 23:16:47 But it *is* -- you're changing that global flag! 23:17:19 I am. But I'm not mutating the variable +, which is what you complained about. Also that is only one possible implementation of many. 23:17:25 anyone? 23:18:09 jcowan: That is *still* making `+' dependant on a mutated global flag. And that is still something that sounds to me pretty horrifying. 23:18:13 Q: I found a bug -- (+ x y) throws that error. 23:18:20 s/that/an/ 23:18:24 A: To help you I need to know whether you used the `complex' module 23:18:26 Q: I didn't 23:18:39 A: Are you sure that you didn't require a library that used it by any chance? 23:18:48 Q: *shrug* I'm going to python 23:19:17 Not to mention race conditions that would result from a threaded implementation, etc etc. 23:20:44 JoelMcCracken [~joelmccra@pool-96-235-15-67.pitbpa.east.verizon.net] has joined #scheme 23:20:55 Pretty much the only sane way I see to do this is to only allow turning it on -- never off, which means that a scheme implementation better not ever use complex numbers to avoid it, and that's unlikely enough that it can just as well be on by default, and that means that there's no point in the whole thing. 23:20:56 marcob [~marco@host162-93-dynamic.21-87-r.retail.telecomitalia.it] has joined #scheme 23:22:45 The point is that it's optional. Some conformant Schemes may not have the module. 23:23:00 I agree that *mandatory* modules of this type make no sense, but as options, they do. 23:23:14 Doing *that* (making it optional) makes much more sense, since there is no mutation that is necessary. 23:23:29 I see your "chatting" has to do with side-effects. 23:23:33 Sorry, I should have said so to begin with. *All* the above list of optionals are modules. 23:23:41 Is it possible to program totally without side effects and still do the job? 23:23:59 Depends what counts as a job. 23:24:08 What I'm saying is that either it is there (and requiring that module works), or it's not (and requiring it throws an error), 23:24:13 I mean, write software that people are used to use (chatting software, browsers, editors, debuggers, compilers, ...) 23:24:24 That means that no mutation is necessary. 23:24:28 phao: http://en.wikipedia.org/wiki/Fermat's_little_theorem should answer your questions. 23:24:33 phao: yes, as long as you never need input or output 23:24:51 I think that this means "no" hehe 23:24:57 just the warm fuzzy feeling that you feel as the cpu burns Watts 23:26:34 eli: I can easily live with that formulation. 23:27:25 However, it should IMHO still be the case that make-polar and make-rectangular are not bound unless you have explicitly imported the complex module. 23:29:23 There's a trade-off there. It's handier if these bindings are just available at the REPL, but it's kind of inconsistent for them to be silently imported into a module without an import declaration. 23:29:52 jcowan: Having them not bound is perfectly fine -- it's the mutation that I find insane. 23:30:30 i agree with eli 23:30:47 Okay, good. 23:31:02 *jcowan* prefers becoming right to being right, so he's happy when he's shown to be wrong. 23:31:24 melba [~blee@unaffiliated/lazz0] has joined #scheme 23:32:07 -!- haole [~ivan@187.23.80.198] has quit [Quit: Saindo] 23:32:18 jcowan: If that was supposed to be how it goes from the start, then that's why I added the option of "the choice of the \"side-effecting\" term is wrong". 23:32:22 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #scheme 23:32:25 *eli* disappears 23:32:32 *jcowan* nods. 23:32:48 No, I was visualizing side-effecting the procedure, but this idea works just as well. 23:33:16 So, if an implementaiton supports complex numbers, then + will always handle complex numbers, and import will succeed. If not, then import will fail. 23:33:50 Further, make-rectangular is only bound in a module if complex has been imported there, but it's implementation-dependent if it's present in the REPL. 23:34:26 s/present/bound 23:34:46 jcowan, do you know what is wrong there? http://pastie.org/846200.txt 23:35:00 I'm getting that 4 is prime 23:37:39 Try testing your pow function a bit. 23:38:04 ok 23:38:16 lol 23:38:26 I copied the pow function from the wrong file 23:48:58 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 264 seconds] 23:50:29 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 246 seconds] 23:50:44 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 23:55:17 -!- hotblack23 [~jh@p4FC5B8F0.dip.t-dialin.net] has quit [Quit: Leaving.] 23:56:44 -!- JoelMcCracken [~joelmccra@pool-96-235-15-67.pitbpa.east.verizon.net] has quit [Ping timeout: 268 seconds]