00:01:15 Lilarcor [n=Lilarcor@208-59-127-107.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has joined #scheme 00:01:59 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 00:03:15 google personalised search can do that if you have search history enabled on your google account, but wikipedia is pretty high normally 00:03:43 yes its expanding as well 00:03:45 :) 00:04:56 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 00:09:43 mzscheme: what am I supposed to require with whine default-load-handler: expected a `module' declaration for `blah.scm 00:10:23 Perhaps you should put a module declaration in blah.scm, or look up in the manual what a module declaration is. 00:10:35 its just hello world and some string play 00:10:55 projections: google's priority algorithm is based on how many sites link to a particular site. 00:10:57 -!- Lilarcor [n=Lilarcor@208-59-127-107.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has quit ["The Lord of Murder Shall Perish."] 00:11:36 This is so old school... 00:11:44 cursormire: mzscheme likes everything to be a module... top-level forms are hard to pin down. But try "mzscheme -f hack.scm" 00:12:14 cursormire: are you using plt? 00:12:21 yeah 00:12:40 synx: i see 00:12:41 you should use drscheme, unless you have a really good reason not to 00:12:43 If you just put "#lang scheme/base" as the first line of a file plt will interpret that as (module ... scheme/base ... contents-of-file). Most people do that. 00:13:12 whoa, -f flag helped. or was it the (require scheme/init) 00:13:18 projections: I'm not sure how much of it is public besides that. They have had to correct for link spammers a number of times so far. 00:13:33 Why don't you try reading the manual, rather than guessing randomly, cursormire? 00:13:59 No it's the -f flag. It effectively does what "#lang scheme" does. ... "#lang mzscheme" I think 00:14:15 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 00:14:37 http://docs.plt-scheme.org/ 00:15:05 drscheme makes lots of these questions to away 00:15:21 synx: thanks again,need to read more to have a chat with you guys :D 00:16:37 I need a toolset that makes everything as easy and swift as posso, not an interactive pedacogic environment... 00:17:04 cursormire: you might be surprised 00:17:40 cursormire: i'm the author of the scheme add-on most people use for emacs, and i tell people to start with drscheme, even if they know emacs 00:18:26 whats this nonsense about #lang this and #lang that? Cant I just use one language base and be done with it 00:18:51 No, because PLT Scheme is a multilingual environment (and I don't mean that the documentation comes in French too). 00:19:06 Is there a way to get chicken eggs that aren't in binary format? 00:19:11 neilv I really have enough problems with the actual real world problem and learning scheme as it is. Additional tools/ides etc ... I dont want 00:19:20 Gunzip and untar them, arcfide. 00:19:29 cursormire: hear me now and believe me later 00:19:33 ...Okay. 00:20:50 neilv you mention but provide no arguments 00:21:06 saccade_ [n=saccade@c-66-31-201-117.hsd1.ma.comcast.net] has joined #scheme 00:21:22 why is drscheme so good? 00:21:33 cursormire: in the time i could make my arguments, you would already have your experimental program working in drscheme 00:22:04 or you can figure out why you don't have the right command-line arguments for mzscheme, and then when your program seems to load but not run, and then why you can't seem to get and the things you just defined 00:22:11 neilv could tell you that French is a better language than English for slinging vitriolic insults, but such arguments wouldn't do you much good if you couldn't try the two yourself and compare. 00:23:13 cursormire: If you don't like DrScheme, don't feel the need to use it. You don't even have to use PLT. There are plenty of other ones. 00:23:22 Why cant scheme just do this work for me. I want to create logic, not dwell in libraries... 00:23:43 ??? 00:24:06 you continue to ask questions you would not if you just typed your program into drscheme. you can figure out later why they do things the way they do 00:24:16 right now, you are making false assumptions 00:24:51 Typed a 200 line prog into DrSchjme 00:25:08 I want to interpret it, not engage in it 00:25:27 minion: advice for cursormire 00:25:28 cursormire: #11963: It's easy to get the *wrong* answer in O(1) time. 00:25:33 now hit the Run button or the Check Syntax button 00:26:18 cursormire: what language are you coming from? 00:26:51 ok, you are saying that DrScheme can tell me 1) which modules to (require) 2) which #lang definition to use for a 'hello world' program? 00:27:01 pumpkin ruby 00:27:03 http://www.freeimagehosting.net/image.php?4480c5e94a.png 00:27:26 if you start drscheme and change the language to Module, it will add the "#lang scheme" for you 00:27:27 ecma/javascript is fun too. and xslt. 00:27:44 and when you get time, you can learn why that is 00:27:59 #lang scheme (display "Hello, world!") 00:28:04 I tried that, and #lang mzscheme, but mzscheme whines about expecting a module 00:28:09 Happy? 00:28:16 (You may need to put those on separate lines.) 00:29:04 Ah well, I 'better read the docs' (marks one minus on scheme scoreboard) 00:29:11 -!- wy [n=wy@66.194.68.209] has quit ["Leaving"] 00:29:23 Golly, for what programming languages need one not read any documentation? 00:30:02 i think ruby is your language 00:30:27 maybe python 00:30:31 cursormire: sounded to me like you'd already made up your mind 00:31:20 Naw, its just that ruby is just easier to approach. Its clearly a generation ahead. 00:31:28 heh 00:31:31 "clearly" 00:31:32 you don't actually even have to read the documentation, but assuming you know everything is counterproductive 00:31:32 For same reasons I hated java. Its just old-fashioned 00:31:53 fwiw, ruby doesn't tell you what you should've require'd either :P 00:32:23 =) 00:32:24 For 'hello world'? Hello? 00:32:38 but I'm sure you have hundreds of other ways in which scheme is not ruby, and thus inferior :) 00:32:48 Thats not the point. 00:32:55 *pumpkin* shrugs 00:32:56 cursormire: you don't know what you're talking about. you can either learn, or you can go away, but we don't need trolling 00:33:16 I came to scheme cause I assume it is superior performance wise - and because I assumed its the next best thing for me. 00:33:34 cursormire, for "hello world", you need not require anything. Open up DrScheme (or MzScheme, or anything that gives you a REPL) and type "hello world" and observe the result. 00:33:43 That doesnt mean I wouldnt criticize it or point out things that need improvement. 00:34:01 Riastradh: he's assuming how it should work, so making more trouble for himself 00:34:28 Riastradh ok, experiment: open terminal, edit up a simple scheme program and try to use mzscheme to interpret it. 00:34:39 *`Antonio`* yells YES !!! 00:35:32 I am actually not assuming, but hoping I would not need to know how it should work, because whoever made it knew how it should work (cause they made it, they know best right...) 00:35:35 `Antonio`: dare I ask? :) 00:35:46 *rudybot* mumbles about how that's pretty much his entire life 00:36:19 -!- MrFahrenheit [n=RageOfTh@92.36.171.115] has quit [Read error: 110 (Connection timed out)] 00:37:29 Sorry, I don't have any of PLT Scheme installed right now, cursormire. I looked at , and searched for the word `file', and found a brief paragraph explaining exactly how to save code in a file and make the `mzscheme' program run it. 00:38:16 -!- ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 00:38:26 Does that not work if you try it? 00:38:40 Wow. Its the same page I was reading earlier. 00:38:52 cursormire: i know what you're saying and what you expect. i'm just telling you that the way that things are done is INTENTIONAL, and there's a reason. appealing to every snot-nosed punk who knows one language and thinks everything should follow the ruby philosophy is not a high priority 00:39:22 in fact, it's incidentally a filtering mechanism 00:39:26 then scheme sucks 00:39:40 cursormire, so what happens when you try what I just described? Does the `mzscheme' program not do what that documentation suggests it would do? 00:39:44 yeah, everyone who thinks scheme sucks should leave and not come back 00:39:55 I need direct thought transfer between human and machine 00:40:02 damn right! 00:40:11 for me, the closest language to my mind is lolcode 00:40:11 I guess the intros are bit confusing. Hard to write tuts for people who know nothing about the stuff you know all about,. I know. 00:40:36 So, is there supposed to be '#lang scheme' *and* requiring some modules? 00:40:49 -!- npe [n=npe@91.180.55.179] has quit [] 00:41:10 (at the start of your .scm file) 00:41:44 cursormire: maybe you should start by reading this: http://www.scribd.com/doc/15556326/Structure-and-Interpretation-of-Computer-Programs-SICP 00:41:46 -rudybot:#scheme- http://tinyurl.com/qsrube 00:42:16 neilv are you innuating 1) Im snot nosed, 2) I know only 1 language, 3) That what you said is factual or accurate about ruby? 00:42:30 X-Scale2 I already read that, thanks. 00:42:46 the whole thing? :o 00:42:54 Oh...who would have guessed :9 00:43:37 Riastradh I always get the default-load-handler: expected a `module' declaration for `qtst.scm', found: something else in: # What's in qtst.scm? 00:44:33 #lang scheme || #lang mzscheme && ; Hello world 00:44:34 (begin (display "Hello, Openbox") (newline)) 00:44:49 Sorry, where did the `|| #lang mzscheme &&' part come from? 00:44:52 the || and && not actually there 00:45:06 tested both 00:45:27 OK. Now, you must specify (1) exactly what you typed, (2) exactly what you saw, and (3) exactly what you expected to see. 00:45:59 Look, never mind. I'll try the kiddies own little DrScheme for now 00:46:02 Probably for (1) you should start from a shell prompt. 00:46:16 cursormire: Why don't you use LispPaste to paste your EXACT Terminal Session. 00:46:26 lisppaste: url 00:46:26 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 00:46:30 (When did lisppaste get camelcased?) 00:46:52 Riastradh: Sorry, Hehe, Unknown Instinct took over. 00:47:09 (When did random words in the middle of sentences get titlecased...?) 00:47:25 Riastradh: That was intentional, as I mean it in the sense of a proper noun. 00:47:41 The sound of laughter is a proper noun? 00:47:47 :) 00:48:04 That...eh, well, that...I don't know what that is. 00:48:48 -!- sanita [n=sanchy@89.242.89.101] has left #scheme 00:49:15 I don't know if it was a typo in the ',' preceding, or a typo of the 'H'. 00:49:27 *`Antonio`* guiled well for today 00:50:46 -!- `Antonio` [n=kvirc@92.6.187.78] has quit ["guile or not to guile"] 00:51:25 xwl [n=user@114.246.89.208] has joined #scheme 00:51:57 DrScheme doesnt like this code either 00:52:27 > #lang scheme 00:52:28 reference to undefined identifier: module 00:52:38 Did anyone tell you to write `#lang scheme' at the REPL? 00:53:00 cursormire: where does that #lang come from ? 00:53:22 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 00:53:22 outcome is the same when written above and run 00:53:56 Aaand I was just doinf what the tutorial tells me "Assuming that youve never used DrScheme before, start it up, type the line 00:54:09 (one Riastradh pasted) 00:54:13 -!- neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit ["Leaving"] 00:55:17 So right now, you're looking at a text area with just `#lang scheme' in it, and you haven't typed anything else, and you've hit the `Run' button? 00:55:34 yeah 00:55:54 and below appears 'reference to blah bah' in red 00:58:21 -!- saccade_ [n=saccade@c-66-31-201-117.hsd1.ma.comcast.net] has quit ["This computer has gone to sleep"] 00:59:03 Doesn't DrScheme require selecting a Language before use? 00:59:09 I guess it was due to R5RS module being selected? I selected 00:59:12 Does it default to Module? 00:59:14 'Module' and now it works 00:59:20 Huh. Apparently the default `language' is `R5RS', not `Module'. 00:59:32 ... 00:59:55 I just gotta say, PLT is weird. :-P 01:01:22 Hm, this works in mzscheme but not in DrScheme? 01:01:25 (eq? #t (eq? (number? 42) (number? #xe4))) 01:01:53 (Works for me, cursormire.) 01:02:09 With 'Module'? 01:02:18 That and `#lang scheme' selected. 01:03:09 eli, is the documentation at inconsistent with the implementation about the default language in DrScheme, or could some state have been stored on my machine from the last time I ran DrScheme here that would cause a different language to be selected? When I downloaded and launched the latest version a moment ago, the R5RS language was selected. 01:03:58 Hm, DrScheme strips the #lang definition when loading. Weee-iiird. 01:04:23 Can you please be more precise, cursormire? 01:04:44 I've never in my life seen drscheme 'strip' the #lang line. It /adds/ the #lang line to new files. 01:04:55 (Again, whenever you have a problem such as this: specify (1) exactly what you typed [and pressed and whatnot], (2) exactly what you saw, and (3) exactly what you expected to see.) 01:06:42 I loaded the file into DrScheme and it removed the #lang -row. Ie. its not visible. 01:07:02 oh 01:07:02 DrScheme does not have a default language. (Actually, the default language is a language is one that does nothing but ask you to choose a language.) 01:07:05 oh I think 01:07:09 Is there something wrong with my compu... 01:07:15 What does `load' mean? Usually, to me, it means that you requested Scheme to evaluate the contents of a file. 01:07:31 The `Module' language will, eventually, be the default. 01:07:41 eli, so why might DrScheme not have asked me to choose a language? 01:07:46 #lang scheme turns into "(module ...scheme ...)" so in drscheme's languages that are not "Module" of course the procedure "module" is not defined. 01:08:07 Riastradh: Oh, well, it keeps your preferences (in ~/.plt-scheme, or some osx equivalent.) 01:08:21 But in the special "Module" language the first thing it requires is (module) wrapped around everything. 01:08:23 Why did it do that when I didn't tell it to? How can I rid my machine of all local state that it might have stored? 01:08:35 is '#lang scheme' eq? '(require scheme/init)' 01:08:39 (I don't have any ~/.plt-scheme file or directory.) 01:08:40 No, cursormire. 01:08:44 cursormire: No. 01:09:09 Riastradh: It's a preference file, where your preferences are stored, like many other applications that keep dot-files. 01:09:21 Riastradh: What OS are you on? 01:09:23 OS X 01:09:59 If you have a file something.ss with "#lang scheme/base" at the top, that is equivalent to a file something.ss with the contents surrounded in "(module something scheme/base ... )" 01:10:12 (Personally I find it very rude of programs to automatically begin to record state in my home directory that I didn't ask or expect them to record, even if this is common practice.) 01:10:38 Riastradh: The it would be in ~/Library/Preferences/ 01:11:19 OK, I see it: ~/Library/Preferences/org.plt-scheme.prefs.ss 01:11:28 Riastradh: And most modern applications do that -- making it an opt-in behavior will cause much more damage... 01:11:41 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 01:11:56 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 01:12:31 cursormire: DrScheme should not remove the #lang line, you might be seeing some other behavior. Do you have the `Module language' chosen? 01:13:45 yes 01:14:12 And you saved a file with `#lang', and then what? 01:14:54 -!- pumpkin [n=pumpkin@pat133.border2-cfw.dartmouth.edu] has quit ["Leaving..."] 01:16:11 Originally, I worked with the file in vim. Wrote. mzscheme wouldn't have it with or without #lang scheme. DrScheme loaded it but removed the first line ('#lang scheme'). 01:16:47 And you pasted the contents of this file? 01:16:57 I then added it back in drscheme, saved. Now it all works. :o 01:17:13 Okay... 01:17:15 cursormire: DrScheme does not even have code that could delete that line. So please be more precise. 01:17:23 cursormire: For example, what does "mzscheme wouldn't have it with or without #lang scheme" mean? 01:17:24 So your problems are over then. Never forget the #lang line when using plt. 01:17:27 It just didnt show up when file was loaded 01:17:42 You must have saved it wrong in vim. 01:17:57 cursormire: I don't know what "show up" means in the context of mzscheme. 01:18:08 What exactly did you ran, and what was mzscheme's response? 01:18:30 My typical workflow with drscheme is: start it up, doodle around a bit until you think up a good name, and then save the definitions as that-name.ss 01:18:47 _JFT__ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has joined #scheme 01:18:47 When opening drscheme without a file it even inserts the #lang line for me. 01:18:57 -!- _JFT__ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has quit [Remote closed the connection] 01:19:00 eli when trying to use 'mzscheme' command within terminal it kept giving errors about modules. "default-load-handler: expected a `module' declaration for `blah.scm etc etc 01:19:36 cursormire: Can you paste one such problematic file? 01:19:50 eli It did not show up in DrScheme's editor window. 01:20:12 cursormire: Can you paste a problematic file that made *mzscheme* show that error? 01:20:51 I already did. Its just #lang scheme and ; Hello world 01:20:51 (begin (display "Hello, Openbox") (newline)) 01:21:23 And now.. whew. DrScheme gives internal errors and wont close the preferences window. 01:21:29 *cursormire* facepalm 01:21:43 cursormire: Like Riastradh told you before, trying to help you is difficult if your not precise. 01:21:43 I wanted to see if it uses UTF-8 encoding or what 01:22:10 dreamz93 [n=chris@cpe-76-87-126-167.socal.res.rr.com] has joined #scheme 01:22:22 (I save as utf-8 in vim) 01:22:30 as/in 01:23:01 eli pasted "Working example" at http://paste.lisp.org/display/80690 01:23:32 wow 01:23:35 cursormire: Look at that paste -- that's how it should work. Now, is this what you did? 01:23:40 Thats exactly what I wanted to work but doesnt 01:23:46 And thats what I did 01:24:11 I better reinstall drschmeee 01:24:17 Can you *please* paste the *exact* file, the command line, and the response? 01:24:35 Reinstalling is not a solution, and will probably not help. 01:24:54 cursormire: Which version do you have installed? 01:25:53 eli look, it wont compile, drscheme (which is same package) gives this error http://paste.lisp.org/display/80691 01:26:40 cursormire: one problem at a time. Can you tell me what version you have installed? 01:27:02 eli of mzscheme or drscheme? 01:27:19 Both, they're both "PLT Scheme". 01:27:20 -!- _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 01:27:40 Just run `mzscheme -v' to see the version. 01:27:46 MzScheme v4.1.3 [3m] 01:28:04 OK, and what OS are you using? 01:28:17 Ubuntu 9.04 01:28:33 And what happens when you do exactly what I did in my paste? 01:29:55 Wow 01:29:58 synx: BTW, recommending `mzscheme -f' is bad, for the same reason that `load' is bad. 01:29:59 Now it works. 01:30:16 Thats crazy. 01:30:29 That's not crazy, it's expected. 01:30:47 sorry eli 01:31:06 Must be something in vim settings gone bad, maybe it added a BOM or something. 01:31:44 cursormire: Now can you make sure that there is no drscheme process running, and run `drscheme zzz.scm' (or whatever you called the file), and also assuming you didn't modify it? 01:32:13 eli: I did make sure to warn them that plt likes modules a lot better before saying that "-f" would "work". It's not exactly the same as recommending it. 01:32:51 This is way strange. 01:32:58 synx: But `-f' will not work as expected with a file that does have a module in it, which is why your advice could be very confusing. 01:34:15 synx: Another example (as I'm reading the log): No it's the -f flag. It effectively does what "#lang scheme" does. 01:34:26 Well, now I tried it through vim and it complies. With or without -f 01:34:34 eli: He said "expected a `module' declaration for..." so I assumed there was no module yet. 01:34:47 synx: That's incorrect. (And terribly confusing for anyone who does have `#lang scheme'). 01:34:52 must have written #lang shceme or something. 01:35:00 The -f flag will work just fine with a file that has a module in it. It'll do nothing, but it'll work... 01:35:07 cursormire: Just don't use `mzscheme -f'. 01:35:18 eli: I'm really not sure what -f does, but... yeah 01:35:46 synx: Just what the help line says: it's basically using `load' to load your file (which is why it's bad). 01:36:10 cursormire: Did running DrScheme on that file work or not? 01:36:52 But using load to load it into what context? I thought it made a dummy module and loaded it into that. 01:36:56 eli havent tried it yet. I am trying to figure out why it *still* works even if I typed '#lang schmee' on the first line!!! 01:37:26 I dunno. Sunspots? 01:38:13 cursormire: That doesn't make sense -- since that's the way things are supposed to work. I can tell you that much breakage would happen if something as simple as that stopped working for some reason. 01:38:52 ok. Theres some kind of cache? 01:39:06 I changed the hello text but its still the same... 01:39:42 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 01:39:54 cursormire: Again, a more precise description is needed. Preferably a paste of your session. 01:40:24 cursormire: And no, there is no "cache" of files. That would be silly. 01:42:10 ;) Ok, now, back in real time. Let me try with the DrScheme 01:42:45 Yup, it works in DrS too, defaults to Module tho 01:43:02 cursormire: You should not use any other language. 01:43:32 But. I wanted R5RS 01:43:55 cursormire: Why did you want R5RS? 01:44:16 Isnt that what a 'proppa' schmee proggy would use? 01:44:52 [That doesn't parse, doesn't type check, and doesn't run.] 01:45:31 Ah well. I think my first day of scheming is juuust about done now. 01:45:44 If `proppa' = `proper', `schmee' = `scheme', and `proggy' = `program'; then no. 01:45:50 si 01:45:55 :) 01:46:06 And why do you care about `proper' scheme if you don't know the language yet? 01:47:11 Just want something that will be able to process the planned billions of entities and flow of data between them somewhat fast, that I can live coding with 01:47:39 And to #scheme'rs horror, my research pointed me to scheme 01:47:43 That doesn't parse to. 01:47:51 s/to/too/ 01:48:10 And this time I can't even guess what your meaning is. 01:48:25 billions of entities :o 01:48:37 Ie. somewhat as nice as ruby, but has to be about a magnitude faster 01:48:47 what base? 01:48:50 :) 01:49:04 integers and strings in a tree of some kind 01:50:12 cursormire: What you say makes little sense. 01:50:35 Stop making sense. Only computers need things to make sense. 01:50:48 No, humans too. 01:50:54 cursormire: if you intend to learn a new language "right", you should probably first figure out how the language is usually written... after all, I could write ruby like c if I wanted to, but it wouldn't be idiomatic or pretty 01:50:56 We call that "communicating". 01:51:21 copumpkin you assume I am gonna write 'ruby' in scheme? 01:51:53 I am still learning how the hell to interpret a simple script! 01:52:07 no, but what I've seen so far has been a certain rubyish way of looking at things :) of course, it may just be me misinterpreting you through the limited textual medium :) 01:52:11 And no, you couldnt write ruby like c. 01:52:18 sure you could 01:52:23 I could actually use, say, the looping constructs 01:52:34 Ruby would steal your memory... 01:52:39 cursormire: Is there any problem that you're having right now, and can describe in plain English? I'm happy to tune out if you're now on to comparing ruby and scheme and talk about semantics of the human mind. 01:52:42 one warning cursormire... 01:53:07 eli I am not comparing, copumpkin was the one who brought it up 01:53:18 if you don't have your algorithms carefully planned out, it doesn't matter what language you write it in. The biggest speed improvements will come from how well you understand what it is you are fundamentally trying to do. 01:53:48 I mentioned ruby once, and I said I use it a lot, but I dont even know whats 'writing like ruby' amount to. 01:53:58 cursormire: OK. Is there any problem that you're having right now, and can describe in plain English? I'm happy to tune out if you're now on to non-scheme subjects. 01:53:59 I just want to get things done. 01:54:01 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 01:54:47 eli: I think cursormire is the person who wants to simulate society. 01:54:53 yeah! 01:55:08 OK. I'll tune out then. 01:55:15 except thats your term for what I described 01:55:19 eli thanks 01:55:27 Or... extrapolate society might be a better way to put it. Predict the future, by analyzing how local trends affect global trends. 01:55:34 Thanks to everyone who helped 01:55:40 np 01:56:03 It's rare to see someone so full of hope come around here. 01:56:39 huh? 01:56:51 pants2 [n=hkarau@69-165-128-99.dsl.teksavvy.com] has joined #scheme 01:57:03 eli: using scheme/foreign, i have a c function that returns an array of struct. the size of the array is unknown, and the end is detected by inspecting the last struct. do i want to use "_fun" for this? 01:57:10 #scheme, where the desolation lives? 01:57:20 abandon ye all hope? 01:58:07 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 01:58:42 neilv: You probably want to use direct pointer operations. 01:58:57 Ah well, time to finish 'Teach Yourself Scheme In Fixnum Days' 02:03:10 eli: like "ptr-add"? can i still use the cstruct type on scheme side to access the fields? 02:03:44 eli: and if i do that, how to i protect the c array from gc? 02:04:12 -!- blackened` [n=blackene@ip-89-102-208-138.karneval.cz] has quit [] 02:04:21 `ptr-add' creates an offset pointer, so there is still a reference to the whole thing. 02:04:38 but how does it know the size of the whole thing? 02:05:21 That's up to your result (you said something about the contents of the struct that is pointed). 02:07:21 eli: i still don't see how the gc gets that information once i have it 02:08:57 What information should the GC get? 02:09:17 that this big chunk of memory should not be gc'd 02:09:46 Ah, I thought that you already have that. 02:09:53 Who allocates that memory? 02:10:06 a postgresql c library 02:10:08 -!- xwl [n=user@114.246.89.208] has quit [Remote closed the connection] 02:10:36 the c decl is a pointer to struct, but it's actually a pointer to the first struct in an array 02:10:40 If it was allocated by a C library, then the mzscheme GC will never see it. 02:11:07 IOW, you need to explicitly free it when you're done with it. 02:11:16 ok, thanks 02:11:33 i recall it being harrier when i used the original mzscheme extensions library 02:11:42 er, mechanism 02:12:00 Well, the thing with allocations outside of scheme didn't change... 02:12:41 -!- pants1 [n=hkarau@206-248-162-122.dsl.teksavvy.com] has quit [Read error: 113 (No route to host)] 02:15:22 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 02:17:16 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 02:25:50 oh, duh 02:45:04 -!- rtra [n=user@unaffiliated/rtra] has quit ["damn"] 02:46:54 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit ["Leaving"] 02:51:43 tjafk1 [n=timj@e176221101.adsl.alicedsl.de] has joined #scheme 02:54:59 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 02:57:06 -!- ggbbgg [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has quit ["Leaving"] 03:06:24 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 03:08:09 -!- tjafk [n=timj@e176199127.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:13:25 eli: in addition to CSTRUCT->list, one that makes an alist would be nice too 03:13:36 it already has the name information 03:14:11 eli, by the way, the other day you mentioned something about the granularity of MzScheme's preemptive thread-switching. Under precisely what conditions does it switch threads? 03:15:17 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 03:24:34 neilv: Maybe, the implementation is a mess as it is though. 03:25:00 i am looking at foreign.ss right now, trying to find how a cpointer gets turned into a cstruct 03:25:01 Riastradh: At the scheme level you get no atomicity, but C level code is atomic. 03:25:22 neilv: That would be fun. 03:25:46 eli: well, the scheme ffi library does it internally 03:25:52 somewhere 03:26:40 Yes, I know... 03:26:51 A cstruct roughly corresponds to a libffi struct type. 03:27:38 As for converting a pointer, it doesn't do much since a cstruct is also a pointer. 03:29:02 i have a _FooStruct, a FooStruct, and a cpointer, how to i get a list of FooStruct field values out of that? 03:30:16 (FooStruct->list (cpointer->FooStruct cpointer))) 03:30:41 conceptually, that's what i want. i am still looking for the procedure 03:40:21 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 03:41:41 ah, ptr-ref 03:41:41 neilv: You're missing the `cpointer->FooStruct'? 03:41:58 Yes, `ptr-ref' with `_FooStruct' as a type. 03:42:15 (or maybe something like `_FooStruct-ptr', I don't have that paged in now.) 03:43:17 i was using ptr-add, and didn't see a way to get from that to a cstruct 03:44:03 There's also `ptr-add!', btw. 03:50:02 _list_struct field of _string/utf-8 always results in a copy, so i can free on the c end, right? 03:50:18 (("authtype" "PGAUTHTYPE" "" "" "Database-Authtype" "D" 20) ("service" "PGSERVICE" #f #f "Database-Service" "" 20) ... 03:50:23 seems to work 03:50:28 ken-p` [n=ken-p@84.92.70.37] has joined #scheme 03:57:28 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 03:59:13 -!- dreamz93 [n=chris@cpe-76-87-126-167.socal.res.rr.com] has quit ["leaving"] 04:03:47 -!- ken-p [n=ken-p@84.92.70.37] has quit [Read error: 110 (Connection timed out)] 04:12:20 -!- luz [n=davids@189.122.121.232] has quit ["Client exiting"] 04:42:56 what's the relationship between an expression and a datum? 04:43:16 r5rs 7.1.2: "Note that any string that parses as an will also parse as a ." 04:43:49 but does the converse hold? 04:43:54 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 04:44:03 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 05:00:36 ak70 [n=ak70@195.158.95.27] has joined #scheme 05:08:09 eno__ [n=eno@adsl-70-137-129-121.dsl.snfc21.sbcglobal.net] has joined #scheme 05:17:15 dzhus [n=sphinx@95-24-165-119.broadband.corbina.ru] has joined #scheme 05:19:08 -!- eno [n=eno@nslu2-linux/eno] has quit [Nick collision from services.] 05:19:13 -!- eno__ is now known as eno 05:23:34 davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has joined #scheme 05:24:34 rtra [n=user@unaffiliated/rtra] has joined #scheme 05:27:30 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:44:50 xwl [n=user@114.246.89.208] has joined #scheme 05:48:51 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 05:48:56 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 05:50:09 reprore__ [n=reprore@i121-114-159-208.s04.a014.ap.plala.or.jp] has joined #scheme 05:52:26 -!- ak70 [n=ak70@195.158.95.27] has quit ["Leaving."] 05:55:52 morning 06:01:47 repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:01:55 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 06:02:31 ggbbgg [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has joined #scheme 06:19:19 -!- reprore__ [n=reprore@i121-114-159-208.s04.a014.ap.plala.or.jp] has quit [Read error: 110 (Connection timed out)] 06:20:07 -!- X-Scale2 [n=email@89.180.198.110] has left #scheme 06:37:27 http://www.truveo.com/sicp-procedures-processes-substitution-model-1b/id/4251536672 06:37:30 -rudybot:#scheme- http://tinyurl.com/oq4tu7 06:37:40 ;) 06:43:09 good that the pronunciation is easy to understand 06:43:17 (but i miss subtitles somehow) 06:51:43 -!- dzhus [n=sphinx@95-24-165-119.broadband.corbina.ru] has quit ["-_-"] 06:52:37 -!- repror___ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 54 (Connection reset by peer)] 06:53:23 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:55:22 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 06:55:47 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 07:00:35 Nshag [n=shagoune@Mix-Orleans-106-3-95.w193-248.abo.wanadoo.fr] has joined #scheme 07:08:00 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 07:10:26 npe [n=npe@91.180.55.179] has joined #scheme 07:36:14 Arelius_ [n=indy@64.174.9.113] has joined #scheme 07:37:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- Modius_ [n=Modius@adsl-70-240-12-151.dsl.austtx.swbell.net] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- cursormire [n=pikseli@cs181151213.pp.htv.fi] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- duper` [n=duper@innu.org] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- cel [n=cel@121.Red-79-151-50.dynamicIP.rima-tde.net] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- Arelius [n=indy@64.174.9.113] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- rumbleca [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- poucet [n=vincenz@li23-146.members.linode.com] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- joast [n=rick@76.178.184.231] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- yosafbridge [n=yosafbri@ludios.net] has quit [brown.freenode.net irc.freenode.net] 07:37:37 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [brown.freenode.net irc.freenode.net] 07:38:34 chickamade [n=chickama@222.254.12.143] has joined #scheme 07:38:34 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 07:38:34 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 07:38:34 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 07:38:34 Modius_ [n=Modius@adsl-70-240-12-151.dsl.austtx.swbell.net] has joined #scheme 07:38:34 cursormire [n=pikseli@cs181151213.pp.htv.fi] has joined #scheme 07:38:34 duper` [n=duper@innu.org] has joined #scheme 07:38:34 sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 07:38:34 cel [n=cel@121.Red-79-151-50.dynamicIP.rima-tde.net] has joined #scheme 07:38:34 rumbleca [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has joined #scheme 07:38:34 poucet [n=vincenz@li23-146.members.linode.com] has joined #scheme 07:38:34 joast [n=rick@76.178.184.231] has joined #scheme 07:38:34 guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has joined #scheme 07:38:34 yosafbridge [n=yosafbri@ludios.net] has joined #scheme 07:38:34 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 07:44:36 hotblack23 [n=jh@p5B057814.dip.t-dialin.net] has joined #scheme 07:54:33 -!- hotblack23 [n=jh@p5B057814.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 07:55:32 -!- Arelius_ is now known as Arelius 07:56:34 mornfall [n=mornfall@anna.fi.muni.cz] has joined #scheme 07:56:57 -!- xwl [n=user@114.246.89.208] has quit [Remote closed the connection] 08:00:39 `Antonio` [n=kvirc@92.6.187.78] has joined #scheme 08:01:13 *`Antonio`* Good Morning ! back to work 08:01:24 tessier [n=treed@unused-105-40-113.ixpres.com] has joined #scheme 08:02:01 morning Antonio 08:03:14 <`Antonio`> ;) 08:03:24 tessier__ [n=treed@unused-105-40-113.ixpres.com] has joined #scheme 08:03:26 -!- tessier__ [n=treed@unused-105-40-113.ixpres.com] has quit [Client Quit] 08:09:40 hotblack23 [n=jh@p5B057814.dip.t-dialin.net] has joined #scheme 08:17:50 Tankado [n=Woodruff@bzq-79-176-13-35.red.bezeqint.net] has joined #scheme 08:19:46 -!- synthase [n=synthase@adsl-220-161-115.mob.bellsouth.net] has quit [Read error: 110 (Connection timed out)] 08:20:47 klutometis: apparently no, you can make some invalid numbers AFAIK 08:20:54 well in R6RS anyways 08:25:13 -!- chickamade [n=chickama@222.254.12.143] has quit [Read error: 110 (Connection timed out)] 08:28:01 -!- davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has quit [Read error: 110 (Connection timed out)] 08:29:26 wingo [n=wingo@237.Red-81-39-162.dynamicIP.rima-tde.net] has joined #scheme 08:33:08 davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has joined #scheme 08:34:22 -!- cursormire [n=pikseli@cs181151213.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 08:34:33 athos [n=philipp@92.250.250.68] has joined #scheme 08:41:03 -!- sanguine1 is now known as sanguinev 08:53:47 rjack [n=rjack@adsl-ull-6-39.51-151.net24.it] has joined #scheme 09:02:29 leppie: that's interesting; in r5rs, i believe, the of is identical to the of 09:03:22 i posted something about year back on the R6RS list 09:05:54 leppie: you don't happen to have a link handy, do you, or something i could google for? 09:06:03 im looking... 09:06:29 i tried: "r6rs expression datum invalid number" 09:06:36 #e+inf.0 09:06:50 2008/07/17, round there 09:07:32 elias` [n=me@resnet-pat-254.ucs.ed.ac.uk] has joined #scheme 09:07:36 #e+inf.0 <-- that is valid syntactic datum, but who know how I am suppose to store that... 09:08:43 http://lists.r6rs.org/pipermail/r6rs-discuss/2008-July/003533.html 09:08:44 nice 09:08:50 lol 09:08:53 just got there! 09:12:17 leppie: were inf.0 and nan.0 formalized in r6rs? 09:12:33 yes 09:12:59 http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-7.html#node_sec_4.2.8 09:13:19 yeah; i'm not sure r5rs suffers from the same problem, since they're not s 09:13:59 *`Antonio`* wonders why !? 09:14:17 `Antonio`: why what? 09:14:25 npe_ [i=npe@94-224-249-160.access.telenet.be] has joined #scheme 09:14:34 <`Antonio`> string->hash-table ! 09:14:46 I am tring to think of a diffrent ways to implement the factorial function beside the iterative/recursive ways and some lambda calculus ways using Ycurry (fixed point combinator) i cant think of diffrent ways but i heard there are over 30 anyone can guide me (open my mind) for new ideas? 09:15:06 <`Antonio`> klutometis: is a /ame message :) 09:15:54 Tankado i like... (define (fact n) (apply * (cdr (iota n)))) 09:17:47 -!- neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit ["Leaving"] 09:19:04 mmm, does operator precedence exist in mathematical notation? 09:19:15 Edico [n=Edico@unaffiliated/edico] has joined #scheme 09:20:16 cel : i dont get how it works 09:20:39 you mean (* n (apply * (cdr (iota n))))) maybe? 09:20:55 thats pretty obvious :p 09:20:57 mike [n=m@dslb-088-067-044-118.pools.arcor-ip.net] has joined #scheme 09:21:18 Tankado yes 09:21:23 sorry, my mistake :) 09:21:44 thanks very nice 09:21:52 reprore [n=reprore@131.112.172.197] has joined #scheme 09:23:36 but probably this is simpler... 09:23:39 (define (fact n) (apply * (cdr (iota (+ n 1))))) 09:23:54 not much of a change anyway 09:27:11 alaricsp [n=alaricsp@217.205.201.45] has joined #scheme 09:27:14 nice idea thought :) 09:28:25 if anyone has more feel free... 09:28:28 rudybot: eval (let ((n 10)) (equal? (cdr (iota (+ n 1))) (iota n 1))) 09:28:28 foof: your sandbox is ready 09:28:28 foof: error: reference to undefined identifier: iota 09:28:46 rudybot: eval (require-extension (SRFI 1)) 09:28:46 foof: error: reference to undefined identifier: require-extension 09:29:11 rudybot: eval (require srfi/1) 09:29:17 foof :p 09:29:19 rudybot: eval (let ((n 10)) (equal? (cdr (iota (+ n 1))) (iota n 1))) 09:29:19 foof: ; Value: #t 09:30:22 -!- npe [n=npe@91.180.55.179] has quit [Read error: 110 (Connection timed out)] 09:30:42 unfortunately petite only accepts one argument to iota :\ 09:31:46 Actually I often write it with just one argument because I forget the order of the 2nd and 3rd arguments. 09:33:41 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 09:34:12 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 09:37:47 attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has joined #scheme 09:41:46 -!- ubunoob33 [n=ubuntu@89-180-167-254.net.novis.pt] has quit ["Leaving"] 09:42:17 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 09:42:51 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 09:43:02 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 09:43:22 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 09:44:11 jobf [n=jbf@c80-216-238-151.bredband.comhem.se] has joined #scheme 10:00:09 -!- C-Keen [i=ckeen@pestilenz.org] has quit [Remote closed the connection] 10:01:10 xwl [n=user@114.246.89.208] has joined #scheme 10:03:59 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 10:04:28 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 10:06:48 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 10:13:10 -!- reprore [n=reprore@131.112.172.197] has quit [Read error: 113 (No route to host)] 10:13:53 is it possible to make compounds and save them to a file so i wont have to write them again..like saving it into the plt-schemes documents and call them when i need 10:14:17 not because i got an idea of a compund right now but just asking... 10:15:25 i should have called them procedures 10:28:05 -!- Modius_ [n=Modius@adsl-70-240-12-151.dsl.austtx.swbell.net] has quit [Client Quit] 10:28:24 Modius [n=Modius@adsl-70-240-12-151.dsl.austtx.swbell.net] has joined #scheme 10:38:37 -!- `Antonio` is now known as `Antonio-work` 10:43:47 -!- xwl [n=user@114.246.89.208] has quit [Remote closed the connection] 10:44:34 reprore [n=reprore@EM114-48-178-36.pool.e-mobile.ne.jp] has joined #scheme 10:45:33 aLeSD [n=alex@193.153.120.180] has joined #scheme 10:45:41 hi all 10:46:00 how could I make a cicle in scheme ? 10:46:10 I mean ... something like while o for 10:56:58 -!- rjack [n=rjack@adsl-ull-6-39.51-151.net24.it] has quit ["leaving"] 10:57:11 -!- rstandy [n=rastandy@net-93-144-64-40.t2.dsl.vodafone.it] has quit [Remote closed the connection] 11:04:21 rstandy [n=rastandy@net-93-144-64-40.t2.dsl.vodafone.it] has joined #scheme 11:12:30 -!- inimino [n=inimino@atekomi.inimino.org] has quit [SendQ exceeded] 11:13:55 inimino [n=inimino@atekomi.inimino.org] has joined #scheme 11:17:02 synthase [n=synthase@adsl-220-161-115.mob.bellsouth.net] has joined #scheme 11:18:40 wingo_ [n=wingo@76.Red-79-151-217.dynamicIP.rima-tde.net] has joined #scheme 11:19:39 -!- wingo [n=wingo@237.Red-81-39-162.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 11:20:10 aLeSD: figure out how to do it procedurally, then extract the templating parts and create a macro 11:20:52 or you can just use 'do' and tweak it to your liking 11:21:52 xwl [n=user@114.246.89.208] has joined #scheme 11:22:47 leppie: mmm what do you mean ? 11:22:58 r5rs do 11:22:58 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_138 11:23:11 -rudybot:#scheme- http://tinyurl.com/qfdonj 11:23:39 I have to traslate something like for (int i = 0; i < 4; i++)(printf("%d",i); 11:24:19 there are about 134 ways to do that :p 11:24:59 to short concise way is probably: (for-each display '(0 1 2 3)) 11:25:30 leppie: thanks 11:26:08 I was wrong with my example 11:26:09 :)ç 11:26:26 for (int i = 0; i < n ; i++)(printf("%d",i); 11:27:03 'do' would probably easier with that 11:28:33 ok 11:29:13 (do ((i 0 (+ i 1))) ((= i n)) (display i)) 11:29:41 wow 11:29:57 many paranthesis :( 11:30:13 I thought the syntax of scheme was simpler than the c one. 11:30:21 :) 11:30:30 many people do not really use that, due to the hard to remember syntax 11:30:43 maybe I'm wrong in the base 11:31:04 I'm trying to code in c 11:31:26 (let loop ((i 0)) (when (< i n) (display i) (loop (add1 i))) 11:31:29 what I have to do is execute a procedure n times 11:31:44 I always find named let more readable than the do notation 11:31:59 I'm using a loop cause it's the c way 11:32:03 sjamaan: for newcomer named let makes no sense! 11:32:07 but maybe there's another way in scheme 11:32:19 leppie: you think so? 11:32:55 yes, but i think it also probably the thing one should understand first :) 11:33:18 i avoided it for a long time, and scheme was hard 11:33:29 because i didnt know it 11:33:29 heh 11:33:52 i was using the 'inner define' pattern 11:33:58 *sjamaan* too 11:34:43 It's not hard, but it's verbose that way 11:34:49 i will only use inner definitions if it used more than once 11:35:17 I usually just put those in my LET statements 11:35:19 you 'loose' a lot of context and it gets messy 11:35:22 Since I often have one already 11:35:38 nowadays, named lets galore 11:35:43 aye 11:37:02 thats what i like about scheme, you can write the code as you think about it 11:37:46 no wondering if you need a class or an interface, or maybe a pointer or a blah :p 11:38:12 haha 11:38:16 yeah 11:39:04 blackened` [n=blackene@ip-89-102-208-138.karneval.cz] has joined #scheme 11:39:15 mmm ... in the end ? 11:39:17 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 11:39:21 loop or do ? 11:39:24 or something else 11:39:28 You decide! :) 11:39:44 ok ... so I'm in the right way 11:40:14 try understand named let, if you can, a whole new way of thinking will open up 11:46:41 MrFahrenheit [n=RageOfTh@92.36.158.145] has joined #scheme 11:47:10 ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has joined #scheme 12:00:12 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 12:10:18 -!- geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 12:16:12 -!- reprore [n=reprore@EM114-48-178-36.pool.e-mobile.ne.jp] has quit [Remote closed the connection] 12:16:12 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 12:17:06 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 12:29:21 -!- jobf [n=jbf@c80-216-238-151.bredband.comhem.se] has quit [Read error: 110 (Connection timed out)] 12:45:40 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 12:45:55 -!- xwl [n=user@114.246.89.208] has quit [Remote closed the connection] 12:46:05 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 12:50:18 xwl [n=user@114.246.89.208] has joined #scheme 12:57:59 grnman [i=grnman@shell.thehostbusters.com] has joined #scheme 13:10:04 mmc [n=mima@cs142048.pp.htv.fi] has joined #scheme 13:13:34 luz [n=davids@189.122.121.232] has joined #scheme 13:21:03 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:31:22 abbe [i=wields@abbe.is.a.member.of.pirateparty.in] has joined #scheme 13:39:13 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 13:40:02 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit ["..."] 13:50:23 anyone got a unique way to implement the factorial function? 13:53:50 csmrFX [n=pikseli@cs181151213.pp.htv.fi] has joined #scheme 13:55:45 -!- ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has quit [Read error: 54 (Connection reset by peer)] 13:56:05 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 13:59:09 leppie, yes, operator precedence exists in common mathematical notation. For example, any `multiplication-type' operator binds more tightly than any `addition-type' operator; multiplication-type operators include dot product, cross product, tensor product, wedge product, &c. Also, composition often binds more tightly than application, although this is not as widespread. 13:59:31 Tankado: If approximations are allowed, Stirling's method works well. But it's hardly unique, as such. :-P 13:59:43 ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has joined #scheme 14:00:12 cky : yeah i know that one, thanks 14:00:25 :-P 14:01:25 X-Scale [i=email@89.180.201.248] has joined #scheme 14:03:02 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 14:03:50 Do i have log in base 2 build-in? 14:04:46 Not built-in, but easy enough to implement using (define (log2 n) (define ln2 (log 2)) (/ (log n) ln2)) 14:04:48 Or the like. 14:05:41 yeah thanks 14:06:04 Eh, I meant something like (define log2 (let ((ln2 (log 2))) (lambda (n) (/ (log n) ln2)))) 14:06:05 :-P 14:06:11 That way the ln2 isn't recalculated every time. 14:08:09 djork [n=djork@c-76-100-224-42.hsd1.md.comcast.net] has joined #scheme 14:08:57 Re factorial, here's a quick way (in terms of human time, not computational time) to implement one. :-P 14:09:06 (define (factorial n) (reduce * 1 (iota (- n 1) 2))) 14:09:11 Note: only works for N > 0 14:09:38 Actually I should do a different version using unfold. :-P 14:09:48 Saves building a ginormous list. 14:11:06 Oh wait, that builds a ginormous list anyway. :-P 14:11:32 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 14:11:33 The size of the list will be dwarfed by the magnitude of the result. 14:11:42 ASau [n=user@193.138.70.52] has joined #scheme 14:11:50 That's true. 14:12:26 i got a nice one by cel earlier today : (define (fact n) (apply * (cdr (iota (+ n 1))))) 14:12:28 In fact, using reduce is completely superfluous because * takes multiple arguments. Thus, (apply * (iota ...)) 14:13:07 Tankado: That's not too bad. 14:13:22 REDUCE is not superfluous. One should not use APPLY for this purpose; it generally doesn't work very well, and has much smaller limits imposed on the length of the list. 14:13:46 Oh? *prepares to learn something new* 14:14:15 I suppose reduce has no limitation on list size, whereas for apply it's implementation-dependent. 14:14:39 There are of course limits in both cases. 14:15:43 Well, sure, there is only so big you can make your incoming list before you run out of your heap, unless you're talking about a different sort of limit. 14:15:54 That's right. 14:16:38 *nods* 14:18:05 I keep forgetting about the arg length limitation imposed by some implementations' apply because if I remember right, Guile's apply has no limitation (again, beyond heap usage etc.), and I suppose I've been spoilt by that. :-) 14:18:35 But issues that affect portability are important to remember, for sure. 14:18:48 It causes extra work for the implementation, because the implementation generally must check for circularities in the list and then copy it. 14:20:09 That's just silly. 14:20:17 What's just silly? 14:20:29 exexex [n=chatzill@88.235.31.186] has joined #scheme 14:20:40 Huh, that's interesting. I just checked, Guile does copy too. (apply (lambda b (eq? a b)) a) returns #f, as does (apply (lambda b (eq? (cdr a) (cdr b))) a). 14:20:54 You are guaranteed a fresh list, cky. 14:21:01 Thus the implementation generally must copy the list. 14:21:23 *nods* Makes sense. 14:22:28 It's an error situation. If the programmer wants to pass circular lists to APPLY, or mutate the list while it's being applied, that's their own fault. 14:22:53 Is there any way to reuse an argument list for calling another function? Curious. (There probably isn't, and I'll accept that.) 14:23:11 Not standard, cky. I'm not aware of any Scheme system that does that, either. 14:23:26 *nods* 14:23:51 And if the implementation pushes the arguments on the stack, there's no reason to copy the list. 14:24:11 In many Scheme systems, APPLY has the effect of moving some or all of the arguments into registers or onto the stack, possibly with a final rest list pointer (in which case that list must be copied); then if the callee is n-ary, it will go and gather up all of those arguments and put them back into a list. 14:25:23 guile's apply in master unrolls the list onto a stack 14:26:02 cky: An earlier version of my compiler re-used the argument list, or the cdr of the argument list, without consing a new list. 14:26:04 wingo_: Thanks for clarifying. That sounds like exactly what Riastradh said above, then. :-) 14:26:58 foof: That's how I initially thought apply was implemented, but clearly it's not how it works for most other implementations, or standards-wise how it's "supposed" to work, I've just realised. :-) 14:27:25 In that version, n-ary * was defined in terms of the 2-argument * and apply, which generated more efficient code than reduce. 14:28:01 cky: It's not how it works anymore at the moment, because it was a complicated optimization that only benefitted very non-idiomatic code. 14:28:02 How is that better than open-coding REDUCE, foof? 14:30:41 Riastradh: It was done for a different reason, actually (generating the 0, 1 and 2-ary forms of primitive operations from a general description). It was a weird idea, which is why it's gone. 14:33:12 -!- ASau` [n=user@193.138.70.52] has quit [Remote closed the connection] 14:58:09 -!- JoelMcCracken [n=jmccrack@student312-1.psc.edu] has quit [Nick collision from services.] 14:58:23 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 14:58:26 jmccrack_ [n=jmccrack@student312-1.psc.edu] has joined #scheme 14:59:15 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 15:01:03 dzhus [n=sphinx@93-81-176-140.broadband.corbina.ru] has joined #scheme 15:19:02 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 15:28:12 mejja [n=user@c-a3b3e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 15:42:06 -!- hotblack23 [n=jh@p5B057814.dip.t-dialin.net] has quit [Remote closed the connection] 15:42:08 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:47:17 -!- rtra [n=user@unaffiliated/rtra] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 15:48:32 -!- Arelius [n=indy@64.174.9.113] has quit [Read error: 110 (Connection timed out)] 15:48:55 sanita [n=sanchy@89.242.89.101] has joined #scheme 15:52:36 -!- alaricsp [n=alaricsp@217.205.201.45] has quit [] 16:03:05 -!- csmrFX is now known as cursormire 16:04:57 -!- xwl [n=user@114.246.89.208] has quit [Remote closed the connection] 16:14:33 More silliness on the gambit list. 16:16:40 foof: link? 16:18:29 -!- dzhus [n=sphinx@93-81-176-140.broadband.corbina.ru] has quit ["-_-"] 16:18:46 Not sure where the archives are... but both Riastradh and Feeley told some guy he was wrong and he basically replied "ah, that explains why I was right." 16:19:08 heh! 16:19:30 foof: http://comments.gmane.org/gmane.lisp.scheme.gambit/3460 ??? 16:20:14 -!- Tankado [n=Woodruff@bzq-79-176-13-35.red.bezeqint.net] has quit [] 16:20:33 -!- joast [n=rick@76.178.184.231] has quit ["Leaving."] 16:20:33 mejja: That's it. 16:20:49 jedc [n=jed1@c-98-232-225-102.hsd1.or.comcast.net] has joined #scheme 16:30:14 joast [n=rick@76.178.184.231] has joined #scheme 16:35:25 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 16:37:02 -!- ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 16:40:32 dysinger [n=tim@32.177.61.51] has joined #scheme 16:48:36 thanks Riastradh :) 16:55:21 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 17:09:30 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 17:26:43 annodomini [n=lambda@64.30.3.122] has joined #scheme 17:33:37 -!- duper` [n=duper@innu.org] has quit [Read error: 104 (Connection reset by peer)] 17:33:48 duper` [n=duper@innu.org] has joined #scheme 17:33:57 dzhus [n=sphinx@93-81-176-140.broadband.corbina.ru] has joined #scheme 17:34:08 annodomini_ [n=lambda@64.30.3.122] has joined #scheme 17:43:58 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 17:45:18 -!- npe_ [i=npe@94-224-249-160.access.telenet.be] has quit [Read error: 104 (Connection reset by peer)] 17:46:29 npe [i=npe@94-224-249-160.access.telenet.be] has joined #scheme 17:56:42 HG` [n=wells@85.8.89.104] has joined #scheme 17:58:13 sepult [n=sepult@xdsl-87-78-100-30.netcologne.de] has joined #scheme 17:59:04 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 17:59:48 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 17:59:55 elias` [n=me@resnet-pat-254.ucs.ed.ac.uk] has joined #scheme 18:05:35 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 18:11:02 -!- HG` [n=wells@85.8.89.104] has quit [Client Quit] 18:16:49 Does anybody know template haskell? 18:17:40 HG` [n=wells@85.8.89.104] has joined #scheme 18:18:34 *eli* clears his throat 18:22:17 *offby1* looks at his feet 18:23:44 -!- HG` [n=wells@85.8.89.104] has quit [Client Quit] 18:27:38 *eli* wonders if he should risk #haskell 18:27:56 eli: why is it a risk? 18:28:29 Flames. 18:28:49 I've never seen anyone get flamed in there in the past few months :o 18:29:34 it does seem rather idle right now though 18:29:44 I want to find out if it's hygienic or not, and I'm sure that there will be people who will happily tell me how moronically useless hygiene is if it doesn't. 18:31:00 I haven't even seen real trolls get flamed, let alone people with legitimate questions :) I think you're safe for now 18:31:40 :) 18:40:38 -!- specbot [n=specbot@common-lisp.net] has quit [Remote closed the connection] 18:40:39 -!- lisppaste [n=lisppast@common-lisp.net] has quit [Remote closed the connection] 18:40:39 -!- minion [n=minion@common-lisp.net] has quit [Remote closed the connection] 18:43:54 copumpkin: "I think you'd find it hard to accidentally introduce name capture" is where flames could go... 18:44:01 hygienic means that when you substitute in the code of a macro, it won't disturb the names of any existing variables one way or another, right? 18:44:11 Anyway, I need to go poof 18:44:14 :) 18:44:20 synx: A little more than that... 18:44:30 *eli* disappears in a loud *poof* 18:44:55 well, I only have a simplified understanding, but at least it's not inaccurate. 18:45:00 *offby1* brushes away ash 18:45:21 *copumpkin* waits for eli to return so he can ask for three wishes :) 18:45:25 *synx* sniffs suspiciously 18:45:49 synx: I didn't inhale. 18:47:43 hotblack23 [n=jh@p5B05407D.dip.t-dialin.net] has joined #scheme 18:48:35 lisppaste [n=lisppast@common-lisp.net] has joined #scheme 18:48:56 ASau` [n=user@193.138.70.52] has joined #scheme 18:50:09 minion [n=minion@common-lisp.net] has joined #scheme 18:50:16 specbot [n=specbot@common-lisp.net] has joined #scheme 18:51:49 -!- exexex [n=chatzill@88.235.31.186] has quit [Remote closed the connection] 18:52:41 exexex [n=chatzill@88.235.31.186] has joined #scheme 19:02:32 -!- dzhus [n=sphinx@93-81-176-140.broadband.corbina.ru] has quit ["-_-"] 19:13:27 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 19:15:07 Mr-Cat [n=Mr-Cat@93-80-216-154.broadband.corbina.ru] has joined #scheme 19:15:27 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 19:16:35 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Read error: 104 (Connection reset by peer)] 19:18:11 -!- djork [n=djork@c-76-100-224-42.hsd1.md.comcast.net] has quit [] 19:24:37 -!- blackened` [n=blackene@ip-89-102-208-138.karneval.cz] has quit [] 19:26:11 blackened` [n=blackene@89.102.208.138] has joined #scheme 20:00:40 copumpkin: Yes, I saw that. 20:00:48 ok :) 20:01:08 copumpkin: As for wishes, my powers are limited... 20:06:30 this could be useful for scheme interpreters.. how is it rubyist just f*ng! get it rocking?!?!? http://www.rubyinside.com/irb-lets-bone-up-on-the-interactive-ruby-shell-1771.html 20:06:33 -rudybot:#scheme- http://tinyurl.com/olhvfo 20:11:12 cursormire: what's up with the offensive sequence of interrobangs? 20:12:19 i could never understand ruby 20:12:29 its a lisp, mang! 20:13:11 Off the top off my head, I would say rubyists dont try, they do, and also, they dont look at the finger but at the moon... :D 20:13:31 astronaut architects :p 20:13:46 nah 20:14:11 ruby is like lisp+smalltalk 20:14:12 ruby isnt half bad 20:14:25 doesnt look like lisp at all, no. 20:14:31 its not like vb or pthyon or php 20:14:41 thank god 20:15:17 funny thing someone said that javascript is a lisp derivative too... 20:15:43 -!- abbe [i=wields@abbe.is.a.member.of.pirateparty.in] has quit [] 20:15:49 cursormire: What's "rocking" about that page? 20:16:06 cursormire: And JavaScript is much more of a Scheme derivative than Ruby is (not). 20:16:42 Again, the moon, not the finger. Consider the view it opens about the facilities irb provides. 20:17:21 cursormire: And here we go again. I didn't ask about moons and fingers. 20:18:06 eli Can I get facilities illustrated for irb here for some scheme? http://tagaholic.me/2009/05/11/demystifying-irb-commands.html 20:18:19 cursormire: You said something about the positive value of "they do". So take me as someone who likes to "do", and is willing to help you "do" too. 20:19:04 *wingo_* places cursormire on his ignore list 20:19:51 AFAICT, that page has some "commands" that do not need a separate explanation in PLT (and in other Scheme) -- because these "commands" are actually Scheme forms that you can use anywhere -- in the mzscheme prompt and in other code. 20:20:28 The whole concept of a "REPL" is something that is much better integrated into the language for almost all Schemes and Lisps -- and is merely imitated by other languages. 20:21:02 Ok, so thats why its hidden under some rock and you cant find enthusiastic blogging about it... 20:21:08 For example, these pages seem to rave about how great it is that we have irb -- an interactive environment to try stuff out. In Scheme you'd *expect* to get that (and you do), hence the lack of raving. 20:21:13 jao [n=jao@27.Red-79-155-155.dynamicIP.rima-tde.net] has joined #scheme 20:21:22 What's hidden under a rock? 20:21:40 Ok so irb == stripped REPL? 20:21:53 irb *is* a repl, AFAICT. 20:22:11 And, what's hidden under a rock? 20:22:34 Also, what's the "it" that schemers are supposed to enthusiastically blog about? 20:23:00 eli well, can I find similar collection of guides and tricks for REPL? 20:23:20 What kind of tricks do you expect to fine? 20:23:41 The PLT Scheme reference manual describes the language -- that language is also what you get to use on the repl. 20:24:01 cursormire: more importantly, how much THC did it take to reach this state of irrational exuberance? 20:24:16 So "guides and tricks" for the repl don't exist, since it's "guides and tricks" for the language that you get to use. 20:24:31 klutometis I would say its been roughly 7 metric tonnes 20:25:18 cursormire: what's the "it" that schemers are supposed to enthusiastically blog about? 20:25:33 eli what you are really saying is such a culture doesnt exist for scheme, which is exactly what I was wondering about 19 minutes earlier 20:25:55 WHAT CULTURE ARE YOU TALKING ABOUT??!??!? 20:26:22 This is so annoying. I'm asking questions over and over, and get only (irrelevant) questions in reply. 20:26:24 eli well, stuff like sharing tricks about irb 20:26:42 What kind of "tricks" do you expect? 20:27:11 [Little, concrete questions.] cursormire: Please specify one such trick. 20:27:37 eli Well, me, most importantly stuff that will help me dig around my program to see why it wont work 20:28:02 *eli* sighs 20:28:11 cursormire: Please specify one such trick. 20:28:21 this is a fascinating troll 20:28:24 Ok... 20:29:11 *eli* drums offby1's fingers 20:29:30 Suppose I wanted to see what procedures a lambda tied to a symbol supports? 20:30:01 klutometis denigrating me as a troll wont make my points any less painfully obviouis... or important 20:30:38 cursormire: That sentence (about "procedures", "lambda", and "symbol") makes no sense. 20:30:42 (or same as saying what methods a object supports) 20:31:18 cursormire: if you're points were more point-like, we could talk; but there's this autistic asymmetry of discourse. carry on 20:31:27 cursormire: Scheme does not have methods and objects by default. 20:31:50 eli yeah, I was trying to come up with a similar scheme in scheme 20:32:45 ok, let me abstract instead 20:33:32 cursormire: for the purpose of this, um, "discussion", abstract = bad; concrete = good. 20:34:31 I think soon that guy who asks where do you think this will lead will step in... 20:35:26 cursormire: I asked a simple question: please specify one such trick. 20:35:36 cursormire: please, don't abstract. Tell, what you lack in plt's, chicken's or any other REPL. There is a couple of scheme implementer's here. Your feedback might be useful for them. 20:35:37 meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has joined #scheme 20:35:58 s/implementer's/implementers/ 20:36:19 Ok I wont try to use scheme terminology.. yet. 20:37:57 But what makes ruby coding easy even for someone from art background is basically irb *and* the type of culture around it. The culture means theres lots of discussion and blogging and apis and libraries. 20:38:42 Maybe scheme does have something like that, but I just havent found it yet 20:39:35 Well, one of main principles of many irc channels is "don't ak to discuss, just discuss" :)) 20:40:27 cursormire: That, again, goes to the irrelevant. If your point is that Scheme lacks "blogging and apis and libraries", then your point is not a Scheme point. 20:41:03 You might think so, but actually thats much more important to scheme than scheme language will ever be.. 20:41:44 cursormire: That might be the case, but that is still not a Scheme discussion. 20:41:52 cursormire: Disagree. I believe in looking at the language and the community (and especially the community of library-writers) as separate entities. 20:42:31 cursormire: One may affect the other, but that does not make them one and the same. 20:42:45 Ivory tower tactics... you think that will work? :) 20:43:01 *eli* rolls his eyes. 20:43:54 cursormire: If anything, I'm trying the exact opposite: Please specify one *concrete* *non-academic* trick in the irb repl that you're missing in the mzscheme repl. 20:43:55 *wingo_* amused by one-sided discussion :) 20:44:02 cursormire: you're assuming that scheme's main goal is to attract the hordes of blog-reading "next big language" people 20:44:07 wingo_: :-) 20:46:19 eli, I have a vague recollection that Template Haskell is not hygienic, but that is probably not worth quoting. 20:46:25 eli ok I dont know mzscheme repl well enough to provide that. in fact I dont know how to approach the mzscheme repl *because scheme seems to lack the kind of dialogue I am used to being able to find and learn from* 20:46:33 incubot: the only cure for blogorrhea is piety 20:46:37 You should find a way to cure that. It's a serious problem. 20:46:39 ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has joined #scheme 20:46:49 cursormire: then adjust your dialog; it's called "learning" 20:46:58 My point? What is it? It is about how accessible scheme culture is? 20:47:29 cursormire: Did you try the (long list of) manuals? The PLT mailing list? The PLT blog? Other blogs? 20:47:34 cursormire: That is your tactics what is strange. There is not much point in askung schemers to start blogging heavily, to implement any particular library or to include pattern matching in r7rs. They won't. The best way to behave in scheme community is to do something yourself. 20:47:41 Part of ruby culture is taking away obstacles. It is an insight that is lost to Ivory Towerists Of Computing. 20:47:51 cursormire: Actually, did you try to ask a *CONCRETE* question here? 20:48:08 eli I tried to create discussion, dialogue. 20:48:20 cursormire: Not some wavy social argument about whatever culture ruby does or does not have. 20:48:26 eli++ 20:48:39 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Remote closed the connection] 20:48:41 cursormire: You haven't asked a single concrete question directly. 20:49:09 Riastradh: Yes, that's what I understood, and that's enough for my needs., (I didn't need anything quotable, just a general sense of what it does.) 20:49:59 So, to ask no more rhetorical questions, what happens when you type 'scheme repl tricks' in your google? 20:50:11 cursormire: One thing to bear in mind is that Ruby has a very different "object model" to Scheme, and if you try to think of Scheme in terms of Ruby, you will fail. 20:50:43 cursormire: Nothing useful, I'm sure, since "scheme repl" is too generic to be useful. 20:50:46 cursormire: how is that not rhetorical? you know the answer :o 20:50:50 cursormire: No interactive environment needs "tricks" as such. The need to have tricks is about as offensive of a notion as all those "Hidden features of XXXX" questions in Stack Overflow. 20:50:52 see, guys, i called this troll twenty minutes ago; you would have had twenty minutes of your lives back 20:51:20 I just showed up, and I'm already wondering if it's a troll or just someone who has no interest except in being argumentitive. 20:51:21 klutometis: True, but I'm waiting for my build to upload, so why not. :-P 20:51:27 ... or if there's even a difference there. 20:51:37 cky: heh 20:51:38 *copumpkin* gets back under his bridge 20:51:40 chandler: No difference in my book. :-) 20:51:41 Well, so whats a newb to type in the google. Where can I pick up little crumbs? A spec wont help a newb learn the trade 20:51:59 cursormire: How about "Scheme tutorial"? Or even "DrScheme tutorial" or the like? 20:52:00 Perhaps you should start at the vast quantity of learning material supplied with and written for PLT Scheme. 20:52:09 cursormire: In case you didn't get what I said earlier -- you wouldn't get anything meaningful, because these things are not considered "tricks" in the scheme community. 20:52:25 *copumpkin* republishes existing tutorials as blog posts, to satisfy the format requirements 20:52:35 copumpkin: :-) 20:53:19 incubot: blog out! 20:53:22 peter_12: you'll need to install mod_lisp with a web server, and then you can start the server from within MIT Scheme after you have loaded the files and configured your blog files. 20:53:26 eli: Agree, "tricks" just sound pretentious. 20:53:42 Just like people who think in terms of "tricks". 20:53:43 In communication studies theres this term called 'phatic communication' 20:53:49 Unless we're talking about playing Bridge or 500. 20:53:50 Maybe cursormire wants the documentation to be more littered with words such as `tricks', `demistifying', `screencast', `grab bag', and `power user'. 20:54:17 how about 'protip' 20:54:30 oh wait :) 20:54:38 Riastradh: I suspect that that would work. 20:54:44 "Your condescending attitude wont help your fringe status become any less evident 20:54:51 +" 20:55:00 cursormire: Kettle calling pot black? 20:55:42 cky: What amazes me is the pretence of some random ruby semi-hacker-like, who raves about the repl as if it's some huge new revalation. 20:55:45 Anyway I see I managed to get nice set of feedback, and frankly looks like no-one on this channel has the mindset for this discussion. 20:55:45 cursormire, well, if what I said is not true, can you please be more specific about what is missing from the PLT Scheme documentation that you are finding in the Ruby documentation? 20:56:00 cursormire: I have a feeling that you're the only person who cares about whether something is labelled "fringe". 20:56:05 eli you missed the point. 20:56:13 eli: Uh huh. 20:56:37 incubot: show us the point! 20:56:41 by 'work' I mean 'show up as not bound to a prefix key.' 20:56:46 cursormire: You haven't made a point; and re your attempted discussion about cultures and blogs and whatnots -- I'm not interested. I'd rather be *do*ing. 20:56:51 From your negative attitude I can tell I hit a painful spot, tho. Or perhaps you all have low self esteem, I am not sure. 20:56:54 cursormire: the social faculties of your brain are overdeveloped; it may have to do with a liberal arts background 20:57:08 Let's please avoid ad hominem attacks. 20:57:22 That goes for everyone, not just cursormire, folks. 20:57:57 this is just typical trolling, really... it even makes the typically nice people get all riled up and start bashing 20:58:00 Riastradh I was pointing out a cultural difference, using irb as an example. So it not as much about PLT Scheme dox as something much more intangible. 20:58:20 some other cat came in here a few months ago, ranting about "culture" 20:58:21 Do you have something you can point to for those of us who don't believe in intangibles? 20:58:26 cursormire: There is no negative attitude towards anything, only lack of. If you have some Scheme, or some PLT Scheme question, then ask. If you have some question about cultures, then this is the wrong channel (mostly). 20:58:30 copumpkin you mean it makes degenerate lowlifes show their true colors? 20:58:33 what is this bizarre fixation with culture and programming; isn't culture superfluous? 20:58:47 When you say culture, cursormire, I think music, art, literature, &c. 20:58:50 cursormire: As I mentioned before, Ruby has a very different "object model" to Scheme. You can't say "ooh, I can get an object's method in irb, why can't I in a Scheme REPL?", because Scheme objects don't inherently have attached methods, for example. 20:59:01 Hm. 20:59:27 cursormire: not at all... people can just get annoyed with hard-headedness or newcomers coming to their room and expecting everything to behave their way rather than wanting to learn how it works 20:59:54 perl's culture is 1000% better than ruby's or scheme's culture... 21:00:10 *sladegen* anywayz. 21:00:13 cursormire: including, expecting documentation or "culture" to conform to their expectations 21:00:32 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 21:00:46 I guess using words you cant process using boolean logic was too much to ask. 21:01:07 I'm not saying "x is better than y" 21:02:00 I'm saying it's natural for people to get annoyed at your kind of attitude... say I showed up in #ruby and say "yo, where's the formal specification of ruby's behavior? I've seen ruby-spec but it doesn't meet my formality standards, as it's just a testsuite" 21:02:08 sladegen: was that a pun involving artifically irritated ostreidae? 21:02:19 or, "why doesn't ruby have a friggin type system?? that's just stupid!" 21:02:28 copumpkin and people would tell you 21:03:05 cursormire: yes, depending on how I phrased my question, people might tell me, or they might flame me 21:03:21 you arrived yesterday saying "why doesn't scheme just isolate me from all these boring details?? I shouldn't have to know this" 21:03:29 I doubt there would be bunch of guys telling you "how dare you come round here with your 'spectatons" 21:03:32 that's not a "friendly" way to get acquainted with the community 21:03:48 Try it, #ruby or #python or what have you. 21:03:52 I have :) 21:03:57 I used to spend a lot of time in there 21:04:01 I got tired of the attitude 21:04:25 Can we please avoid having a discussion about the various "attitudes" of IRC channels? 21:04:26 but anyway, this is all OT for this channnel 21:04:32 yup :) 21:04:34 sorry! 21:04:47 I would appreciate it if we stuck to discussing Scheme here, not discussing discussions of Scheme, or discussing how people discuss discussions of Scheme. 21:05:15 But scheme culture is off topic? 21:05:23 cursormire: I'm afraid I haven't been able to tell what you were specifically trying to find out. Can you tell me which Scheme implementation you're using and what you'd like to know? 21:06:05 So this channel is for outcome oriented queries on scheme, only, even on saturday night? 21:06:30 It's nearly off-topic, and my tolerance for that depends greatly on how constructive the discussion is. 21:06:32 cursormire: I'll give you one good advice regarding PLT Scheme and Scheme in general that will help you in your quest to program: uninstall it. I'm completely serious. You obviously see advantages that are beyond the average Schemer's comprehension -- the culture suits you, the people are nice, they blog, and the smile much more. So just go on using Ruby. It's perfect. 21:06:33 Cant I just, like, talk about scheme? 21:06:44 Please do. 21:07:29 eli I should uninstall scheme just cause you dont like my comparisons between ruby and scheme -cultures approach to making things accessible to newbs? I think thats important. 21:07:33 (Culture? ?) 21:08:10 eli: Please, I don't think that's very constructive either. 21:08:14 lol 21:08:32 cursormire: I'd like an answer to my question. 21:08:56 cursormire: No, you should uninstall it to avoid the frustration that you are very likely to attract. The subjects that you find interesting are such that Scheme will not make you happy. 21:08:58 Okay. cursormire: To get started, Scheme is not, unlike Ruby, inherently object-oriented. There are no "attributes" or "properties" or "methods" attached to objects. 21:08:59 cursormire: You may think of schemers as of lonely wolves, coming here to chat about this or that, and to wish each other "good hunt" not to share their prey. That's the culture. 21:09:05 chandler: My advice was completely serious. 21:09:13 chandler see my answer in the form of rhetorical question right after your question. 21:09:26 cursormire: Some _implementations_ (not the Scheme language) do provide object-orientation, but even that does not work the way OO in Ruby does. 21:09:26 -!- jao [n=jao@27.Red-79-155-155.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 21:09:57 cursormire: I mention these upfront because one implication of this is that you have to think about how to structure your program completely differently to how you would do a Ruby program. 21:10:03 eli: I've got about five minutes worth of patience left for this, and I'd prefer to use it in an attempt to determine if there really is something that cursormire wants to learn about, or not. 21:10:52 cursormire: So, you don't have a Scheme implementation installed? 21:10:57 I already told you. nothing specific. 21:11:07 I use PLT/mzscheme 21:11:53 Well, actually, if theres a humanists guide to digging around your program with repl, sure, link me 21:12:09 What does "humanist" mean, in this context? 21:12:25 Just ignore what you cannot parse 21:12:32 consider it whitespace 21:12:36 You're not using the PLT GUI? 21:12:44 cursormire: No, because then you'll just say I'm not answering your question. 21:12:46 jao [n=jao@189.Red-79-155-152.dynamicIP.rima-tde.net] has joined #scheme 21:13:03 cursormire: Let's nail down the question, then answer it. 21:13:12 chandler DrScheme? If I can avoid it 21:13:42 cursormire: humanists guide to the REPL: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-1.html#titlepage 21:13:52 klutometis: Nice. :-) 21:14:06 I would have pointed to HtDP for "humanists", but OK :-) 21:14:13 klutometis humanist cs-majors? ok... 21:14:23 chandler: :-) 21:14:34 cursormire: You _did_ say ignore whatever is unparseable. 21:14:35 I prefer SICP in video form btw. 21:15:04 cursormire: I'm not quite sure what you're looking for here. There's going to be a fair amount of technical wiggly-woop in any document about programming. It is not a "humanist" discipline. 21:15:15 Either you make the computer do what you want it to do, or you don't. 21:15:21 he wants a _why's poignant guide to scheme :) 21:15:26 Aha! 21:15:31 Now you're talking 21:15:36 chandler: yeah, but look at the preface to the first edition: they mention violins, epistemology, ... 21:16:19 copumpkin: good call 21:17:25 someone should write a programming guide modeled after the Divine Comedy 21:17:27 yeah klutometis he wants humans, not computer science majors 21:17:37 I'll let you decide which languages belong in hell, purgatory, and heaven 21:18:17 cursormire: Well, being a good piece of fiction to read while travelling to work, why's guide imho sucks as a ruby guide. 21:18:49 ejs [n=eugen@101-198-124-91.pool.ukrtel.net] has joined #scheme 21:18:58 Yeah, I never got further than 4th chapter (I think). But it was part of the easy start. 21:19:13 ... I just loaded the first page and I think this a waste of time. 21:19:29 Of course! 21:19:36 You already know all that... 21:20:30 Imagine if you knew practically *nothing* about all this. Probably very hard for you. Fun stuff about monkeys and stars make it much easier than someone babbling about higher order functions 21:20:33 Theis guy - http://www.lisperati.com/ - shows a similar approach to lisp and iirc haskell. His pictures are nice, but I can't call this approach really useful for teaching anything. 21:21:08 cursormire: I learned to program on an Apple IIc using the Integer Basic tutorial. It didn't have anything about monkeys in it. 21:21:12 there is something similar (if not quite as "out there") for haskell called learn you a haskell for great good 21:21:26 I was 8 years old. 21:21:35 So, I still think this is dumb. 21:21:36 but I'm not sure that pictures help much unless they're diagrams of useful concepts 21:22:01 Maybe cursormire would like _The Little Schemer_? 21:22:37 That is what I was just thinking. 21:22:45 Riastradh: i suspected the same thing; but couldn't furnish a link. 21:22:48 http://www.ccs.neu.edu/home/matthias/BTLS/sample.ps wow :) 21:23:14 Btw, guys who seed abelson-sussman lectures, do you seed divx or mpeg? 21:23:18 I learned to program in 2005 with ruby. I first read Ritchie/ C book in 1989 21:23:34 Mr-Cat you can find it on Truveo 21:25:22 cursormire: I would second Riastradh's suggestion of The Little Schemer. It is a friendly, conversational book. 21:26:57 that postscript file I linked to is a chapter from it apparently 21:27:01 *cky* still means to order a copy of that book, and its sequels. 21:27:58 So, and whats good for the practicalities? 21:28:49 HtDP is a good tutorial with some of the practicalities covered. 21:29:56 cursormire: My approach is to just start writing something. Think of something worthy and start implementing it 21:31:28 Well, you cant learn debugging processe just by writing something. 21:32:58 cursormire: How are you going to learn debugging process without having something to debug? :) 21:33:00 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 21:33:35 Debugging techniques depend heavily on how the code is written 21:33:47 Arelius [n=indy@64.174.9.113] has joined #scheme 21:34:50 So youre saying there isnt a nice guide for that? 21:35:41 Cowmoo [n=Cowmoo@c-98-218-214-24.hsd1.va.comcast.net] has joined #scheme 21:37:07 Mr-Cat Im sure there will be tons of code to debug. 21:37:08 -!- jao [n=jao@189.Red-79-155-152.dynamicIP.rima-tde.net] has quit [Read error: 101 (Network is unreachable)] 21:37:24 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit [Remote closed the connection] 21:37:29 -!- ikaros [n=ikaros@g226130222.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 21:37:38 cursormire: I hanen't seen any debugging guides for scheme. But drscheme sems to have some debugging features - you should check out its manual. As for me, the only debugging facility I use is chicken's ",x". 21:38:05 By practicalities I meant things like debugging and metaprogramming trickery. 21:38:53 cursormire: why do you fetishize trickery over fundamentals? 21:39:41 is it the "rockstar" culture? 21:39:52 You all seem to think I am some tourist to this. Perhaps I fail to use same terminology. Like I said, I started with C and 68k ASM in 1989. Java, XSLT, Javascript, Ruby, Python. Keep dissing me. Keep nitpicking on my words. Your worth becomes evident. 21:40:49 -!- Cowmoo [n=Cowmoo@c-98-218-214-24.hsd1.va.comcast.net] has quit [Remote closed the connection] 21:41:15 cursormire: i'm just saying that metaprogramming, which might refer to macros over here, shouldn't come before basic apprehension of scheme and the functional paradigm 21:41:22 -!- cursormire [n=pikseli@cs181151213.pp.htv.fi] has left #scheme 21:42:02 cursormire: You may learn different trickeries by accomplishing practical tasks as well. I.e. implementing a DSL in scheme could be a good task. 21:42:16 He left, Mr-Cat. 21:42:44 Ah, really 21:44:31 Got his fill :) 21:44:32 jmccrack__ [n=jmccrack@student312-1.psc.edu] has joined #scheme 21:45:06 Mr-Cat: I think he just got annoyed that there was so much pushback to his inane statements. :-) 21:45:10 Mr-Cat: what does chicken's ,x do? 21:45:48 windo_: Expands macros 21:46:18 oh, sorry, wingo_, misspelled your nick 21:46:52 np 21:46:57 tx 21:49:32 -!- mejja [n=user@c-a3b3e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 21:50:06 -!- jmccrack_ [n=jmccrack@student312-1.psc.edu] has quit [Read error: 60 (Operation timed out)] 21:50:58 Well, that guy reminded me of that there seems to be no good scheme guide in russian language. 21:51:04 -!- ejs [n=eugen@101-198-124-91.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 21:51:51 -!- synthase [n=synthase@adsl-220-161-115.mob.bellsouth.net] has quit [Read error: 60 (Operation timed out)] 21:52:46 -!- `Antonio-work` is now known as `Antonio` 21:56:11 synthase [n=synthase@adsl-146-242-184.mob.bellsouth.net] has joined #scheme 21:58:03 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 21:58:17 ASau [n=user@193.138.70.52] has joined #scheme 22:00:09 Debugging? Klingons do not debug. Our software does not coddle the weak. 22:00:43 -!- dysinger [n=tim@32.177.61.51] has quit [Read error: 110 (Connection timed out)] 22:00:47 annodomini [n=lambda@pool-141-154-245-43.bos.east.verizon.net] has joined #scheme 22:01:36 Mr-Cat: There is at least one debugging guide, but it is oriented towards beginners and Chez Scheme. . 22:04:06 arcfide: Thanks, will bookmark that 22:07:03 benny99 [n=benny@p5486C1CF.dip.t-dialin.net] has joined #scheme 22:11:48 *sladegen* just uses Zyklon B. 22:12:14 -!- subversus [i=elliot@loveturtle.net] has quit [Remote closed the connection] 22:17:09 pumpkin [n=pumpkin@pat9.border1-cfw.dartmouth.edu] has joined #scheme 22:17:39 sladegen: Wow, wikipedia has a comprehensive guide about that. 22:17:47 geckosenator [n=sean@c-71-237-94-78.hsd1.co.comcast.net] has joined #scheme 22:17:54 s/guide/article 22:18:32 dysinger [n=tim@166.129.204.207] has joined #scheme 22:19:19 Mr-Cat: yeah, just read about it yesterday on wikipedia. it's still in production in one place "near" me under different brand name. 22:19:41 hey sladegen 22:20:05 do re mi fa so la 22:22:20 -!- mike [n=m@dslb-088-067-044-118.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 22:26:12 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 22:26:29 ASau [n=user@193.138.70.52] has joined #scheme 22:30:13 -!- hotblack23 [n=jh@p5B05407D.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 22:36:24 -!- Nshag [n=shagoune@Mix-Orleans-106-3-95.w193-248.abo.wanadoo.fr] has quit [Read error: 104 (Connection reset by peer)] 22:42:31 -!- mmc [n=mima@cs142048.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 22:44:56 -!- dysinger [n=tim@166.129.204.207] has quit [Read error: 110 (Connection timed out)] 22:46:42 -!- Mr-Cat [n=Mr-Cat@93-80-216-154.broadband.corbina.ru] has quit ["    (xchat 2.4.5  )"] 22:47:12 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 22:48:19 -!- npe [i=npe@94-224-249-160.access.telenet.be] has quit [] 22:50:48 -!- benny99 [n=benny@p5486C1CF.dip.t-dialin.net] has quit ["Leaving"] 23:02:16 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 23:02:44 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 23:08:14 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit ["Leaving"] 23:08:56 -!- `Antonio` [n=kvirc@92.6.187.78] has quit ["sweet guile dreams"] 23:09:02 -!- sanita [n=sanchy@89.242.89.101] has quit [] 23:17:10 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 23:17:51 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 23:45:17 fschwidom [n=fschwido@p5B269E3A.dip0.t-ipconnect.de] has joined #scheme 23:47:04 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Connection timed out] 23:47:13 RageOfThou [n=RageOfTh@92.36.192.196] has joined #scheme 23:50:38 -!- fschwidom [n=fschwido@p5B269E3A.dip0.t-ipconnect.de] has quit [Remote closed the connection] 23:51:22 _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has joined #scheme 23:51:33 -!- _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has quit [Remote closed the connection] 23:51:44 _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has joined #scheme 23:54:43 RageOfThou: isn't thou "thine" in the genetive? 23:55:02 genitive* 23:57:51 is it possible to implement APPEND in O(1), or is it necessarily O(N)? 23:58:02 APPEND!, i suppose, could be O(1)