00:01:26 Paraselene_ [~Not@81-178-167-119.dsl.pipex.com] has joined #scheme 00:02:16 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 00:04:22 -!- Paraselene [~Not@81-178-167-119.dsl.pipex.com] has quit [Ping timeout: 245 seconds] 00:10:02 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 00:15:19 -!- attila_lendvai_ [~ati@adsl-89-134-25-81.monradsl.monornet.hu] has quit [Quit: ...] 00:15:38 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 00:16:28 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 00:21:38 Khisanth [~Khisanth@pool-96-246-12-251.nycmny.east.verizon.net] has joined #scheme 00:42:06 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 240 seconds] 00:45:37 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 00:45:46 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 00:45:55 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 00:57:13 hadronzoo [~hadronzoo@ppp-70-251-67-203.dsl.rcsntx.swbell.net] has joined #scheme 01:04:51 R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has joined #scheme 01:06:50 -!- hadronzoo [~hadronzoo@ppp-70-251-67-203.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 01:11:52 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 245 seconds] 01:18:34 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 01:19:14 acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has joined #scheme 01:19:49 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 01:29:54 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 260 seconds] 01:42:15 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 258 seconds] 01:45:13 asarch [~asarch@187.132.136.184] has joined #scheme 01:51:03 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 01:59:35 -!- mfredrickson [~mfredrick@c-98-213-38-52.hsd1.il.comcast.net] has quit [Quit: mfredrickson] 02:01:36 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 276 seconds] 02:17:58 -!- elderK [~zk@pdpc/supporter/active/elderk] has quit [Quit: Dive, dive, DIVE!] 02:22:17 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 245 seconds] 02:46:27 -!- RageOfThou [~RageOfTho@users-55-147.vinet.ba] has quit [Ping timeout: 245 seconds] 02:52:29 timj [~timj@e176197253.adsl.alicedsl.de] has joined #scheme 02:56:28 -!- timj_ [~timj@e176193082.adsl.alicedsl.de] has quit [Ping timeout: 276 seconds] 03:01:00 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 03:01:39 -!- asarch [~asarch@187.132.136.184] has quit [Remote host closed the connection] 03:09:11 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 03:09:14 caoliver [~oliver@75-134-208-20.dhcp.trcy.mi.charter.com] has joined #scheme 03:11:01 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 03:11:56 -!- davazp [~user@13.Red-79-154-141.dynamicIP.rima-tde.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:19:20 arcfide: thanks for the suggestions, I've been playing with racket and learning the syntax, etc. ultimately i'll be following along with one of the mit open courses and it's based on scheme 03:21:40 hybrid_mind: Okay, great. DrRacket is a fairly easy to use GUI. There are a few other Schemes with GUIs, but most suggest using Emacs. MIT Scheme's Edwin editors is actually a pretty good IDE if you can handle Emacs. 03:23:01 arcfide: I suppose I should knuckle down and learn emacs. I've played with it once, so if Edwin is worth it, why not? 03:23:38 I prefer working inside my terminal, really. 03:23:40 Well, Edwin is worth it if you want to do Emacs and use MIT Scheme. 03:25:38 Alrighty, I'll check it out then. I like the syntax of scheme so far, pretty neat. 03:29:24 Cool. 03:29:25 :-) 03:29:59 Definitely, I'm working on the mit ai class, so if they are using mit scheme i'll try using mit scheme :) 03:30:46 -!- felipe [~felipe@my.nada.kth.se] has quit [*.net *.split] 03:30:49 adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has joined #scheme 03:31:39 saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has joined #scheme 03:32:09 hybrid_mind: use the latest version you can get, as they're much easier to install and use. 03:33:45 arcfide: i'm pretty sure I got the latest one downloaded already, right before I installed racket. Does scheme do ok with serial communication? 03:34:17 What do you mean by "serial communication?" 03:34:37 I think he means interfacing with a serial port. 03:34:44 Talking to devices through a serial port, or even better through tcp/ip 03:35:27 I've got a small microcontroller and a robot that might be fun to play with interfacing to scheme 03:36:17 ratsormic6 03:39:14 kg4qxk [~bohanlon@pool-173-48-104-141.bstnma.fios.verizon.net] has joined #scheme 03:45:43 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 04:14:15 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 04:22:16 felipe [~felipe@my.nada.kth.se] has joined #scheme 04:22:16 -!- felipe [~felipe@my.nada.kth.se] has quit [Max SendQ exceeded] 04:24:46 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 04:27:18 leppie [~lolcow@196-210-254-163.dynamic.isadsl.co.za] has joined #scheme 04:31:44 felipe [~felipe@my.nada.kth.se] has joined #scheme 04:40:22 chupish [182ed347@gateway/web/freenode/ip.24.46.211.71] has joined #scheme 04:41:17 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 04:44:25 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 264 seconds] 04:46:32 hello all 04:46:54 -!- chupish [182ed347@gateway/web/freenode/ip.24.46.211.71] has quit [Ping timeout: 252 seconds] 04:51:23 -!- caoliver [~oliver@75-134-208-20.dhcp.trcy.mi.charter.com] has quit [Quit: Leaving.] 04:54:00 adu: Hey. 04:54:27 what is your favorite scheme implementation? 04:55:06 adu: Chez Scheme. 04:57:16 adu: Why do you ask? 04:57:25 curiosity 04:57:31 PLT scheme^Wracket 04:57:50 adu: Do you have a current favorite? 04:57:56 no 04:58:03 I don't use scheme enough to have a favorite 04:58:06 I'm actually quite happy that we have so many different Schemes represented here. 04:59:03 I like guile, but only because i'm most familiar with it, like how it doesn't have much macro support 04:59:53 and the only scheme I've writen any sizable tools in is Gimp's siod or something 05:00:58 I see. 05:01:17 in general I've found both Gimp's scheme and Guile's scheme incredibly hard to use 05:01:33 so I generally write tools in easier languages, such as Haskell 05:02:33 ... 05:02:42 ??? 05:03:01 .oO(Do I dignify that with a response?) 05:03:19 lol 05:03:33 sorry, that _was_ intended as a joke 05:03:50 Scheme is most certainly easier to learn than Haskell 05:04:05 Adu: Methinks you need to get with some other Schemes. Chez, Racket, MIT, Chicken, maybe? 05:04:09 :-P 05:04:16 *leppie* : I will quickly write a GUI for that in Haskell 05:04:54 I've been experimenting with PLT (plt-r6rs and mzscheme) and Chez 05:05:11 but I honestly can't think of what to do with them 05:06:16 maybe I just don't know how to compile stuff 05:06:26 adu: You don't have any programs that you would like to write? 05:06:32 plenty 05:06:53 but they're all compiled 05:08:33 azathoth99 [~gav@cpe-76-172-28-85.socal.res.rr.com] has joined #scheme 05:09:24 or require lots of libraries 05:10:02 like OpenGL, JNI interface 05:11:09 and I'm also confused about FFI, is there a standard for schemes like there is for lisps? 05:13:30 No, but there will be, probably. :-) 05:13:53 adu: there are some common FFI libraries, and both Chez and Racket have fairly easy to use FFIs. 05:14:02 Chicken is also well liked for its FFI. 05:14:20 adu: And what kind of program *must* be compiled? 05:14:29 i know i know 05:14:30 adu: And how does that matter with Schemes? 05:14:37 It's not like you can't compile Scheme. 05:16:08 are there any conformance tests? 05:16:42 to see which parts of R5RS/R6RS are well implemented? 05:17:05 or SFRIs? 05:17:29 Eh... 05:17:34 There were, but I don't know if anything is maintained. 05:23:59 are scheme macro inferior to commmon lisp macro? 05:24:58 Eh.... 05:24:59 No. 05:25:13 IMO, Far superior. 05:26:18 paul graham says scheme lacks common lips macro power 05:26:23 www.paulgraham.com 05:27:34 azathoth99: If he's talking about R5RS syntax-rules, then he's only partly correct. 05:27:53 azathoth99: However, R6RS standardized SYNTAX-CASE which has all the power and then some of Common Lisp macros. 05:28:20 azathoth99: Additionally, most schemes provide macro systems that are at least as powerful as Common Lisp's. 05:29:00 well, there was r4rs defmacro -- pretty much exactly CL's macros 05:29:28 toast`: I don't think R4RS every standardized defmacro. I think it mentioned it, but I don't think it ever really supported it. 05:29:29 r4? 05:29:30 i think someone implemented defmacro on r6rs syntax-case, just to prove it 05:29:42 no shit? 05:29:57 so r6 means scheme macro as powerful at least as common lisps? 05:29:59 no way 05:30:05 arcfide: true, but i think a couple schemes implemented it 05:30:13 i remember trying it out, and it worked on the second scheme i tried 05:30:19 azathoth99: It's trivial. 05:30:42 toast`: Some Schemes provide def-macro. 05:30:49 http://paulgraham.com/lispfaq1.html 05:30:52 toast`: Many used to, but most now avoid it. 05:30:57 Common Lisp is powerful but ugly. Scheme is small and clean, but the standard only defines the inner core of the language. If I had to deliver an application I'd probably use Common Lisp; if I were teaching a course I might use Scheme (but with Common Lisp macros). 05:31:17 azathoth99: So, there are macros in Scheme that you can write which you can make certain guarantees about that are impossible to make with Lisp macros. 05:31:26 arcfide: yeah, i heard there was a portable syntax-case lib, and since then no one bothers to support the lesser defmacro 05:31:28 ok 05:31:41 but are common lisp macro somehow more general or powerful? 05:31:53 not compared to syntax-case 05:32:06 azathoth99: he's talking undoubtedly about R5RS, but R6RS provides for much greater functionality, and in fact, almost all mainstream Schemes provide for a great deal of functionality, outside of the standard, and so it doesn't really matter. 05:32:07 and what scheme implements this syntax-case? 05:32:16 maybe easier for some quick hacks, but you have to be really careful with CL macros 05:32:24 a LOT of them 05:32:35 petit chez? chicken? bigloo? 05:33:07 toast`: Well, even before that people were avoiding it. Clinger-reese ER macros were a step up and provide a similar interface, so you can find them around. Then you have syntactic closures which are found in various schemes, and finally syntax-case, which is my preference, and the R6RS standard. 05:33:08 i think paul graham may have been right at the time he made that comment, maybe. 05:33:24 toast`: It's been many years since anyone that I know of has felt good about writing a defmacro macro. 05:33:48 azathoth99: Any R6RS Scheme implements it, and maybe some others as well. 05:33:58 http://www.r6rs.org/implementations.html 05:34:12 so I notice chicken and scsh have webservers 05:34:17 with continuations no less 05:34:34 oh, plt's delimited continuations looked interesting 05:34:45 azathoth99: Chez, Racket, Chicken, Gambit, Guile, SCM, and more. 05:34:46 ah plt webserver too 05:34:52 but it leaves me worying that delimited continuations are missing something 05:35:00 azathoth99: I also have a web programming library or two written for Chez. 05:35:29 http://code.google.com/p/mosh-scheme/wiki/Features 05:35:36 erlang liek concurrency sounds sexy 05:35:39 ya? 05:35:44 like scheme for web? 05:35:52 I heard html is raelly s experssions 05:35:58 rtarted s expresions 05:36:01 dumbed down 05:36:05 azathoth99: There is a straightforward translation of HTML to s-expressions. 05:36:20 now what about concurrency? 05:36:26 azathoth99: There are quite a few libraries for doing web programming in Scheme. 05:36:33 does scheme have green threads? or microproceeses in userland? 05:36:40 like haskell oz erlang etc? 05:36:51 probably depends on the scheme 05:36:51 are they hacks or usable? 05:36:52 azathoth99: I think Ypsilon specializes in concurrency research, and some Schemes, like Chez, have native threading support. 05:37:12 azathoth99: Green threads are available on most of the mainstream Schemes. 05:37:32 I got lectured by a plan9 guy that os level threads are less efficient than user level microthreads on a system that doesnt to communicating squential processes 05:37:37 wow 05:37:42 so friggin scheme is kicking ass 05:37:51 why dont people do more stuff with scehme ? 05:37:56 all I hear is ruby python blah 05:38:05 azathoth99: Because we're all a bunch of bickering snobs who don't care what the world thinks. :-) 05:38:16 after my own heart 05:38:18 I love it 05:38:51 I am the kinda guy who enabled software raid on 24 drive box with 3 spares and then says yep this is 2-3x speed fo your SAN you love so much dickwads 05:39:00 Well, the main thing is that many people who use Scheme just aren't writing applications that the rest of the world cares about, IMO. 05:39:02 I gota do my own corporation 05:39:10 people stuck on stpuid with computing 05:39:29 -!- kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has quit [Read error: Connection reset by peer] 05:39:33 one could make a craigslsit liek site on scheme then without much trouble? 05:39:45 are there libs for doing a lil captcha? 05:39:52 azathoth99: Hehe, that depends on the person, but yes, there is no technical impediment to doing so. 05:40:01 I am great with unix 05:40:08 bad with programming anything outside shell 05:40:27 so I figure if I can learn scheme or something I can progrma the apps I want 05:40:47 not onyl make ncie fast box but then make ncie fast app 05:40:50 azathoth99: Before you start spending your life savings on a development corporation, you might want to learn to program. Scheme is a good way to do so. 05:40:53 :-) 05:40:58 :) 05:41:19 I am very curios to break outa the procedural shell world and explore these high level things 05:41:22 I read about 05:41:40 Read through the books listed in the topic. :-) 05:43:24 the msot inspiring part of those video lectures I saw sofar is when he says "unlike normal engineering, with computer science there is not that much difference between what we can imagine and what we can make" 05:43:27 or some such 05:43:45 something about futility of a 1000 stage amplifier 05:44:54 Them electric engineers.... 05:46:36 yeah, i liked that part too 05:46:57 i remember in electronics second course, my 3 stage was getting overrun with noise 05:46:58 I mean I imagine my program taking a web request 05:47:04 then cacluating a response 05:47:16 then feed response page abck and jut linking to any big fat media files 05:47:20 and all thsi is lean 05:47:23 lean logic 05:47:27 but i regularly write programs that combine 100 different functions, with no ill effect 05:47:32 100? 05:47:34 holy shit 05:47:41 well, not all at once 05:47:46 you gotta stack them right ;0 05:48:04 what does the program do? 05:49:30 ? 05:50:12 well, this week's code went to generating C++ code for gluing various libs together 05:50:31 hm 05:50:33 why? 05:50:43 that's not the interesting part 05:50:48 bigloo over here claims to want to replace c++ 05:50:50 oh ok 05:50:54 the interesting part is that the program had the right output. 05:50:58 ah ha!! 05:51:23 computers have incredibly low error rates 05:52:50 i think ram is somewhere around 1 : 2**100? 05:53:02 yeah I heard interesting saying "if you are wondering if yu amde error or the computer, its you" 05:53:05 (with ECC, of course) 05:53:14 lol 05:53:23 yeah. where 'you' binds to some human 05:53:56 Im not into bondage 05:53:58 i hit maybe a half dozen unique C++ compiler bugs a year. the rest are all me 05:53:58 lol 05:54:07 cat-v.org 05:54:15 check out the 'harmful' part 05:54:19 kinda hilarious 05:54:29 toast`: What? You hit that many compiler bugs? 05:54:54 arcfide: i use a touch of template metaprogramming here and there 05:55:03 Still... 05:55:31 c++ templates are sort of like a super inneficient syntax-rules 05:55:42 I think I've encountered, what, two compiler bugs in five years with Chez? 05:55:55 how would you see a compiler bug? 05:55:58 yeah, but that's because it's scheme 05:56:16 i've never hit any bug in the C core of C++, for instance 05:56:31 only weird stuff, like template instantiation phases 05:56:47 And why should this be a bug if we can get it right in Scheme? :-P 05:57:16 Woah, the ctags on my computer actually produced good tag output for a scheme file I have! 05:57:44 arcfide - because scheme designed it cheap and simple. C++ makes it 10 times harder than it needed to be 05:58:24 i believe r5rs is about the same size as the c++ standards' table of contents 05:58:38 in building a large program, there is not all that much difference between what I can build and what i can imagine 05:58:39 and r6rs, including libs, weighs in around the same size as C++'s index 05:58:40 :) 05:58:50 (gross estimates. don't quote me) 05:58:55 -!- adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has quit [Quit: adu] 05:58:58 http://www.youtube.com/watch?v=2Op3QLzMgSY&feature=related 940 05:58:58 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 05:59:32 damn 05:59:42 I didnt know scheme was now as powerful as common lisp 05:59:55 since scheme learning books seem superior 06:00:09 I now might learn scheme and quit being a puss 06:00:26 azathoth99: We've been as powerful in some sense for a very long time. We just haven't standardized the procedural macro system until fairly recently. 06:01:12 it still seems like syntax case is a bit over-complicated 06:01:29 *toast`* compares to say the simplicity of lambdas, single namespace 06:01:43 hm 06:01:52 plan9 talks a lot about namespaces 06:02:00 namespaces are simple in scheme? 06:02:50 toast`: syntax-case is really pretty simple. 06:05:15 arcfide - yeah, but it seems like really it's a syntax-based (instead of symbol based) defmacro, a lexical scope, and a pattern matcher 06:05:25 it seems like those things should tease appart more 06:05:34 -!- rbarraud [~rbarraud@118-93-76-89.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 06:06:03 www.prevayler.org 06:06:08 kniu [~kniu@pool-71-106-7-247.lsanca.dsl-w.verizon.net] has joined #scheme 06:06:10 could I remake this in scheme? 06:06:42 toast`: syntax-case is a system composed of a data abstraction, called syntax objects, a set of procedures for converting to and from data and syntax objects, and a pattern matcher for destructing syntax objects easily. 06:06:49 I think they're already pretty modularized. 06:06:59 let me ask this 06:07:05 in fact, you needn't use the syntax-case form itself at all if you don't want to. 06:07:06 is there anything like rsync in scheme? 06:07:28 arcfide: well, i guess it's just the pattern matcher really. it seems like it should be its own thing 06:07:40 i really ought to take a look at that portable syntax-case code 06:07:45 maybe i'd change my mind if i saw it 06:08:14 toast`: Don't do that. 06:08:23 heh, why's that? 06:08:57 toast`: The implementation of psyntax is filled with efficiency hacks and a number of other things which makes the code less than clear. :-) 06:09:11 fair. is there a better example? 06:09:35 toast`: Part of the reason that that syntax-case is so attractive is that the pattern matcher is guaranteed, so you get all the benefits of syntax-rules without extras. 06:09:48 toast`: Not really, which is unfortunate. 06:10:03 well, then, i'll just write my own :) 06:10:30 i did that with C++'s TR1, and it gave me some keen insights on how C++ templates work. 06:10:31 I've not seen a good presentation of syntax-case that discusses the whole system in a way that satisfies me. 06:10:37 syntax-case has to be easier :) 06:11:52 toast`: Well, one of my todo list items is to come up with a simple one lecture presentation of syntax case that will be suitably educational enough to teach people to use syntax-case effectively. 06:12:22 coo 06:12:27 cool, even 06:12:31 azathoth99: You could make the above in Scheme. I don't know of anyone who has written rsync in Scheme. 06:12:45 you have to admit though, defmacro is amazingly simple to explain 06:13:00 it's just a function operating on lists and symbols 06:13:16 it's hard to match that simplicity in explaination 06:13:17 toast`: So, at that level, it's simple to explain syntax case as well. 06:13:35 It's a function operating on syntax objects and returning syntax objects. 06:14:07 syntax-rules is simpler to use in practice though -- no gensym, no weird mismatches between evaluation times 06:14:13 toekutr [~toekutr@adsl-69-107-98-76.dsl.pltn13.pacbell.net] has joined #scheme 06:14:39 now 06:14:39 heh, true. but then you have to explain the existance of syntax objects -- something CL doesn't have to do, because they already covered that before getting to macros 06:14:46 another thing is abstraction 06:15:09 or ot me kinda waht database does 06:15:12 u take stuff 06:15:16 factor out cmmon 06:15:17 toast`: Well, that's the point, there is more information in syntax objects, and you must explain that in some way. But that information is important when designing correct macros. 06:15:20 put that in table 06:15:22 or variable 06:15:29 and keep doing it until almost nothign left 06:15:41 toast`: Thus, while def-macro is simple, that's like writing a buggy program that mostly works, and teaching it because it is simpler than the correct version. 06:15:47 arcfide: sign me up for your intro to syntax-case though. i tried tinkering it back last year, before i knew anything in scheme, and had some strugle with it. but i didn't spend more than a day on it 06:16:13 arcfide: exactly! i didn't say it was better. i didn't say it was simpler. i said it _looks_ simpler 06:16:21 and that's tempting 06:16:27 Yes, it does look simpler. :-) 06:16:47 In practice I think that you have to think less with syntax-case in practice than with something like DEFMACRO. 06:16:48 it's like forth in that respect 06:17:04 forth! now that is one interesting lang 06:17:07 yeah, i found that syntax case, once i finally fixed all the type errors, worked right 06:17:37 azathoth99: Scheme has three different abstraction axis, data abstraction, syntactic abstraction, and procedural abstraction. 06:17:42 my first def-macro experience ended up producing code that printed: '(let ((x x)) y) or such 06:17:53 which is _clearly_ not what i inteded to print to console 06:18:15 it's very hard to get all the quoting right in tricky defmacros 06:18:38 shoudlnt one build it up bit by bit 06:18:46 so each bit is understand able? 06:19:09 that sounds like a good plan 06:19:12 so you guys would use scheme over anything else for web 06:19:23 azathoth99: I do. 06:19:26 scheme once understood is clear and efficient 06:19:58 i would *like* to, but my host doesn't install scheme, and i haven't bothered to try installing it myself again 06:20:14 i would like a scheme->JS compiler though 06:20:33 toast`: I think it's written. 06:20:48 i'm sure. probably 3 times at least :) 06:21:20 one that supports continuation, one that's fast, and another that implements half of r4 before the author got bored 06:22:57 arcfide: may i ask, which scheme(s) do you use, and for what? 06:23:35 toast`: I use Chez Scheme. I write web applications, do programming language research, AI research, I'm also a contract programmer for various folks, and I teach. 06:23:51 full, or just petite? 06:23:56 So, I use it for Web, server, desktop, and pedagogical applications. 06:24:00 is chez free 06:24:00 Full Chez. 06:24:07 wait liek petit-chez is free? 06:24:18 azathoth99: The Petite Chez Scheme interpreter is free of charge. Chez Scheme costs money. 06:24:18 azathoth99: they have a free interpreter, but compiler is commercial 06:24:23 -!- mmc [~michal@cs181176076.pp.htv.fi] has quit [Ping timeout: 258 seconds] 06:24:30 oh 06:24:30 ok 06:24:33 er 06:24:37 hm 06:24:46 you can save interpreter programs right? 06:25:23 well, it's bytecode compiled, so maybe 06:25:37 azathoth99: If you are interested in a networked application that is fairly simple, you can see my gopher server: Goscher. 06:26:15 woa I think I have seen your site somehow 06:26:18 leme see link? 06:26:30 gopher allows docs and markup docs? 06:26:33 gopher! 06:26:34 lol 06:26:37 old is new1 06:26:39 azathoth99: gopher://gopher.sacrideo.us/1goscher 06:26:39 awesome 06:28:06 woa opens in firefox only 06:28:10 opera woulnt open it 06:28:18 azathoth99: Or Opera and others if you have a proxy. 06:28:25 azathoth99: I use Squid + Opera. 06:28:34 if only i had a browser supporting gopher 06:28:44 Otherwise Lynx works, as well as various web based proxies. 06:28:45 what's wrong with HTTP, like normal people :P 06:28:54 toast`: If you have Firefox, you have gopher support. 06:29:04 chrome 06:29:12 toast`: Does Chrome not support a gopher proxy? 06:29:18 apparently 06:29:19 Opera and IE both support Gopher proxies. 06:29:24 paste it, and it invokes search instead 06:29:32 Ah well. :-) 06:29:32 so how is that different than say a webserver set to display the contents of fodlers? 06:29:36 safari also croaks 06:29:38 I think apache does by mistake by default 06:29:43 or something 06:30:11 azathoth99: I like gopher, partly for the retro effect, and partly because it's convenient for me to give more convenient names and things to things without having to write my own html. 06:30:25 elinks also deals with gopher quite handily. 06:30:28 The next version of goscher will probably have a web server component. 06:30:43 so it just serves files? 06:30:55 doesnt gopherspace have some search ability? 06:31:10 Yes, there are search engines. 06:31:17 (however, it appears that elinks handles gopher by shelling out to lynx. That is delightfully awful) 06:31:29 Archie? Veronica? 06:31:34 Veronica-2. 06:32:00 This is gorgeous, arcfide. 06:32:07 gnomon: What's gorgeous? 06:32:15 goscher. 06:32:52 Oh, You like? :-) 06:33:10 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Quit: smtlaissezfaire] 06:33:25 I can't tell if it's the program itself or if the big silly grin I've got plastered on my face is just nostalgia, but either way, well done! 06:33:50 Well there are some aspects of the code that need cleaning up. 06:34:02 mmc [~michal@cs181176076.pp.htv.fi] has joined #scheme 06:34:48 movei palces hate file sharing 06:34:55 but net is still hard to file share 06:35:02 and hard to have forums 06:35:17 craigslsit si close btu still have lal kinda annoying validation shti going on 06:35:30 online classifieds realy suck mostly 06:35:44 know any decent one aside from backpage.com and craigslist? 06:35:45 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 06:35:48 I tried finding some other day 06:35:54 all suckage 06:36:06 and google groups only usenet interface on web I enjoy 06:36:11 id love to find another but cant 06:37:28 gnomon: Well, join the group and set up your own goscher server! 06:38:13 azathoth99: If you want something else to play with ChezWEB is my latest toy. 06:38:32 It's a hygienic literate programming system. 06:40:24 I heard of literate programming 06:40:40 I don't even know well howto program let alone literate way 06:40:50 is it worth learning? 06:40:57 heh, literate programming in scheme? 06:42:40 toast`: :-) More than that, Schemely Literate Programming. 06:42:53 got a sample? 06:43:00 azathoth99: You should probably just learn to program. :-) 06:43:02 toast`: Yeah. 06:43:07 :) 06:43:10 ;) 06:44:19 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Read error: Connection reset by peer] 06:44:53 toast`: and . 06:45:49 hmm, unique definitely 06:46:07 toast`: That's got some formatting problems because you're looking at the output of a development snapshot. 06:46:21 1.1 will have a number of "improvements." 06:46:22 it typesets well 06:46:27 Though I'd love to hear what you think. :-) 06:46:52 i'm the wrong guy to ask. 06:47:03 i document code with code showing how the code should code in code 06:47:53 my docs are typically "blah blah blah detail detail detail... so when you do [code sample] it will behave as if [code sample] and [code sample] 06:48:06 ... 06:48:09 I see... 06:48:23 what is biggest scheme powered website? 06:48:25 basically, other than a small abstract, i could really write my documentation as one big assert expression :) 06:48:45 That's messed up. 06:48:58 well, not literally that bad 06:49:01 but close. 06:49:06 azathoth99: I can't tell you what the biggest one is, but there are a number of Scheme power websites. PLT's web site is partly driven by PLT Racket. 06:49:14 i'm inspired by the r5rs and C++ standards' styles 06:49:18 azathoth99: I have a few small web sites up right now to the public. 06:49:34 brb, baby 06:52:37 racket? 06:52:44 I jsut heard about racket other day 06:52:48 whats deal with that? 06:53:20 PLT changed the name of their primary language. 06:53:36 That helps to distinguish it from things like R6RS and R5RS standards compliant languages, which racket is not. 06:54:16 oh so no longer plt scheme? 06:54:20 interesting 07:00:19 back, with less screaming :-) 07:00:28 Heh. 07:00:37 toast`: So I'm guessing you don't like literate programming? 07:00:47 I know many Schemers don't like it. :-) 07:00:48 arcfide: i really liked what i saw in literate haskell, with indenting for code 07:01:04 it's not that -- more, i just haven't found out how to use it myself 07:01:11 Ah. 07:01:20 Well, then, I still could use your feedback with what you see there. 07:01:26 i do like what little examples i've seen using it, but only when used sparingly 07:01:38 esp. pedagologically, (sp?) 07:02:23 The main benefit of ChezWEB is that each chunk of code is not copied unhygienically to its reference location. 07:02:54 hm 07:03:00 Instead, it works like regular Scheme macros and the code retains its references hygienically, so you have complete control over the bindings that are visible inside and out of the code chunk. You get to ontrol what things come in, and what things go out. 07:03:08 -!- hybrid_mind [~hybrid_mi@unaffiliated/hybrid-mind/x-023851] has quit [Quit: hybrid_mind] 07:04:48 Version 1.1 of ChezWEB will introduce yet more ways to control the flow of identifiers in and out of various chunks. 07:06:37 so.. ChezWEB is a new dialect? 07:06:45 Dialect? 07:07:02 i mean, it's a general purpose library? 07:07:21 It's actually two libraries and two programs that make it convenient to use these libraries. 07:08:31 One library provides "weave" versions of the ChezWEB forms, which generate the documentation, and the other provides "tangle" versions, for loading files and executing them. The programs allow you to weave files into tex files and get a ChezWEB enabled REPL easily. 07:12:03 lol 07:12:11 wow many interesting operating ssytems out there 07:12:12 now 07:12:15 hoyl crap 07:12:20 any scheme os? 07:12:52 azathoth99: Yes. 07:13:10 http://www.cs.purdue.edu/homes/dec/xsoft.html 07:13:51 http://www.stripedgazelle.org/joey/dreamos.html 07:17:11 looks crappy 07:17:11 lol 07:17:40 arcfide: it looks like tiny-clos isn't really maintained? 07:18:03 toast`: I've never used it, so I couldn't say. 07:18:22 i mean, used anything similar, could recommend? 07:19:37 toast`: I've not found the need for an object system yet. 07:19:49 fair enough 07:20:48 looking to replace my python use with scheme, but i would need *some* single-dispatch subtype polymorphism 07:21:40 toast`: What's your use case? 07:21:58 stackless python I dont understand but its supposed to be rokin 07:22:41 arcfide: concisely defining different behaviors with the kind of data it operates on 07:22:46 toast`: Are you talking about having some method or operation that you want to change for each sub-type of an object? 07:23:10 actually, i rarely use inheritance 07:23:24 but i want a function/method that a family of data types implement 07:23:26 toast`: Okay, so...do you have an example of how you would use this? 07:24:00 Would a suitable example be socket addresses of various types that need to all be able to convert their addresses, to say, a string representation or something? 07:24:08 streams. i have streams that target i memory stores, some files, some network pipes, and some do compression before passing on to other streams 07:24:48 So, you want streams? 07:24:52 these should be distinct types. but i need also be able to write functions that operate on them without knowledge of the type 07:24:55 stream is an example 07:25:11 So you're aware of the common stream SRFis and FORCE and DELAY? 07:25:46 sorry, didn't mean streams in that sense 07:25:59 i meant byte sinks :) 07:26:10 _danb_ [~user@124-170-91-159.dyn.iinet.net.au] has joined #scheme 07:26:21 er, ports :) 07:26:28 So, you're aware of custom ports? 07:26:42 Just as an example. 07:26:44 no. is this r6? 07:26:54 Yes. 07:27:02 And various Schemes implement custom ports. 07:28:01 toast`: Here's an example of a port that ROT13s its input and output. 07:28:44 er, bad example 07:28:49 Hehe. 07:28:54 here's why 07:29:07 in this scenario, i'm authoring stream, as a concept 07:29:27 ... i don't want to have to write make-custom-textual-output-port by hand 07:30:17 What would you do instead? 07:30:35 contrast. in python, i need only say that a stream is anything with a method 'write' that takes an array of bytes 07:30:36 I'm a bit confused. 07:31:13 then to consume it, i write "def hw(s): s.write(map(ord, "hello world"))" 07:31:43 Consume it or write to it? 07:31:51 but what if i want to define my own to-console stream? "class ConStream: def write(self, bytes): print map(chr, bytes) 07:32:18 then, someone can come by and compose the two. "cs = ConStream(); hw(cs)" 07:33:05 CL, likewise, i defgeneric write, defclass ConStream, and defmethod write (cs ConStream) 07:33:06 Okay, right. 07:33:47 So, you use the put-string or put-datum output procedures, that output to a port, any sort of port, it doesn't matter. Then, you just write the various sorts of ports that you want. 07:33:55 (pardon the use of "stream" to mean something other than lazy lists -- bad habit from spending time in C++) 07:34:21 (let ([cs (make-custom-console-output-port)]) (put-string cs "Hello World!\n")). 07:34:53 but again, i'm in the position of the author of 'make-custom-textual-output-port' 07:35:05 You don't have to write make-custom-textual-output-port, that's defined for you. 07:35:12 That's the R6RS procedure. 07:35:19 yes, i know. 07:35:26 okay, too hung up on the example. new example 07:35:35 Foos are things you can Frob. 07:35:57 Okay... 07:35:58 there are Blue Foos, and Yellow Foos, and they Frob differently 07:36:05 Okay. 07:36:11 ... r6rs doesn't define make-custom-foo 07:36:19 Sure it does. 07:36:52 ? 07:37:02 could a web shop use only scheme and get the job done? 07:37:58 arcfide pasted "Attempt at generic subtype procedures" at http://paste.lisp.org/display/111370 07:38:24 azathoth99: You would also need to use other tools, I imagine, such as an image editor and cameras and the like. 07:38:34 Unless you wanted to write your image editors and text editors in Scheme. 07:38:41 And you'd probably need Operating Systems. 07:38:54 toast`: See the above paste. 07:39:02 yes, paste looks nice 07:39:22 of course, you didn't completely define blue-foo 07:39:47 Well, can you flesh out blue and yellow foos? 07:39:48 archlinux.org os 07:39:52 (frob (make-blue-foo)) will fail -- uninitialized field frobber 07:39:55 -!- sepult [~user@xdsl-87-79-175-108.netcologne.de] has quit [Ping timeout: 248 seconds] 07:39:56 im sure linux has liek cemera shit 07:40:08 what about html editor 07:40:14 anything in scheme to make pages? 07:40:15 toast`: Now, it will fail because you didn't pass a frobber to the constructor of the blue-foo. 07:40:24 plus it's rather wasteful to keep the frobber on every instance -- after all, all blue-foos share the same frobber 07:40:36 ah, but all blue-foos have the same frobber 07:40:38 azathoth99: You could use Edwin (Emacs like text editor) or DrRacket to compose your html. 07:40:49 so why should i have to repeat it each time when i create a blue-foo? 07:40:50 -!- metasyntax [~taylor@72.86.89.174] has quit [Read error: Operation timed out] 07:40:53 toast`: It won't be wasteful if they all contain the same frobber. 07:40:58 Hence the use of protocols. 07:41:46 metasyntax [~taylor@72.86.89.174] has joined #scheme 07:41:47 cool. is there a lib that rolls those all up like clos does? 07:41:58 what about using markdown or something so I never have to write html? 07:42:41 do you have a link for this particular meaning of 'protocols' in scheme? 07:42:52 arcfide annotated #111370 "blue-foo extended" at http://paste.lisp.org/display/111370#1 07:43:11 toast`: ^^^ 07:43:27 Keep in mind that records are *not* objects in the OOP sense of having methods and fields. 07:44:14 They are just data abstractions, containing fields. It just so happens that I'm accomplishing the same generality by putting a procedure in one of the fields, but that's not the same thing. The frob method is not inside the record. 07:44:33 is this in the record srfi, r6, or both? 07:44:39 R6RS records. 07:44:44 SRFI-9 doesn't come close to this. 07:45:08 ok, that's where i lost you. i had only read srfi-9 07:45:08 Other record systems allow you to do something similiar, but R6RS has the benefit of keeping it all in one DEFINE-RECORD-TYPE form. 07:45:32 i'll had incorrectly assumed r6 records were more of the same. i'll read up on r6 records 07:46:46 This isn't a replacement for a real object system, but perhaps you get an idea of why I haven't felt a need for a real object system. 07:47:08 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 07:47:48 fair enough, was not aware of this system 07:48:09 not sure what is meant by 'real object system' -- who defines 'real'? :-) 07:48:18 toast`: That's part of the problem. 07:48:33 oo prgrammign is bad 07:48:35 anyhow 07:48:40 well, i don't want a real object system. i want something that gets the job done 07:50:40 lol 07:50:46 edwin seems non gui? 07:50:49 bugger 07:51:05 does mit scheme support r6? 07:51:26 azathoth99: Edwin has an X11 interface. 07:51:35 oh ok 07:51:36 There's also a Win32 interface. 07:51:46 MIT Scheme does not support R6RS. 07:52:09 arcfide: again, it looks like you are storing a separate reference to the blue-frobber in each instance 07:52:12 Of the R6RS systems, I'm only aware of Chez Scheme and PLT that have graphical environments. 07:52:50 toast`: The reference is stored, but that's a single address space, which is 4 bytes on a normal 64-bit machine. The procedure referenced is still the same procedure, and does not get copied. 07:53:23 arcfide: you've written a very nice way to automate setting the frobber field to a particular value. 07:53:27 and that works 07:53:34 but is space wasteful 07:53:42 It's not space wasteful. 07:53:42 but chex isnt free to compile 07:53:46 only interpreter 07:53:48 hmmmm 07:53:51 hmmmmmmmm 07:53:54 azathoth99: Petite Chez is free, and it's a fast interpreter. 07:53:55 :-) 07:54:05 I'm also not suggesting you use SWl, which is the environment. 07:54:12 I use NEdit with Chez Scheme. 07:54:23 arcfide: the size of the object in memory will grows as i add more methods 07:54:25 I don't use SWL, which is more of an educational oriented editor environment. 07:54:27 petti chez free? 07:54:29 that's wasteful 07:54:36 toast`: Size of what object? 07:54:42 NEdit? 07:54:46 azathoth99: A text editor. 07:54:47 each instance of blue-foo 07:54:57 toast`: There is only one "instantiation" of blue-foo. 07:55:05 Sorry, I mean, blue-frobber. 07:55:05 ? 07:55:09 i know 07:55:15 but many instances of blue-foo 07:55:19 So, four bytes per blue-foo created. 07:55:24 and each instance contains a ref to blue-frobber 07:55:29 ah nedit 07:55:32 nedit>emacs? 07:55:36 azathoth99: IMO, yes. 07:55:43 I am kinda inspired to learn scheme now 07:55:43 azathoth99: But that's an intensely personal choice. 07:55:54 okay, Foo v2, each foo has a frob1, frob2, frob3... frob100 method 07:56:05 how big is a blue-foo instance now? 07:56:08 toast`: There might be some more bytes if you do something in blue-frobber that causes a closure to stick around, but even that won't use much at all. 07:56:17 I don't know of any other way that any object system does it. 07:56:44 arcfide: well, single-dispatch statically typed languages use vtables :) 07:56:49 and chez has those good macro? 07:56:54 one ref to a table of function refs 07:56:55 azathoth99: Yes. 07:57:06 toast`: And this is effecient? 07:57:07 continuations? 07:57:22 azathoth99: It fully supports R6RS. 07:57:24 arcfide: yes, only one ref per object, irrespective the number of methods 07:57:30 azathoth99: It also has some good extensions. 07:57:45 toast`: I mean, the table lookup. 07:58:02 arcfide: yes, one extra deref. typically a wash 07:58:17 any web server done in chez? 07:58:28 azathoth99: I have a web programming environment that I wrote for Chez. 07:58:50 toast`: I thought you said that you didn't use a lot of inheritance. 07:59:02 does it work well? 07:59:10 can it take decent load? 07:59:11 toast`: If so, then there should be only one "frobber", unless you have 100 such methods for this parent record. 07:59:12 arcfide: i don't. but i sometimes have many methods :) 07:59:15 azathoth99: yes. 07:59:31 arc: again, it's not the number of frobbers. it's number of superfluous references to the few frobbers 07:59:44 toast`: 100 methods equals probably less than 1KB of memory used. 07:59:49 per object 08:00:01 1KB x number of objects 08:00:08 instead of 16 x number of objects 08:00:26 I think you'll find this to be a premature optimization. 08:00:50 On the other hand, if it really matters to you, then you can of course do table dispatch as well and easily wrap it up. 08:00:56 actually, i already know it's not :) 08:01:16 we had a guy try storing tables of pointers in his objects in C++. the thing keeled over from the bloat 08:01:26 we switched it all back to use virtual functions. problem solved 08:01:31 Since each record has a unique symbol identifying it on systems like Chez Scheme, you can create a hashtable that allows you to get to each method that you want to use. I'm guess that this will be wildly less efficient in terms of general performance. 08:01:47 but again, i don't want to do that work. i want a library that does it for me already 08:01:50 CLOS is one such lib 08:02:02 toast`: I'm talking about maybe two functions or so to get the job done. 08:02:42 toast`: And I frankly don't believe you when you say that it keeled over from bloat because of those pointers. 08:02:55 hm 08:03:01 Unless we're talking about a ton of methods and a ton of objects. 08:03:06 yes 08:03:08 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:03:15 we are :) 08:03:28 it wasn't a pretty system :) 08:03:38 I think some refactoring may be in order. 08:03:41 but that's not really my point. 08:03:53 Specifically, there's no reason to force the problem into an OOP style if it doesn't fit there. 08:04:01 even your code paste was about twice as much code as i'm willing to write :) 08:04:11 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 08:04:15 So, if I were examining that problem myself, chances are good that I would have a different approach that wouldn't result in the need for this subtype dispatch to start with. 08:04:21 no prob 08:04:30 i'll ask elsewhere 08:04:30 toast`: So, wrap it up in a syntax, do it once, never touch it again. 08:04:37 That's what I would do. 08:04:50 http://losangeles.craigslist.org/wst/ads/1787873550.html 08:04:51 cool. and tiny-clos appears to be one attempt to do so :) 08:05:05 toast`: Tiny-clos is much more involved and much more sophisticated. 08:05:20 yeah, it attempts to replicate clos 08:08:43 gopher://gopher.sacrideo.us/0arcrepo/README 08:09:07 arcfide annotated #111370 "Generic function table dispatch" at http://paste.lisp.org/display/111370#2 08:09:17 toast`: There's roughly speaking how I might do something like this. 08:11:08 So, with each parent of the class or for any given record your associate a dispatch table with it, so you store a single pointer to the dispatch table for each object. Then, you you have the generic call function, or you define a special call function automatically for each record type, that takes the method name, looks it up, and then applies it to the args. 08:11:12 cool. once last challenge :-) 08:12:06 -!- R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 08:13:36 i want a single defmethod such that (defmethod frob (x list) (display "it's a list")) and (defmethod frob (x blue-foo) (display "it's a blue foo")) are both valid and do what they seem to suggest 08:14:09 (okay, i'm being silly and practically asking for clos by name, but i had to throw it out there while you were volunteering to code stuff up) 08:14:16 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 08:16:46 So, I wouldn't do it quite like that. I would have to require that DEFMETHOD accepted predicate procedure names instead of type names there. Then, each procedure that is created would close over a list of predicates which would get applied to the incoming object to determine the right procedure to call. Not pretty, not fast, but it would work. I don't like interfaces like this, but it wouldn't be any slower than hand coding it, 08:17:19 Now.... 08:17:39 how in heck do I learn to import scheme libraries n stuff 08:17:49 Read TSPL4. :-) 08:18:15 it's free, right? 08:18:29 http://www.scheme.com/tspl4/ 08:18:37 You didn't read the topic, did you? :-) 08:19:58 toast`: These sort of interfaces encourage what I would call an excessive amount of data types. 08:20:22 I rarely see a need for generic functions unless you really really don't know what's coming in. 08:20:40 well, sometimes you want to represent data differently 08:20:41 But IME, when writing Scheme, you know what is coming in most of the time, so you shouldn't write generic functions that have to dispatch. 08:20:51 it always bothers me that map doesn't work on streams :) 08:21:03 i should have to care how the sequence is represented 08:21:11 all i care is that it's a sequence i can read 08:21:23 toast`: Things like foof loop, extensive readers and writers for records, custom ports, and the like usually work much better for me than generic functions. 08:22:00 If you're talking about port streams, then custom ports are what you want. 08:22:32 And if that's not what you want, foof loop is an looping library that lets you create custom iteraters. 08:22:40 sorry, talking about lazy-streams now :) 08:22:50 If you're talking about real streams.... 08:23:03 What's wrong with using stream-map? 08:23:34 http://www.scheme.com/tspl4/ so this shows howto import libs? 08:23:38 you mean 08:23:52 arcfide - then my code doesn't work (efficiently) on lists 08:24:00 azathoth99: That's an entire reference in a more User's Guide format to R6RS. http://www.r6rs.org provides the actual standards document. 08:24:11 toast`: why not? 08:24:22 because i have to convert them to streams first 08:24:26 You use MAP for lists, and STREAM-MAP for streams, you don't mix the two. 08:24:45 I don't usually find a good reason to mix the two. 08:24:53 that's my point - i want to write generic code, that is agnostic to list or stream 08:25:06 no prob. i'll ask someone who does then :) 08:25:40 toast`: If you really honestly, truly need this generality, then you can use generic functions, but I'm saying that most of the time, IME, that's not what you want in Scheme. I usually see people "needing" this functionality because they want to port some paradigm over from another language. 08:26:18 true. i got spoiled in haskell and C++, and i'm trying to port the paradigm into my scheme code :) 08:26:31 Spoiled isn't the word I would use. :-) 08:26:42 really? it isn't? 08:26:56 dont try to do in scheme 08:27:00 stuff from non scheme 08:27:03 thats crazy 08:27:04 (double entendre) 08:27:09 lol 08:27:15 toast`: C++ and Haskell are both statically typed languages. 08:27:28 yeah. by python isn't, and i do this in python too :) 08:27:36 toast`: Python is crazy. 08:27:50 well, not typeclasses though. bugs me i can't replicate that in python effectively 08:27:50 toast`: I haven't seen any good python code that I thought was readable or maintainable. 08:27:58 R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has joined #scheme 08:28:19 toast`: My main point is that specificity and precision are good things in a language that doesn't have a type system handcuffing you to certain interfaces. 08:29:16 While it's very nice to have generic functions for some things, such as for printing random datum values, it's another to have random generic methods sitting around in code somewhere in the middle. 08:29:31 arcfide: very true about python. it's really good for projects under 100 lines, but then it falls over maintenence-wise 08:29:45 In a sense, it's harder to understand code that just uses FROB than FROB/STREAM. 08:30:01 but that's the thing -- haskell and C++ are _less_ handcuffing here 08:30:14 in haskell, i can fmap just about anything 08:30:15 masm [~masm@bl16-171-161.dsl.telepac.pt] has joined #scheme 08:30:25 So, readable Scheme code makes the types explicit through naming convention and specific, meaningful procedures and data types, rather than having generic functions operating all over the place. 08:30:27 (fmap is a *super* agnostic map) 08:31:04 You could require that all of your data types provide some generic interface for writing, like I showed you, but my point is that this is mostly not a good idea. 08:31:06 *elly* frobnicates arcfide idly. 08:31:30 ... so not responding to that 08:31:32 Firstly, it makes your code slower. 08:31:46 Secondly, it makes your code harder to understand, IME. 08:32:29 That's not to say that I haven't done this, as I have done this on numerous occasions, but it's always a last resort. 08:32:43 i think i'm too young to see public frobnication 08:33:49 toast`: And if you really need generic functions a la CLOS, then by all means use it. :-) 08:34:06 Sometimes the right solution is an OOP design. 08:34:20 well, i really _dislike_ most other aspects of CL :) 08:34:29 toast`: I meant a CLOS system in Scheme. 08:34:40 cool. which is the best one in Scheme? 08:34:43 wow chicken scheme has a webserver 08:34:58 does petit chez? 08:35:00 link? 08:35:00 ... we've come full circle to my original question :) 08:35:03 toast`: No idea, though I have always heard mostly of Tiny-CLOS. 08:35:31 azathoth99: I'm not aware of a Chez Scheme specific web server, but I use mod_lisp, which links Chez Scheme in with Apache. 08:35:54 azathoth99: a gopher://gopher.sacrideo.us/ has the Arctic Repository, where you can find my mod_lisp web programming framework. 08:36:01 Along with SXML and some other things. 08:36:42 ah 08:36:44 how nice 08:38:21 toast`: Do you actually have a project in mind that you think actually requires OOP? 08:38:37 well, nothing _requires_ OOP :-) 08:38:42 And which the above basic techniques I mentioned will not work? 08:38:45 it's just convenient sometimes 08:38:51 toast`: A project in mind where OOP is the right solution. 08:39:22 trying to think of one i can talk about ... 08:39:48 (brain fried, long week) 08:40:55 can i take door number two, generic programming? 08:41:00 I'm just waiting for ISOs to burn. 08:41:14 *arcfide* sighs. 08:41:22 eh, could be worse 08:41:29 Taha_ [~Taha@adsl196-134-204-206-196.adsl196-7.iam.net.ma] has joined #scheme 08:41:33 cranky baby doesn't want to sleep for more than an hour at a time 08:41:47 -!- Taha_ [~Taha@adsl196-134-204-206-196.adsl196-7.iam.net.ma] has left #scheme 08:42:36 i'm thinking to the case of generic programming, but there you have very few objects, so the field-based approach is not too bad 08:43:15 a bit verbose. yes, i know i can wrap it up in some nice macros. yes, i will do that if i can't find a lib that does it for me already 08:53:33 -!- arcfide [~arcfide@adsl-99-75-51-152.dsl.bltnin.sbcglobal.net] has quit [Quit: Leaving.] 09:06:01 -!- toekutr [~toekutr@adsl-69-107-98-76.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 09:33:41 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 09:42:30 hotblack23 [~jh@p4FC5BA5B.dip.t-dialin.net] has joined #scheme 09:43:51 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 09:53:46 -!- Nshag [user@lns-bzn-22-82-249-91-18.adsl.proxad.net] has quit [Ping timeout: 264 seconds] 10:03:46 -!- azathoth99 [~gav@cpe-76-172-28-85.socal.res.rr.com] has quit [Read error: Connection reset by peer] 10:05:38 Nshag [user@lns-bzn-37-82-253-22-232.adsl.proxad.net] has joined #scheme 10:05:51 -!- R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has quit [Ping timeout: 276 seconds] 10:10:01 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:13:32 -!- jao [~user@234.Red-88-6-161.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 10:22:10 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 10:32:40 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 10:41:54 schmir [~schmir@p548DA848.dip.t-dialin.net] has joined #scheme 10:49:23 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 10:54:47 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Ping timeout: 245 seconds] 10:59:07 -!- schmir [~schmir@p548DA848.dip.t-dialin.net] has quit [Ping timeout: 265 seconds] 11:01:01 sepult [~user@xdsl-84-44-143-130.netcologne.de] has joined #scheme 11:08:56 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 11:12:43 -!- Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 248 seconds] 11:13:43 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 11:35:22 Blkt [~user@net-188-152-134-66.t2.dsl.vodafone.it] has joined #scheme 11:43:49 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 11:46:10 -!- sepult [~user@xdsl-84-44-143-130.netcologne.de] has quit [Remote host closed the connection] 11:48:39 ludwig- [~ludwig-@adsl-69-235-210-227.dsl.irvnca.pacbell.net] has joined #scheme 11:49:57 sepult [~user@xdsl-84-44-143-130.netcologne.de] has joined #scheme 12:08:58 -!- Blkt [~user@net-188-152-134-66.t2.dsl.vodafone.it] has quit [Ping timeout: 276 seconds] 12:11:52 MrFahrenheit [~RageOfTho@users-55-242.vinet.ba] has joined #scheme 12:16:10 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 12:16:51 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:17:18 HG` [~HG@85.8.90.110] has joined #scheme 12:19:31 fradgers- [~fradgers-@5e02b45e.bb.sky.com] has joined #scheme 12:21:04 ktzqbp [~ktzqbp@unaffiliated/ktzqbp] has joined #scheme 12:26:17 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Read error: Operation timed out] 12:27:38 xwl [~user@114.250.49.67] has joined #scheme 12:33:05 -!- hotblack23 [~jh@p4FC5BA5B.dip.t-dialin.net] has quit [Quit: Leaving.] 12:36:58 rbarraud [~rbarraud@118-93-76-89.dsl.dyn.ihug.co.nz] has joined #scheme 12:44:55 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 12:51:01 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 12:55:14 -!- joast [~rick@76.178.178.72] has quit [Ping timeout: 240 seconds] 13:04:35 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 13:11:21 joast [~rick@76.178.178.72] has joined #scheme 13:19:35 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 13:20:46 luz [~davids@189.60.69.82] has joined #scheme 13:23:36 -!- rbarraud [~rbarraud@118-93-76-89.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 13:26:29 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:32:10 -!- Zarutian [~zarutian@194-144-84-110.du.xdsl.is] has quit [Ping timeout: 276 seconds] 13:33:10 hybrid_mind [~hybrid_mi@unaffiliated/hybrid-mind/x-023851] has joined #scheme 13:37:06 Zarutian [~zarutian@194-144-84-110.du.xdsl.is] has joined #scheme 13:39:01 Blkt [~user@net-93-146-128-15.t2.dsl.vodafone.it] has joined #scheme 13:43:31 -!- ktzqbp [~ktzqbp@unaffiliated/ktzqbp] has quit [Remote host closed the connection] 13:46:52 -!- Blkt [~user@net-93-146-128-15.t2.dsl.vodafone.it] has quit [Ping timeout: 245 seconds] 13:55:55 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 14:05:55 alvatar [~alvatar@142.119.20.95.dynamic.jazztel.es] has joined #scheme 14:11:22 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 14:19:26 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 14:20:10 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 14:23:02 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 14:34:40 -!- mmc [~michal@cs181176076.pp.htv.fi] has quit [Ping timeout: 258 seconds] 14:35:46 -!- Zarutian [~zarutian@194-144-84-110.du.xdsl.is] has quit [Ping timeout: 260 seconds] 14:43:35 -!- sepult [~user@xdsl-84-44-143-130.netcologne.de] has quit [Remote host closed the connection] 15:01:02 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Ping timeout: 245 seconds] 15:04:22 jewel [~jewel@196-210-187-58-tbnb-esr-2.dynamic.isadsl.co.za] has joined #scheme 15:39:51 ben_m [~ben@chello084113058207.12.vie.surfer.at] has joined #scheme 15:41:31 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 276 seconds] 15:42:49 emma [~em@unaffiliated/emma] has joined #scheme 15:50:39 -!- HG` [~HG@85.8.90.110] has quit [Quit: Leaving.] 16:04:11 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 16:07:28 -!- Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 16:08:20 Blkt [~user@net-188-152-131-94.t2.dsl.vodafone.it] has joined #scheme 16:18:50 -!- hybrid_mind [~hybrid_mi@unaffiliated/hybrid-mind/x-023851] has quit [Quit: hybrid_mind] 16:26:02 -!- jewel [~jewel@196-210-187-58-tbnb-esr-2.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 16:38:06 -!- ludwig- [~ludwig-@adsl-69-235-210-227.dsl.irvnca.pacbell.net] has quit [Quit: ludwig-] 16:38:53 -!- xwl [~user@114.250.49.67] has quit [Ping timeout: 272 seconds] 16:42:00 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 16:47:39 gravicappa [~gravicapp@91.78.229.55] has joined #scheme 16:55:11 -!- _danb_ [~user@124-170-91-159.dyn.iinet.net.au] has quit [Remote host closed the connection] 17:08:15 Nils^ [steele@beegees.mtveurope.org] has joined #scheme 17:09:08 sepult [~user@xdsl-84-44-143-130.netcologne.de] has joined #scheme 17:09:59 hi people. Using Guile. Any idea how to work with the Scroll Lock key in Scheme? I think because of the keyboard-led there needs to be a way to check the global status of scroll_lock. 17:12:11 -!- Blkt [~user@net-188-152-131-94.t2.dsl.vodafone.it] has quit [Ping timeout: 248 seconds] 17:13:55 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 17:14:53 hi!! 17:16:15 I'm trying to play a little bit with continuations, and I want to make a procedure that calculates something puts it somewhere else and continues the computation. Better if I paste an example (which doesn't make much sense but illustrates the idea): 17:16:19 ?paste 17:16:21 paste? 17:16:24 !paste 17:16:34 lisppaste 17:16:37 Don't just try random things. Also, read the channel topic. 17:16:46 lisppaste: url? 17:16:46 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 17:16:57 sorry 17:17:44 I thought it was one of those 17:18:13 alvatar pasted "leave-come-back" at http://paste.lisp.org/display/111373 17:18:48 I use values here because I want to be able to produce more values and work with them, this is just a simplified case of my problem 17:19:16 the problem is that calling the continuation (go-back) yields the result but actually calls it! 17:19:35 and just GO-BACK without parenthesis just outputs the continuation intself 17:19:45 I would need some way to actually go there but not call the result 17:21:26 -!- joast [~rick@76.178.178.72] has quit [Read error: Operation timed out] 17:25:24 hadronzoo [~hadronzoo@71.21.200.158] has joined #scheme 17:26:34 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 17:33:51 R3cur51v3 [~Recursive@173-30-57-91.client.mchsi.com] has joined #scheme 17:38:39 I guess people is watching the World Cup :) 17:39:36 joast [~rick@76.178.178.72] has joined #scheme 17:40:18 There was a way to expand lists into arguments, but I can't remember how 17:40:34 It was like, (call + '(1 2 3)), but I can't find the example I saw anywhere 17:41:21 I think you mean apply? 17:41:28 (apply + '(1 2 3)) 17:41:44 That was it, thankyou 17:41:58 np 17:44:50 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:44:57 -!- Nils^ [steele@beegees.mtveurope.org] has left #scheme 17:52:37 Blkt [~user@net-93-151-226-46.t2.dsl.vodafone.it] has joined #scheme 18:00:52 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 18:03:00 -!- Blkt [~user@net-93-151-226-46.t2.dsl.vodafone.it] has quit [Ping timeout: 265 seconds] 18:03:01 -!- WormDrink [~WormDrink@196-210-40-30.dynamic.isadsl.co.za] has quit [Quit: WormDrink] 18:10:53 Blkt [~user@net-93-145-59-186.t2.dsl.vodafone.it] has joined #scheme 18:11:27 Zarutian [~zarutian@194-144-84-110.du.xdsl.is] has joined #scheme 18:12:03 RageOfThou [~RageOfTho@users-55-23.vinet.ba] has joined #scheme 18:15:39 -!- MrFahrenheit [~RageOfTho@users-55-242.vinet.ba] has quit [Ping timeout: 248 seconds] 18:16:23 HG` [~HG@xdsl-92-252-23-26.dip.osnanet.de] has joined #scheme 18:23:45 -!- Blkt [~user@net-93-145-59-186.t2.dsl.vodafone.it] has quit [Ping timeout: 276 seconds] 18:40:47 Fare [~Fare@140.247.143.81] has joined #scheme 18:47:57 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 18:55:34 m4dv0y [~pancho@201.215.3.226] has joined #scheme 18:55:44 hi 18:59:47 heya 19:00:10 can anyone help me with an assigment 19:00:13 :( 19:01:02 That depends. What's the problem? 19:01:19 mjonsson [~mjonsson@cpe-74-68-121-85.nyc.res.rr.com] has joined #scheme 19:01:42 -!- HG` [~HG@xdsl-92-252-23-26.dip.osnanet.de] has quit [Quit: Leaving.] 19:02:43 i've to do a function in scheme 19:02:48 called add-node 19:03:07 Well, how do you define a node? 19:03:12 which adds a node in a binary tree 19:03:20 Just a binary tree or a binary search tree? 19:03:34 just binary tree 19:04:00 then i've to make some another functions like 19:04:05 create-tree 19:04:07 pre-order 19:05:00 Have you heard of "How to Design Programs'? 19:08:06 noup 19:09:22 http://www.htdp.org/2003-09-26/Book/curriculum-Z-H-19.html#node_sec_14.1 19:09:26 That covers binary trees. 19:09:28 In scheme 19:13:40 Blkt [~user@net-188-152-134-252.t2.dsl.vodafone.it] has joined #scheme 19:14:50 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 19:19:09 :O 19:23:29 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 19:25:13 -!- hadronzoo [~hadronzoo@71.21.200.158] has quit [Quit: hadronzoo] 19:25:19 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 19:26:46 -!- Blkt [~user@net-188-152-134-252.t2.dsl.vodafone.it] has quit [Ping timeout: 258 seconds] 19:27:58 Michael_Mohamed [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 19:28:20 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 19:31:02 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 19:31:54 I should read htdp or sicp 19:55:37 -!- sepult [~user@xdsl-84-44-143-130.netcologne.de] has quit [Ping timeout: 245 seconds] 19:58:42 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Ping timeout: 260 seconds] 20:05:32 ludwig- [~ludwig-@adsl-69-235-210-227.dsl.irvnca.pacbell.net] has joined #scheme 20:12:16 -!- m4dv0y [~pancho@201.215.3.226] has left #scheme 20:12:50 ben_m: do you know programming already? 20:13:14 alvatar : you need some way to actually go *where* ? 20:14:07 pjb: yeah 20:14:13 ben_m: if you already know some programming, you could read sicp first, and later htdp to improve your scheme skills. If you don't know how to program yet, first learn it with scheme, reading htdp, and then be sure to read sicp. 20:14:39 ben_m: said otherwise: read both! 20:15:10 I always wanted to read SICP, but the first few chapters seemed ... boring 20:15:22 ben_m: then start with the videos! :-) 20:15:23 Maybe it's because I already know programming 20:29:30 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 20:32:46 ski: to the "begin", where it will then return n 20:33:11 ski: that actually seems to work, because you can read that the output is ((0 1 2 3)) 20:33:22 ski: being '(0 1 2 3) what is desired 20:33:30 ok, first you want to go into the recursion, then jump out, recalling where to continue 20:33:40 so, what do you want to do after jumping out ? 20:33:45 immediately jump back in ? 20:33:55 do some other processing, and maybe later jump back in ? 20:34:11 ski: sorryy 20:34:21 ski: in this version is (5) the output 20:34:32 ws [wswieb@akson.sgh.waw.pl] has joined #scheme 20:34:42 btw, it is probably problematic that you return the continuation and `n' to the same place 20:35:27 ski: yes, my intention is to be able to do a typical recursive computation, when I reach the end leave a value in some place, do something with it (perhaps), and return so I can use the result of the recursive computation 20:35:46 (though the example might be more interesting if `recur' weren't tail-recursive ..) 20:36:08 Anyone in here used chicken scheme's SDL bindings yet? 20:36:18 I wonder how suited Scheme is for game dev. using SDL 20:36:31 ski: the intention is to use it with typical tail-recursive algorithm 20:37:41 ski: and precisely be able to capture the result of, for example, a MAP, where the last value is captured, processed and return as another value, together with the map 20:38:05 well, if you're only calling `k' in tail position inside the `(call/cc (lambda (k) ...))', then you might as well omit that `call/cc' call 20:38:31 ben_m: some crazies wrote commercial opengl based game in gambit... chicken should be fine, too. 20:38:59 Doesn't have to be chicken, it's just the only one I found that has sdl bindings 20:39:20 btw, depending on what you're trying to do, composable continuations might be more appropriate .. 20:40:09 ski: ah, I wasn't aware of this. I'm going to read it. ThankS! 20:41:59 (in any case, i would consider returning `(lambda () n)' instead of n' .. then evaluating `(go-back)' will either call the continuation, or, after that has already been done, `go-back' will now contain `(lambda () n)' so the same call `(go-back)' (which is performed anew) will now return `n' for you) 20:42:53 *ski* goes in search of sleep 20:43:58 ski: thanks! 20:44:08 ski: what means 'performance anew'? 20:44:15 ski: (sorry not native english) 20:44:41 i think he means the second call to (go-back) 20:45:01 first time to call it, it will call the continuation. second time, it will return 'n' 20:45:14 ah ok, ok, I read wrongly :) 20:45:16 thanks 20:46:32 jewel [~jewel@196-210-187-58-tbnb-esr-2.dynamic.isadsl.co.za] has joined #scheme 20:48:31 -!- incubot [incubot@klutometis.wikitex.org] has quit [Remote host closed the connection] 20:51:02 -!- jewel [~jewel@196-210-187-58-tbnb-esr-2.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 20:53:45 incubot [~incubot@klutometis.wikitex.org] has joined #scheme 21:00:37 -!- toxygen [toxygen@stip-static-98.213-81-186.telecom.sk] has quit [Ping timeout: 264 seconds] 21:00:47 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:03:00 schmir [~schmir@p57ADE376.dip.t-dialin.net] has joined #scheme 21:11:10 saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 21:13:23 kar8nga [~kar8nga@82.66.176.74] has joined #scheme 21:20:09 mmc [~michal@cs181176076.pp.htv.fi] has joined #scheme 21:31:42 -!- alvatar [~alvatar@142.119.20.95.dynamic.jazztel.es] has quit [Quit: leaving] 21:33:15 anyone played around with CADR, btw? http://www.unlambda.com/lisp/cadr.page 21:33:21 looks like an interesting curiosity 21:44:59 -!- gravicappa [~gravicapp@91.78.229.55] has quit [Ping timeout: 260 seconds] 21:48:02 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 21:50:33 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Quit: Leaving.] 21:54:09 -!- cky [~cky@cpe-065-190-148-048.nc.res.rr.com] has quit [Quit: cky] 21:54:27 cky [~cky@cpe-065-190-148-048.nc.res.rr.com] has joined #scheme 21:57:21 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Quit: smtlaissezfaire] 22:00:53 -!- schmir [~schmir@p57ADE376.dip.t-dialin.net] has quit [Remote host closed the connection] 22:02:45 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 22:08:12 -!- Fare [~Fare@140.247.143.81] has quit [Read error: Operation timed out] 22:17:58 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 22:18:13 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 22:27:10 -!- ws [wswieb@akson.sgh.waw.pl] has quit [Quit: ...] 22:29:48 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Quit: smtlaissezfaire] 22:40:47 rbarraud [~rbarraud@118-93-76-89.dsl.dyn.ihug.co.nz] has joined #scheme 22:46:26 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 22:52:05 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 22:53:06 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 22:55:00 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 22:58:39 -!- kar8nga [~kar8nga@82.66.176.74] has quit [Remote host closed the connection] 23:00:12 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Quit: smtlaissezfaire] 23:01:56 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 23:06:56 -!- ben_m [~ben@chello084113058207.12.vie.surfer.at] has quit [Quit: WeeChat 0.3.1-dev] 23:12:01 smtlaissezfaire [~smtlaisse@208.120.172.212] has joined #scheme 23:16:05 -!- smtlaissezfaire [~smtlaisse@208.120.172.212] has quit [Client Quit] 23:27:05 ssbr [~scorchsab@user65-127.vicres.utoronto.ca] has joined #scheme 23:27:43 What's a good Scheme book to recommend to somebody who wants to learn how to program? 23:30:27 ssbr: The Little Schemer is good 23:36:11 SICP videos are the shizz :) 23:36:24 20 hours investment but well worth it IMHO 23:36:36 SICP book is excellent too 23:36:44 http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ 23:36:55 Yeah, but maybe a little too hardcore for someone with zero programming experience 23:37:02 Well, I'm off 23:37:04 g'night 23:37:05 naaah 23:37:08 goodnight 23:37:24 ssbr: what sort of background do you haz? 23:37:42 rbarraud: It's not for me, I already know some Scheme 23:41:26 -!- elly [~elly@unaffiliated/elly] has quit [Remote host closed the connection] 23:42:38 m4dv0y [~pancho@201.215.3.226] has joined #scheme 23:42:45 hello 23:43:22 elly [~elly@unaffiliated/elly] has joined #scheme 23:48:14 arcfide [~arcfide@adsl-99-75-51-152.dsl.bltnin.sbcglobal.net] has joined #scheme 23:52:20 I think SICP is fine if the viewer has some basic math background 23:52:41 does require ability to focus and pay intense attention though 23:52:57 ...attributes which seem to be in increasingly short supply?