00:05:44 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 00:07:13 seus [~sbero@69.151.67.184] has joined #scheme 00:08:27 question: If I have a list such as (and p (not p)), I've tried replacing the elements p with #f for some boolean operations, but can't get the right function put together...is there an easy way of doing this? 00:08:41 perhaps with some regex replacement? 00:10:34 -!- gravicappa [~gravicapp@ppp91-77-217-40.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 00:11:15 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 00:14:33 (subst #t 'p '(and p (not p))) 00:14:49 subst is one of the oldest functions in lisp. 00:15:11 If scheme droped it, perhaps you'll find it in one of the SRFIs? Otherwise, it's rather trivial to implement. 00:15:58 However, it wouldn't work if you had lists such as: (and p (not ((lambda (p) (not p)) (or p q)))) 00:16:31 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has quit [Ping timeout: 252 seconds] 00:18:58 looks as if scheme's dropped it 00:19:07 It's easy to write. 00:19:14 I can probably just write one on the spot. ;-) 00:19:16 would be a great function to have none the less 00:19:24 don't do it :) i wanna see if i can figure it out 00:19:29 only one way to get better :) 00:19:34 Hahaha. 00:19:41 I'll write a version anyway. Then we can compare answers. 00:19:46 ok...that works 00:19:51 :-) 00:21:59 (define (subst new old tree) (cond ((pair? tree) (cons (subst new old (car tree)) (subst new old (cdr tree)))) ((eqv? old tree) new) (else tree))) 00:22:14 pjb: You're really going to ruin the fun for seus? 00:22:21 That's quite naughty. 00:22:22 He said that worked. 00:22:30 So I assumed he did it already. 00:22:35 Hahahahahaha. 00:22:45 Ok, perhaps he refered to your challenge. 00:23:01 That's the problem with reading irc messages from the end :-( 00:23:06 :-P 00:23:16 hmm...i wasn't even close to that 00:23:17 lol 00:25:54 pjb: Nice, your version is more elegant than mine. 00:25:59 pjb: change the eqv? to equal?, and reorder the first two clauses and you can substitute lists too 00:26:22 ijp: ...given that the function is supposed to recurse into lists, I can't see how matching lists is useful. 00:26:54 cky: you never know ;) 00:27:01 still it would work for vectors 00:27:04 :-P 00:27:05 augiedoggie [~cpr@unaffiliated/cpr420] has joined #scheme 00:27:45 In CL, there's a :test parameter to indicate which equality to use, and also a :key parameter. 00:28:14 But you're right, it might be interesting to substitute conses too. 00:29:13 -!- augiedoggie [~cpr@unaffiliated/cpr420] has quit [Read error: Connection reset by peer] 00:29:34 cpr420 [~cpr@unaffiliated/cpr420] has joined #scheme 00:29:47 -!- cpr420 is now known as augiedoggie 00:34:15 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 00:34:15 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 00:34:15 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 00:37:26 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu] 00:40:44 adu [~ajr@softbank220043139062.bbtec.net] has joined #scheme 00:41:14 -!- RaceCondition [~erik@82.131.19.252.cable.starman.ee] has quit [Quit: RaceCondition] 00:44:08 -!- ysph [~user@75-143-85-15.dhcp.aubn.al.charter.com] has quit [Ping timeout: 255 seconds] 00:44:19 ckrailo [~ckrailo@pool-71-170-15-148.dllstx.fios.verizon.net] has joined #scheme 00:53:54 -!- Kleif [~Kleif@21.Red-81-36-10.dynamicIP.rima-tde.net] has quit [Quit: Kleif] 00:54:53 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu] 00:58:32 -!- carbocalm [~user@38.99.165.166] has quit [Ping timeout: 255 seconds] 01:03:46 -!- rononovski_ [~rononovsk@bzq-79-180-184-37.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 01:05:28 -!- xwl_ [~user@nat/nokia/x-gkjzqtbkeytdjgcq] has quit [Remote host closed the connection] 01:06:31 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 01:07:36 homie` [~levgue@xdsl-78-35-167-36.netcologne.de] has joined #scheme 01:08:37 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 01:09:47 -!- homie [~levgue@xdsl-78-35-167-203.netcologne.de] has quit [Ping timeout: 248 seconds] 01:18:08 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 01:20:32 jimrees [~jimrees@pool-96-237-230-95.bstnma.fios.verizon.net] has joined #scheme 01:29:32 lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has joined #scheme 01:32:01 -!- githogori [~githogori@190.sub-75-208-111.myvzw.com] has quit [Remote host closed the connection] 01:32:31 -!- ray [ray@xkcd-sucks.org] has quit [Ping timeout: 260 seconds] 01:35:24 _JFT_ [~JFT@modemcable204.87-177-173.mc.videotron.ca] has joined #scheme 01:37:41 -!- eut [~m@cpe-24-24-136-239.socal.res.rr.com] has quit [Ping timeout: 255 seconds] 01:38:09 -!- _JFT_ [~JFT@modemcable204.87-177-173.mc.videotron.ca] has quit [Client Quit] 01:38:11 question...if i have a list such as before (and #t (not #t)) how do i make scheme evaluate that and return #t or #f, as right now its just returning the actual list... 01:40:02 actually i think i may have figured it out 01:42:29 -!- arcfide [1000@140-182-227-10.dhcp-bl.indiana.edu] has left #scheme 01:42:57 gah...i didn't... 01:44:53 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:48:23 -!- pothos [~pothos@111-240-170-131.dynamic.hinet.net] has quit [Remote host closed the connection] 01:48:47 pothos [~pothos@111-240-170-131.dynamic.hinet.net] has joined #scheme 01:49:27 seus: (eval '(and #t (not #t))) ? 01:50:06 EVAL takes two arguments, not one. 01:50:39 I forgot the name of the function that returns the environment to feed to eval :) 01:50:47 hmm ah yes 01:52:31 Well, which environment? 01:52:44 (null-environment 5), of course. 01:52:46 r5rs-standard-environment or something. 01:52:54 Of course, then you lose NOT, but them's the breaks. ;-) 01:53:18 rudybot: (scheme-report-environment 5) 01:53:18 cky: your racket sandbox is ready 01:53:19 cky: error: reference to an identifier before its definition: scheme-report-environment in module: 'program 01:53:32 rudybot: init r5rs 01:53:32 cky: your r5rs sandbox is ready 01:53:34 rudybot: (scheme-report-environment 5) 01:53:34 cky: ; Value: # 01:53:50 chrissbx: Maybe you're referring to that. 01:54:07 yeah I think so; what else could I be referring to? 01:54:18 rudybot: (interaction-environment) 01:54:18 cky: ; Value: # 01:54:23 rudybot: (null-environment 5) 01:54:23 cky: ; Value: # 01:56:32 I thought null-environment was a thunk 01:57:05 I guess it's left to the implementation. 01:57:18 well, the R5RS says I thought wrong :( 01:59:57 Cowmoo [~Cowmoo@c-71-192-163-98.hsd1.nh.comcast.net] has joined #scheme 02:00:06 bokr [~eduska@109.110.56.32] has joined #scheme 02:06:19 yeah when i try and call eval on more complex ones like (not (and (or #f #f) (not #f)) #f) i get that its feeding it two items 02:06:25 and needs only 1 arg 02:08:44 -!- cmatei [~cmatei@95.76.17.75] has quit [Ping timeout: 255 seconds] 02:09:48 probably has to do with what i'm feeding into it 02:11:07 Riastradh: re symmetric S-expressions, wouldn't you still run into the problem that while typing, parsing from the left would be ok but not from the right? 02:11:23 Can you be more specific? 02:12:46 xwl [~user@221.220.186.182] has joined #scheme 02:12:48 I'm typing (foo "abc 02:13:02 you can correctly parse from the left up to cursor. 02:13:30 Assuming your parser can sensibly handle that. 02:13:36 If those are the characters you type, then what will be in the buffer with Paredit Mode is (foo "abc|"), where | indicates the point. 02:13:57 Sounds good. 02:16:05 ecraven, if you want to make a band, use DISK-SAVE. 02:19:06 mathk [~mathk@dispo-82-250-30-64.adsl.proxad.net] has joined #scheme 02:22:46 cmatei [~cmatei@95.76.17.75] has joined #scheme 02:24:59 -!- cmatei [~cmatei@95.76.17.75] has quit [Read error: Operation timed out] 02:25:32 Of course, symmetric S-expressions matter only if you have to deal with the textual representation. A structure editor wouldn't have this problem, and could work more generally without changing the syntax. 02:36:30 -!- mathk [~mathk@dispo-82-250-30-64.adsl.proxad.net] has quit [Quit: ..zzZzzZ] 02:42:01 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 02:45:02 fantazo_ [~fantazo@178-191-168-16.adsl.highway.telekom.at] has joined #scheme 02:48:17 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 02:48:23 -!- fantazo [~fantazo@178-191-173-194.adsl.highway.telekom.at] has quit [Ping timeout: 246 seconds] 02:54:00 OOP got trumped by Church and Von Neumann at CMU: . 02:54:29 It looks like Java mills might indeed become an anachronistic artifact of the aughts. 02:54:59 They're using ML, though, not Scheme; go figure. 02:56:33 nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has joined #scheme 02:56:49 `Imperative programming' and `functional programming' are meaningful terms. Saying that `object-oriented programming' is `anti-modular' or `anti-parallel' implies that it has a meaning to the authors, which is left unstated in the article. 03:00:03 Riastradh: Indeed; that struck me as a bald and peculiar thesis, actually. 03:00:49 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 03:01:27 As for ML versus Scheme, CMU is a statically typed school. 03:03:50 -!- ijp [~user@host109-154-202-250.range109-154.btcentralplus.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:05:39 ysph [~user@75-143-92-146.dhcp.aubn.al.charter.com] has joined #scheme 03:06:43 The author tries to defend himself elsewhere: . 03:06:43 http://tinyurl.com/6xjpj9u 03:06:51 "Worse, object-oriented programming, a species of imperative programming, is fundamentally antimodular because of the absurd emphasis on inheritance and the reliance on class-based organizations in which functionality metastasizes throughout a program." 03:08:17 whOOPs. 03:08:30 Sounds like a dogmatic grad-student to me; and, yet, Robert Harper has been faculty since 1988. 03:10:55 I wonder if any universities use smalltalk 03:14:09 ; oh, for classes? Hmm. 03:15:34 http://www.eli.sdsu.edu/courses/fall03/cs535/index.html 03:18:15 cmatei [~cmatei@95.76.17.75] has joined #scheme 03:18:33 object-oriented programming has nothing to do with imperative programming, what a fool 03:19:39 I suspect, jonrafkind, if you asked him for his definition of `object-oriented programming', it would entail some notion of mutable state internal to objects. 03:20:59 -!- ckrailo [~ckrailo@pool-71-170-15-148.dllstx.fios.verizon.net] has quit [Remote host closed the connection] 03:21:16 I think klutometis' last quote sums up the popular delusion quite nicely 03:22:30 What is the popular delusion? 03:23:32 "emphasis on inheritance [...] reliance on class-based organizations" 03:23:41 That `object-oriented programming' is a term that conveys meaning? 03:24:41 You might say that it conveys too many meanings to be a meaningful term, especially when used in a blogged diatribe. 03:24:50 it seems that classes are used as the basis for code organization because they are the best abstraction most "object-oriented" languages provide (at least c++ and java) 03:25:29 which I suppose could leave a student of those languages to believe classes are the best thing to organize code in, even when other abstractions exist 03:26:19 admittedly, im still more comfortable organizing most programs as class-based with inheritance rather than anything else (functions + modules I guess is the usual alternative) 03:26:54 Well, that's largely because in C++, Java, &c., `class' is an enormous pile of concepts thrown together many of which are largely independent, so expressing much of anything particular tends to require using classes in some way. 03:27:02 units are cool but I haven't really used them in the large 03:27:55 yes, now I tend to use c++ classes as ad-hoc closures 03:28:51 Examples: You want destructors: use classes. You want to define arithmetic on your domain: use classes. You want a nice structural parametrization mechanism: use abstract classes in C++. (At least Java has a separate term for this -- interface.) 03:29:29 GCC 2.x had an ill-fated attempt to support interfaces in its C++ extensions. 03:29:50 I think they were called signatures, in GCC 2.x. Can't remember; too long ago. 03:34:32 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 03:37:19 -!- lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has quit [Read error: Connection reset by peer] 03:40:15 ray [ray@xkcd-sucks.org] has joined #scheme 03:44:30 -!- ebzzry [~aoeu@203.213.202.186] has quit [Read error: Operation timed out] 03:46:51 -!- jimrees [~jimrees@pool-96-237-230-95.bstnma.fios.verizon.net] has quit [Quit: jimrees] 03:55:57 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #scheme 03:56:19 ckrailo [~ckrailo@pool-71-170-15-148.dllstx.fios.verizon.net] has joined #scheme 04:04:26 githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has joined #scheme 04:05:02 christopher [~christoph@c-98-201-58-105.hsd1.tx.comcast.net] has joined #scheme 04:08:21 yamanu [~yamanu@89.142.205.90] has joined #scheme 04:20:14 adu [~ajr@softbank220043139062.bbtec.net] has joined #scheme 04:22:55 -!- dlila [~dlila@CPE0014d1c9243c-CM001bd71cede2.cpe.net.cable.rogers.com] has quit [Quit: Leaving] 04:25:59 -!- ray [ray@xkcd-sucks.org] has quit [Remote host closed the connection] 04:26:20 -!- tupi [~david@189.60.162.71] has quit [Quit: Leaving] 04:27:58 ray [ray@xkcd-sucks.org] has joined #scheme 04:30:29 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 255 seconds] 04:33:56 -!- ray [ray@xkcd-sucks.org] has quit [Ping timeout: 260 seconds] 04:34:55 teurastaja [~Samuel@modemcable182.177-200-24.mc.videotron.ca] has joined #scheme 04:35:26 -!- christopher [~christoph@c-98-201-58-105.hsd1.tx.comcast.net] has quit [Ping timeout: 255 seconds] 04:37:22 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 04:46:15 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu] 04:54:37 carbocalm [~user@38.99.165.166] has joined #scheme 04:59:17 -!- carbocalm [~user@38.99.165.166] has quit [Ping timeout: 255 seconds] 05:02:46 ray [ray@xkcd-sucks.org] has joined #scheme 05:03:32 christopher [~christoph@c-98-201-58-105.hsd1.tx.comcast.net] has joined #scheme 05:07:46 -!- yamanu [~yamanu@89.142.205.90] has quit [Ping timeout: 240 seconds] 05:10:37 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 05:12:18 -!- ckrailo [~ckrailo@pool-71-170-15-148.dllstx.fios.verizon.net] has quit [Remote host closed the connection] 05:20:43 -!- teurastaja [~Samuel@modemcable182.177-200-24.mc.videotron.ca] has quit [] 05:24:05 common_tragedian [~common_tr@eagleheights-106-95.resnet.wisc.edu] has joined #scheme 05:25:06 -!- common_tragedian [~common_tr@eagleheights-106-95.resnet.wisc.edu] has quit [Remote host closed the connection] 05:39:16 nilg` [~user@77.70.2.229] has joined #scheme 05:44:38 -!- seus [~sbero@69.151.67.184] has quit [Quit: seus] 05:47:46 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 06:12:06 -!- christopher [~christoph@c-98-201-58-105.hsd1.tx.comcast.net] has quit [Remote host closed the connection] 06:16:22 jewel [~jewel@196-210-187-25.dynamic.isadsl.co.za] has joined #scheme 06:24:36 -!- blueadept [~blueadept@unaffiliated/blueadept] has quit [Quit: Leaving] 06:29:08 pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has joined #scheme 06:29:09 -!- pnkfelix [~Adium@c-71-232-52-86.hsd1.ma.comcast.net] has quit [Client Quit] 06:35:58 ysph` [~user@75-143-92-146.dhcp.aubn.al.charter.com] has joined #scheme 06:36:02 -!- ysph` [~user@75-143-92-146.dhcp.aubn.al.charter.com] has quit [Remote host closed the connection] 06:37:17 -!- ysph [~user@75-143-92-146.dhcp.aubn.al.charter.com] has quit [Ping timeout: 246 seconds] 06:39:27 tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has joined #scheme 06:41:23 mathk [~mathk@dispo-82-250-30-64.adsl.proxad.net] has joined #scheme 06:49:39 -!- tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has quit [Quit: Ex-Chat] 06:51:01 adu [~ajr@softbank220043138128.bbtec.net] has joined #scheme 06:53:19 rdd [~rdd@c83-250-51-60.bredband.comhem.se] has joined #scheme 07:04:26 -!- mathk [~mathk@dispo-82-250-30-64.adsl.proxad.net] has quit [Ping timeout: 240 seconds] 07:06:11 -!- jewel [~jewel@196-210-187-25.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 07:08:11 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 248 seconds] 07:08:35 -!- paulh_ [~paulh@3-12-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 07:31:03 peterhil [~peterhil@a91-153-112-241.elisa-laajakaista.fi] has joined #scheme 07:33:58 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 07:50:27 -!- fantazo_ [~fantazo@178-191-168-16.adsl.highway.telekom.at] has quit [Ping timeout: 250 seconds] 07:52:15 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Remote host closed the connection] 08:00:24 Riastradh: Does DISK-SAVE compile the contents of the image? 08:27:23 -!- bokr [~eduska@109.110.56.32] has quit [Ping timeout: 264 seconds] 08:50:26 f8l [~f8l@87-205-239-131.adsl.inetia.pl] has joined #scheme 09:03:05 RaceCondition [~erik@82.131.19.252.cable.starman.ee] has joined #scheme 09:06:11 MrFahrenheit [~RageOfTho@users-144-148.vinet.ba] has joined #scheme 09:06:46 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Ping timeout: 240 seconds] 09:08:40 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 09:08:40 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Client Quit] 09:17:48 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 09:19:09 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #scheme 09:31:12 -!- xwl [~user@221.220.186.182] has quit [Remote host closed the connection] 09:33:14 xwl [~user@221.220.186.182] has joined #scheme 09:57:23 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 09:58:00 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 10:28:41 -!- MrFahrenheit [~RageOfTho@users-144-148.vinet.ba] has quit [Ping timeout: 276 seconds] 11:15:14 hiyuh [~hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 11:36:19 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu] 11:42:15 LN^off [~LN@91.206.142.29] has joined #scheme 11:42:24 -!- LN^off is now known as LN^^ 11:45:18 -!- tr3x [~tr3x@93-136-92-130.adsl.net.t-com.hr] has quit [Quit: bye] 11:47:21 -!- LN^^ is now known as LN^ 11:47:21 -!- LN^ is now known as LN^^^ 11:47:23 -!- LN^^^ is now known as LN^^ 11:47:24 -!- LN^^ [~LN@91.206.142.29] has quit [Quit: Serverwechsel] 11:47:29 LN^^ [~LN@91.206.142.29] has joined #scheme 11:47:40 -!- LN^^ is now known as LN 11:47:46 -!- f8l [~f8l@87-205-239-131.adsl.inetia.pl] has quit [Quit: WeeChat 0.3.4] 11:47:48 -!- LN is now known as jkadgkldsh 11:47:51 -!- jkadgkldsh is now known as LN^^ 11:48:32 -!- LN^^ [~LN@91.206.142.29] has quit [Client Quit] 11:48:44 LN^^ [~LN@91.206.142.29] has joined #scheme 11:51:14 bharath_g [~bharath10@117.211.88.150] has joined #scheme 12:01:28 tomppa [~tomppa@b27.kiulu.jyu.fi] has joined #scheme 12:02:56 -!- bharath_g [~bharath10@117.211.88.150] has quit [Ping timeout: 252 seconds] 12:10:13 tr3x [~tr3x@93-141-106-73.adsl.net.t-com.hr] has joined #scheme 12:14:30 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #scheme 12:20:35 dlila [~dlila@CPE0014d1c9243c-CM001bd71cede2.cpe.net.cable.rogers.com] has joined #scheme 12:21:38 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 255 seconds] 12:26:04 dnolen [~davidnole@184.152.69.75] has joined #scheme 12:26:05 -!- dnolen [~davidnole@184.152.69.75] has quit [Excess Flood] 12:27:59 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 264 seconds] 12:31:42 dnolen [~davidnole@184.152.69.75] has joined #scheme 12:32:16 -!- xwl [~user@221.220.186.182] has quit [Ping timeout: 260 seconds] 12:48:05 seus [~sbero@69.151.67.184] has joined #scheme 12:48:15 tauntaun [~icarus@64.134.102.125] has joined #scheme 12:56:49 ijp [~user@host86-163-253-244.range86-163.btcentralplus.com] has joined #scheme 12:57:06 -!- dlila [~dlila@CPE0014d1c9243c-CM001bd71cede2.cpe.net.cable.rogers.com] has quit [Quit: Leaving] 12:57:29 dlila [~dlila@CPE0014d1c9243c-CM001bd71cede2.cpe.net.cable.rogers.com] has joined #scheme 12:59:39 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #scheme 13:04:01 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Excess Flood] 13:05:09 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #scheme 13:35:38 foocraft [~dsc@78.101.73.79] has joined #scheme 13:35:45 Harrold [~quassel@134.117.254.248] has joined #scheme 13:36:55 zmv [~daniel@c934a9f5.virtua.com.br] has joined #scheme 13:37:36 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Ping timeout: 260 seconds] 13:45:13 -!- Cowmoo [~Cowmoo@c-71-192-163-98.hsd1.nh.comcast.net] has quit [Remote host closed the connection] 13:47:28 homie`` [~levgue@xdsl-78-35-152-86.netcologne.de] has joined #scheme 13:49:10 -!- homie` [~levgue@xdsl-78-35-167-36.netcologne.de] has quit [Ping timeout: 250 seconds] 13:55:23 -!- Harrold [~quassel@134.117.254.248] has quit [Ping timeout: 276 seconds] 14:00:04 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has left #scheme 14:01:03 Harrold [~quassel@dhcp-143-68.hpsc-students.carleton.ca] has joined #scheme 14:08:42 bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has joined #scheme 14:12:50 _thoolihan [~TimH@209.221.3.130] has joined #scheme 14:13:04 -!- _thoolihan [~TimH@209.221.3.130] has quit [Read error: Connection reset by peer] 14:13:39 thoolihan [~TimH@209.221.3.130] has joined #scheme 14:17:23 -!- thoolihan [~TimH@209.221.3.130] has quit [Client Quit] 14:17:29 thoolihan [~TimH@209.221.3.130] has joined #scheme 14:17:37 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 14:19:48 -!- thoolihan [~TimH@209.221.3.130] has quit [Client Quit] 14:19:54 thoolihan [~TimH@209.221.3.130] has joined #scheme 14:33:33 -!- thoolihan [~TimH@209.221.3.130] has left #scheme 14:38:43 -!- seus [~sbero@69.151.67.184] has quit [Quit: seus] 14:38:45 carbocalm [~user@38.99.165.166] has joined #scheme 14:40:16 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 246 seconds] 14:43:38 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 14:44:03 tronador_ [~guille@190.145.89.146] has joined #scheme 14:49:24 myu2 [~myu2@q040135.dynamic.ppp.asahi-net.or.jp] has joined #scheme 14:55:56 bharath_g [~bharath10@117.211.88.150] has joined #scheme 14:56:29 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 276 seconds] 14:58:40 -!- pothos [~pothos@111-240-170-131.dynamic.hinet.net] has quit [Remote host closed the connection] 14:58:51 pothos_ [~pothos@111-240-170-131.dynamic.hinet.net] has joined #scheme 14:59:41 -!- pothos_ is now known as pothos 15:01:28 emporas [~emporas@athedsl-169325.home.otenet.gr] has joined #scheme 15:10:07 -!- tomppa [~tomppa@b27.kiulu.jyu.fi] has quit [Quit: Ex-Chat] 15:10:37 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 15:13:13 tupi [~david@139.82.89.24] has joined #scheme 15:13:51 seus [~sbero@146.7.60.164] has joined #scheme 15:15:11 -!- RaceCondition [~erik@82.131.19.252.cable.starman.ee] has quit [Quit: RaceCondition] 15:17:14 -!- Harrold [~quassel@dhcp-143-68.hpsc-students.carleton.ca] has quit [Read error: Operation timed out] 15:17:19 hkBst_ [~quassel@gentoo/developer/hkbst] has joined #scheme 15:17:31 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #scheme 15:19:01 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Remote host closed the connection] 15:19:26 Harrold [~quassel@134.117.254.248] has joined #scheme 15:21:40 aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has joined #scheme 15:23:48 ecraven, no, it just saves the contents of the image. It's up to you to compile what you load into it. 15:25:32 Does compiling a function work on the internal representation or on the source code? 15:26:03 What scheme platform is this? 15:26:17 You mean COMPILE-PROCEDURE? It works on the scode, which is the interpreter's format for the macro-expansion of the source code. 15:26:59 *poucet* meant DISK-SAVE 15:27:16 So I could just walk over a list of functions, and SET! them to the result of COMPILE-PROCEDURE? 15:27:22 poucet: MIT-Scheme 15:27:24 I meant ecraven, not poucet, but we're both talking about MIT Scheme, poucet. 15:27:33 Ah, thanks 15:27:38 ecraven, well, you don't really want to do that. 15:28:18 I still have the problem with COMPILE-FILE (or CF or SF) and macros. Even if the macro is loaded, the file does not compile. 15:28:48 Can you be more specific? 15:31:44 I have a macro DEFINE-GENERIC-FUNCTION (which is defined in bootstrap.scm) 15:32:17 Is there any scheme out there that supports serializing continuations? 15:32:35 -!- hkBst_ [~quassel@gentoo/developer/hkbst] has quit [Remote host closed the connection] 15:32:36 The second line in class.scm is (DEFINE-GENERIC-FUNCTION (MAKE X . Y)) and works fine if I evaluate the file normally. If I try to compile it, the following error is raised: 15:32:47 ckrailo [~ckrailo@208.86.167.249] has joined #scheme 15:33:03 ;Combination must be a proper list: (make x . y) 15:33:24 ecraven, lisppaste class.scm and the code you use to compile and load this. 15:33:35 (The first line in that file is (declare (usual-integrations))) 15:33:46 I'll try to reproduce this with a short example 15:34:59 OK, how do you compile and load the code, and what's the definition of DEFINE-GENERIC-FUNCTION? 15:35:21 (By the way, it looks like you're implementing some sort of CLOS-alike -- you know about SOS, right?) 15:36:14 what is SOS ? 15:36:26 Scheme Object System ? 15:38:05 mns: 15:41:50 Riastradh: Yes, I do, I'm trying to design a more flexible MOP 15:42:29 copumpkin [~pumpkin@17.101.89.204] has joined #scheme 15:42:29 -!- copumpkin [~pumpkin@17.101.89.204] has quit [Changing host] 15:42:29 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 15:42:42 Riastradh: thanks. 15:43:34 ecraven pasted "compile-file and macros in mit-scheme" at http://paste.lisp.org/display/120776 15:43:54 Riastradh: this reproduces the problem for me 15:44:06 I'm sort of new to Scheme, and there are all these various implementations out there. I plan to use scheme as a scripting language for myself, and to probably do CGI or web based work. Which implementation would be a good one to work with ? MIT-Scheme, scm, guile ? 15:44:47 ecraven, oh, right, you need to tell COMPILE-FILE what environment to use. 15:45:35 How do I do this? 15:45:52 (let ((env (extend-top-level-environment system-global-environment))) (fluid-let ((sf/default-syntax-table env)) (compile-file "bootstrap") (load "bootstrap" env) (compile-file "class"] 15:46:01 Thanks! 15:46:40 -!- Harrold [~quassel@134.117.254.248] has quit [Quit: No Ping reply in 180 seconds.] 15:48:47 -!- tronador_ [~guille@190.145.89.146] has quit [Quit: tronador_] 15:48:53 Harrold [~quassel@134.117.254.248] has joined #scheme 15:48:56 Did you run that code? I still get the same error :( 15:50:21 Oops... (compile-file "bootstrap" '() env), (compile-file "class" '() env), ignore the FLUID-LET. 15:52:05 (The FLUID-LET is what you need for SF or CF, not COMPILE-FILE; there are n different entry points and they're all a stupid crock that should have gone away twenty years ago.) 15:53:00 That doesn't work either, I'll try the fluid-let and cf/sf 15:53:12 :) those things aren't documented either.. 15:53:25 tomppa [~tomppa@b27.kiulu.jyu.fi] has joined #scheme 15:53:38 Thanks, fluid-let and cf work, it seems 15:55:18 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 15:56:06 or maybe not :( 15:58:10 CF and SF are documented in the user's manual. 15:58:28 I just tried compiling as I described with COMPILE-FILE -- works for me. 15:59:48 -!- bharath_g [~bharath10@117.211.88.150] has quit [Ping timeout: 252 seconds] 15:59:51 16:02:04 ah, (load foo env) to load into an environment.. thanks, that does the trick 16:04:28 bharath_g [~bharath10@117.211.88.150] has joined #scheme 16:05:15 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 16:06:33 Riastradh: very cool, thank you! Things start to look interesting, performance-wise 16:06:51 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 16:07:01 -!- githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has quit [Remote host closed the connection] 16:08:30 femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #scheme 16:09:38 pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has joined #scheme 16:09:48 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #scheme 16:10:41 -!- tauntaun [~icarus@64.134.102.125] has quit [Ping timeout: 255 seconds] 16:11:44 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 250 seconds] 16:14:51 Harrold_ [~quassel@dhcp-101-103.hpsc-staff.carleton.ca] has joined #scheme 16:15:37 -!- Harrold [~quassel@134.117.254.248] has quit [Ping timeout: 252 seconds] 16:20:03 blueadept [~blueadept@unaffiliated/blueadept] has joined #scheme 16:31:37 tronador_ [~guille@190.145.89.146] has joined #scheme 16:33:24 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #scheme 16:37:23 -!- Harrold_ [~quassel@dhcp-101-103.hpsc-staff.carleton.ca] has quit [Ping timeout: 250 seconds] 16:39:14 drdo` [~user@91.205.108.93.rev.vodafone.pt] has joined #scheme 16:40:27 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Remote host closed the connection] 16:41:17 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 250 seconds] 16:41:50 tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has joined #scheme 16:45:16 that Lisp in Small Pieces book, apparently it implements schemes in scheme itself. does anyone know if the author uses that to "cheat" on the parsing? 16:46:47 rien, metacircular evaluator? 16:47:07 DT``: I don't know what that is :/ 16:47:17 Lisp in Lisp. 16:47:31 What I mean to ask is, will LiSP give me the knowledge to also implement a scheme in C? 16:47:32 (or language in language) 16:47:41 basic lisp syntax is ridiculously easy to parse 16:47:49 or will I not be equipped to do that because the book doesn't teach sexpr parsing? (because it relies on scheme?) 16:48:01 -!- drdo` [~user@91.205.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 16:48:04 rien, it will help. 16:48:15 rien: it implements scheme in C. 16:48:17 writing `read' in C is not that difficult. 16:48:18 rien: S-expression syntax has a very simple grammar. 16:48:24 ecraven: I bet it is, but I was asking specifically about LiSP, if it teaches the parsing algorithms 16:48:33 rien: no cheating in LiSP, you'll learn sound bases to implement a lisp. 16:48:48 LiSP does not teach general parsing algorithms (which you can use for sexps too) 16:49:04 rien: it doesn't really teach parsing algorithms, because we just DO NOT NEED them in lisp! 16:49:30 LiSP teaches many more important things than parsing :) 16:49:39 rien: if you want lalr and stuff, better read CPTT = "Compiler Principles Techniques and Tools", Aho et al. http://dragonbook.stanford.edu/ 16:49:50 pjb: in other words, does LiSP teach to read the implemented scheme sexprs using car/cdr or walking byte-by-byte and asking if something is a "(" character, etc? 16:50:08 rien: Nobody does parsing that way. 16:50:16 imo parsing and gc really should be included in books like LiSP 16:50:21 rien: (Re "walking byte-by-byte") 16:50:22 You could use general parsing algorithms to parse scheme AFAIK, but you could not use them to parse Common Lisp, because the Common Lisp reader algorithm is not specified by a grammar. 16:50:35 cky: really? I'm pretty sure Lua does, at least 16:50:37 at least something simple to get started with 16:50:50 pjb: I see 16:50:56 It's specified as a specific procedure, (which really parses only integers, floating points, and symbols. All the rest is read via reader macros). 16:51:36 pjb: wow, so the parsing of CL sexprs is written as reader-macros? but reader-macros themselves are written using sexprs.. 16:51:50 cky, well, gee, how does everybody do parsing, then? 16:51:51 In Common Lisp, the textual syntax of every form could change while you read the previous form. 16:52:01 Riastradh: yes. 16:52:11 s/Riastradh/rien 16:52:35 rien, that's what Lisp is all about. 16:52:58 I understand that 16:53:24 incidentally, I was a bit upset at the small chapter on reader macros in OnLisp (but that's off-topic) 16:53:30 Riastradh: you have to realize that lisp solved all the CS problems trivially, in 1959. CS would be done, if everybody used lisp. That means, no CS PhD anymore. 16:53:37 s/Riastradh/rien/ 16:54:01 pjb, what about P vs NP? 16:54:13 It's not solved, so no CS PhD yet. 16:54:13 LoL has a nice chapter on read-macros :) 16:54:14 DT``, pjb is being facetious. 16:54:25 Riastradh: I mean, yes, ultimately the code does walk all the characters, but unless you're implementing a state machine by hand (rather than more-conventional techniques like grammars), it's not really appropriate to read something character-by-character and switch on them individually. 16:54:29 pjb: I am not knowledgeable enough to completely agree with you but I do agree we'd be better off all using lisp :) 16:54:38 Not really. I've seen more than two PhD that are just silly in the context of Lisp, that could have been issued just by ignoring it. 16:54:51 ecraven: yeah that book is my next stop, after On Lisp 16:55:11 Notice that the parsing algorithms were invented AFTER Lisp. 16:55:13 cky, so, how does everybody parse Lisp? 16:55:25 So all the PhD about parsing are useless, basically, if you just use Lisp. 16:55:43 rien: be aware that it teaches a very macro-intensive view of lisp (that most people don't share, according to my observations). 16:56:13 Riastradh: I don't claim to speak for "everyone", except that I was expressing a wish that people would use a real parser, not something hacky. And the "check if each character is (" is hacky, to me at least. 16:56:47 ecraven: I am aware of that, yes :) especially that the author really likes anaphors whereas in the CL community it's not really popular, etc 16:56:59 cky, which Lisp parsers use grammars and not simple table-driven recursive-descent parsers? 16:57:28 cky: wouldn't the "real parsers" at one point have to check if each character is "(" ? 16:57:31 cky: the lisp reader is more orthogonal. More like: (define (read stream) ((get-reader-macro-function (read-char)) stream)) 16:58:03 -!- tronador_ [~guille@190.145.89.146] has quit [Quit: tronador_] 16:58:04 pjb: *nods* 16:58:23 Riastradh: Recursive-descent is a legitimate technique too. 16:58:35 Riastradh: The kind of stuff I call hacky are...much worse. 16:58:56 cky, I'm confused -- can you give a possibly contrived example of what you say nobody ues, and a real example of what you say everybody uses? 16:59:30 I don't know what "everybody" uses. My comment never touched on that, so. 17:00:10 pjb: I was asking because I'd feel cheated if a book that teaches how to implement lisps would leverage the advantages of doing so over a sexpr-based language 17:02:14 cky, I don't mean to stickle you on the `nobody' vs `everybody' thing, sorry -- I'm just curious what you meant by `nobody does parsing that way', `that way' being `walking byte-by-byte and asking if something is a "(" character'. Your answer suggested that most Lisp parsers work some other way, so I'm curious what that other way is. 17:02:28 rien: the CL reader algorithm is defined in one page and 9 steps: http://www.lispworks.com/documentation/HyperSpec/Body/02_b.htm ; how many chapters of a CS book, or how many PhD theses more do you need to parse lisp? 17:03:54 rien: in the case of scheme r5rs, AFAIK, you could implement a scheme reader defining a fixed grammar. But it's still be trivial to parse, given that you have basically lexemes, and the grammar is quite simple. 17:03:54 pjb: I think that's what I was looking for :)) 17:04:03 i still think teaching recursive descent would be useful, even though you can use parser macros in the case of lisp 17:04:16 -!- dlila [~dlila@CPE0014d1c9243c-CM001bd71cede2.cpe.net.cable.rogers.com] has quit [Quit: Leaving] 17:04:35 rien: AFAIK, in scheme, you could have a grammar rule to parse "syntaxes", such as (let ). 17:04:37 a decent subset of scheme fits also in a few lines, for example as in http://kiwi.cabal.fi/home/aki/misc/sparse.scm 17:04:54 rien: but it would actually be harder to process than just reading sexps, and processing them. 17:05:31 in lisp you happen to have (or are designed to have) a grammar where you can dispatch the parser macro/function on each letter, but it doesn't take much more to also get backtracking parsing 17:05:53 I see 17:06:25 carbocal` [~user@38.99.165.166] has joined #scheme 17:06:42 aoh: backtracking as in, to implement a reader macro that could read before the dispatch character? 17:06:56 Riastradh: So, to me, the two obvious ways to parse Scheme would be via a grammar and recursive descent. However, because I'm unfamiliar with the latter, I didn't want to bring it up as an option in case I was wrong. Perhaps my unfamiliarity with RD is what tripped me up---I thought it was more sophisticated than "walking byte-by-byte and asking if something is a (". 17:08:35 rien: so, the only gramatical rule to read lisp code (sexp) is: sexp ::= atom | '(' { sexp } ')' . ; you don't need a parser generator to implement it. 17:09:25 then you also need quote, unquote, quasi-quote, integers, floating-point, ... and things get messy ;) 17:09:38 -!- carbocalm [~user@38.99.165.166] has quit [Ping timeout: 255 seconds] 17:10:02 cky, every Lisp parser I know works pretty much how pjb described: READ reads a character and reduces to calling the entry in a table for that character. For (, it recursively reads a list; for ), it ends a list; for a symbol constituent, it reads a symbol; &c. 17:10:12 ecraven: no, those are reader macros, ie. scanner, not parser. 17:10:20 tronador_ [~guille@102.201.60.190.host.ifxnetworks.com] has joined #scheme 17:10:25 -!- tronador_ [~guille@102.201.60.190.host.ifxnetworks.com] has quit [Client Quit] 17:10:55 Riastradh: Right, basically a manually-coded state machine. *nods* 17:11:09 pjb: gotcha. thanks for the explanation and the link! 17:11:45 ecraven: and again, while scheme defines a fixed set of lexemes, in Common Lisp, only integers, floating points and symbols have a fixed lexical form, all the rest being implemented by standard reader macros. But since the user can install reader macros on all the characters, the standard CL reader algorithm (scanner) can be bypassed entirely. 17:12:09 Riastradh: If that's what recursive descent is, then thanks for the explanation---I've learnt more about it today. :-) 17:13:10 pjb, that can be trivially extended for other parsers 17:13:47 Recursive descent is basically that the production rule can be selected just by reading the next token. Since lisp sexps always have the operator in first position, the "parsing" of the sexps is trivially defined: each macro (or special operator implemented in the compiler) is a recursive descent procedure. 17:14:22 Again, it's so trivial, it's crazy. 17:15:33 alvatar [~alvatar@171.127.222.87.dynamic.jazztel.es] has joined #scheme 17:15:34 QQ: are scheme macros always applied outmost-first? 17:15:41 Yes. 17:15:45 Necessarily. 17:15:50 -!- seus [~sbero@146.7.60.164] has quit [Quit: seus] 17:16:09 pjb: Why is that, if I may ask? I had some hunch regarding termination, especially in the presence of fancy macros like racket's app% macros 17:17:51 Well, first it's the simpliest algorithm: we just look the car of the form, and if it's a macro, we call the macro function with the form as argument. Then we go on with the result of the macro function. But otherwise have a look at: http://www.nhplace.com/kent/PS/Ambitious.html 17:17:53 pjb: *nods* 17:18:46 poucet: the point is that you cannot know before executing the toplevel macro function, what parts of the form will be code and what part will be data or just absent from the expansion. 17:19:18 (comment (fire missible)) ; it would be silly to fire the missile, when it's a commented-out form. 17:21:03 I guess I should clarify my question 17:21:08 CAn it ever go back up 17:21:13 or is it a one pass downwards 17:21:25 It is a one pass downward. 17:21:37 There's no scheme system that ever does multipass? 17:21:42 No. 17:21:48 For macros. 17:22:02 But there are reader macros that are executed when the form is read, before the macro are expanded. 17:22:12 reader macros are entirely different from macros. 17:22:19 So be sure you're not confounding them. 17:22:33 (but reader macros are rare in scheme). 17:23:28 -!- bharath_g [~bharath10@117.211.88.150] has quit [Remote host closed the connection] 17:23:45 *poucet* nods 17:27:40 githogori [~githogori@87.sub-75-210-110.myvzw.com] has joined #scheme 17:27:55 ADT like those of Haskell make it really easy to implement sexp ::= atom | '(' { sexp } ')' . is there a similarly elegant way to do so in languages without ADTs? I'm looking for elegance, feel free to chide me :) 17:28:27 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 248 seconds] 17:28:50 copumpkin [~pumpkin@17.101.89.204] has joined #scheme 17:28:50 -!- copumpkin [~pumpkin@17.101.89.204] has quit [Changing host] 17:28:50 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 17:29:02 I really have to buy LiSP :) 17:30:14 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 17:30:14 Yes, it's a good book. 17:30:48 I'll ask my wife to buy it for me as a birthday gift, even though she thinks it's "boring"to gift books :) 17:31:20 Good heavens! What kind of a wife is that!? 17:32:08 she likes cute things 17:32:22 so, a very feminine wife :P 17:32:50 she likes reading too but she buys her own books and she'd be upset if someone gifted her a book. 17:33:00 women's expectations... 17:33:08 Ah, but lisp is cute. 17:33:41 not kitten-cute maybe, but nevertheless 17:34:28 rien: http://www.youtube.com/watch?v=rdj6deraQ6k 17:34:46 pdlogan1 [~patrick@174-25-37-137.ptld.qwest.net] has joined #scheme 17:35:07 *rien* clicks hoping it's about kittens + lisp 17:35:17 manga+sicp 17:35:47 +forced indentation of code. 17:38:00 pjb: :D 17:38:28 (lisp has got a ``real'' manga too: http://lambda.bugyo.tk/cdr/mwl/) 17:40:29 http://landoflisp.com/ too. 17:40:42 yeah, I sometimes feel I'm missing out on a lot by not knowing any japanese 17:41:18 -!- hiyuh [~hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit [Quit: Leaving.] 17:42:34 rien: on the other hand, witnessing the number of robots they used to deal with Fukushima reactors, perhaps we don't miss anything. 17:43:09 seus [~sbero@146.7.57.197] has joined #scheme 17:43:19 -!- seus [~sbero@146.7.57.197] has quit [Client Quit] 17:44:06 pjb: that's 0, right? 17:44:20 AFAIK, yes, zero. 17:45:32 :/ 17:47:58 -!- alvatar [~alvatar@171.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 17:48:11 masm [~masm@bl15-78-252.dsl.telepac.pt] has joined #scheme 17:51:25 alvatar [~alvatar@126.126.222.87.dynamic.jazztel.es] has joined #scheme 17:58:35 jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has joined #scheme 17:59:21 pumpkin [~pumpkin@17.101.89.204] has joined #scheme 17:59:21 -!- pumpkin [~pumpkin@17.101.89.204] has quit [Changing host] 17:59:21 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 18:00:56 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 255 seconds] 18:09:19 samth [~samth@nat/google/x-xwddeouhdgqgwsxm] has joined #scheme 18:18:00 thoolihan [~TimH@209.221.3.130] has joined #scheme 18:23:22 lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has joined #scheme 18:30:16 -!- lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has quit [Remote host closed the connection] 18:33:18 Kleif [~Kleif@21.Red-81-36-10.dynamicIP.rima-tde.net] has joined #scheme 18:39:01 HG` [~HG@dslb-094-220-124-101.pools.arcor-ip.net] has joined #scheme 18:46:50 -!- tauntaun [~icarus@ool-457c37c3.dyn.optonline.net] has quit [Ping timeout: 255 seconds] 18:51:36 vilsonvieira [~vilson@h08100.ifsc.usp.br] has joined #scheme 18:52:55 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #scheme 19:03:36 tronador_ [~guille@190.145.89.146] has joined #scheme 19:08:02 ysph [~user@75-143-85-15.dhcp.aubn.al.charter.com] has joined #scheme 19:13:27 djcb [~user@a88-114-89-247.elisa-laajakaista.fi] has joined #scheme 19:16:33 poucet: re: "are scheme macros always applied outmost-first?" -- see "Expansion-Passing Style" macros, which are simple and yet not necessarily "outmost-first", e.g. a symbol can be expanded or even a number or other value. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.4332 19:22:23 -!- Kleif [~Kleif@21.Red-81-36-10.dynamicIP.rima-tde.net] has quit [Ping timeout: 255 seconds] 19:22:44 somehow that doesn't seem like not being outmost to me, the outer most form controls which inner forms get expanded, so even though you can skip some macro calls between some outermost form and some inner form, you still have to go through the outer form 19:23:01 pdlogan: thx 19:23:05 and you can do that with the existing macro expander, imo 19:24:35 jonrafkind, you can't really do eps in the current system 19:24:54 jonrafkind: an EPS macro can be applied to a procedure combination - the first position does not have to be the name of a macro, and does not even have to be a symbol. 19:25:32 Ragnaroek_ [~chatzilla@p5B0C7A6D.dip.t-dialin.net] has joined #scheme 19:25:39 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has quit [Ping timeout: 252 seconds] 19:25:47 -!- pdlogan1 [~patrick@174-25-37-137.ptld.qwest.net] has quit [Ping timeout: 248 seconds] 19:25:56 so the EPS macro expander is applied to all s-expressions regardless of their form? 19:26:40 i mean ((f) a b), some macro function would operate on that? 19:26:55 yes - it's kind of an "expansion phase" applied to the entiree expression - and so you can implement tracing, steppers, etc. across arbitrary code. 19:27:13 oh ok, I see 19:28:11 -!- Ragnaroek_ is now known as Ragnaroek 19:28:27 i guess there isn't explicit support for that with syntax-case or whatever, but with %#module-begin the same could be achieved 19:28:54 -!- ckrailo [~ckrailo@208.86.167.249] has quit [Ping timeout: 250 seconds] 19:29:10 -!- alvatar [~alvatar@126.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 19:39:18 jonrafkind: how would you do that? 19:40:19 module-begin gives you the entire program as a syntax object (s-expression), so you can just iterate over all the forms yourself 19:40:41 oic 19:41:06 Sometimes I wonder how hard it would be to get varaibla-accessor annotations without doing a full top-down module-begin 19:41:40 one way to do that would be to have a scheme system that implicitly wraps (%read ...) around all variable uses 19:51:31 -!- emporas [~emporas@athedsl-169325.home.otenet.gr] has quit [Remote host closed the connection] 19:55:51 did anyone here get this http://dwim.hu/darcs/slime/contrib/swank-mit-scheme.scm to work? 20:04:01 ckrailo [~ckrailo@208.86.167.249] has joined #scheme 20:10:50 -!- pygospa [~TheRealPy@kiel-4dbece1b.pool.mediaWays.net] has quit [Disconnected by services] 20:11:02 pygospa [~TheRealPy@kiel-d9bfd143.pool.mediaWays.net] has joined #scheme 20:13:35 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:18:18 -!- pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has left #scheme 20:23:09 jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has joined #scheme 20:32:00 ficthe [~thesk@unaffiliated/ficthe] has joined #scheme 20:32:11 hi guys - sorry for the annoyance - but small question 20:32:38 what're the most typical arguments about scheme being a good language to start with -- and java not being one to start with 20:33:03 (I actually am much more interested in hearing answers about the latter part of the question -- about java) 20:33:04 ficthe: scheme is simple 20:33:30 ficthe: Java is painful to code if you want to do anything useful with functions. 20:33:54 cky: can you give me some non-general examples please? 20:33:57 cky: that doesn't matter much for teaching 20:34:24 sjamaan: But it does matter if you want to write real code. 20:34:43 mario-goulart's point is more important; you don't need to spend weeks on teaching the syntax or telling the students to copy boilerplate class crap "which will be explained LATER" 20:34:53 Well, that too. 20:35:20 while being simple, Scheme is also expressive 20:36:07 something like the old 8 bit BASICs were also simple. But good luck building any abstractions with them 20:36:34 -!- thoolihan [~TimH@209.221.3.130] has quit [Quit: Leaving] 20:38:03 Java is not normally packaged in a way that makes noddy examples easy to create and work with. 20:38:09 ficthe: For example. If you want to sort a list of users by their last name. How much work is it in Java? How much work is it in Scheme? 20:38:26 ficthe: In my experience, the Java version is 5x as much code. 20:38:40 cky: Depends on whether your Scheme has a non-buggy sort procedure, actually. 20:38:56 jcowan: Well, okay. :-) 20:39:10 What Schemes have buggy sort procedures? 20:39:34 wouldn't it still be shorter even if you had to implement your own sort procedure 20:39:58 There are other argument that maybe don't sound evident at first sight, like having the same syntax for code and for a fundamental data structure. It is VERY convenient. 20:40:54 Also, using (some implementation of) "delay" in Java is positively painful, because Java doesn't have macros. 20:41:13 -!- myu2 [~myu2@q040135.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 20:41:15 And because Java doesn't have first-class functions either, you end up having to create an anonymous inner class every time you want to delay something. 20:41:34 cky: java programmers use `sleep' when they want some delay. 20:41:47 mario-goulart: Not _that_ sort of delay! R5RS-style delay. 20:41:49 mario-goulart: I thought the delay came for free with the language 20:41:54 :-D 20:41:55 MrFahrenheit [~RageOfTho@users-150-159.vinet.ba] has joined #scheme 20:41:56 sjamaan: Lol. 20:42:51 tauntaun [~icarus@64.134.96.152] has joined #scheme 20:43:19 ecraven, I have never tried SLIME with MIT Scheme. Chris imported some version or other of the Swank implementation into the MIT Scheme runtime library, but I've never tried it. 20:45:07 -!- cmatei [~cmatei@95.76.17.75] has quit [Remote host closed the connection] 20:48:32 ficthe: Just to clarify, "delay" is an easy-to-use way to create "initialise-on-first-use" objects (which is quite a common pattern in Java). (Well, it's more general than that; but from a Java programmer's point of view, that's probabaly its main use.) 20:50:17 rudybot: init r5rs 20:50:17 cky: your r5rs sandbox is ready 20:50:24 lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has joined #scheme 20:50:39 rudybot: (%#require srfi/1) 20:50:39 cky: error: reference to an identifier before its definition: %#require in module: 'program 20:52:01 rudybot: (#%require srfi/1) 20:52:01 cky: Done. 20:52:08 rudybot: (iota 10) 20:52:09 cky: ; Value: (0 1 2 3 4 5 6 7 8 9) 20:52:32 what does 'iota' mean again? 20:52:56 cmatei [~cmatei@95.76.17.75] has joined #scheme 20:53:30 Well, an iota is a small quantity, right? 20:53:38 So I picture a list of elements that increase in small quantities. 20:53:50 that seems like a stretch of definition :p 20:54:07 wikipedia suggests iota is the greek letter that is used in math to mean a consecutive group of numbers 20:54:31 Ah. 20:54:44 jonrafkind: I don't have any mathematical reference, but it was used in APL to do that. 20:54:50 yea 20:55:09  20:55:20 I really hate the influence mathematical notation has had on programming 20:55:39 Iota means small, because it's the smallest letter of the alphabet (both greek and hebrew). 20:56:11 rudybot: (define md5-consts (delay (display "Calculating MD5 constants") (list->vector (map (lambda (x) (floor (* #x100000000 (sin x)))) (iota 64 1))))) 20:56:11 cky: error: eval:1:19: delay: bad syntax in: (delay (display "Calculating MD5 constants") (list->vector (map (lambda (x) (floor (* 4294967296 (sin x)))) (iota 64 1)))) 20:56:20 i dont recal iota being in hebrew 20:56:25 rudybot: (define md5-consts (delay (begin (display "Calculating MD5 constants") (list->vector (map (lambda (x) (floor (* #x100000000 (sin x)))) (iota 64 1)))))) 20:56:25 cky: Done. 20:56:42 rudybot: (vector-ref (force md5-consts) 1) 20:56:42 cky: error: mcar: expects argument of type ; given (3614090360.0 3905402710.0 606105819.0 -3250441967.0 -4118548400.0 -1200080427.0 2821735955.0 4249261313.0 1770035416.0 -2336552880.0 -4294925234.0 -2304563135.0 1804603682.0 4254626195.0 2792965006.0 -1236535330.0 -4129170787.0 -3225465665.0 643717713.... 20:56:52 -!- zmv [~daniel@c934a9f5.virtua.com.br] has quit [Ping timeout: 246 seconds] 20:58:38 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 20:58:49 rudybot: init racket 20:58:50 cky: your racket sandbox is ready 20:58:59 -!- HG` [~HG@dslb-094-220-124-101.pools.arcor-ip.net] has quit [Quit: Leaving.] 20:59:06 rudybot: (define md5-consts (delay (begin (display "Calculating MD5 constants") (list->vector (map (lambda (x) (inexact->exact (floor (* #x100000000 (sin x))))) (iota 64 1)))))) 20:59:06 cky: Done. 20:59:14 rudybot: (vector-ref (force md5-consts) 1) 20:59:14 cky: error: reference to an identifier before its definition: iota in module: 'program 20:59:23 rudybot: (require srfi/1) 20:59:24 cky: ; stdout: "Calculating MD5 constants" 20:59:35 Hahahahahahaha. Let's try again. 20:59:37 rudybot: init racket 20:59:38 cky: your racket sandbox is ready 20:59:40 rudybot: (require srfi/1) 20:59:40 cky: Done. 20:59:43 rudybot: (define md5-consts (delay (begin (display "Calculating MD5 constants") (list->vector (map (lambda (x) (inexact->exact (floor (* #x100000000 (sin x))))) (iota 64 1)))))) 20:59:44 cky: Done. 20:59:47 rudybot: (vector-ref (force md5-consts) 1) 20:59:48 cky: ; Value: 3905402710 20:59:56 rudybot: (vector-ref (force md5-consts) 2) 20:59:57 cky: ; Value: 606105819 21:00:05 Funny how it didn't show the message, but oh well. 21:01:31 incubot: (use srfi-1) 21:01:31 Error: unbound variable: srfi-1 21:01:38 incubot: (require 'srfi-1) 21:01:38 # 21:01:43 incubot: (define md5-consts (delay (begin (display "Calculating MD5 constants") (list->vector (map (lambda (x) (inexact->exact (floor (* #x100000000 (sin x))))) (iota 64 1)))))) 21:01:43 Error: illegal number syntax: "100000000" 21:01:56 incubot: (require 'numbers) 21:01:56 Error: (require) can not load extension: numbers 21:02:21 incubot: (define md5-consts (delay (begin (display "Calculating MD5 constants") (list->vector (map (lambda (x) (inexact->exact (floor (* 4294967296 (sin x))))) (iota 64 1)))))) 21:02:21 # 21:02:36 incubot: (vector-ref (force md5-consts) 1) 21:02:36 Error: unbound variable: md5-consts 21:03:21 *cky* gives up. :-P 21:03:51 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 260 seconds] 21:17:16 fantazo [~fantazo@178-191-163-210.adsl.highway.telekom.at] has joined #scheme 21:24:37 -!- Hal9k [~Lernaean@unaffiliated/kusanagi] has quit [Ping timeout: 240 seconds] 21:24:38 Kleif [~Kleif@21.Red-81-36-10.dynamicIP.rima-tde.net] has joined #scheme 21:27:17 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 21:27:52 Hal9k [~Lernaean@unaffiliated/kusanagi] has joined #scheme 21:37:09 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Read error: Operation timed out] 21:37:44 RaceCondition [~erik@82.131.19.252.cable.starman.ee] has joined #scheme 21:43:11 copumpkin [~pumpkin@17.101.89.204] has joined #scheme 21:43:12 -!- copumpkin [~pumpkin@17.101.89.204] has quit [Changing host] 21:43:12 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 21:45:54 mmc2 [~michal@82-148-210-75.fiber.unet.nl] has joined #scheme 21:46:26 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 260 seconds] 21:47:55 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has quit [Ping timeout: 252 seconds] 21:54:45 ijp` [~user@host86-163-220-81.range86-163.btcentralplus.com] has joined #scheme 21:57:11 -!- ijp [~user@host86-163-253-244.range86-163.btcentralplus.com] has quit [Ping timeout: 255 seconds] 21:58:48 -!- Ragnaroek [~chatzilla@p5B0C7A6D.dip.t-dialin.net] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]] 21:58:59 zmv [~daniel@c934a9f5.virtua.com.br] has joined #scheme 21:59:59 ijp`` [~user@host86-148-151-150.range86-148.btcentralplus.com] has joined #scheme 22:00:49 -!- ijp`` [~user@host86-148-151-150.range86-148.btcentralplus.com] has quit [Client Quit] 22:02:35 -!- ijp` [~user@host86-163-220-81.range86-163.btcentralplus.com] has quit [Ping timeout: 248 seconds] 22:04:22 -!- tauntaun [~icarus@64.134.96.152] has quit [Quit: Ex-Chat] 22:07:47 -!- Hal9k [~Lernaean@unaffiliated/kusanagi] has quit [] 22:08:53 "The path of the righteous programmer is beset on all sides by the inequities of the clueless and the tyranny of evil project managers. Blessed is he, who in the name of achievement and solid technology, shepherds the users through the valley of ineptitude, for he is truly his customer's keeper and the finder of lost solutions. And I will strike down upon thee with great vengeance and furious 22:08:53 anger those who would attempt to deploy without testing. And you will know my name is zedshaw when I lay my software upon thee." 22:09:13 -!- vilsonvieira [~vilson@h08100.ifsc.usp.br] has quit [Quit: Saindo] 22:09:42 I believe you mean `iniquities'. 22:10:13 *Caleb--* loads his gun 22:11:15 pdlogan [~patrick@64.134.138.14] has joined #scheme 22:12:04 -!- tomppa [~tomppa@b27.kiulu.jyu.fi] has quit [Quit: Ex-Chat] 22:13:09 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #scheme 22:15:55 WakiMiko [~WakiMiko@p4FD0356A.dip.t-dialin.net] has joined #scheme 22:17:39 -!- WakiMiko [~WakiMiko@p4FD0356A.dip.t-dialin.net] has left #scheme 22:20:48 o/ 22:24:46 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 22:25:48 Riastradh: is there any documentation for berkeley-db.scm? 22:26:19 No, and I don't think it ever worked. You'd be better off writing a new one with the FFI. 22:26:51 Oh, I didn't know there was an FFI. I'm thinking about object persistence, and bdb seems easier than sql 22:28:03 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 252 seconds] 22:28:43 Is the FFI documented in the manual? 22:29:01 rpg [~rpg@216.243.156.16.real-time.com] has joined #scheme 22:29:10 I don't think it was included in 9.0.1, but it's in the documentation in Git. 22:32:02 How do packages work in MIT-Scheme? If I know that a function I want is in '(runtime berkeley-db), how can I access it? 22:32:14 ...work. I like the way you say `work'. 22:32:56 (access frobnozzle (->environment '(runtime berkeley-db))), but don't really do that... 22:34:48 -!- pumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 22:35:42 I guess there's no way to coax you into working on a proper module system for MIT-Scheme? :( 22:42:26 -!- leppie [~lolcow@196-210-170-60.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 22:43:56 -!- RaceCondition [~erik@82.131.19.252.cable.starman.ee] has quit [Quit: RaceCondition] 22:50:42 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #scheme 22:53:05 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 250 seconds] 22:56:31 RaceCondition [~erik@82.131.19.252.cable.starman.ee] has joined #scheme 22:57:24 -!- tronador_ [~guille@190.145.89.146] has quit [Quit: tronador_] 22:58:18 -!- githogori [~githogori@87.sub-75-210-110.myvzw.com] has quit [Remote host closed the connection] 22:59:26 -!- lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has quit [Ping timeout: 276 seconds] 23:01:02 Riastradh: When trying to run the ffi test (prhello), why is prhello-types sought in /usr/lib/mit-scheme-i386/prhello-types and not in the current working directory? 23:01:54 Probably because LOAD-C-INCLUDES merges the pathname with the system library directory pathname. Why, I dunno. 23:02:14 -!- tr3x [~tr3x@93-141-106-73.adsl.net.t-com.hr] has quit [Read error: Connection reset by peer] 23:03:13 tr3x [~tr3x@93-141-106-73.adsl.net.t-com.hr] has joined #scheme 23:03:19 Might this be a bug? 23:04:35 Send mail to the mailing list explaining what you want to do and what you tried and didn't work. I have never used the new FFI, but Matt Birkholz who wrote it might be able to help. 23:10:47 -!- nilg` [~user@77.70.2.229] has quit [Remote host closed the connection] 23:12:16 leppie [~lolcow@196-210-170-60.dynamic.isadsl.co.za] has joined #scheme 23:13:06 lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has joined #scheme 23:14:51 Got it working, nice! I'll give it a try, thanks for mentioning it! 23:21:56 Oh, looks like Chris is starting to make 9.1 ready. 23:22:16 -!- djcb [~user@a88-114-89-247.elisa-laajakaista.fi] has quit [Remote host closed the connection] 23:22:16 git already says 9.1 23:23:29 Well, yeah, but the release isn't done yet. 23:26:32 -!- bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:29:22 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 23:31:44 -!- lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has quit [Read error: Operation timed out] 23:32:36 -!- rdd [~rdd@c83-250-51-60.bredband.comhem.se] has quit [Ping timeout: 246 seconds] 23:33:47 lbc [~quassel@0909ds1-sdb.0.fullrate.dk] has joined #scheme 23:37:08 -!- MrFahrenheit [~RageOfTho@users-150-159.vinet.ba] has quit [Ping timeout: 276 seconds] 23:40:52 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Read error: Operation timed out] 23:44:47 sale87 [~sale87@95.180.22.13] has joined #scheme 23:47:10 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/] 23:48:02 -!- sale87 [~sale87@95.180.22.13] has quit [Remote host closed the connection] 23:48:09 -!- tr3x [~tr3x@93-141-106-73.adsl.net.t-com.hr] has quit [Quit: bye] 23:48:28 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #scheme 23:51:11 tr3x [~tr3x@93-141-106-73.adsl.net.t-com.hr] has joined #scheme 23:53:44 bokr [~eduska@109.110.57.11] has joined #scheme 23:56:28 sale87 [~somebody@95.180.22.13] has joined #scheme 23:57:08 -!- sale87 [~somebody@95.180.22.13] has quit [Client Quit] 23:59:54 -!- aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has quit [Quit: aisa]