00:03:25 -!- kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has left #scheme 00:06:39 Bah! 00:09:17 What's wrong with mayonnaise? 00:09:57 -!- sepult [n=buggarag@xdsl-87-78-31-78.netcologne.de] has quit ["leaving"] 00:10:10 Alright, so I am parsing, through a bytevector that contains a struct addrinfo structure. Everything seems to be exactly as it should be except that there is a high byte in the ai_addrlen field that makes the program think that there is an addr structure of 7xxxxxxxxxxxxx some bytes. 00:10:50 If I treated the size_t value as an int, then I never would have seen this. 00:11:38 I want to know why it is there and why I can't seem to figure out what is really wrong. 00:12:20 offby1, got any advice? 00:12:38 hold on, my attention is flitting back and forth 00:13:05 no advice, really. 00:13:17 I haven't wrassled at the byte level in ages 00:13:28 Any one else is welcome to join and show me the errors of my ways, if they would like. 00:14:24 offby1: What bothers me is that the low word, if we call it that, is what it should be. 00:14:44 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 00:17:03 And what is with all the trolls and flames in C.L.S lately? 00:18:10 haven't noticed. 00:18:18 oh, wait; I don't read C.L.S. 00:38:28 -!- dmoerner [n=dmr@ppp-71-139-30-13.dsl.snfc21.pacbell.net] has quit ["Leaving"] 00:44:57 bytecolor [n=user@32.158.64.80] has joined #scheme 00:48:03 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 01:02:35 segoe [n=segoe@83.231.8.254] has joined #scheme 01:02:38 hi 01:03:29 is this correct? 01:03:31 > (let () (set! a_new_variable "hi")) 01:03:31 > a_new_variable 01:03:32 "hi" 01:03:57 or should it yield an error when trying to set!? 01:04:16 -!- cky [n=cky@cpe-024-211-255-249.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 01:06:45 it's undefined in R5RS 01:07:46 shouldn't set! complain if there wasn't a variable previously defined? 01:08:06 i mean, that should be the different between "set!" and "define"? 01:10:04 I think that depends on the implementation 01:10:16 -!- rudybot_ is now known as rudybot 01:10:19 rudybot: init r5rs 01:10:20 *offby1: your r5rs sandbox is ready 01:10:25 rudybot: eval (let () (set! a_new_variable "hi")) 01:10:25 *offby1: error: set!: cannot set identifier before its definition: a_new_variable in module: 'program 01:10:39 so we see that PLT's r5rs language rejects it ... 01:10:43 rudybot: init scheme 01:10:44 *offby1: your scheme sandbox is ready 01:10:47 rudybot: eval (let () (set! a_new_variable "hi")) 01:10:47 *offby1: error: set!: cannot set identifier before its definition: a_new_variable in module: 'program 01:10:53 cky [n=cky@cpe-024-211-255-249.nc.res.rr.com] has joined #scheme 01:10:55 as does its "scheme" language 01:11:00 great 01:11:58 incubot: (set! bla 1) (display bla) 01:11:59 1# 01:12:15 chicken doesn't mind 01:14:04 rudybot: eval (let () (begin #t (define test 30) test)) 01:14:05 segoe: your sandbox is ready 01:14:05 segoe: error: eval:1:18: define: not allowed in an expression context in: (define test 30) 01:14:19 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 01:14:42 it's a bit strange how scopes work and when you can use set!, define and such 01:15:35 rudybot: eval (let () (begin (define test 30) test)) 01:15:36 *offby1: ; Value: 30 01:15:50 yep that's why i've put the #t first 01:16:13 good rule of thumb: never use set! :-) 01:16:19 surprising how far you can get with that. 01:16:23 anyway what puzzles me a bit... 01:16:45 it's that when using set! inside let, it sets the variable in the global environment instead of the local one 01:16:58 doesn't surprise me 01:17:05 segoe: Some Scheme implementations will treat every variable as defined implicitly on the REPL. 01:17:07 set! doesn't define the variable, and hence doesn't determine its scope 01:17:34 set! mutates an "existing" variable (modulo what arcfide just said). 01:17:47 arcfide: does that mean it can be different when not using the REPL and running a program directly? 01:17:48 If the variable is at top-level, then it doesn't matter if the set! appears inside a "let". 01:18:43 it's interesting :) 01:20:07 segoe: Basically, yes, this can make a difference. For example, in Chez Scheme, a DEFINE at top level is basically a SET!, but an internal definition will not redefine a top-level variable, but will introduce a new one. However, if you use something like MODULE to wrap your code in, then SET! inside of a module (in Chez) will not affect the top-level environment. 01:20:27 Well, actually, sorry, yes, sometimes it will. 01:20:37 I'm thinking of something else, ignore the MODULE part. 01:20:53 i've never used modules 01:21:12 But, generally, if you move code from a top-level REPL, into something like a MODULE or a LET form, you'll find that it may behave differently. 01:22:10 In some systems, like PLT, they try to treat everything as if it were inside a module already, and strive for some level of consistency with regards to the REPL and other execution behavior, but this cannot be done completely well. 01:22:31 i like PLT i find it easy to use 01:22:32 That is, the REPL is an unspecified model that is a convenience for the program in some way, but you should not rely on its semantics. 01:22:43 and helpful with errors 01:23:05 but sometimes i struggle when trying to port something from PLT to other interpreters 01:23:22 and the other way around, specially since set-car! set-cdr! where removed 01:23:34 segoe: If you are using portable or mostly portable or well known Scheme libraries, you shouldn't have much trouble. 01:23:47 but usually those are corner cases 01:23:51 most of the code works 01:24:08 *arcfide* smiles. 01:24:18 SO, I finally got rid of the need for a STUB file for my Sockets library. 01:24:32 I should say, a runtime stub file. 01:24:56 sockets library for what interpreter? 01:25:05 And I managed to shrink the code, add new features, and do it all in less lines of code! 01:25:12 segoe: Chez Scheme. 01:25:15 that's nice :) 01:25:28 i remember your libraries for Chez 01:25:31 Actually, you need the compiler to compile it, but Petite Chez Scheme can use the precompiled version fine. 01:25:36 with the foof loop and all the goodies 01:26:14 segoe: Yeah, I am moving them all over to R6RS to be ready for the next release of Chez. Around that time, I'll also send in patches to the relevant communities who are tracking portable SRFIs and the like. 01:26:38 Additionally, I'll have a more complete set of sockets code for them to use, and Descot should be finished by then as well. 01:26:41 i can't say a lot of good things about r6rs 01:26:45 but that's personal preference 01:27:00 it's good to have a nice set of libraries arcfide :) 01:27:18 segoe: Well, I'm no big fan either, but that's what Chez has decided to use, and I must admit to using some R6RS features (though they would have worked just as well out of the standard). 01:27:25 specially since Chez has some of the SRFIs a bit crippled 01:28:03 Right now I have a number of Riastradh's, Foof's, Oleg's, and the Neil CSV code ported. 01:28:22 As well as the R6RS SRFI work done. 01:28:36 i like they added hash tables 01:28:40 Heh. 01:28:57 but things like [code] are painful 01:29:06 Well, I've been using the bytevectors a ton, but I can't say I understand why they are in the standard. :-) 01:29:18 segoe: You mean (let ([a 'a] ...) ...)? 01:29:30 The brackets? 01:29:33 yes 01:29:43 i don't like them at all 01:29:45 Hehe, I ... use that. :-) 01:29:52 : 01:29:55 :-) 01:29:56 :P 01:30:03 eno__ [n=eno@adsl-70-137-128-180.dsl.snfc21.sbcglobal.net] has joined #scheme 01:30:26 i like trying snippets i find here and there on different interpreters 01:30:34 and look how they behave and experiment with them 01:30:39 I've got some snippets for yo. :-P 01:30:48 what do the brackets do? Just paren replacements? 01:30:51 when the snippets contain brackets that means changing them 01:31:13 and i (i must admit some people do) don't find them more readable 01:31:37 the only place i would use them... is something like: 01:31:45 (define x #(10 20 30)) changed to: 01:31:46 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 01:31:52 (define x [10 20 30]) 01:31:57 arcfide pasted "FFI Bindings" at http://paste.lisp.org/display/84601 01:31:58 if they were the syntax for vectors 01:32:14 arcfide annotated #84601 "Parameters" at http://paste.lisp.org/display/84601#1 01:32:20 -!- soupdragon [n=f@amcant.demon.co.uk] has quit [Remote closed the connection] 01:32:24 sleepydog: Yes. 01:32:52 segoe: That's my latest library, in use extensively for the sockets code. 01:33:17 C FFI? 01:33:20 It allows me to do all my foreign bindings at expansion time relatively easily and extract out the needed values and embed them in my scheme code as literals. 01:33:33 looks good arcfide :) 01:34:29 i'm still solving project euler things 01:34:56 and learning, which is nice while it lasts if one enjoys it 01:35:23 arcfide pasted "Sockets Library" at http://paste.lisp.org/display/84602 01:35:44 segoe: You can see it in action in the sockets library. Code still dangerous, beware. :-) 01:36:52 foof` [n=user@dn157-046.naist.jp] has joined #scheme 01:37:09 -!- foof` is now known as foof 01:37:55 foof: ! How's it going? 01:38:16 OK 01:38:59 Why the surprise? 01:40:09 foof: I didn't even realize you weren't here, so it's like you just jumped in and I was like, "What? When were you gone?" 01:41:12 Big storm kocked out the network here. 01:44:22 arcfide: would be nice to see an example of using the library, like a google search or downloading and reading a rss feed 01:45:08 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 01:45:39 segoe: You can see the mod_lisp library for an example of how it is used. It corresponds almost function for funciton to the BSD sockets library. 01:46:00 segoe: (define s (create-socket socket-domain/internet socket-type/stream socket-protocol/auto)) 01:46:31 segoe: You are looking at the undocumented code. 01:47:01 nice, i've used the BSD sockets library before 01:47:40 segoe: I can send you some documentation if you want to play with the code or just stare at it. 01:48:32 i can't right now, i'm at work, but i'll remember you when at home :P 01:50:26 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 01:51:02 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 01:53:20 -!- MrFahrenheit [i=RageOfTh@89.146.180.209] has quit [Read error: 110 (Connection timed out)] 01:53:43 -!- athos_ [n=philipp@92.250.250.68] has quit ["leaving"] 02:03:54 -!- blackened`_ [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 02:10:40 -!- dysinger [n=dysinger@200.25.197.105] has quit [Connection timed out] 02:12:07 segoe: Expecting `set!' to work on undefined bindings is asking for trouble, and should be considered a bug even if it works. It's never a good idea, even in languages that mask out the difference between definitions and assignments. (JavaScript is a perfect example of how this can get very messy.) 02:14:00 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 02:14:40 eli: that was what i was expecting, an error on "undefined variable" 02:15:10 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 02:18:36 -!- arcfide [n=arcfide@99.14.208.163] has left #scheme 02:18:37 -!- jonrafkind [n=jon@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 02:19:43 it's not a bug, it's a feature! 02:22:42 -!- bytecolor [n=user@32.158.64.80] has quit [Read error: 110 (Connection timed out)] 02:36:08 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 02:52:32 Thren_ [n=Thren@c-75-67-111-180.hsd1.nh.comcast.net] has joined #scheme 02:52:37 -!- Thren [n=Thren@c-75-67-111-180.hsd1.nh.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 02:53:07 -!- Thren_ [n=Thren@c-75-67-111-180.hsd1.nh.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 02:53:14 tjafk1 [n=timj@e176207091.adsl.alicedsl.de] has joined #scheme 02:55:00 -!- eno__ is now known as eno 03:00:59 jonrafkind [n=jon@lre-west-4-42.usahousing.utah.edu] has joined #scheme 03:08:48 -!- tjafk2 [n=timj@e176192011.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:15:28 Thren [n=Thren@c-75-67-111-180.hsd1.nh.comcast.net] has joined #scheme 03:21:47 -!- jonrafkind [n=jon@lre-west-4-42.usahousing.utah.edu] has quit [No route to host] 03:25:02 -!- segoe [n=segoe@83.231.8.254] has quit [Read error: 104 (Connection reset by peer)] 03:34:35 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 03:36:08 leppie: thanks by the way. parameters ended up not being too complicated, and solved the problem (in the absence of dynamic module definitions). 03:41:27 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 03:45:42 jonrafkind [n=jon@lre-west-4-42.usahousing.utah.edu] has joined #scheme 03:49:03 underspecified [n=eric@203.118.14.76] has joined #scheme 03:49:34 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #scheme 04:08:02 refusenik [n=Dfowler@ip-66-9-231-226.autorev.intellispace.net] has joined #scheme 04:09:40 -!- refusenik [n=Dfowler@ip-66-9-231-226.autorev.intellispace.net] has quit [Read error: 54 (Connection reset by peer)] 04:10:33 -!- underspecified [n=eric@203.118.14.76] has quit [] 04:25:09 karlw [n=user@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has joined #scheme 04:32:04 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Remote closed the connection] 04:46:55 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 04:51:54 I know there's a LaTeX code generator in Scribble somewhere, but I'm too lazy to look for it now. 04:56:48 *karlw* twiddles his thumbs. 04:57:15 -!- karlw [n=user@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has left #scheme 05:16:24 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [] 05:17:29 -!- sleepydog [n=user@64-252-139-167.adsl.snet.net] has quit [Remote closed the connection] 05:22:46 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 05:50:09 -!- jonrafkind [n=jon@lre-west-4-42.usahousing.utah.edu] has quit [Read error: 60 (Operation timed out)] 06:00:15 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [] 06:04:49 underspecified [n=eric@203.118.14.76] has joined #scheme 06:09:53 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 06:54:39 ravenex [n=ravenex@117-243-252-87-dynamic-pool.gprs.mts.by] has joined #scheme 06:57:42 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit [Remote closed the connection] 07:00:42 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 07:06:34 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 07:17:46 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 07:21:59 -!- pchrist_ [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 07:22:31 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 07:40:24 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 07:51:25 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit [Read error: 104 (Connection reset by peer)] 07:51:53 snurble [n=snurble@s83-191-238-2.cust.tele2.se] has joined #scheme 08:03:36 masm [n=masm@a213-22-83-196.cpe.netcabo.pt] has joined #scheme 08:08:28 -!- masm [n=masm@a213-22-83-196.cpe.netcabo.pt] has left #scheme 08:09:46 alaricsp [n=alaricsp@88-202-202-24.rdns.as8401.net] has joined #scheme 08:15:19 synx :) 08:39:58 masm [n=masm@a213-22-83-196.cpe.netcabo.pt] has joined #scheme 08:40:53 Edico [n=Edico@unaffiliated/edico] has joined #scheme 08:49:11 -!- rstandy [n=rastandy@net-93-144-187-148.t2.dsl.vodafone.it] has quit [Remote closed the connection] 08:50:43 kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has joined #scheme 08:51:27 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 08:56:19 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 08:56:54 is lisp in small pieces in pdf anywhere? (I own the book, and can prove it with any 'word on page X' test), but I prefer to read stuff on screen, and not carry lots of books; I can't seem to find it on the kindle either 08:57:43 lowlycoder: assuming you want a legal version, you might look at O'Reilly's Safari, it may have an ebook copy 08:58:08 it's still under copyright IIRC, so I can't help with you with non-license versions 08:58:53 yes, it is silly that you can't get help to get a pdf copy when you own the book 08:59:06 university has safari; can't find it on safari 08:59:10 ah 08:59:46 do you know if such a pdf even exists? 08:59:58 no, all I have is the text copy 09:00:08 the thing that annoys me 09:00:14 is that the textcopy also looks _low_ quality 09:00:19 yeah 09:00:35 for such an expensive book, you'd think that 1) they can use better paper and 2) have fonts that look like ttf rather than something that was scanned + printed 09:00:41 yes. 09:00:56 IIRC it was translated from French, that may be the problem. 09:01:16 the writer is Quebeqois 09:01:17 unless the photocopier did the translation .... 09:01:23 oh well, not your fault 09:01:27 don't mean to complain to ou 09:01:33 lol 09:01:37 you can bitch to me a bit 09:01:46 I'll tell you if I don't want to hear any more 09:01:47 :P 09:02:06 and yeah it is a problem. 09:02:34 you want ebook copies of your texts so you can just drag around your computer instead of computers + books on trips 09:03:00 but the only way to get all of your books is illegal sharing sites, basically. 09:03:11 not everything makes it to the mainstream ebook publishers 09:03:15 not carrying books; being able to search through them 09:03:39 right. I prefer books if I'm in a static location. if I'm travelling, they suck because you have to lug them around 09:03:56 also, i find switching eyes from monitor & book is distracting 09:04:00 ah 09:04:04 doesn't bother me. 09:06:26 Does anyone know where the source code samples for LiSP can be found? 09:06:33 yeah, it's on the author's webpage 09:06:38 all X compilers and Y interpreters 09:06:46 I recall a .fr site, but it dodnt work when I tried 09:07:01 hmm. 09:07:19 I didnt really try harder/later :p 09:07:38 could you ask the author if any licensed ebook site is carrying it as a .pdf? 09:07:51 in theory he should know such things 09:08:37 *leppie* goes to look for it again 09:10:02 jewel [n=jewel@dsl-242-128-103.telkomadsl.co.za] has joined #scheme 09:10:54 -!- underspecified [n=eric@203.118.14.76] has quit [] 09:15:22 Kusanagi [n=Lernaean@unaffiliated/kusanagi] has joined #scheme 09:22:02 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 09:22:33 ok now I know why I couldnt find it, it's not there where it says it will be :*( 09:22:59 the directory does not exist 09:25:09 any ideas? 09:32:23 google his current uni web site? 09:32:30 or is that what you did? 09:32:38 finally found it 09:33:49 http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html 09:40:48 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 09:41:12 Judofyr_ [n=Judofyr@ti211310a341-1526.bb.online.no] has joined #scheme 09:42:10 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 09:43:00 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 09:43:09 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 09:55:14 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:56:50 -!- Judofyr [n=Judofyr@ti211310a341-2220.bb.online.no] has quit [Read error: 110 (Connection timed out)] 10:29:07 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 10:30:58 npe [n=npe@94-224-251-223.access.telenet.be] has joined #scheme 10:58:39 socket [n=socket@bzq-79-181-255-178.red.bezeqint.net] has joined #scheme 11:04:29 hotblack23 [n=jh@p5B0543D9.dip.t-dialin.net] has joined #scheme 11:06:06 http://www.scheme.com/tspl4/ !! 11:09:29 hey, the abelson sussman lectures are for lisp or scheme ? 11:10:17 i need to learn about the MCE, do you recommand those lecturs ? 11:10:24 lectures 11:10:48 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 11:17:42 MCE? 11:18:34 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 11:25:27 meta circular evaluator 11:26:00 -!- Judofyr_ is now known as Judofyr 11:26:29 socket: the abelson sussman lectures are excellent and they do include a meta-circular evaluator somewhere. 11:26:46 socket: they use an older form of Scheme 11:28:32 athos [n=philipp@92.250.250.68] has joined #scheme 11:48:00 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 11:49:32 Chai1231 [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 11:50:57 -!- Chai1231 [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has left #scheme 11:56:41 -!- socket [n=socket@bzq-79-181-255-178.red.bezeqint.net] has quit [Read error: 110 (Connection timed out)] 11:59:33 Chai123 [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:01:27 -!- Chai123 [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has left #scheme 12:06:55 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:07:24 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit [Remote closed the connection] 12:09:43 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:10:51 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 12:11:37 -!- rouslan [n=Rouslan@unaffiliated/rouslan] has quit [Read error: 54 (Connection reset by peer)] 12:14:43 rouslan [n=Rouslan@pool-64-222-181-252.man.east.myfairpoint.net] has joined #scheme 12:19:02 -!- ken-p [n=ken-p@84.92.70.37] has quit [Success] 12:25:42 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has left #scheme 12:25:58 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:27:53 br1 [n=opera@r190-135-43-173.dialup.adsl.anteldata.net.uy] has joined #scheme 12:28:44 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit [Client Quit] 12:29:07 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:31:33 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has left #scheme 12:31:48 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:32:26 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit [Remote closed the connection] 12:32:36 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:32:43 -!- nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has quit [Remote closed the connection] 12:33:01 nicoca [n=nicoca@mon76-1-88-168-192-93.fbx.proxad.net] has joined #scheme 12:44:32 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:45:20 Adamant_ [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:45:23 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Success] 12:46:11 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:46:16 -!- Adamant_ [n=Adamant@unaffiliated/adamant] has quit [Connection reset by peer] 12:47:16 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Client Quit] 12:47:49 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:48:26 Adamant_ [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:48:27 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 104 (Connection reset by peer)] 12:49:02 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:49:34 -!- Adamant_ [n=Adamant@unaffiliated/adamant] has quit [Client Quit] 12:50:07 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Client Quit] 12:57:34 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 12:58:41 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Client Quit] 13:04:40 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 13:05:16 Adamant_ [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 13:05:20 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Connection reset by peer] 13:06:23 -!- Adamant_ [n=Adamant@unaffiliated/adamant] has quit [Client Quit] 13:09:17 MrFahrenheit [i=RageOfTh@SE400.PPPoE-736.sa.bih.net.ba] has joined #scheme 13:15:32 sepult [n=buggarag@xdsl-87-78-31-78.netcologne.de] has joined #scheme 13:16:01 metasyntax [n=taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has joined #scheme 13:23:31 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:24:26 Adamant [n=Adamant@c-76-29-188-60.hsd1.ga.comcast.net] has joined #scheme 13:29:17 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:29:46 reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:51:24 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 13:59:14 Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 14:02:29 Nshag [i=user@Mix-Orleans-106-2-233.w193-248.abo.wanadoo.fr] has joined #scheme 14:04:58 dzhus [n=sphinx@95-24-117-248.broadband.corbina.ru] has joined #scheme 14:12:03 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 14:12:41 soupdragon [n=f@amcant.demon.co.uk] has joined #scheme 14:15:44 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [SendQ exceeded] 14:22:40 HG` [n=wells@xdslen129.osnanet.de] has joined #scheme 14:26:27 andy__ [n=andy@87.114.148.38.plusnet.thn-ag1.dyn.plus.net] has joined #scheme 14:31:45 -!- snurble [n=snurble@s83-191-238-2.cust.tele2.se] has quit ["Leaving"] 14:35:13 sepult_ [n=buggarag@xdsl-87-78-130-230.netcologne.de] has joined #scheme 14:35:20 -!- sepult_ [n=buggarag@xdsl-87-78-130-230.netcologne.de] has quit [Client Quit] 14:36:10 -!- sepult [n=buggarag@xdsl-87-78-31-78.netcologne.de] has quit [Nick collision from services.] 14:36:56 sepult [n=buggarag@xdsl-87-78-130-230.netcologne.de] has joined #scheme 14:38:35 -!- Poeir_ is now known as Poeir 14:42:05 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 14:43:26 -!- HG` [n=wells@xdslen129.osnanet.de] has quit [Client Quit] 14:47:23 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 14:50:53 hezy [n=hezy@62.56.254.225] has joined #scheme 15:07:53 reprore__ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:08:09 phaer [n=phaer@chello213047095217.4.14.vie.surfer.at] has joined #scheme 15:08:11 -!- reprore_ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 15:16:02 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [Read error: 113 (No route to host)] 15:18:17 dysinger [n=dysinger@gprsinternet03.porta.net] has joined #scheme 15:18:43 -!- dysinger [n=dysinger@gprsinternet03.porta.net] has quit [Remote closed the connection] 15:34:36 -!- hezy [n=hezy@62.56.254.225] has quit ["Leaving"] 15:36:21 -!- peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has quit [] 15:42:00 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 15:49:38 chylli [n=lchangyi@119.181.15.104] has joined #scheme 16:01:22 jonrafkind [n=jon@98.202.86.149] has joined #scheme 16:03:52 ankou [n=quassel@p57A6E8C2.dip.t-dialin.net] has joined #scheme 16:10:04 -!- Judofyr [n=Judofyr@ti211310a341-1526.bb.online.no] has quit [Remote closed the connection] 16:11:28 -!- reprore__ [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 16:13:17 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 16:23:48 -!- andy__ [n=andy@87.114.148.38.plusnet.thn-ag1.dyn.plus.net] has quit [] 16:26:31 sleepydog [n=user@64-252-139-167.adsl.snet.net] has joined #scheme 16:36:21 -!- Toast [n=Toast@64.111.87.215] has quit [] 16:38:50 Toast [n=Toast@64.111.87.215] has joined #scheme 16:42:15 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 60 (Operation timed out)] 16:43:18 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 16:45:14 rudybot_ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 16:52:58 Judofyr [n=Judofyr@ti211310a341-1526.bb.online.no] has joined #scheme 16:57:39 boy emacs is great 16:58:18 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 16:58:26 -!- Judofyr [n=Judofyr@ti211310a341-1526.bb.online.no] has quit [Remote closed the connection] 16:58:32 I set pc-select-meta-moves-sexps to true in customize then restart emacs, and now M-right still moves by words, not sexps 16:58:52 Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 17:01:30 because a lisp editor totally wants to have the command move by word by default and no command to move by sexp. 17:13:11 synx: I use paredit... 17:13:55 never figured out how to get that working... 17:14:54 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 17:21:35 jengle [n=jengle@64.252.88.235] has joined #scheme 17:21:47 hi 17:21:54 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 17:23:03 -!- Poeir_ is now known as Poeir 17:23:33 Judofyr [n=Judofyr@ti211310a341-1526.bb.online.no] has joined #scheme 17:23:59 synx: you should, great mode :) 17:25:09 HG` [n=wells@xdslfk174.osnanet.de] has joined #scheme 17:27:13 -!- rdd [n=user@c83-250-157-93.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 17:27:30 rdd [n=rdd@c83-250-157-93.bredband.comhem.se] has joined #scheme 17:27:46 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 17:27:59 ecraven: Wrong type argument: symbolp, ((lambda nil (define-key scheme-mode-map [f1] (quote (lambda nil (interactive) (ignore-errors (let ((symbol (thing-at-point (quote symbol)))) (info (r5rs)) (Info-index symbol... :( 17:28:00 socket [n=socket@bzq-79-178-49-208.red.bezeqint.net] has joined #scheme 17:28:50 not a problem with paredit, but yeah... 17:29:02 I hate debugging elisp. 17:30:06 andy__ [n=andy@87.114.148.38.plusnet.thn-ag1.dyn.plus.net] has joined #scheme 17:31:38 -!- br1 [n=opera@r190-135-43-173.dialup.adsl.anteldata.net.uy] has left #scheme 17:32:42 run someone mit-scheme on an ubuntu-x86_64 system? 17:33:22 synx: Do you have the newest version from Riastradh's site? What version of Emacs are you running? 17:33:52 -!- chylli [n=lchangyi@119.181.15.104] has quit [Read error: 54 (Connection reset by peer)] 17:34:06 -!- socket [n=socket@bzq-79-178-49-208.red.bezeqint.net] has left #scheme 17:34:17 rdd` [n=rdd@c83-250-157-93.bredband.comhem.se] has joined #scheme 17:34:20 I'm running 23.0.90.1 17:34:34 His site's the one at mumble.net I assume. 17:35:05 hm.. that's rather new, should work 17:37:29 what doesn't work is a few keys I'm defining in the scheme mode. Took out the only part I'd added, returning it to the original working form, and it doesn't work anymore. 17:38:23 something to do with quack I think 17:41:03 arcfide [n=arcfide@adsl-99-14-208-163.dsl.bltnin.sbcglobal.net] has joined #scheme 17:42:19 Does anyone know of a function or a library for path sanitization? 17:42:34 I'd like to avoid doing it myself if someone has already written a fairly thorough function. 17:43:21 now it's saying Lisp error: (invalid-read-syntax ")") 17:43:45 But of course I can't move by sexp, so I have no way to tell where the extra ) is. 17:44:30 shouldn't moving by sexp work even without paredit mode? 17:44:49 all looks fine to me. 17:45:52 Sure it should ecraven, but like I said when I set pc-select-meta-moves-sexps to true, it did exactly zip. 17:45:53 and now I can't even get init.el to load 17:46:03 -!- jengle [n=jengle@64.252.88.235] has quit ["Leaving"] 17:46:58 I'd go ask in #emacs but they'd probably just ban me for complaining too much / attacking their editor. 17:47:35 oh, they are mostly friendly :) try it 17:47:56 hm.. which mode does pc-select-meta-moves-sexp belong to? 17:49:46 pc-selection-mode 17:51:24 ah, never heard of that :) sorry 17:52:37 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 17:55:37 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 17:56:11 athos [n=philipp@92.250.250.68] has joined #scheme 17:58:11 -!- rdd [n=rdd@c83-250-157-93.bredband.comhem.se] has quit [Connection timed out] 18:00:20 -!- phaer [n=phaer@chello213047095217.4.14.vie.surfer.at] has quit [Remote closed the connection] 18:02:05 RageOfThou [i=RageOfTh@se400.pppoe-8434.sa.bih.net.ba] has joined #scheme 18:03:38 synx: What is pc-selection-mode? 18:03:41 Is that a major mode? 18:04:39 No it's a minor mode. 18:15:26 -!- Judofyr [n=Judofyr@ti211310a341-1526.bb.online.no] has quit [Remote closed the connection] 18:19:48 -!- MrFahrenheit [i=RageOfTh@SE400.PPPoE-736.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 18:24:19 synx: Are you trying to run Paredit or are you trying to do something else? 18:27:50 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 18:28:26 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:29:40 jengle [n=jengle@64.252.88.235] has joined #scheme 18:29:59 hi 18:30:33 i'm writing a sieve program to calculate the sum of all primes below 2 million. i ran it about a half hour ago and it still hasn't finished. 18:30:54 i'm wondering if there's not any way to make it more efficient? here's the paste: 18:32:39 http://paste.lisp.org/display/84629 18:34:33 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 18:35:33 jengle: Is there a specific algorithm you want to use or you just want to calculate the sum of all primes below 2,000,000? 18:36:04 the best algorithm is asking nicely for the answer on IRC 18:36:05 arcfide, i'm using the sieve of eratosthenes 18:36:25 it takes but a few seconds to get the sum of all primes under 2 million that way 18:36:35 the sieve of eratosthenes doesn't use trial division 18:36:36 :) 18:36:50 p1dzkl, what do you mean? 18:37:48 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 18:38:24 you use (zero? (remainder ...)), with the genuine sieve you mark off n+n, n+n+n 18:38:31 etc 18:39:06 FunkyDrummer [i=RageOfTh@89.146.166.207] has joined #scheme 18:39:35 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 18:39:59 http://lambda-the-ultimate.org/node/3127 18:40:27 Drat, now I'm going to have to write my own and see what happens. Blast you! 18:41:38 p1dzkl, i understand now. i bet that could change things... let's see :) 18:53:56 -!- HG` [n=wells@xdslfk174.osnanet.de] has quit [Client Quit] 18:54:02 p1dzkl, i haven't seriously timed it, but it seems like that small change has sped things up quite a bit. 18:56:16 could you lisppaste the new code? (you can annotate the old paste) 18:57:11 p1dzkl, sure. 18:57:24 -!- RageOfThou [i=RageOfTh@se400.pppoe-8434.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 18:58:27 http://paste.lisp.org/display/84629#1 19:06:41 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 110 (Connection timed out)] 19:06:48 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 19:07:41 the only problem, i think, is that REMOVE will remove all matches, and in this particular case, there is only one of each number. 19:08:06 i suppose the best thing to do would be to write my own version of remove that stops once it has match. 19:08:18 remove on a list is pretty slow no matter what 19:08:46 setting a flag in a vector is much faster 19:09:50 p1dzkl, you're probably right. 19:13:19 Okay, yeah, so, I just did the Sieve, and I get my results for 10,000,000 in 0.37 seconds. 19:14:29 jengle: The problem with your code is that you are calling an potentially O(N) operation quite a lot. 19:15:22 Just a quick guess, but iterating over every possibility and then using O(N) operations makes your code at least quadratic, possibly (likely?) worse than that. 19:15:45 arcfide, oh, great haha 19:16:30 Here's a way to look at it, your first function just by itself iterates over a list of values at least the length of the list which we can say is N at the moment. 19:17:03 For each of those iterations, it calls REMOVE-MULTIPLES. 19:18:01 Now remove mutliples iterates over all the multiples of the passed value, and for each of those, calls an O(N) operation on the seive. 19:18:22 Now, the seive continually shrinks. 19:18:26 So...if I had to guess... 19:18:28 right. 19:19:07 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 19:19:16 O(n(n+1)/2) is probably a pretty optimistic guess, which is just quadratic. 19:19:23 So, you're not in good shape here. 19:19:33 jengle: Is this a homework project? 19:19:50 arcfide, no, it's a problem i found on projecteuler.net 19:20:35 jengle: Okay, I can show my solution if you want, but you may not learn much that way, or you can continue practicing with the hint above that a vector of flags is a much better way to do this. 19:21:00 if i use a vector as p1dzkl mentioned, the amount of system resources is never reduced 19:23:06 i initially was going to use a vector, but lists seemed so convenient. 19:24:06 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has left #scheme 19:24:18 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 19:25:19 arcfide, i'd like to see your solution, though i will probably write my own anyway. 19:25:26 (if i can!) 19:26:05 Using a vector of flags, on my system, and calculate the sum less than 500,000,000, takes 25 seconds an 1GB of ram, I think you can handle 2,000,000. 19:27:01 ouch! what a waste of space 19:28:06 jengle: http://paste.lisp.org/+1TAT#2 19:28:20 leppie: Yes, I didn't optimize for space. 19:28:29 I'm using at least a byte per flag. 19:28:34 That's a little excessive. 19:28:40 8 bits? 19:28:44 Yeah. 19:28:55 using byte-vectors? 19:28:58 Yes. 19:29:36 If I were smart I would use bytevectors and bitfields, and that would save some space. 19:29:47 R6RS provides decent bitwise ops :) unless you need to set 8 'flags' per flag 19:30:13 leppie: I'm not sure it makes sense to have something like bytevectors in the standard, but, oh well. 19:30:21 Or fixnum operations, for that matter. 19:30:30 huh? 19:31:13 leppie: That kind of stuff is inherently tied to the machine, and I don't see why machine level details should be exposed in the standard language document. 19:31:25 It's one thing to have a nice library for doing this stuff, and I would expect that. 19:31:55 jengle: Does that solution make a bit of sense to you? 19:32:04 bytevectors have nice usage for interop scenarios 19:32:11 leppie: interop? 19:32:24 talking with other systems/languages 19:32:28 leppie: I've seen usages for them only at a machine and FFI level. 19:32:41 karlw [n=user@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has joined #scheme 19:32:46 leppie: Yes, I don't think that sort of thing belongs in a language standard. 19:32:55 Especially Scheme's. 19:33:39 so you prefer slowness? 19:33:41 :p 19:33:57 arcfide, not yet. i don't know what some of the procedures like fx>? do, and i've never seen brackets '[' and ']' in scheme before 19:33:58 leppie: No, just because it isn't int he standard doesn't mean it isn't around. 19:34:00 Or doesn't exist. 19:34:02 but i'll figure it out :) 19:34:23 jengle: fx>? does the same as >, but it only works on fixnums (fixnums are "small" integers) 19:34:28 It would be nice if more people wrote non-trivial portable libraries. 19:34:28 jengle: Brackets here are just parentheses, and fx-blah stuff is just fixnum specific mathematics. 19:34:41 karlw: Indeed. 19:34:46 jengle: [] are used the same way as (). some people like to use them in some cases. 19:35:02 leppie: Basically, people seem to have this idea that code has to be in the standard to be useful or to be used. I just don't see that. 19:35:05 ah, okay. 19:35:22 arcfide: I agree, that's what SRFIs are here for 19:35:37 no, it has to be there for portablility 19:35:39 Hrm, actually, I wonder if Scheme will optimize a special case of VECTORS that contain only #t and #f? 19:35:47 leppie: No. 19:35:56 ecraven: Well, not exactly. 19:36:05 yes arcfide, bignums is what you are looking for 19:36:13 leppie: Huh? 19:36:35 look at the R6RS bitwase library 19:36:38 bitwise 19:37:03 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 19:37:09 karlw: why not? 19:37:10 People would tear each others' heads off over an SRFI for standardizing high-level drawing interfaces. 19:37:13 leppie: Yes, and there's no reason that should be in the standard, and no reason that many implementations shouldn't already have a standard library providing them. Just because something isn't in the standard doesn't mean that implementaitons can't all agree. 19:37:37 karlw: indeed, but a high-level drawing interface should *definitely* not be in a *language* standard, imho 19:37:57 Now, I can see an effort to create a standard set of libraries for use by Scheme implementations, or a standard library specification. However, that should not be tied to the language standard. 19:38:09 but they are defined as a standard library, they are not part of the core language 19:38:46 leppie: Yes, but then you have to deal with the issues of how much of the standard should an implementation be required to implement. 19:38:54 Why not? What if it's a pedagogical DSL for grade school geometry students? 19:39:07 Then you get confused over different implementations which all say they implement R6RS or what have you, but don't implement the same features from the standard. 19:39:45 The standard should define a language that is common among implementations, but implemenations should be able to pick and choose among libraries. 19:39:56 I was bored so I just did everything, but I see no reason why there cant be a R6RS scheme only conforming to the core library 19:40:36 leppie: Okay, but many of the libraries are broken in R6RS, or at least, flawed in serious ways. 19:40:59 It's a logistical problem to keep the standard libraries moving forward (and they have to in order to be useful), while maintaining language stability. 19:41:18 Especially if they are grouped together. If R6RS had split the two apart, then it could be better. 19:41:39 perhaps 19:41:42 Anyways, back to hackinkg for me. 19:42:12 But, in general, having a highly OS and implementation independent drawing or GUI library wouldn't be bad if people focused on writing one. 19:48:39 Okay...yeah, using regular vectors and #t is definitely not optimized. 19:48:46 It's impossible to get everyone to accept one library out of their own free wills. 19:49:12 karlw: we need a dictator :) 19:49:13 karlw: Welcome to the Descot way of thinking. 19:49:43 leppie: Whom shall we choose? 19:50:11 Guido! 19:51:01 :) 19:51:25 Abolish `fold' and compound statement lambda. 19:52:00 make every object a list and a hashtable and a vector 19:52:04 :) 19:53:22 Then, R20RS removes `(' and `)' from the accepted character set. 19:53:45 they are replaced by < and > 19:54:11 < is renamed to < and > is renamed to > :p 19:54:30 We get and 1729 levels of operator precedence. 19:54:30 19:57:13 Rock on! 19:57:23 I'm just gonna sit here with my classics. 19:57:46 The language's name is changed to ``Visual Scheme for Business Applications'' and gets picked up for sale at Best Buy for $10000 per site license. 19:58:27 arcfide: you saw, TSPL4 is online now, R6RS goodness :) 19:58:36 leppie: Heheh, well.... 19:59:06 That's not really news to me. :-) 19:59:32 well, not you perse, but good for the rest of the R6RS world 19:59:45 http://www.shlomifish.org/humour/GNU-Visual-Basic/GNU-Visual-Basic.html 20:00:29 heh. I half expected "Interacting with Scheme" to be replaced with just "Not any more, suckers!" 20:00:29 I wonder why it's online availability was not announced on the R6RS yet 20:03:34 There's nothing fatally wrong about R6RS, but it's hard to get an implementation to fully support it. 20:06:10 leppie: It isn't even officially announced on the home page of the author, so that doesn't surprise me. 20:06:12 the few that are out there (including mine) does a pretty good job of implementing 95% at least 20:06:51 Ksero [n=Ksero@c83-253-104-158.bredband.comhem.se] has joined #scheme 20:07:17 I wonder if Chez will come out of the box fully supporting R6RS without too many bugs, or if the first release will be a fiasco of "Hey! You didn't implement this the way we want!" 20:07:21 What's yours? 20:07:28 I can never reach 100% they mine is written now though :( but that's my challenge for the future 20:07:48 karlw: IronScheme 20:08:07 For .NET? 20:08:10 s/they mine/the way mine/ 20:08:13 yes karlw 20:09:29 seems IronRuby is also close to 1.0 release, might be nice to 'coordinate' a marketing wave :) 20:09:49 Does it have a C# FFI? 20:10:31 it supports C# ffi aka P/Invoke, yes, and a more generalized FFI layer 20:10:43 Cool. 20:11:20 it is not well tested, and only supports primitive types for now, no structs :( 20:11:55 but I dont really need that, you can just as well write wrapper code in C# easier 20:12:28 Hopefully MS will integrate it into PowerShell and the GUI for 7 :-) 20:13:03 haha, I wish/dream 20:13:03 Thereby totally pwning Apple. 20:13:24 I cause them way too much grief 20:13:48 Do you work for 20:13:52 MS? 20:13:55 no 20:13:57 lol 20:14:38 remember that SandCastle opensource fiasco? 20:14:52 No. 20:15:15 I mainly focus on Linux stuff. 20:15:25 well basically they hosted a closed source app that violated the terms of their own open source hosting site. 20:15:42 and then I made a 'little' noise to rectify that :) 20:15:59 I didnt expect them to actually open source it, but they did :) 20:17:05 IronScheme is licensed under the same license they claimed theirs was. 20:18:29 anyways, that was just wrong to me 20:19:35 I suppose ``portable'' means you can use a library in a .NET Scheme, a Java Scheme, and a Scheme with a really good POSIX and C interface. 20:20:29 yeah, as long as I stick to R6RS libraries, you are safe 20:21:09 *arcfide* sighs. 20:21:18 TIme to work on completing RFC 2822 libraries again. 20:21:25 what are those? 20:22:55 Then there's the issue of getting it working on BeOS, MorphOS, iPhones, and Blackberries. 20:23:43 hezy [n=hezy@62.56.254.225] has joined #scheme 20:25:00 arcfide: what you writing them for? 20:25:14 amx [n=amx@percival.namespace.at] has joined #scheme 20:25:40 is there a way to do something like (string-to-procedure "system")? 20:26:08 leppie: What do you mean by what? You mean why or for what? 20:26:41 amx: eval? 20:26:43 what are you writing the library for? it seems pretty low-level, you writing a mail server? 20:26:44 I'm writing them to extend my mod_lisp library to handle some additional things. I also want to be able to parse messages as a basic means of storing data, which is tied to how I want to be able to use my blog software. 20:27:03 leppie: Well, everyone has ad hock RFC libraries. I want to write one that actually is complete. 20:27:29 And then others can use it, but more importantly, I can do some proper work with it, such as handling POST submissions and mail messages that come to my blog. 20:27:31 ok :) 20:27:45 arcfide, you've read about Decklin Foster's mnemosyne? 20:27:54 gnomon: Do you have a link? 20:28:01 petah [n=somebody@174.36.23.173] has joined #scheme 20:28:15 leppie: Actually, if someone has already written a complete RFC2822 library that is portable and well written, I'll take that instead. :-) 20:28:39 arcfide, I do, sir: http://www.red-bean.com/decklin/mnemosyne/ 20:29:01 amx: (apply (eval (string->symbol "foo")) args) should work. 20:29:47 gnomon: This is actually very similiar to what I am doing. :-) 20:29:56 But my blog software is pretty low priority at the moment. 20:30:28 Mine won't be a compiler, though. 20:31:22 And it probably won't be using Maildir format either. 20:31:25 thank you 20:32:30 -!- ravenex [n=ravenex@117-243-252-87-dynamic-pool.gprs.mts.by] has quit [Client Quit] 20:36:21 peter_12 [n=peter_12@S01060024016bb36c.gv.shawcable.net] has joined #scheme 20:38:32 -!- sepult [n=buggarag@xdsl-87-78-130-230.netcologne.de] has quit ["leaving"] 20:39:37 -!- ToxicFrog [n=ToxicFro@206-248-181-74.dsl.teksavvy.com] has quit [Read error: 110 (Connection timed out)] 20:40:25 arcfide: Don't tell me you don't have a prerelease of R6RS Chez already... 20:40:56 -!- hezy [n=hezy@62.56.254.225] has left #scheme 20:41:27 *karlw* looks in his bank account and realizes that he can't afford Chez anyway. 20:41:36 *copumpkin* sits on his chez 20:41:48 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 20:42:01 chandler: Sorry? 20:42:40 chandler: You know I've got one. :-) 20:43:02 Right. So make sure it supports R6RS correctly then! :-) 20:43:07 Fiasco averted. 20:43:16 chandler: Hahah, I've been trying, I assure you. :-) 20:43:51 But that's not exactly my main goal at the moment. And besides, with the kind of things that managed to make it through into the final document, and all the errata, it's a wonder that anyone succeeds in making sense of the corner cases. 20:44:10 I'd be happy to bang on a pre-release of Petit, but I'm afraid my email address no longer ends in cs.indiana.edu . 20:44:20 Hehe. 20:44:34 Woudl you even use Petite if it were released? 20:45:03 Really, the big question is how all the unspecified features work. :-) Things like library name resolution, &c. 20:45:30 Yes, library name resolution seems to be a bit of a portability disaster at the moment. 20:45:31 No documentation that's up to date means a little...guessing. Fortunately, my guesses have seemed to work thus far, excepting the way to build scheme-script. 20:45:52 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 20:46:07 chandler: I don't think it will cause me too much trouble when I actually distribute my code, because it is all compiled anyways. 20:46:23 It's really just using it when I am hacking that I run into little issues. 20:46:50 chandler: I thought you used more Common Lisp than anything? 20:47:11 -!- sleepydog [n=user@64-252-139-167.adsl.snet.net] has quit [Remote closed the connection] 20:47:49 arcfide, not long ago you were using big O notation to describe the inefficiency of my program... but i can't understand how you do that. 20:47:51 ToxicFrog [n=ToxicFro@69-165-140-82.dsl.teksavvy.com] has joined #scheme 20:48:14 jengle: Big O is just lazy man's function graphing. 20:48:55 it seems to me that whenever someone uses Big O notation, they're pulling expressions out of thin air 20:49:12 There's a method to the madness, but your mileage may vary. :_P 20:49:13 :-P 20:49:24 arcfide: I do a lot of things. But I've been toying with the idea of doing a real Scheme in Common Lisp (something I'm rather surprised doesn't exist, at least not for modern versions of Scheme). 20:49:36 chandler: Eh?? 20:49:37 So I've spent a fair amount of time recently doing implementation behavior compare-and-contrast. 20:49:40 Yeah. 20:49:52 chandler: You speak crazy-talk, you crazy...thing, you, chandler, yeah, crazy. 20:50:19 cky, what's the method? 20:50:23 Substantially less crazy than many other implementation languages, including C and Java, or so I believe. 20:50:59 And besides, wouldn't you like to have an "Evaluate!" button on lisppaste? 20:51:09 chandler: Well, okay, you may have a point there, but why not just implement the minimally low-level kernel necessary to make things work, and then do the rest in Scheme? 20:51:21 Hahaha! Okay...yeah, go for it. 20:51:31 chandler: But I want to be able to plug in my own Scheme! 20:51:40 :-P 20:51:51 jengle: Well, describe an algorithm you'd like to have the big-O of, and I'll see if I can step you through the process. 20:52:03 jengle: Do you have the book, Analysis of Algorithms? 20:52:14 arcfide, no, i don't. 20:52:16 jengle: Sorry, Introduction to Algorithms. 20:52:26 I'm sure the result would have a substantial amount of code written in Scheme. When I say "Scheme in Common Lisp", I mean an implementation of Scheme that runs on top of an implementation of Common Lisp, requiring nothing but an ANSI-compliant CL implementation. 20:52:30 Corman, et al. 20:53:08 cky, (define (add a b) (if (= a 0) b (add (- a 1) (+ b 1)))) 20:53:31 That's O(a). :-) 20:53:37 Okay, time to step through. 20:53:57 If you trace the execution of the function, think about how many times the add function will get called. 20:54:11 If a = 0, obviously, it gets called once. 20:54:22 If a = 1, it gets called twice (once with a = 1, then with a = 0). 20:54:22 -!- dzhus [n=sphinx@95-24-117-248.broadband.corbina.ru] has quit ["Yow! Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!"] 20:54:33 If a = 1000, it gets called 1001 times. 20:54:44 So, for some value of a, the function gets called a + 1 times. 20:55:02 In Big-O notation, only the highest-order term is counted, because usually for large values of N, the high order is what counts. 20:55:53 (Because, here in this example, if a = 1,000,000, the +1 doesn't really affect things any.) 20:56:41 So the number of times "add" is called is O(a), or "linear in a". That means that how long your function takes to run is directly proportional to the value of a. 20:57:21 It's also important to note here that it's really O(a * t(a(1))) or, A * the time it takes to execute one iteration of A. In this case, the time it takes to evaluate the body of A is constant, or O(1), so it doesn't affect the matters, but with nested expressions, like you had in your original, it does matter. 20:57:41 arcfide: *nods* 20:57:50 Sorry, nested calls to none constant procedures. 20:58:07 s/constant/constant running time/ 20:58:23 cky, so the actual number of times add is called would be n+1, but n is the highest-order term so the +1 is ignored. 20:58:45 jengle: Yep, because asymptotically (i.e., as N gets larger and larger), the lower-order terms matter less and less. 20:59:29 The usual discussion of Big-O comes about because people want to think about how well an algorithm scales. 20:59:45 How do I save output from PLoT? 20:59:55 If scalability is no concern, then well, I'd say the algorithmic complexity is probably of little concern either. :-P 21:00:02 cky, what does O() actually mean? 21:00:15 jengle: Technically, we say that some function f(n) = O(g(n)) if there exist positive constants c and n_0 such that 0 <= f(n) <= c*g(n) for all n >= n_0. 21:00:44 jengle: I will leave that question to be answered by someone with a better memory than mine. :-) 21:00:53 arcfide, you lost me :) 21:00:55 cky: Done. :-) 21:01:03 arcfide: :-) 21:01:08 jengle: Okay, so, that's the formal definition, but let's see if we can describe it. 21:01:40 Let's say we want to know the nature of the running time of a function f(n). We don't really care about how fast it literally goes, in things like clock cycles. 21:02:17 So, let's say that we have a procedure 'do-something'. 21:02:36 This procedures running time is calculated precisely by f(n). 21:02:54 That is, if we pass n to 'do-something' it will take exactly f(n) units of time to run. 21:03:04 i thought that f() was some other procedure? 21:03:23 jengle: in this example, let's just say it's the time it takes to run 'do-something'. 21:03:36 okay. 21:03:46 The function f is usually very very complex, and very troublesome to calculate precisely, and is dependent on the unit of time, &c. 21:04:00 And we don't really care about the exact number. 21:04:07 We really care about how that number changes. 21:04:25 So, if we, say, double or triple the value of n, how is the time going to be affected? 21:04:43 Will the time double, triple, or maybe jump by an order of magnitude? 21:04:48 Or maybe it will stay the same? 21:05:13 To understand these, we simplify the problem down so that we only care about how the graph of the function looks over very large values of n. 21:05:36 When we keep increasing n, the smaller order terms of the function f will play a less and less important role in the growth. 21:05:39 the time should double or triple, right? 21:05:49 jengle: Not necessarily. 21:06:09 For constant time procedures, f(n) is some constant value. 21:06:19 Or very close to it. 21:06:32 So even for large values of n, you won't get above a certain time. 21:06:38 And that's the important point. 21:07:21 For this function f, the is another function g(n), that is always greater than this function after some point or value of n, if we shift the function up by a constant. 21:08:12 That function g(n) could be more complicated than f(n), but that's not very helpful. If however, the function is very similiar to f(n), but simpler, and satisfies the above condition, then we can think about f(n) in broad terms of g(n). 21:08:18 That's what Big-O does. 21:09:03 what does g() do? 21:09:04 So, Big-O, or the above, technical definition says that O(g(n)) = f(n) if that function g(n) is always equal or greater than f(n) after a certain point along the graph if you shift g(n) by a constant value. 21:09:30 g(n) serves as a rough estimate of the running time of 'do-something' in this example. 21:09:57 so functions g and f calculate the same thing? 21:10:01 So, let's say 'do-something's running time is calculated by f(n) = x^2 * x + 1. 21:10:29 Well, we could calculate the running time for 'do-something' using f(n), but it's a bit of a pain, though not much, yet. 21:10:55 But, we can prove that if g(n) = x^2 then O(g(n)) = f(n). 21:11:28 Whoops. 21:11:35 I meant a + there where I said * above. 21:12:22 okay. so f(n) is the precise running time of 'do-something', and g(n) is an estimate of the running time 21:12:28 jengle: Right. 21:12:56 Now, g(n) = x^3 is also O(g(n)) = f(n), but that estimate is so bad as to be less than useful. 21:14:12 But, using g(n), we can say that the running time of 'do-something' is quadratic, or that if we double the value of n, the running time will not just take twice as long, but it will take roughly, what, 4*n^2 as long? 21:14:30 So, roughly n * n as long, which is much longer than twice as long for large values of n. 21:14:57 If 'do-something' were actually O(n), that means that doubling the value of n would make 'do-something' take only twice as long. 21:15:03 Roughly speaking. 21:15:07 jengle: Does that make sense? 21:15:12 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 21:15:29 Anyone feel free to correct me if I am wrong. I'm a little rusty on the details. 21:20:58 YOU'RE WRONG 21:21:20 *arcfide* yields the floor to the respectable Schemer offby1. 21:21:32 well, I, er 21:21:39 have some lemonade 21:21:51 Why thank ye, fellow Schemer! 21:22:25 *whispering to aide* offby1 is fillibustering! Starting makking those calls. 21:22:35 s/kk/k/ 21:22:56 jengle: Are you still alive? 21:23:06 ``Estimate'' is meaningless unless you define boundary conditions. 21:23:51 *offby1* pulls out the Manhattan White Pages and clears his throat 21:24:51 -!- jewel [n=jewel@dsl-242-128-103.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 21:25:12 *gnomon* steals offby1's dentures 21:25:15 *arcfide* sits down to read RFC 2822, a remarkably short work for this committee. 21:25:18 Whether a particular ``estimate'' is ``good'' depends on whom you ask. 21:25:51 karlw: I ``guess'' you're ``right'' 21:30:28 O(n) has functions like (lambda (n) (* grahams-number n)) 21:30:48 ?? 21:33:04 http://en.wikipedia.org/wiki/Graham%27s_number 21:36:01 arcfide, sorry, was afk for a moment 21:38:45 I thought about writing an interface to PGF for a while. 21:40:51 arcfide, you've made things clearer for me, thanks. i'll check out that book you mentioned 21:42:15 Then I read the documentation for PGF. 21:44:15 I really like PLT libraries, but it sucks that you need to test code in DrScheme. 21:47:59 depends on the library. 21:48:09 I write all my tests with schemeunit, and they don't need drscheme to run 21:50:32 karlw: Why would you need DrScheme to run or test your code? 21:53:21 -!- mmc [n=mima@cs162149.pp.htv.fi] has left #scheme 21:56:12 arcfide: I'm talking about slideshow and plot. 21:57:00 -!- Ksero is now known as foros 21:59:04 -!- kib2 [n=kib@bd137-1-82-228-159-28.fbx.proxad.net] has left #scheme 21:59:11 Edico [n=Edico@unaffiliated/edico] has joined #scheme 22:01:31 karlw: Do you need DrScheme for those? I would have thought the libraries would work without that. 22:01:46 Any code that I have ever written in PLT could work with or without the IDE. 22:02:39 Including MrEd code? Enlighten me. 22:04:37 karlw: You simply run the code using `mred' as the binary, instead of `mzscheme'. 22:04:38 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:05:04 karlw: Specifically, for slideshow you can obviously run the code outside of drscheme -- it's intended to be running this way when you do a presentation. 22:05:28 karlw: As for plot, you can specify a filename to create -- see the plot tests (collects/tests/plot) for an example that does just that. 22:09:25 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 22:11:13 eli: I found out how to use draw-pict and post-script-dc% from reading the slideshow and GUI documentation :-) 22:12:16 blacky [n=blacky@unaffiliated/blacky] has joined #scheme 22:12:29 karlw: How is that related to not using slideshow inside drscheme? 22:13:12 I'm talking more about picts. 22:13:44 Same question. 22:14:16 -!- blacky [n=blacky@unaffiliated/blacky] has left #scheme 22:14:46 I want to use Emacs to interactively test pict code. 22:15:40 So you want to see the picts, which means that you somehow need to get from a mred representation of an image to something that Emacs can show. 22:16:09 One obvious solution is to draw the pict on a bitmap, then save it to a file, then look at the file in Emacs. 22:16:36 So I have an Emacs *scheme* buffer that opens a MrEd window with a dc when I tell the pict to draw itself.\ 22:16:53 If you have enough time you can probably make that file be temporary (or maybe even use a straight pipe), and have no file leftover, after you insert the image directly into the Emacs buffer. 22:19:41 Or like, (init-graphics) opens a drawing window. Like how Stk's drawing libraries work. 22:21:10 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 22:22:47 karlw: Sorry, I don't follow you now. 22:22:58 karlw: Is there a specific problem that you're having? 22:23:39 One second, I'm experimenting.\ 22:28:18 eli: I believe I want (setq scheme-program-name "mred -z"). 22:29:08 karlw: Trying to retroactively guess your problem: is it the window that popped up that you didn't want? 22:29:31 If so, then there is also a `mred-text' executable that is similar to `mred -z' but generally works better. 22:29:49 (On Windows, in particular, it is much more useful than `mred -z'.) 22:30:20 Yeah, I prefer an Emacs buffer. I'm very keyboard-oriented.\ 22:31:56 In that case you could just asked that, and get a faster answer. 22:32:00 -!- ventonegro [n=alex@li17-123.members.linode.com] has quit ["leaving"] 22:32:08 s/just/just have/ 22:32:20 s/just have/have just/ 22:32:38 (apply-proper-english-word-order!) 22:32:42 This discussion should probably go in section 18.1 of Guide. 22:34:33 karlw: That sounds sensible, 22:35:10 If you want to make it easy to add, you can have a look at the source file for that page (http://svn.plt-scheme.org/plt/trunk/collects/scribblings/guide/running.scrbl) and suggest a patch. 22:35:13 -rudybot_:#scheme- http://tinyurl.com/lbfegx 22:35:20 hmm, I can do (setq scheme-program-name "mred-text"), eh? 22:35:29 offby1: #t 22:35:50 kewl 22:35:58 A lack of awareness of `mred-text''s existence may discourage certain Schemers from using PLT. 22:36:00 am I still in module language? 22:36:18 -!- andy__ [n=andy@87.114.148.38.plusnet.thn-ag1.dyn.plus.net] has quit [Read error: 110 (Connection timed out)] 22:36:36 offby1: You're still in a repl, just like with MzScheme (and by default, you get the scheme/gui bindings). 22:36:49 *offby1* shall investigate 22:37:15 how do I launch plt-scheme? 22:37:15 karlw: I completely agree with you -- which is why I believe that it deserves more than the 30 seconds that it will take me to shove a quick sentence in there. 22:37:48 karlw: This is why I suggested that -- having gone through the text, you're in a much better position to suggest a change. 22:38:04 RageOfThou [i=RageOfTh@SE400.PPPoE-606.sa.bih.net.ba] has joined #scheme 22:38:34 karlw: and feel free to send me (my email is everywhere) a patch -- I think that it'll be a good thing, so most likely I'll get it in modulo some possible editing. 22:39:10 Edico: You just run "DrScheme", or "MzScheme", or a bunch of other options, depending on the kind of interaction you're interested in. 22:40:28 I installed an amd64 system and now I can't use mit-scheme, I search other implementation of scheme that has good compatibility with SICP 22:40:44 eli: Okay, I'll write something up. 22:40:55 karlw: Thanks. 22:41:39 Edico: Are you trying to do the picture exercises in chapter 2? 22:41:46 Edico: PLT should compile fine on a 64 bit system (it's my usual machine), and if your goal is SICP, then you should probably use DrScheme with neilv's library for doing so. 22:42:15 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 22:42:46 karlw, I haven't reach chapter 2, I haven't even started, I'm preparing 22:43:30 eli, where do I find neilv's library? 22:44:29 Edico: http://www.neilvandyke.org/sicp-plt/ 22:45:05 thanks 22:47:09 oatkiller [n=robertau@pool-96-241-118-186.washdc.fios.verizon.net] has joined #scheme 22:47:28 oh yeah, I never played with neilv's library since it required mred, but now that I know about "mred-text" ... 22:48:56 ken-p [n=ken-p@84.92.70.37] has joined #scheme 22:49:09 -!- oatkiller [n=robertau@pool-96-241-118-186.washdc.fios.verizon.net] has quit [Client Quit] 22:49:24 oatkiller [n=robertau@pool-96-241-118-186.washdc.fios.verizon.net] has joined #scheme 22:49:38 Edico: You only really need to worry about getting the picture language and mutation working. Otherwise, DrScheme is fine for everything else in SICP. There are several message boards for people working through SICP where you may get help with your implementation. 22:49:39 offby1: You'll still need it if you want to see the images in that picture language thing. 22:50:38 +1 to what karlw said. (And not being able to the the mutation part of SICP is only going to make it better...) 22:51:25 *eli* used to love it when a new Emacs version came out 22:51:31 Now it's just a huge hassle. 22:52:20 why don't you use haskell instead of scheme? 22:52:26 -!- ken-p [n=ken-p@84.92.70.37] has quit [Remote closed the connection] 22:52:34 :o 22:52:48 Why can't a woman be more like a man? 22:53:09 ken-p [n=ken-p@84.92.70.37] has joined #scheme 22:53:16 I like Haskell. 22:55:45 -!- FunkyDrummer [i=RageOfTh@89.146.166.207] has quit [Read error: 110 (Connection timed out)] 22:56:45 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 60 (Operation timed out)] 22:57:15 I like cats. 22:57:17 Actually, I don't know to which extent MrEd applications support accessibility, so for some people (like myself, to a limited extent than others) using Emacs over DrScheme isn't just a matter of taste. 22:57:48 *more limited extent than others 22:59:25 Or, I guess using $EDITOR over DrScheme :-) 22:59:26 23:01:13 karlw: There is no EULA that you sign when you install PLT that forces you to use DrScheme. 23:01:29 Some people use it with vi, even. 23:04:13 I first installed PLT scheme to do some number-theory stuff, and I had to sign an EULER 23:04:15 *offby1* ducks 23:05:38 It may be cool to eventually add accessibility support to mred. 23:06:17 karlw: What kind of accessibility are you missing? (Everything that I know about is (and should be) handled by the OS.) 23:07:07 FunkyDrummer [i=RageOfTh@SE400.PPPoE-1560.sa.bih.net.ba] has joined #scheme 23:07:36 Nothing really, I just have Emacs doing exactly what I want now. 23:07:48 -!- foros [n=Ksero@c83-253-104-158.bredband.comhem.se] has quit ["Quit"] 23:08:03 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 23:08:22 ...and I know (gasp) ELisp. 23:08:34 karlw: That's not really related to accessibility, unless you define it as "do what Emacs is doing for me". 23:08:42 ... and I missed the point of the elisp reference. 23:09:54 I use ELisp to certain tasks easier. I can get ridiculously picky. 23:10:38 (start-editor-war!) 23:11:49 I could never get to like emacs' undo 23:12:19 karlw: the likelihood of me being pickier than you with Emacs is > 97.5%. That still is not related to accessibility (which Emacs is pretty bad at); or to ELisp (which is a crappy language no matter how you look at it). 23:13:53 Yeah, ELisp sucks. 23:14:53 MrFahrenheit [i=RageOfTh@SE400.PPPoE-1746.sa.bih.net.ba] has joined #scheme 23:14:58 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 23:15:42 karlw: Here's an exercise that has tortured me for over a decade: make Emacs scroll down exactly one line when you go off the screen, instead of the default recentering behavior. 23:16:22 eli: oh, be reasonable! 23:16:31 Would you suggest Vim?\ 23:16:34 next you'll ask it to solve WORLD PEACE 23:17:12 I'm cerial. This is like one of these ridiculously difficult to get things that require much more work than it should be. 23:18:01 ... *and* it's exactly an area that changed a lot on practically every release that I've seen -- from 18->19 and up. 23:19:15 Show me an editor more convenient for LaTeX editing than Emacs with AUCTeX, preview-latex, and cdlatex.el. 23:19:15 karlw, vim is nice :V 23:19:42 eli: isn't that very easy to do in the new Emacs 23? 23:20:20 So fr gives \frac{}{} with the cursor in the first brace. 23:21:16 masm: Apparently not. Look up `scroll-up-aggressively' and `scroll-down-aggressively', then use 0.0 according to the doc, and finally witness it failing. 23:22:04 karlw: I haven't argued that some other editor is preferrable over Emacs, in case that wasn't clear. 23:22:38 Just that I'm painfully aware of many of its dark corners. 23:25:04 Supposedly, there's still a project to compile ELisp to Guile bytecode and eventually switch Emacs to use both ELisp and Guile. 23:25:26 haesbaert [n=haesbaer@c925abca.virtua.com.br] has joined #scheme 23:25:30 -!- RageOfThou [i=RageOfTh@SE400.PPPoE-606.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 23:25:41 RageOfThou [i=RageOfTh@SE400.PPPoE-1908.sa.bih.net.ba] has joined #scheme 23:25:41 hi, can someone recommend me a book ? 23:25:52 SICP 23:26:34 haesbaert: Thus Spake Zarathustra. 23:26:58 karlw: I doubt that any of these projects will ever get anywhere. 23:27:22 I want to hack on PLT's xml module. How should I do it? I copied the code to $HOME/code/xml and now i require it with "../xml/xml.ss". Is there a better way to do this? Maybe set PLTCOLLECTS edit it in PLT-Scheme source tree? 23:29:00 masm: based on that structure, and assuming that you have a copy of it with the same interface, then you can set PLTCOLLECTS to "$HOME/code:" and then requiring `xml' or `xml/whatever' will use your sources. 23:29:11 soupdragon: any other suggestion ? How about "The Little schemer" 23:29:46 Write an ELisp interpreter in Scheme and port Emacs to mred. 23:29:55 masm: Be you should be aware that: (a) all code, including plt code, will use your copy, and (b) you need to run setup-plt again so that everything links to your code. 23:29:56 *karlw* ducks. 23:30:05 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 23:30:30 karlw: There were *many* attempts at doing that. 23:31:22 no 23:31:34 -!- FunkyDrummer [i=RageOfTh@SE400.PPPoE-1560.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 23:31:53 haesbaert: If you're having trouble with SICP, I'd recommend either HtDP or _Simply Scheme_ by Brian Harvey 23:33:24 karlw: I had a look on it, I suppose I'll start reading. 23:36:05 -!- jengle [n=jengle@64.252.88.235] has quit ["Leaving"] 23:36:08 I know Brian. 23:36:47 The book is kind of expensive, though, whereas HtDP is free. 23:37:32 the little schemer looks neat, but I've never actually read it 23:37:48 eli: How far did those attempts go? 23:38:41 karlw: As far as what you see today: nothing. 23:40:16 -!- MrFahrenheit [i=RageOfTh@SE400.PPPoE-1746.sa.bih.net.ba] has quit [Read error: 110 (Connection timed out)] 23:40:36 Fare [n=Fare@193.253.141.78] has joined #scheme 23:41:23 I suppose that there are multiple difficulties with ELisp that make it hard to implement in Scheme. 23:42:38 -!- hotblack23 [n=jh@p5B0543D9.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 23:42:40 karlw: The most obvious one is the dynamic scope; the comes a long line of other less-serious but still difficult problems. 23:42:46 what kind of difficulties? 23:43:03 It's interaction with C code. 23:43:11 dynamic scope is not that hard to implement 23:43:13 Lack of namespaces and fake namespaces using prefixes. 23:43:36 yup -- that's the main problem I see, interaction with legacy C code, or reimplementation thereof 23:43:42 Weird choices for list representation that are sometimes like CL and sometimes like Scheme. 23:43:55 lack of namespaces is hard to USE, not to implement 23:44:13 Not when your goal is to actually get something better. 23:44:57 And the dynamic scope thing is hard to implement efficiently, for a system that uses it extensively. 23:45:19 It could be argued that someone wanting to implement Emacs in some other Lisp using that technique would be better of doing it with CL than with Scheme. 23:45:45 off 23:46:07 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 23:47:49 masm: Yes, there have been plenty of these wars, and probably a similar number of attempts to use CL. BTW, CL is also not as efficient with specials, since they're used much less, and because any reasonable system has threads, which makes specials heavier. 23:49:21 Elisp would be used for the initial port. The idea would be to implement Elisp -> CL compiler embedded in CL, make Emacs run on it, and gradually phase out Elisp code, replacing it by CL. 23:49:48 There is an Elisp implementation in Common Lisp, and wingo is working on adding Elisp to guile. 23:50:02 The Elisp-in-CL was developed for Hemlock. I'm not sure of the current state. 23:50:24 But why do this at all? Isn't elisp the problem? 23:51:15 You have over 100Mb of ELisp code that everybody uses. 23:51:22 masm: What chandler said is exactly why these things are all doomed. 23:54:14 Yes. Anyway, it is very difficult (impossible?) to replace Elisp, and it is not getting easier with time. 23:54:16 Another strategy is to compile all the ELisp code to Scheme, which means using some optimization for simulating dynamic scope safely that renders the code bug-prone and unreadable. 23:54:18 segoe [n=segoe@83.231.62.170] has joined #scheme 23:54:24 hi 23:55:02 I'm not sure it's that difficult to replace Elisp. But I think a "let's take all the existing Elisp code and run it elsewhere" approach is doomed. Nothing will be a better implementation of Elisp than Emacs. 23:55:30 A non-Elisp editor needs to be compellingly better, and it needs to be significantly easier to develop for than Emacs is. 23:55:51 there was another language for emacs besides elisp 23:55:55 ejacs? 23:56:10 chandler: So you suggest a revolution? 23:56:19 yep this one http://code.google.com/p/ejacs/ 23:57:04 Judofyr [n=Judofyr@c249DBF51.dhcp.bluecom.no] has joined #scheme 23:57:16 If by "revolution" you mean moving completely beyond Emacs, sure. What I'm suggesting is that the advantages of Emacs need to be articulated and then bettered. 23:58:18 I mean ``shaft the ELisp code.'' 23:58:54 Oh. Yeah. Elisp code is by nature buggy and brittle. 23:59:01 It's the nature of the beast.