00:01:34 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 00:03:49 raikov [n=igr@203.181.243.11] has joined #scheme 00:04:54 mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 00:05:58 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 00:09:50 -!- sjamaan [n=sjamaan@frohike-old.xs4all.nl] has quit [Remote closed the connection] 00:10:01 sjamaan [n=sjamaan@frohike-old.xs4all.nl] has joined #scheme 00:11:15 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 00:21:21 Hey all, I have a bit of a macro question. 00:21:55 Would you like to share? 00:22:09 arcfide pasted "Macros Misbehaving" at http://paste.lisp.org/display/68229 00:22:17 chandler, it takes just a bit for me to paste it. :-) 00:22:30 My first problem is that this macro doesn't work. 00:22:35 I see your problem. You are using syntax-case. 00:22:40 The second is that I would like to do this with SYNTAX-RULES if possible. 00:23:03 chandler, indeed, I figure that this should be possible with SYNTAX-RULES, but I can't seem to get it working quite right. 00:23:10 Consider the first problem. COMPETITOR-INCLUDE. 00:23:13 A programmer had a macro problem. "I know. I'll use syntax-case!", he said. Now he has two problems. 00:23:21 chandler, well, hehe. 00:23:22 :-) 00:23:40 It'd probably be easier if you pasted a usage example. 00:23:46 chandler, doing that right now. 00:24:01 (COMPETITOR-INCLUDE "arcfide") => (include "arcfide/arcfide.ss"). 00:24:09 That's what it should do. 00:24:43 Oh, hm. 00:25:02 The expansion seems okay, but it just doesn't work. It expands in Chez to (BEGIN (VOID) (SET! arcfide "Arcfide")), where I have (DEFINE arcfide "Arcfide") in my file arcfide/arcfide.ss. 00:25:20 chandler, ideally it would be (COMPETITOR-INCLUDE arcfide) => (INCLUDE "arcfide/arcfide.ss"). 00:25:26 But . . . I don't know how to do that. 00:25:36 Well, I guess, I know how to do it, but it was a lot of mess. 00:26:03 I am trying to solve a problem of importing a bunch of people's code that is going to be used in a competition. 00:26:26 Right now they want us to put all the code in one big function, but I figured that it was better to use modules to isolate everyone's code. 00:27:08 I'm afraid I don't think it's possible to do this using SYNTAX-RULES alone. Also, include itself is syntax, so the expansion isn't terribly surprising. 00:27:23 I want them to be able to say (IMPORT-PLAYERS a b c d) and have it create a MODULE for each of the players that exports the one public procedure we need in each case, while loading in their code from a location of a given form. 00:27:36 chandler, yes, that's what I expect. 00:27:48 However, what I didn't expect was for ARCFIDE to be unbound after expansion. 00:28:17 Ideally, I want them to be able to do this by just specifying names for A, B, and C, rather than strings. 00:28:19 I'm afraid you've got me on this one. You'll need someone with syntax-rules juju to help with this. 00:28:27 But that I will get working AFTER I get the string version working. 00:28:37 chandler, do you know why my include isn't working? 00:28:45 er, syntax-case juju 00:28:48 No. 00:29:02 chandler, It's strange, because (INCLUDE "arcfide/arcfide.ss") does what it is supposed to do. 00:29:41 My advice is to go find a clustering of Dan or Kent's students and start making disparaging comments about syntax-case until one of them helps you. 00:29:58 chandler, and it appears that (EXPAND '(INCLUDE "arcfide/arcfide.ss")) is roughly equivalent to (EXPAND '(COMPETITOR-INCLUDE "arcfide")). 00:30:12 chandler, I am one of Kent's students. 00:30:49 In that case, try making disparaging comments directly to him then :-) 00:30:49 chandler, what do you have against SYNTAX-CASE BTW? 00:31:48 Aha, there is a difference in expansions! 00:32:01 I find it somewhat confusing to reason about, and I don't like the lexical syntax :-) 00:32:07 Heheh. 00:32:18 chandler, what do you use when you need to do junk like this? 00:32:29 You're not going to like my answer :-) 00:32:39 I'll find it entertaining in the least case. 00:32:41 "Common Lisp" 00:32:57 *arcfide* coughs and sputters orange juice through his nose. 00:33:35 You're right, that's entertaining, and revolting. :-) You mean DEFMACRO as provided by some Schemes, or do you mean ACTUAL Common Lisp like SBCL? 00:33:51 I am (nominally) one of the SBCL maintainers. 00:33:59 *arcfide* chuckles. 00:34:17 No wonder you find it hard to reason about SYNTAX-CASE> 00:34:18 ;-) 00:34:49 Actually, having seen the various low-level macro facilities in various Schemes, I have come to like SYNTAX-CASE, even if it may not have the most low-level power around. 00:35:00 But, to each his own. 00:35:07 -!- proq [n=user@unaffiliated/proqesi] has quit [Remote closed the connection] 00:35:09 Unless you use R6RS. 00:38:40 arcfide: Unlike most CLers, I actually do believe that hygienic macro systems do something worthwhile. I think most of them think hygiene means "syntax-rules", not the presence of the information that's necessary to avoid accidental capture. 00:39:24 chandler, well, actually, I've heard a point recently that accidental capture usually means to most people just the kind of capture that you would fix with GENSYM. 00:39:57 And, a point was raised to me that hygiene has a nice advantage beyond that in guaranting that the procedures you use in your macro are the ones you think they are. 00:40:12 Rather than having them shadowed dynamically by some user defined IF or something. 00:40:30 Although, it seems to me that some of that is the result of static scoping. 00:40:31 proq [n=user@unaffiliated/proqesi] has joined #scheme 00:40:39 well, that one's not a great example, since you can't shadow IF in CL :-) 00:40:56 (except via the package system, and that's a whole different matter) 00:41:09 chandler, but you could shadow other procedures. 00:41:17 Yes, I'm just making a pointless point. 00:41:28 Well, actually, I didn't know that IF couldn't be shadowed. 00:41:33 I find that curious. 00:41:52 Still, where is eli, wouldn't he know something about SYNTAX-CASE? 00:42:05 *arcfide* hunts down Aziz in his apartment. 00:42:30 That worthless slacker, I'll rip the answer out of him, like melting the wings on Ikarus. 00:43:13 Hm? 00:43:17 eli! 00:43:27 Do you know SYNTAX-CASE? 00:43:42 Yes, enough of it. 00:43:57 See > 00:44:02 Bah. 00:44:13 eli, Basically, my COMPETITOR-INCLUDE isn't working at the moment. 00:44:13 (Do I need a newline in the url?) 00:44:16 No. 00:44:17 :-) 00:44:25 The Bah was meant to signal that such was a mistake. 00:44:47 eli, I get the following expansions: 00:44:50 What is `include' supposed to be? 00:45:11 eli, it's a macro that basically splices in a file at the point where it is called. 00:45:22 Is it similar to the PLT `include'? 00:45:29 eli, maybe. 00:45:41 (expand '(include "arcfide/arcfide.ss")) => (begin (#3%void) (set! arcfide "Arcfide") 00:45:53 In that case, my guess is that the expansion looks right, but things don't work, right? 00:46:10 Where arcfide.ss contains (define arcfide "Arcfide"). 00:46:11 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Connection timed out] 00:46:17 eli, right. 00:46:22 Well, the expansion is a little off. 00:46:23 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 00:46:46 (expand '(competitor-include "arcfide")) => (begin (#3%void) (set! #{arcfide cbzebwhdcmtx58jk-c} "Arcfide")) 00:46:56 Which is slightly different than the INCLUDE expansion. 00:47:01 OK, what seems to happen (and again, that's just a rough guess), is that the `include' itself provides the hook that specifies the lexical context that should include the file. 00:47:24 In your case, the `include' is coming from the macro, so included bindings will be available in macro code, but not in code that uses the macro. 00:47:40 Hrm, yes, that seems reasonable, I was guessing it was something like this. 00:47:40 So you need to use `include' as if it came from the user code. 00:47:44 Right. 00:47:54 In PLT, it would be something like: 00:48:14 (datum->syntax x 'include x) 00:48:25 eli, right, that's what I was thinking. 00:48:32 I'll try that now. 00:48:52 which turns the symbol `include' into an identifier, with the source location of the original syntax (first argument) and the lexical context of the original syntax (third argument). 00:51:41 And BTW, that's one of these things that `syntax-case' or hygiene opponents point at when they claim that the system is too complicated; but note that it does let you specify something that doesn't exist in an unhygienic world -- whether the bindings in the included file should be visible in the macro-inserted code or in the original user-code that used the macro. 00:53:07 eli, Hrm, great idea, but it still doesn't work. 00:53:13 The expansion still seems flawed. 00:53:25 I am using: 00:53:52 arcfide annotated #68229 with "DATUM->SYNTAX COMPETITOR-INCLUDE" at http://paste.lisp.org/display/68229#1 00:54:41 Are you sure that you're using `datum->syntax' properly? 00:54:57 annodomini [n=lambda@c-75-69-95-99.hsd1.nh.comcast.net] has joined #scheme 00:55:05 See the CSUG7. Form is (datum->syntax template-identifier obj). 00:55:11 At least in PLT, (datum->syntax x 'include) will make it have the source location of `x', but no lexical context -- that's why my example had a third argument. 00:55:12 It only takes two arguments. 00:55:26 And the User's Guide says, 00:55:33 link? 00:55:43 (I don't know what's CSUG7) 00:55:52 "...constructs a syntax object from obj that contains the same contextual information as template-identifier,..." 00:56:00 eli: 00:56:15 Riastradh: Thank you. 00:56:26 Riastradh: Anything to weigh in? 00:56:36 Riastradh: Like, "This is a bad idea, do it this way?" 00:56:48 Chez's DATUM->SYNTAX, I believe, uses the first argument for lexical context, not (just) for source location. 00:58:11 wouldnt (import-competitor 'player) in import-players suffice? 00:58:32 arcfide: looks like what Riastradh said is correct, but the docs on that page say that the first argument should be an _identifier_. 00:59:13 So I'd try using #'name instead of `x', or change the pattern to (foo name), and use #'foo. 00:59:42 *foof* chokes on all the #'s and dies 00:59:45 (And if that's the case, then I'd file a bug report saying that it should raise an error instead of silently ignoring the context.) 01:00:01 Out of battery! 01:00:13 foof: read that as: So I'd try using (syntax name) instead of `x', or change the pattern to (foo name), and use (syntax foo). 01:00:21 (if it makes you feel better). 01:00:51 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 113 (No route to host)] 01:01:01 *eli* notes that (syntax x) is almost the same length as (quote x). 01:01:21 eli: There is also a portable definition of INCLUDE in that page. 01:01:55 brb 01:02:00 Changing 'x' with #'name doesn't work. 01:05:49 (quote #'name) ? 01:06:05 or (syntax x) -> #'x 01:06:22 Tried #'x 01:06:39 those are equivalent, in plt. probably in other systems too 01:06:48 so (syntax x) works but #'x doesn't? 01:07:13 No, none of them work. 01:07:24 oh, then its a non-issue 01:08:20 arcfide: at least in that example, he uses the second suggestion I gave you -- write the template as (k name), and use #'k. 01:09:14 Using #'k where I have (k name) doesn't work either. 01:09:30 And BTW, #`#,#'name should be the same as #'name -- in the same way that `,'name is the same as 'name. 01:10:39 Hrm, yes, I wonder why I did that. 01:10:45 I was getting a strange mistake somewhere. 01:10:47 *arcfide* shrugs. 01:10:49 Fixed. 01:11:08 Still, I don't have any solution. 01:11:25 This is very weird. 01:11:27 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 01:12:48 I don't suppose using LET-SYNTAX instead would make a difference. 01:13:31 eli annotated #68229 with "Just to make sure we're on the same page" at http://paste.lisp.org/display/68229#2 01:14:13 Eli: I am using strings instead of symbols for the names at the moment, but yes, in the end, that's what I would be doing. 01:14:43 But #'name should not be a string -- it should be a syntax that holds a string. 01:14:55 eli: yes. 01:15:09 So I don't have the SYMBOL->STRING code that you have. 01:15:23 It's not needed when I invoke as (COMPETITOR-INCLUDE "arcfide") 01:15:29 In any case, if that doesn't work then I'm out of guesses. You should be close enough to ask the source. 01:15:57 Heheh. 01:15:58 Yeah. 01:16:05 Well, I was hoping to find something by tonight. Ah well. 01:16:13 Here's another idea -- copy the definition of `include', instead of using it, and see if that works. 01:16:28 I thought about that. 01:17:17 and? 01:17:26 Haven't done it yet. 01:18:10 So, as my son would say, "try it". 01:18:38 amca [n=amca@CPE-121-208-81-104.qld.bigpond.net.au] has joined #scheme 01:20:21 eli: That doesn't work either. 01:20:22 :-( 01:21:03 So it seems that we're at that magical moment when an example from the docs doesn't work as it should, right? 01:21:06 Also, the code you gave should work for (COMPETITOR-INCLUDE arcfide), right? Instead of (COMPETITOR-INCLUDE "arcfide"). 01:21:20 eli: Something like that, or at least, not working quite the way I expect. 01:21:45 Hrm . . . 01:21:46 yes, for the prev question. 01:22:07 eli, it doesn't work here. 01:23:05 WHat The......... 01:23:25 Actually, perhaps it's how you use it that's broken. 01:24:18 MOTHER .... 01:24:20 *arcfide* refrains. 01:24:29 mother fother 01:24:39 I'm gonna . . . 01:24:40 It works. 01:24:41 LOL 01:24:45 I'm SO DUMB. 01:24:53 I had to copies of the file, I was editing one, loading the other. 01:25:01 Nice. 01:25:09 *arcfide* slaps himself with a thick, thick book. 01:25:21 Sounds like the way I react when something like that happens. 01:25:37 Just brilliant, arcfide. 01:26:22 doh! 01:26:55 minion: advice for arcfide. 01:26:55 arcfide: #11916: Always ignore the second error message unless the meaning is obvious. 01:27:12 chandler, I guess this qualifies me for dunce of the night award, eh? 01:27:50 arcfide: I think this goes into the "thinking too hard to see the real problem" category, which is quite different than "dunce". 01:28:05 If not, then I've earned a lifetime achievement award in the dunce category :-) 01:29:46 -!- mejja [n=user@c-7d2472d5.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 01:37:41 Bah! 01:37:48 Now it partially works. 01:38:27 arcfide annotated #68229 with "Module form can't see definition" at http://paste.lisp.org/display/68229#3 01:38:53 arcfide annotated #68229 with "Session" at http://paste.lisp.org/display/68229#4 01:39:18 Alright brilliant folks, any takers on this one? 01:39:59 Do I need to SYNTAX->DATUM then DATUM->SYNTAX player? 01:40:00 what is in arcfide.ss? 01:40:07 (define arcfide "Arcfide") 01:42:19 Hrm, I think that FORMAT should have 'player instead of just player. 01:42:53 But that doesn't seem to have an effect here. 01:43:16 Does it complain without the competitor-include? 01:44:10 Huh, yes, it does. 01:44:11 :-/ 01:44:20 *arcfide* rubs his head. 01:44:28 Okay . . . 01:44:30 *arcfide* thinks. 01:44:52 aiur [n=Jan@218.109.75.115] has joined #scheme 01:44:56 does what you think the macro should expand to work? :-) 01:46:03 http://www.scheme.com/csug7/syntax.html#./syntax:h5 01:46:11 Hrm . . . interesting. 01:46:24 Aha! 01:46:32 Those stinkers. 01:46:39 timings.ss is flawed. 01:47:48 Got it. 01:47:52 timing.ss had a LOAD in it. 01:48:01 Bad bad. 01:54:55 (load) is the only implementation independant way to combine many source files into one program, never mind as a module system. 01:56:24 synx: yes, it is, but it affects the semantics of a MODULE form in Chez. 01:56:52 Since everyone is expected to use Chez in this competition, it's rather important that they use INCLUDE instead of LOAD for the MODULEs, and at least, I have to make sure that the structure code uses it. 01:57:05 I see. You're right to criticize it then. 01:57:31 synx: I wouldn't use LOAD anyway in portable code. 01:57:43 I would provide the individual files, specify the dependencies, and let people sort it out in their system. 01:58:06 How would you specify the dependencies? 01:58:09 For example, I would probably provide files with the R6RS libraries, MIT file that provided a package or a bunch of LOADs, and so on. 01:58:10 bweaver [n=bweaver@67.161.236.94] has joined #scheme 01:58:32 synx: I would put it into a comment. 01:59:28 Why not specify them by the phrase (load "dependancy.ss")? 02:00:37 You could put it in a separate file if you don't want it to be evaluated unnecessarily. 02:01:12 synx: because I don't want to put LOAD into the body of my code. If a particular system needs to use LOAD, then that would be in a separate file. 02:01:24 synx: but yes, that would happen in systems that don't have module systems. 02:01:35 synx: if they do have a module or library system, then I would write that instead. 02:01:51 Load is generic to all systems though, so you wouldn't need to worry that it wasn't supported. 02:02:13 synx: but it would cause problems with the system. 02:02:35 synx: you have no namespaces without modules. 02:03:11 Well scheme has no namespaces in general, so at that point you have to pick an implementation and be specific to it. 02:03:34 synx: No, it is easy to prefix everything if you have to, but I might not want to do that in the general case. 02:03:57 synx: In general, it's better to let peopel tune their code to their system rather than expect everyone to use the least common denominator. 02:04:11 In this case, if I provide detailed dependency information in the comments, this tells you more than LOADs will. 02:04:53 It does? Well, go with that then I suppose. 02:05:29 synx: yes, it does, and it's better. Though I would probably still provide the basic file just to get people going if they needed it. 02:05:59 Okay. I don't know exactly what you're doing, but you seem to know pretty well. 02:06:26 Me I just use (require) and hope that the implementation supports it. 02:06:30 synx: when you spend more time in the details of scheme implementations, it will become more obvious why LOADing files isn't always what you want. 02:07:23 You're always LOADing files though, even with a module system. It just might prefix the symbol names or do extra stuff, or do a path search, but it's still invoking (load) at some point. 02:08:39 synx: are you sure about that? 02:08:49 synx: for example, that's not what INCLUDE does. 02:09:08 No I'm not sure. 02:09:53 synx: taking Chez as an example, IMPORTing something doesn't load it. The only way you can get code into the system, without writing your own form for it, is INCLUDE and LOAD. INCLUDE actually splices the code into the context where it was found (as we just saw above), whereas LOAD will actually do something different. 02:09:59 Heck maybe it's with-input-from on the file and then (eval (read-stuff)) no load at all. 02:10:25 OceanSpray [n=karl@LEMON.RES.CMU.EDU] has joined #scheme 02:10:29 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 02:10:32 synx: the point is that module systems can do things which allow them to avoid having to use potentially ineffecient constructs like EVAL and LOAD directly. 02:10:40 (I'm being fuzzy here.) 02:10:48 ... 02:10:54 EVAL is inefficient? 02:11:18 In the case of MODULEs in Chez, you use INCLUDE so that the whole system reads in the forms and then the compiler expands, optimizes and does other stuff to them, before it ever reaches the internal EVAL. 02:11:32 synx: EVAL is very slow when we are talking about the external, exported procedure EVAL. 02:11:45 synx: at least, for most implementations. 02:11:58 Chez runs the compiler on EVAL, but Petite, for example, does not. 02:12:11 Sorry, runs the optimizer/compiler on EVALed code. 02:12:21 Isn't code always being evaluated though? Every statement I mean... 02:12:58 synx: the EVAL presented to the world is often different than the process of evaluating compiled code. 02:13:20 synx: If you have a scheme that does no optimization and just EVALs everything, then they will be the same. 02:13:25 But few that I know of do this. 02:13:33 [Those who know more, please step in at any time." 02:13:34 ] 02:13:40 I ...guess. 02:13:54 I really don't understand, but I'll take your word on it. 02:14:11 -!- tltstc` [n=nine@192.207.69.1] has quit [] 02:14:25 So, for example, PLT Scheme's JIT compiler uses the module form to restrict the scope of code, and thus, to prove certain things about that code, allowing it to optimize that code and execute that optimized code, instead of having to explicitly EVAL over the whole source. 02:14:56 synx: Chez, as another example, compiles its code down to machine code, and then runs that code on the microprocessor. 02:16:05 synx: EVAL uses lists, destructures those lists, and then does symbol lookups to do things. That is, unless the implementation does something between then and running. 02:16:11 eno__ [n=eno@adsl-70-137-151-163.dsl.snfc21.sbcglobal.net] has joined #scheme 02:16:30 synx: many implementations take code, and convert it to an intermediate representation, which can then be loaded and used without having to use the top-level EVAL again. 02:16:41 wasabi_ [n=wasabi@p4132-ipbfp04kyoto.kyoto.ocn.ne.jp] has joined #scheme 02:16:58 I'm not really being very accurate here. 02:17:02 But you get the idea. 02:17:06 EVAL is almost always a bad idea. 02:17:11 LOAD is usually not what you want. 02:17:15 Seems if that representation were more efficient, EVAL would use it too. 02:17:32 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 02:17:52 synx: but EVAL has to parse the lists, then go into the intermediate representations. And EVAL may or may not be optimized. 02:18:32 synx: So, if you use EVAL, not only does the code have to be read and parsed into data, it then has to be parsed into an intermediate form, if any optimization is to occur on a significant level. 02:18:44 but load's representation is supposed to be scheme language source code... not some internal representation. 02:18:57 sladegen: LOAD doesn't have to be explicitly slow. 02:19:16 Okay, so all code is parsed in that fashion, which is slow, but since it is then used many times the speed doesn't play a factor. 02:20:00 It is my understanding that LOAD (in the case of Chez) does not splice in the code, and instead just loads it into the environment, when this happens, Chez doesn't know as much as splicing can tell it, and so it can't optimize the code as well. 02:20:25 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit [Read error: 54 (Connection reset by peer)] 02:20:37 synx: If you litter your code with EVAL, it will have to execute eval and destructure your program over and over again. 02:20:48 Unless it can prove that the code never changes. 02:21:03 Right, so it's best not to do that, like, ever. 02:21:11 synx: unless it is important. 02:21:20 Sure. 02:21:33 synx: Code is eventually evaluated, but by a much faster underlying evaluator, not the list based EVAL. 02:21:48 synx: so you are assuming the source code did not change between different places of same load form invocation for example. i'm sure there are other considerations. 02:21:49 -!- eno__ [n=eno@adsl-70-137-151-163.dsl.snfc21.sbcglobal.net] has quit ["leaving"] 02:22:01 eno [n=eno@nslu2-linux/eno] has joined #scheme 02:22:44 synx: as one example, I believe that CHez has to LOAD the files every time you run the code, and this means that it can't guarantee the code is the same. 02:22:54 This means that it can't do any analysis on it at that time. 02:23:10 So, for example, it can't inline code LOADed from a file. 02:23:41 At least, not inline instances of that code being used inside the file it is currently compiling. 02:24:09 Make sense? 02:24:24 but at least load is portable ;) 02:24:31 Hehehe. 02:24:34 sure 02:25:24 Lemon [n=karl@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 02:25:46 -!- OceanSpray [n=karl@LEMON.RES.CMU.EDU] has quit [Nick collision from services.] 02:26:00 -!- Lemon is now known as OceanSpray 02:28:36 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 02:30:10 -!- OceanSpray is now known as kniu 02:34:21 yhara [n=yhara@raichu.netlab.jp] has joined #scheme 02:35:37 hiyuh [n=hiyuh@KD059133117089.ppp.dion.ne.jp] has joined #scheme 02:47:34 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:49:29 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 02:53:56 cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has joined #scheme 02:57:16 -!- bweaver [n=bweaver@67.161.236.94] has quit [] 03:03:09 -!- paganini123 [n=chatzill@adsl-223-191-109.mia.bellsouth.net] has quit ["ChatZilla 0.9.82.1 [Firefox 3.0.1/2008070208]"] 03:07:08 haowan [n=haowan@58.39.213.216] has joined #scheme 03:17:00 hi 03:18:05 yeah, that's what they all say ... at first 03:19:35 -!- haowan [n=haowan@58.39.213.216] has quit [] 03:21:26 so I guess that's 1 point for offby1 03:21:42 *kilimanjaro* searches for the scoreboard 03:28:56 #scheme needs more rainbows and chocolate streams with marshmellows in them 03:28:57 -!- tizoc [n=user@r190-135-8-124.dialup.adsl.anteldata.net.uy] has quit [Read error: 104 (Connection reset by peer)] 03:29:05 they are dropping like flies 03:30:15 tizoc [n=user@r190-135-13-222.dialup.adsl.anteldata.net.uy] has joined #scheme 03:31:25 -!- 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"] 03:38:17 marshmallow flies 03:44:14 ARGH 03:53:03 behold the angry squid 03:54:41 gnomon: agreed 03:54:51 it's okay, breathe, he's already pruned 03:55:36 just don't mention this channel again. it will turn into a raging snotfight and we'll all get caught in the fallout 03:56:33 Here's an on-topic question: how do you get a small army of students to not attack me with badly formatted emails -- top-quotations, HTML junk, microsoft word emails, and other such horrible things? 03:56:40 *aspect* looks at timestamps and realises the scream came some 3 minutes too early to be about what I thought it was about 03:57:05 eli, reject poorly formatted email. Just bounce it right back unread. Tell them that your time is worth more than their bad etiquette. 03:57:35 aspect, yes; I'm screaming about the fact that I haven't left the office here for coming on thirty hours now, and probably won't get to for another ten. 03:59:38 halp me 03:59:39 :P 03:59:54 gnomon: That sounds reasonable, but doesn't work in practice. The result of that is that they'll just not post right, and never get any answers. There needs to be some way to teach how to post properly. 04:00:02 i'm having an issue with modifying a list on the fly and sending the mods back but not actually modifying the base data of course 04:00:30 eli, it's blastedly difficult to teach a rude person to be polite; it's even more difficult to teach a rude person *why* to be polite. 04:00:38 If you figure it out, please let me know. 04:00:42 :) 04:01:21 NaNO2x annotated #68218 with "apply f to tree" at http://paste.lisp.org/display/68218#5 04:01:53 It's not even rudeness that is a problem -- more cluelessness. (The recent example: after I complained about top-posting with the complete previous email as is, the student send an apology -- which is top-posted with the complete complaint email below...) 04:01:57 eli, no one cares about formatting emails 04:02:09 why dont you write an email extension for drscheme and make them use that 04:03:13 right now it's applying to each, it's just not returning the list as a whole 04:04:05 jonrafkind: that's easy for you to say. How many emails do you get every day? 04:04:11 at least 1 04:04:22 *aspect* wonders if there's an online analogue of The Little Schemer that NaNO2x could be pointed to 04:04:41 cron sends me a few emails here and there 04:05:21 -!- kniu [n=karl@CMU-301252.WV.CC.CMU.EDU] has quit [Connection timed out] 04:05:37 that book sounds kinda awesome 04:05:38 eli, I sympathize with you, but what about the student. why should they care? it seems a little pedantic to them 04:05:59 its like editing something on wikipedia and having the editors go nuts because you used the wrong formatting options 04:07:11 NaNO2x, do you know what begin does 04:07:35 jonrafkind: I'm at about 100/day -- getting proper emails makes it an order of magnitude easier to deal with. 04:07:46 it goes through and does everything 04:07:48 me thinsk 04:08:14 I completely agree with eli, here: once your email volume passes a certain volume threshold, formatting becomes a useful tool for quickly understanding the message. 04:08:18 jonrafkind: And the students should care because they *do* want answers. (At least they make it look like they want them in a convincing way.) 04:08:18 NaNO2x: I wish I could suggest something. All the questions I've seen you ask in here are easily solved once you've learned to approach problems recursively like that book can teach you in an afternoon. 04:08:29 NaNO2x, (begin e1 e2 e3) will execute e1 then e2 and e3, and then return e3 04:08:33 e1 and e2 are gone after that 04:08:40 ahhhh 04:08:43 It's the same way that grammar, punctuation and spelling can be abused: the core of the message may still get across, but it's awkward, careless and rude. 04:09:26 NaNO2x, you want something that rebuilds the list, like append you were using before 04:09:28 or cons or some such 04:09:35 ahh 04:09:58 ahhchoo! 04:10:11 tjafk1 [n=timj@e176202243.adsl.alicedsl.de] has joined #scheme 04:10:16 jonrafkind: and BTW, a badly formatted message on the plt list is something I can just ignore if I don't see the contents after a few seconds -- but I cannot ignore messages on the course list... 04:10:42 but see, that's like easily done for flattening the list 04:10:53 but i want to touch each item in the list and return the same list 04:11:16 well.. you should return the *same* list, it should be a new list 04:11:26 right 04:11:27 functional programming generally means data is immutable 04:11:31 i know 04:11:35 i meant a new list 04:11:37 ok 04:11:39 but the same format and stuff 04:11:44 right 04:11:49 -!- tjafk2 [n=timj@e176212105.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 04:11:55 instead of a flattened list like i had other stuff 04:12:26 so you have left op right, (list left op right) will make a list out of them 04:12:29 instead of flattening them 04:12:45 right but it can be many lines deep 04:13:10 well you want to traverse left and right 04:13:12 nvm 04:13:15 i think i have an idea 04:13:16 (list (blah left) ...) 04:15:01 prunedtree [i=Aozaru@195.140.142.184] has joined #scheme 04:15:03 i'm very very close 04:15:07 hello 04:15:53 Then publish your program so we can use it too. 04:16:01 Oops, scrollback. 04:16:12 Someone actually requested that I top-post the other day. 04:16:16 :P 04:16:38 Because she's like many become so reliant on crappy web-mail, it's a hassle for her to find which email she wrote that I'm referring to. 04:17:02 I'm looking into discussing GC implementations, and I come here following gnomon's advice 04:18:03 is there anyone available and willing to discuss that topic ? :) 04:18:18 I pay people to collect _my_ garbage 04:18:24 prunedtree, I know about them. what do you want to know? 04:18:29 although they insist I carry it down to the curb 04:19:26 -!- aiur [n=Jan@218.109.75.115] has quit [Client Quit] 04:20:05 Well I have a few, very diverse questions, about read barrier costs, on-the-fly / concurrent / parallel collectors, fragmentation issues and sweeping overhead, among others 04:21:42 yay got it 04:21:52 so this book is a must read then? 04:22:14 well I haven't benchmarked various barriers, but mzscheme uses page protection and SIGSEGV to discover accesses to various sections of memory 04:22:20 regarding read barrier cost, I'm surprised to read Bacon say that 6% runtime overhead for a read barrier is "unacceptable", and I wonder how maintaining a to-space invariant like in the Metronome can be more expensive than using an object table 04:23:30 maybe using an object table is considered an "unacceptable" cost, but I have the feeling there is serious motivation to use on for 64-bit heaps (all the references can fit 32 bit) 04:23:42 aiur [n=Jan@218.109.75.115] has joined #scheme 04:23:58 jonrafkind : for a write barrier ? 04:24:08 yea write barrier 04:24:56 isn't page protection considered to be extremely expensive ? what's the benefit vs 4k cardmarking ? 04:25:30 tizoc_ [n=user@r190-135-0-42.dialup.adsl.anteldata.net.uy] has joined #scheme 04:25:56 I dunno, I haven't used 4d cardmaking 04:26:21 4k, as in 4 kbyte cards (page size) 04:26:33 (on most platforms, that is) 04:28:28 well, off the top of my head I'd say its easier to deal with a moving garbage collector with page protection 04:28:41 you would need an additional level of indirection for the cards if you moved a page 04:28:57 or change the cards when moving a page 04:29:31 it's a concurrent collector ? (ie it operates while the mutators are running) 04:29:38 no, it stops the world 04:30:12 -!- bombshelter13 [n=bombshel@209-161-240-8.dsl.look.ca] has quit [Client Quit] 04:30:28 well then I don't see the incentive. it's trivial to handle moving objects in a stop-the-world, or even an incremental and/or parallel scheme 04:31:05 yes I suppose thats true 04:31:06 -!- vasa [n=vasa@mm-126-93-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 04:31:14 -!- tizoc [n=user@r190-135-13-222.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 04:31:16 -!- tizoc_ is now known as tizoc 04:31:48 although for arbitrary C code you have to insert code to update the cards, right 04:31:52 might make sense if you use an essentially functional style and if collections are rare 04:31:59 so if you don't want to do that then you can use page protection which is a catch-all 04:32:09 ah, I see. but you 04:32:26 you'll have to handle pointer motion in arbitrary C code anyway 04:32:41 (if it calls backs, or allocates) 04:33:16 the allocators are special, callbacks are fine (unless you mean foreign interface) 04:33:51 there is a non-trivial answer to the foreign problem that eli can discuss 04:34:17 so arbitrary pointer arithmetic is fine, you just need to know when it allocates and when you write to a page 04:34:39 ah, so you do not do precise garbage collection 04:34:41 -!- Debolaz [n=debolaz@nat.andersberle.com] has quit ["Leaving"] 04:34:49 ah, but it is precise 04:34:57 -!- kryptos23 [n=kryptos@freenet/developer/kryptos] has quit [Read error: 110 (Connection timed out)] 04:35:03 how can you have arbitrary C code then ? 04:35:05 http://www.cs.utah.edu/~awick/awick-dissertation.pdf 04:35:07 magic! 04:35:19 you don't have to read that guys dissertation if you dont want to 04:35:31 but my project for the last year has been to use his work for other things, I can assure you that it works 04:35:39 well it's simply not precise if you cannot find all roots. that's the definition afaik 04:35:59 you have to know the roots. that is simple static analysis (if you would even call it that) 04:36:02 any global variable is a root 04:36:23 stacks are, too. so if you have arbitrary C stacks... 04:36:40 all the pointers on the stack are kept in a GC frame 04:36:51 and during a GC you traverse roots and GC frames 04:37:03 so the C code isn't arbitrary then 04:37:09 yes, thats true. its not compeltely arbitrary 04:37:30 there are a handful of rules you have to follow, but for most cases its arbitrary 04:37:42 any rules that you would break would be bad even if you weren't using gc 04:37:45 -!- sjamaan [n=sjamaan@frohike-old.xs4all.nl] has quit [Read error: 60 (Operation timed out)] 04:38:08 ok. My point is that maintaining a write barrier is much easier than other rules you'll have to follow anyway 04:38:37 but it's not very important anyway. I was interested in read barriers (write barriers aren't so controversial) 04:39:09 sjamaan [n=sjamaan@80.101.127.174] has joined #scheme 04:39:11 or indirection cost, which seems closely related 04:39:14 hm, well read barriers I don't know so much about 04:39:22 -!- gweiqi [n=greg@69.120.126.163] has quit ["Leaving."] 04:39:52 It seems to me the beneficial effects of using 32-bit references on a 64-bit heap (potentially halving most object's size) is far superior to the indirection cost 04:42:03 I was wondering if anyone had experience with that 04:42:10 not I :p 04:42:40 what indirection cost? if its on a 64-bit system there isn't any extra work being done 04:43:26 you use a full 64-bit heap with up to 4 billion objects 04:43:49 so each object has an index in a table that contains it's 64-bit address 04:44:14 hence reference take only 32 bit, while your heap can span the full address space 04:46:12 so 32-bit references introduces the need for this object table and thus indirection cost..? 04:46:20 but you seemed to suggest that it doesnt 04:47:01 it does. in essence it's a form of pointer compression 04:47:15 right 04:47:35 so you mean 32-bit references is worth the indirection cost 04:47:47 but because all references on heap are twice smaller, you have huge gains in memory consumption 04:47:56 it does seem reasonable to me, 4 billion objects ought to be enough for anyone ;) 04:49:36 well, at least up to a point where the heap is so huge you might have to reconsider your whole hardware architecture anyway 04:50:12 the reduce memory consumption is critically beneficial to performance by halving bandwith consumption and cache usage 04:50:45 (of course, cache usage is also increased by the table lookups) 04:50:46 yea.. but if you run up and down a few megabytes worth of data then the cache won't help much 04:51:11 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 04:51:31 now mabye if objects were re-ordered depending on their runtime usage, that would increase cache hits 04:51:38 it will. it's extremely rare not to have some subset of your data that has strong locality 04:52:10 and if your cache doesn't help much, then you need bandwith. so half the memory usage (in the limit) is then a clear win 04:53:11 jonrafkind : that's a common claim about moving garbage collection. I'm seriously sceptic that this is still true nowdays, on large heaps and with large, highly associative caches 04:53:37 most of the litterature accounts of these effects where in the mid-90 on much more limited hardware 04:53:58 hm, I haven't seen a study on how moving collectors affect cache hit rates in recent years 04:54:00 I think the impact on a small, direct-mapped cache are much more visible for instance 04:54:03 but it would be interesting 04:54:41 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 04:55:18 brb 04:56:29 boogeyman annotated #68229 with "of course it works" at http://paste.lisp.org/display/68229#5 04:57:05 I once was trying to generate a map of a multi-user-dungeon. 04:57:31 You are in a maze of twisty unfinished projects, all alike. 04:57:54 I made the rooms like balls, and the exits between rooms like springs, with the idea that once the springs evened out, the rooms would be positioned with the fewest confusing criss-crossing exits possible. 04:58:12 It is pitch black. You are likely to be eaten by your day job. 04:58:31 *offby1* talks about mining 04:58:37 Of course it was months into the project that I realized something more than a spring system was needed, because if you pick just any spring system it'll more likely just collapse flat. 04:59:04 ...thus explaining why my generated maps had all the exits collapsed onto a single line. 04:59:26 Never did figure out how to specify a map that spread out evenly and didn't collapse. 05:00:32 Just venting, sorry. :) 05:00:54 My continuation/sync project rapidly approached the utility of built-in threads, so now I'm hunting for a new one. 05:03:09 *eli* rolls his eyes, again 05:03:44 what 05:04:07 why 05:04:14 I'll have you know it used 80% the memory overhead of threads... 05:06:20 And how many more lines of code? 05:08:40 -!- papermachine [n=ahoman@61.152.106.169] has quit [Read error: 104 (Connection reset by peer)] 05:09:42 -!- wasabi_ [n=wasabi@p4132-ipbfp04kyoto.kyoto.ocn.ne.jp] has quit ["Leaving..."] 05:09:56 ...the same. 05:10:13 I mean, more underlying of course. It was effectively the same idea as using threads. 05:11:06 So your "async event framework" took 0 lines of code? That's impressive. 05:11:23 No it didn't, but neither do threads. 05:11:57 You implemnted threads then? 05:12:41 Sort of, yeah. 05:12:52 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["bedtime"] 05:13:07 In that case I'll go on rolling my eyes. 05:13:12 I implemented routines that seem to block, but instead continue back to a main async event loop. 05:13:28 wasabi_ [n=wasabi@p4132-ipbfp04kyoto.kyoto.ocn.ne.jp] has joined #scheme 05:14:37 You could still submit normal events though, wouldn't need the "blocking" routines. They're just useful, and show how continuations allow the mixing of event-like and non-event-like code. 05:17:39 jgracin [n=jgracin@89-172-61-82.adsl.net.t-com.hr] has joined #scheme 05:23:16 (typer s-exp) -- write a function typer that takes an arbitrarily complex s-expression and returns a new one with the same ``shape'' but with only symbols NUMBER and SYMBOL corresponding to the type of the original atoms in the list. 05:23:16 Examples: 05:23:16 > (typer '(a b 3 d)) 05:23:16 (SYMBOL SYMBOL NUMBER SYMBOL) 05:23:17 > (typer '((a 2.3) (((b c)) 3))) 05:23:19 ((SYMBOL NUMBER) (((SYMBOL SYMBOL)) NUMBER)) 05:23:30 given that, i have it all able to parse down to the individual units in the s-exp 05:23:52 but i can't figure out how to reassign the value to text 05:24:46 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 05:26:30 would it involve (display "___") or do i need to do some sort of calculation to determine if it's a number or symbol? 05:28:25 Don't you already do that calculation, and it's just the string SYMBOL or NUMBER? 05:28:42 papermachine [n=ahoman@61.152.106.169] has joined #scheme 05:29:11 here's my code up until now 05:29:12 (define (typer s-exp) 05:29:12 (map (lambda (exp) (if (pair? exp) 05:29:12 (typer exp) 05:29:12 (if (eq? 05:29:25 and now i'm trying to figure out how to determine which type of element lies at each position 05:31:35 symbol? returns true if it's a symbol... number? for a number 05:32:54 is it that easy? lol 05:34:30 ah it is 05:34:31 ty 05:34:46 yay I'm helpful! 05:35:11 raikov [n=igr@203.181.243.11] has joined #scheme 05:38:47 -!- 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"] 05:44:30 -!- ray_ [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has quit ["Leaving"] 06:06:53 -!- cracki_ [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 06:07:04 -!- cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has quit [Read error: 113 (No route to host)] 06:09:32 -!- timmy_boy [n=hp@71-87-57-97.dhcp.stcd.mn.charter.com] has quit [Read error: 104 (Connection reset by peer)] 06:22:23 -!- Jarvellis is now known as rodo 06:22:40 -!- rodo is now known as Jarvellis 06:28:38 -!- Jarvellis is now known as JHVH 06:31:40 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 06:39:10 foof` [n=user@clair01.naist.jp] has joined #scheme 06:39:20 eno__ [n=eno@adsl-70-137-153-143.dsl.snfc21.sbcglobal.net] has joined #scheme 06:41:04 ecraven [n=nex@140.78.42.103] has joined #scheme 06:44:01 pixel5 [n=pixel@copei.de] has joined #scheme 06:47:24 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 06:49:49 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 110 (Connection timed out)] 06:50:10 -!- foof` is now known as foof 06:51:24 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 06:52:30 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 06:55:10 -!- eno__ [n=eno@adsl-70-137-153-143.dsl.snfc21.sbcglobal.net] has quit ["leaving"] 06:58:25 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 07:00:55 Alex___ [n=chatzill@58.39.214.219] has joined #scheme 07:03:10 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 07:08:15 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 07:08:26 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 07:13:36 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 07:17:32 -!- pantsd [n=hkarau@129-97-136-21.uwaterloo.ca] has quit [Remote closed the connection] 07:21:19 borism [n=boris@195-50-206-125-dsl.krw.estpak.ee] has joined #scheme 07:31:16 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 07:33:32 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 07:37:13 -!- aiur [n=Jan@218.109.75.115] has quit [Client Quit] 07:41:29 hotblack23 [n=jh@p5B056DEE.dip.t-dialin.net] has joined #scheme 07:42:14 -!- sondermann [n=user@220-244-dsl.kielnet.net] has quit [Remote closed the connection] 07:42:54 -!- raikov [n=igr@203.181.243.11] has quit [Remote closed the connection] 07:42:58 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 08:02:12 elmex [n=elmex@e180066211.adsl.alicedsl.de] has joined #scheme 08:08:18 yhara_ [n=yhara@raichu.3in.ne.jp] has joined #scheme 08:08:49 -!- LobsterMan [n=a@host72-50.student.udel.edu] has quit ["-=SysReset 2.55=-"] 08:10:19 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 08:11:23 schme_ [n=marcus@c83-249-231-47.bredband.comhem.se] has joined #scheme 08:12:39 -!- schme [n=marcus@c83-249-231-47.bredband.comhem.se] has quit [Read error: 60 (Operation timed out)] 08:15:23 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 08:16:23 -!- hotblack23 [n=jh@p5B056DEE.dip.t-dialin.net] has quit [Read error: 145 (Connection timed out)] 08:23:10 aiur [n=Jan@218.109.75.115] has joined #scheme 08:26:21 -!- yhara [n=yhara@raichu.netlab.jp] has quit [Read error: 113 (No route to host)] 08:28:07 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 08:29:08 -!- Alex___ [n=chatzill@58.39.214.219] has quit [Read error: 110 (Connection timed out)] 08:33:11 besiria [n=user@webspirs.uom.gr] has joined #scheme 08:38:55 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 08:43:59 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 08:51:23 yhara [n=yhara@raichu.netlab.jp] has joined #scheme 08:54:40 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 08:59:47 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:00:27 yezhao [n=bryan@202.96.19.49] has joined #scheme 09:05:08 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:06:10 -!- yezhao [n=bryan@202.96.19.49] has left #scheme 09:07:45 schmalbe [n=bernhard@p549A35C1.dip0.t-ipconnect.de] has joined #scheme 09:09:27 -!- yhara_ [n=yhara@raichu.3in.ne.jp] has quit [Read error: 110 (Connection timed out)] 09:10:11 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:10:22 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:15:25 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:15:46 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:17:49 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 09:20:34 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 09:20:49 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:21:03 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:26:53 -!- yhara [n=yhara@raichu.netlab.jp] has quit [Read error: 113 (No route to host)] 09:28:59 -!- papermachine [n=ahoman@61.152.106.169] has quit [Connection timed out] 09:33:27 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Operation timed out] 09:33:44 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:38:51 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Read error: 54 (Connection reset by peer)] 09:39:06 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:39:32 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 09:40:57 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 09:43:13 schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-781e57d105eec2bd] has joined #scheme 09:44:06 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:45:24 -!- foof [n=user@clair01.naist.jp] has quit [Read error: 60 (Operation timed out)] 09:52:16 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:52:28 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 09:57:35 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 09:57:45 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 10:01:00 -!- besiria [n=user@webspirs.uom.gr] has quit [Read error: 110 (Connection timed out)] 10:02:49 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 10:03:00 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 10:06:30 -!- pixel5 [n=pixel@copei.de] has quit ["Lost terminal"] 10:09:04 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 10:09:31 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 10:12:35 -!- sm [n=sm@pool-71-104-88-115.lsanca.dsl-w.verizon.net] has quit [] 10:14:38 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 10:14:56 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 10:18:24 Mr_SpOOn [n=Mr_SpOOn@abdallo.cs.unibo.it] has joined #scheme 10:22:19 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 10:26:20 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 10:26:31 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 10:31:23 -!- aiur [n=Jan@218.109.75.115] has quit [Client Quit] 10:51:20 Alex___ [n=chatzill@116.224.145.241] has joined #scheme 10:51:32 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 10:57:18 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 110 (Connection timed out)] 10:59:50 BW^- [i=Miranda@94.191.150.249.bredband.tre.se] has joined #scheme 11:00:15 hey guys, if you would do a Windows/Mac OS X GUI app in Scheme that needs pthreads, what Scheme would you use? 11:00:35 tiny binary is a high priority 11:01:54 Nshag [i=user@Mix-Orleans-105-3-89.w193-250.abo.wanadoo.fr] has joined #scheme 11:09:49 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 11:12:34 -!- grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 11:13:57 grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has joined #scheme 11:19:35 foof [n=user@dn157-046.naist.jp] has joined #scheme 11:27:35 papermachine [n=ahoman@61.152.106.169] has joined #scheme 11:28:48 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 113 (No route to host)] 11:37:52 jgracin_ [n=jgracin@89-172-56-122.adsl.net.t-com.hr] has joined #scheme 11:41:10 xwl [n=user@221.221.145.203] has joined #scheme 11:43:43 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 11:47:26 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:47:41 -!- jgracin [n=jgracin@89-172-61-82.adsl.net.t-com.hr] has quit [Read error: 110 (Connection timed out)] 11:49:23 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 11:52:16 -!- Alex___ [n=chatzill@116.224.145.241] has quit [Remote closed the connection] 11:53:38 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 11:55:12 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 12:02:12 Alex___ [n=chatzill@58.39.189.166] has joined #scheme 12:03:34 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 12:04:32 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit [Remote closed the connection] 12:04:43 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 12:04:44 metasyntax [n=taylor@pool-71-188-161-219.aubnin.fios.verizon.net] has joined #scheme 12:07:56 -!- borism [n=boris@195-50-206-125-dsl.krw.estpak.ee] has quit [Client Quit] 12:07:58 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 12:09:20 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 12:21:05 -!- jgracin_ [n=jgracin@89-172-56-122.adsl.net.t-com.hr] has quit [Remote closed the connection] 12:31:37 -!- xwl [n=user@221.221.145.203] has quit [Read error: 110 (Connection timed out)] 12:34:17 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 12:34:38 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 12:39:22 xwl [n=user@221.221.145.203] has joined #scheme 12:39:29 borism [n=boris@195-50-206-125-dsl.krw.estpak.ee] has joined #scheme 12:47:03 annodomini [n=lambda@c-75-69-95-99.hsd1.nh.comcast.net] has joined #scheme 12:51:42 kuribas [i=kristof@d54C43095.access.telenet.be] has joined #scheme 12:56:14 -!- foof [n=user@dn157-046.naist.jp] has quit [Remote closed the connection] 12:56:18 foof [n=user@dn157-046.naist.jp] has joined #scheme 12:56:45 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 12:58:31 yhara_ [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 12:59:35 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:59:36 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:10:01 -!- aquanaut [n=user@pool-71-191-49-201.washdc.fios.verizon.net] has quit [Remote closed the connection] 13:10:05 aquanaut [n=user@pool-71-191-49-201.washdc.fios.verizon.net] has joined #scheme 13:11:41 -!- benny [n=benny@i577A0C9B.versanet.de] has quit [Read error: 60 (Operation timed out)] 13:12:48 aquanaut` [n=user@pool-71-191-49-201.washdc.fios.verizon.net] has joined #scheme 13:14:26 annodomini [n=lambda@64.30.3.122] has joined #scheme 13:15:29 -!- wasabi_ [n=wasabi@p4132-ipbfp04kyoto.kyoto.ocn.ne.jp] has quit [Remote closed the connection] 13:18:30 -!- schmalbe [n=bernhard@p549A35C1.dip0.t-ipconnect.de] has quit [Remote closed the connection] 13:21:55 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 110 (Connection timed out)] 13:23:41 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 13:24:14 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 13:27:39 -!- aquanaut [n=user@pool-71-191-49-201.washdc.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 13:28:05 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 13:28:09 -!- yhara_ [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 13:31:07 does anyone else have to constantly lookup up the git subdirectory commands; or have they found a mnemonic? 13:31:46 submodule* 13:35:59 annodomini_ [n=lambda@64.30.3.122] has joined #scheme 13:35:59 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 104 (Connection reset by peer)] 13:36:19 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 13:37:17 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 13:40:00 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 104 (Connection reset by peer)] 13:40:39 annodomini [n=lambda@64.30.3.122] has joined #scheme 13:42:40 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 13:47:03 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 110 (Connection timed out)] 14:00:31 benny [n=benny@i577A0C9B.versanet.de] has joined #scheme 14:01:49 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [No route to host] 14:06:11 -!- amca [n=amca@CPE-121-208-81-104.qld.bigpond.net.au] has quit ["Farewell"] 14:07:18 annodomini [n=lambda@130.189.179.215] has joined #scheme 14:10:12 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 14:10:52 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 14:13:10 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 14:18:02 -!- arcfide [n=arcfide@adsl-99-137-201-22.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 14:31:30 -!- Alex___ [n=chatzill@58.39.189.166] has left #scheme 14:32:03 -!- 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"] 14:32:06 bweaver_ [n=bweaver@75.148.111.133] has joined #scheme 14:33:38 -!- bweaver_ is now known as bweaver 14:35:11 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 14:36:10 wasabi_ [n=wasabi@ntoska151203.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 14:37:22 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 60 (Operation timed out)] 14:45:01 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 14:48:59 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 14:50:01 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 14:51:46 mbishop_ [n=martin@adsl-156-125-245.msy.bellsouth.net] has joined #scheme 14:52:51 -!- wasabi_ [n=wasabi@ntoska151203.oska.nt.ftth.ppp.infoweb.ne.jp] has quit ["Leaving..."] 14:54:47 sarahbot: yow! 14:54:47 Are BOTH T.V.S on?? 14:55:46 sarahbot: yow! 14:55:46 Life is selling REVOLUTIONARY HAIR PRODUCTS! 14:56:15 klutometis: I use them so rarely that it doesn't bother me that I haven't memorized them 14:56:53 eno [n=eno@nslu2-linux/eno] has joined #scheme 14:56:55 90% of my git usage is via git-svn, and git-svn doesn't play nicely with submodules, so I don't use 'em at all there 14:59:36 cemerick [n=la_mer@75.147.38.122] has joined #scheme 15:01:57 BW^-: if a tiny binary is a high priority, I wouldn't use Scheme. 15:02:24 daemmerung: not too tiny. 15:02:37 daemmerung: i would say TinyScheme and Ikarus, for instance, give tiny binaries. 15:02:40 Quantify your tininess, please. 15:02:41 ~100kb vs. ~300kb. 15:02:51 *Daemmerung* guffaws 15:03:41 You can get a pretty small binary with Gambit if you link to its runtime dynamically. I think 100Kb would still be pushing it. 15:03:45 hehe 15:03:57 right 15:04:06 No experience with Ikarus here.... 15:04:12 and the runtime can be compressed to ~1.1MB using UPX. 15:04:16 Debolaz [n=debolaz@nat.andersberle.com] has joined #scheme 15:04:19 or perhaps 1MB.- 15:04:32 What are you doing, putting it on a Chumby? 15:04:49 -- oh, right, Mac/Win you said. 15:06:29 -!- mbishop [n=martin@unaffiliated/mbishop] has quit [Read error: 113 (No route to host)] 15:06:53 chumby heh 15:06:57 it's a funny word 15:10:12 ...maybe TinyScheme or one of the other pure interpreters isn't such a bad idea, given those space constraints. 15:10:18 -!- benny [n=benny@i577A0C9B.versanet.de] has quit [Read error: 60 (Operation timed out)] 15:13:01 xerox [n=xerox@unaffiliated/xerox] has joined #scheme 15:13:12 jlongster [n=user@75.148.111.133] has joined #scheme 15:14:06 daemmerung: i think certainly tinyscheme is an option for client-side scheme work 15:14:13 arcfide [n=arcfide@156-56-205-201.dhcp-bl.indiana.edu] has joined #scheme 15:14:18 btw, what other quite r5rs-compliant tiny scheme environments we have? 15:15:43 BW^-4376 [i=Miranda@79.138.215.39.bredband.tre.se] has joined #scheme 15:16:06 -!- sjamaan [n=sjamaan@80.101.127.174] has quit [Remote closed the connection] 15:17:04 so what tiny environments we have+ 15:17:09 perhaps tinyscheme is way to go 15:18:14 BW^-4376 What's the question? 15:18:31 what tiny scheme environments do we have 15:18:41 BW^-4376: Define "tiny." 15:18:41 suitable for just getting a scheme environment into ana pp 15:18:49 ~50-300KB binary. 15:18:51 ana pp? 15:19:03 an app? 15:19:05 a napp? 15:19:09 *offby1* takes a napp 15:19:10 Zzz 15:19:13 into an application 15:19:36 Are you interested in embedding it? 15:19:51 yep 15:20:17 FWIW, the Petite Chez binary is 256K and the entire runtime library is 752K. 15:20:23 You can par that down. 15:20:42 So you could easily use it in another application. ;-) 15:20:44 "pare" :-) 15:20:55 chandler, sorry. :-) 15:21:19 hm ok. 15:21:26 I don't think you are interested in a commercial Scheme, though, right? I would think that Chicken might be able to generate small enough code. 15:21:31 if passed through a compressor such as UPX, how much then? 15:21:33 I don't know about embedding though. 15:21:52 arcfide: given that he's looking at pure intepreters, Petite is a fair suggestion 15:21:57 and the licensing does allow embedding 15:22:18 I don't know UPX, but I know that you don't have to use the petite binary. Instead, you can link directly to the kernel with your app, and then launch your own Scheme instance through another language and then load what libraries you want. 15:22:21 why not use tinyscheme for embedding? 15:22:45 -!- xwl [n=user@221.221.145.203] has quit [Connection timed out] 15:23:17 I always thought Tiny Scheme wasn't really a full scheme. 15:23:26 Also Petite Chez will likely go R6RS. 15:23:43 ok 15:23:57 I think Scm could be embedded, no? 15:24:18 SCM is GUN contanimated. 15:24:21 which? url? 15:24:21 um, GNU 15:24:38 "The license of SCM (like Guile) consists of the GNU GPL plus a special statement giving blanket permission to link with non-free software." 15:24:49 Ah, thanks. My mistake. 15:24:53 and if you're going to use SCM, why not use Guile? 15:25:09 Size, speed.... 15:25:29 ...but Guile is meant for linking. Scm isn;'t. 15:25:36 how about Gauche? 15:25:39 um, embedding. 15:25:55 the Gauche library is 1.2M on my Debian, though it'd probably get smaller if you stripped it 15:26:02 There may be optional features you can remove, too 15:27:03 I'd be surprised if most Schemes could not be used for embedding given the right application. I mean, unless you are dealing with an application that is only 4MB, a lot of applications are much larger than that. 15:27:26 ok 15:27:30 then afaik TinyScheme and Ikarus would be best 15:27:38 Ikarus? 15:28:03 I didn't know it had any facilities for linking and embedding. 15:28:07 What does it provide? 15:28:33 You are planning to embed this, right, not just subprocess a Scheme interpreter? 15:29:46 vorpal [n=rhunter@pdpc/supporter/student/vorpal] has joined #scheme 15:31:57 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 15:33:53 embed, right. 15:33:58 i think in general it's easy to embed 15:34:09 ikarus would be rather big too embed 15:34:11 if you're hand-waving, yes 15:34:13 just create an OS thread, start it there, and ensure it makes no console I/O. :) 15:34:23 BW^-, no. 15:34:25 in practice, you want to make sure it has APIs designed for that sort of thing 15:34:26 isn't its binaries ~300KB? 15:34:42 and a 5.5MB boot file 15:34:54 Remember the runtime libraries of each of these implementations. 15:35:40 And when libc is 4M on my machine, who's complaining about a 2MB Scheme? 15:35:42 that file is rather compressable, goes done to 25% 15:35:53 so you will need about 1.5mb min for ikarus 15:36:02 BW^-4376: I would suggest looking at Guile and Petite. (I've never used TinyScheme, so no opinion there.) 15:36:15 I don't consider just launching the binary in another thread and linking a socket or fd to its I/O to be embedding. 15:36:19 cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has joined #scheme 15:36:21 i like petite too, it's super fast 15:36:55 Of course, I'm going to recommend Petite. ;-) 15:37:26 But if you're really serious about embedding, Chez or some other implementation that allows you to link directly with the low-level library without using an external executable is the way to go. 15:37:33 i find petite's expander to be really fast comapred to ikarus and other psyntax schemes 15:38:55 Gauche would also be a good choice, but it's over the given size constraint (though I'm not sure where that comes from...) 15:39:04 (...you know that Petite uses psyntax, right?) 15:39:32 yes :| 15:39:32 where do you think psyntax comes from, anyway? 15:39:53 Petite has a very fast interpreter, which is probably what you're noticing. 15:40:33 it is also compiled (the interpreter), I suspect Chez to have a much better optimizer than Ikarus 15:42:59 one day I will get there 15:43:03 with IronScheme 15:43:06 elurin [n=user@85.99.132.149] has joined #scheme 15:43:42 -!- nemik [n=cyanact@c-67-173-76-34.hsd1.il.comcast.net] has left #scheme 15:43:42 -!- BW^- [i=Miranda@94.191.150.249.bredband.tre.se] has quit [Connection timed out] 15:44:25 What kind of interpreter does Ikarus use? The threaded interpreter that Petite uses is much more sophisticated than the more common AST interpreter. 15:44:51 it has an incremental compiler, just as IronScheme has 15:44:59 I doubt whether Ikarus's psyntax is interpreted. 15:45:55 -!- elurin [n=user@85.99.132.149] has left #scheme 15:47:34 currently my biggest single performance hit in IronScheme is psyntax, but then again, I do almost bugger all optimization 15:48:48 Does `IronScheme' do anything interesting? 15:49:06 it does R6RS on .NET :) 15:49:25 but i see it as a long term project 15:49:28 Anything else? 15:49:50 what's with the "Iron" prefix for stuff that runs on .NET? 15:49:59 well it can interact with what ever you have in .NET 15:50:00 *offby1* plans IronLung.NET 15:50:37 offby1: AFAIK it was to show strong conformance to language specifications 15:50:54 It suggests rust more than anything else to me... 15:50:56 It also runs on the SilverLight runtime 15:51:38 Riastradh: what interesting things do you have in mind? to me this is more a learning process in compilers and Scheme 15:52:10 I have only been doing Scheme for a year 15:53:44 oh maybe this will be interesting: I wrote a LINQ implementation for R6RS Scheme 15:54:08 https://ironscheme.svn.codeplex.com/svn/IronScheme/IronSchemeConsole/ironscheme/linq.ss 15:54:09 -rudybot:#scheme- http://tinyurl.com/4v43qy 15:55:10 -!- BW^-4376 is now known as BW^- 15:55:28 Iron Maiden?? EXCELLENT! 15:55:31 i am not really interested in implementation specific features for now, just R6RS for ver 1 15:55:50 *Daemmerung* airguitars frantically 15:55:58 *offby1* lights a lighter 15:56:45 it only fails 16 of the odd 8500 R6RS tests from PLT 15:57:42 which is as far as can determine a heck of a lot better than IronPython or IronRuby 15:58:01 i just use the Iron prefix for free marketing 15:58:15 That works. 15:58:19 but still stick to the suppoed idea 15:58:22 *offby1* releases version 1.0 of IronBru.NET 15:58:30 lol offby1 :p 15:58:34 now in fluorescent orange! 15:58:48 "It Runs On .NET" is the reverse-engineered acronym that I've seen. 15:59:29 "backronym" 15:59:40 ...was the word I was seeking, thanks. 15:59:59 ain't IRC grand 16:01:23 lol 16:05:58 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 113 (No route to host)] 16:13:24 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["foo"] 16:13:30 BW^-4376 [i=Miranda@79.138.181.161.bredband.tre.se] has joined #scheme 16:13:51 An Iron Bra? 16:14:11 ... or is it a mansiere? 16:18:15 yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has joined #scheme 16:18:57 -!- kuribas [i=kristof@d54C43095.access.telenet.be] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 16:19:40 peter___ [n=sjamaan@frohike-old.xs4all.nl] has joined #scheme 16:19:45 -!- peter___ is now known as sjamaan 16:22:57 -!- cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has quit [] 16:26:07 tizoc_ [n=user@r190-135-57-180.dialup.adsl.anteldata.net.uy] has joined #scheme 16:28:34 -!- tizoc [n=user@r190-135-0-42.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 16:28:37 -!- tizoc_ is now known as tizoc 16:35:20 saccade_ [n=saccade@dhcp-18-188-72-23.dyn.mit.edu] has joined #scheme 16:38:19 -!- BW^- [i=Miranda@79.138.215.39.bredband.tre.se] has quit [Read error: 110 (Connection timed out)] 16:40:17 -!- BW^-4376 is now known as BW^- 16:50:54 -!- schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-781e57d105eec2bd] has quit ["http://www.mibbit.com ajax IRC Client"] 16:52:27 sjamaan_ [n=sjamaan@frohike-old.xs4all.nl] has joined #scheme 16:53:06 -!- sjamaan [n=sjamaan@frohike-old.xs4all.nl] has quit [Remote closed the connection] 16:53:23 -!- sjamaan_ is now known as sjamaan 16:54:13 schmalbe [n=bernhard@p549A0A61.dip0.t-ipconnect.de] has joined #scheme 16:54:31 -!- yhara [n=yhara@84.215.12.221.megaegg.ne.jp] has quit [Read error: 113 (No route to host)] 16:54:52 benny [n=benny@i577A0C9B.versanet.de] has joined #scheme 16:54:57 ecraven [n=nex@cm56-211-173.liwest.at] has joined #scheme 16:56:55 Wow, I step away for a few hours and what do I find? 16:57:58 Well, Ikarus is built on the same concepts that Chez is built on, but it is newer and hasn't had as much time to form. 16:58:10 Petite is a threaded interpreter which is essentially Chez Scheme without the compiler. 16:58:28 It also has optimization routines in it which is rougly equivalent to a "first phase" optimization that Chez would have done. 16:58:38 This means that it does things like inlining, IIRC. 17:00:04 Petite is natively compiled using Chez's Compiler, so there is that, as well. However, it isn't *that* fast. 17:00:26 blah blah blah ... and the NSA has a program that does ... blah blah blah 17:00:55 foof: Hehehe. 17:01:37 Actually, how accurate are those 8500 R6RS features? 17:01:48 Sorry, R6RS tests. 17:01:58 I never did see whether they contained any holes. 17:03:31 test1: (= 2 (+ 1 1)) 17:03:33 lolcow [n=lolcow@196-210-146-152-ndn-esr-3.dynamic.isadsl.co.za] has joined #scheme 17:03:36 test2: (= 3 (+ 1 2)) 17:03:42 test3: (= 4 (+ 2 2)) 17:03:43 ... 17:04:29 Eherm . . . 17:04:35 Okay. 17:04:42 -!- leppie [n=lolcow@196-210-170-110-wfor-esr-2.dynamic.isadsl.co.za] has quit [Read error: 60 (Operation timed out)] 17:04:51 -!- lolcow is now known as leppie 17:05:51 Does anyone here play Othello? 17:11:52 *foof* 17:12:46 I used to play Iago but I have trouble passing for white. 17:13:45 Eh, well, one of my projects is to write a minimax Othello game, so I was wondering if anyone wanted to be a human competitor. 17:14:59 -!- synthasee [n=synthase@68.63.20.12] has quit [Success] 17:16:06 hotblack23 [n=jh@p5B0572E5.dip.t-dialin.net] has joined #scheme 17:21:39 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 17:25:18 *offby1* slaps foof upside the haid 17:31:20 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 17:31:57 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 17:35:42 -!- CaptainMorgan [n=CaptainM@c-75-68-42-94.hsd1.nh.comcast.net] has quit [Remote closed the connection] 17:35:52 synthasee [n=synthase@68.63.20.12] has joined #scheme 17:40:36 -!- hotblack23 [n=jh@p5B0572E5.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 17:41:04 -!- JHVH is now known as Jarvellis 17:44:04 -!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] 17:46:38 -!- mbishop_ [n=martin@unaffiliated/mbishop] has quit [Remote closed the connection] 17:46:49 Riastradh: You still there? 17:49:44 Nevermind. 17:54:42 -!- drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has quit [Remote closed the connection] 17:54:47 elias` [n=me@unaffiliated/elias/x-342423] has joined #scheme 17:57:57 -!- benny [n=benny@i577A0C9B.versanet.de] has quit [Read error: 60 (Operation timed out)] 17:59:19 -!- arcfide [n=arcfide@156-56-205-201.dhcp-bl.indiana.edu] has quit ["Leaving"] 17:59:43 synthase [n=synthase@68.63.20.12] has joined #scheme 18:01:25 -!- synthasee [n=synthase@68.63.20.12] has quit [Connection timed out] 18:02:11 \quit 18:02:14 -!- wchicken [n=stipim@rmtacc26-la.rcs.rpi.edu] has quit ["leaving"] 18:02:39 mbishop [n=martin@adsl-156-125-245.msy.bellsouth.net] has joined #scheme 18:05:07 -!- xerox [n=xerox@unaffiliated/xerox] has quit [] 18:05:35 -!- hiyuh [n=hiyuh@KD059133117089.ppp.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 18:06:41 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 18:11:24 -!- sjamaan [n=sjamaan@frohike-old.xs4all.nl] has quit [Remote closed the connection] 18:11:35 sjamaan [n=sjamaan@frohike-old.xs4all.nl] has joined #scheme 18:11:53 tarbo_ [n=me@unaffiliated/tarbo] has joined #scheme 18:13:16 jgracin [n=jgracin@82.193.208.195] has joined #scheme 18:18:28 gigabytes [n=gigabyte@host238-232-dynamic.4-87-r.retail.telecomitalia.it] has joined #scheme 18:19:02 xerox [n=xerox@unaffiliated/xerox] has joined #scheme 18:19:24 -!- rdd [n=user@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 18:19:28 rdd` [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #scheme 18:20:57 -!- rdd` is now known as rdd 18:22:37 -!- tarbo [n=me@unaffiliated/tarbo] has quit [Connection timed out] 18:23:05 CaptainMorgan [n=CaptainM@c-75-68-42-94.hsd1.nh.comcast.net] has joined #scheme 18:37:08 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 18:42:34 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 18:43:47 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 18:45:36 hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has joined #scheme 18:48:17 -!- tarbo_ [n=me@unaffiliated/tarbo] has quit [Connection timed out] 18:50:21 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #scheme 19:00:44 -!- drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has quit [Remote closed the connection] 19:01:51 -!- poliquin [n=poliquin@dsl-63-249-85-206.cruzio.com] has quit [Read error: 110 (Connection timed out)] 19:02:51 drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has joined #scheme 19:06:30 -!- gigabytes [n=gigabyte@host238-232-dynamic.4-87-r.retail.telecomitalia.it] has quit [] 19:19:34 -!- prunedtree [i=Aozaru@195.140.142.184] has left #scheme 19:20:36 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Read error: 113 (No route to host)] 19:22:51 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 19:32:01 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 19:33:15 jonrafkind [n=jon@wireless145.wireless.utah.edu] has joined #scheme 19:43:31 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 19:44:53 *Daemmerung* used to play Desdemona, but grew tired of the taste of feathers 19:47:43 -!- BW^- [i=Miranda@79.138.181.161.bredband.tre.se] has quit [Read error: 110 (Connection timed out)] 19:58:47 -!- samth_away [n=samth@punge.ccs.neu.edu] has quit ["Ex-Chat"] 20:05:34 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit ["..."] 20:05:49 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 20:12:56 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 20:22:23 hi, I have been looking for discussion along lines: "I chose Scheme over Common Lisp as a main language (not extension/scripting) for my real-life application". Has anybody got an interesting URL handy? 20:27:37 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 60 (Operation timed out)] 20:31:39 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 20:38:23 -!- jdev [i=jdev@panix5.panix.com] has quit [Read error: 104 (Connection reset by peer)] 20:41:40 -!- schmalbe [n=bernhard@p549A0A61.dip0.t-ipconnect.de] has quit [Remote closed the connection] 20:42:40 tltstc` [n=nine@192.207.69.1] has joined #scheme 20:43:23 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [No route to host] 20:48:32 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Read error: 110 (Connection timed out)] 20:49:46 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 20:50:53 -!- ecraven [n=nex@cm56-211-173.liwest.at] has quit ["bbl"] 20:52:32 lelf [n=Lelf@217.118.90.95] has joined #scheme 20:58:44 -!- vincenz [n=vincenz@li23-146.members.linode.com] has quit ["leaving"] 21:03:45 vincenz [n=arli@li23-146.members.linode.com] has joined #scheme 21:08:01 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 21:16:07 besiria [n=user@ppp083212086140.dsl.uom.gr] has joined #scheme 21:18:49 bzzbzz [n=franco@modemcable006.84-58-74.mc.videotron.ca] has joined #scheme 21:19:08 -!- lelf [n=Lelf@217.118.90.95] has quit ["used jmIrc"] 21:20:49 cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has joined #scheme 21:22:30 jdev [i=jdev@panix5.panix.com] has joined #scheme 21:29:20 -!- xerox [n=xerox@unaffiliated/xerox] has quit [] 21:37:31 news:comp.lang.lisp loves those discussions. Indeed, it lives for them. 21:43:40 "lives" is overstating it, Daemmerung. 21:45:40 hmmm Xah Lee has been very quiet lately on lang.scheme, I wonder what he is coming up with 21:47:23 -!- Mr_Awesome [n=eric@isr5956.urh.uiuc.edu] has quit ["aunt jemima is the devil!"] 21:50:09 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["weekend!"] 21:51:08 I heard that he's founding a startup with Erik Naggum. 22:01:33 Daemmerung: but, the bottom line is that people do choose Scheme for real, reasonably large projects, don't they? 22:02:34 -!- cubix [n=cubix@bas21-toronto12-1279686855.dsl.bell.ca] has quit [Read error: 113 (No route to host)] 22:08:04 They do. 22:12:05 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:14:32 and then all the traces of the code or that choice disappear behind the veil of NDA... but they are outthere ;) 22:15:44 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:28:35 Haha here's a funny joke. 22:29:03 I made a C program that launches 12000 threads and then sits there. 22:29:20 Upon checking the proc stats, it had marked off 96 gigabytes of virtual memory. 22:30:26 Only 52K of physical though <3 It messed up the column alignment even in top. 22:30:57 lol 22:31:00 NPTL threads that is. Funny stuff. 22:31:34 and what was the numbers you got the other from scheme? 22:32:11 other day 22:32:35 i recall u complained about that too :p 22:32:46 Oh scheme consumes gobs of physical memory. That virtual memory thing was just a joke, it's really not taking that much memory. 22:33:01 :) 22:33:23 whats a few gigabytes between friends? 22:33:41 Well that's a valid complaint... but pickers can't be choosers. 22:34:13 it's funny however much time you spend to make something better, it will allways be cheaper just to buy better hardware 22:34:30 I wonder if I made 20000 threads would the number go up to a terabyte. 22:34:57 i bet you, if you try 100k it will choke and die 22:35:40 define cheaper. That hardware doesn't grow on trees. 22:36:05 sjamaan_ [n=sjamaan@frohike-old.xs4all.nl] has joined #scheme 22:36:10 -!- sjamaan [n=sjamaan@frohike-old.xs4all.nl] has quit [Remote closed the connection] 22:36:11 Well yeah, the system has a limit of 32K threads per process max. 22:36:20 implement caching -> add more memory 22:36:29 Won't die, just will return an error, or I've been told. 22:36:45 how fast does it create those? 22:37:58 A few hundred a second I guess. Didn't time it. 22:38:58 thats pretty fast 22:40:11 what's the history of srfi-34 and 35? 22:40:34 yeah... for a $230 motherboard it's pretty nice I'd say. 22:40:58 is that a special mobo? 22:41:01 tizoc_ [n=user@r190-135-61-3.dialup.adsl.anteldata.net.uy] has joined #scheme 22:41:07 i have a really cheap one 22:41:31 intel somthing, was like $50 probably 22:41:58 -!- replor [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 22:42:01 No just one I purchased on the cheap. Motherboard/CPU combo special. 22:42:08 Nice 22:42:15 oh both :) 22:42:22 CPU's are expensive 22:42:48 i paid about the same for my core 2 2.4 with 4mb L2 cache and the mobo 22:42:54 Yeah xp 22:43:24 i bought a nice WD Raptor too, but it died within the year :( 22:43:31 I still need to return it 22:43:44 I don't know much about hardware... 22:44:00 i lost touch, i used to be in that busniess 22:44:00 It's all random meaningless brand names to me. 22:44:24 to me, its all the same in the inside anyways 22:44:24 Kind of like the upcoming presidential election. 22:44:51 Yeah totally true. 22:45:14 yeah lol, one guy might not even live out to term if elected 22:45:34 obama? ;) 22:45:48 im 33 and i already feel liek im going senile! 22:46:00 no mccain, he is like 71 or someting 22:46:09 there is a hidden joke in my message 22:46:22 o lol :p 22:46:23 HAHAA 22:46:35 very sharp 22:46:55 so either way we win? 22:46:57 lol 22:47:07 2008 is the year of the Nader desktop 22:47:13 I mean, Nader dynasty 22:47:27 who is nader? 22:47:31 Ralph Nader 22:47:40 famous green party guy, I think 22:47:52 green? 22:47:53 The grand state of Naderia 22:48:04 like weed? 22:48:08 pot? 22:48:10 hes been running for president like for the past 30 years 22:48:33 or envormental? 22:48:40 liek green peace 22:48:54 excuse my typos 22:49:02 Nader hasn't been green for a while. Green party candidate is Cynthia McKinney 22:49:09 -!- bweaver [n=bweaver@75.148.111.133] has quit [] 22:49:29 it's environmental. There is a Pot Party though. :) 22:49:54 politics and economics followed by religion are the last things that bother me 22:50:29 things like crappy internet bothers me a lot more! 22:50:51 if you have crappy Internet that is. 22:51:17 now if someone would just make one promise to give everyone free and fast internet, i would vote for him/her 22:51:25 I'm upset with ISPs who set transfer caps. 22:51:42 come to south africa 22:51:47 my question is why we can't at least get Tokyo-grade service in places like NYC 22:51:49 cap capital of the world 22:52:16 leppie: better or worse than the Aussies? 22:52:30 They could just limit your bandwidth to what they can handle. But instead they set transfer caps, just so they can punish your evil act with a conveniently lucrative fine. 22:52:49 before all this money stuff of the last 2 weeks, i was paying US$100 for a 4mbit connetion with a 3gb per month cap, both ways 22:53:08 way worse than aussie 22:53:20 I don't have any Internet...but I have good friends who do, as you can see. :) 22:53:23 synx: T-Mobile is actually being really fair and just throttling very heavy 3G users 22:53:37 leppie: yeah that's worse 22:53:40 Yeah that seems about standard here. :p 22:53:46 i had to change ISP this week as my previous one, implemented some hectic shaping that wouldnt let me connect to any international IRc sites 22:53:55 Adamant_: Well throttling is fine. It's the fees that bug me. 22:54:22 synx: I agree, and it goes double when there's a lack of real time feedback 22:54:25 Hehe this reminds me of a future advert I saw once. 22:54:32 i dont mind throttling either, as long as your packets at least come back 22:55:00 https://synx.us.to/art2/!hash/1RqAxd8uzXTt5_TjzPOrEmrScuI/theFuture.png 22:55:14 got a http page? 22:55:16 i was watching this channels logs, i could see i was typing and other stuff happening, but yet got no response in irc 22:55:24 gweiqi [n=greg@69.120.126.163] has joined #scheme 22:55:33 don't feel like doing the Firefox run around 22:56:00 no I put everything through https, sorry. 22:56:11 helps conceal all my nefarious activities. 22:56:18 in which I commit evil doings. 22:56:28 wtf is that shit? i thought it's way cheaper by now 22:56:39 leppie: it's a joke 22:56:45 o lol 22:56:50 http://synx.us.to/cert.crt 22:56:51 still cheaper than SA! 22:56:59 That shouldbe pretty quick and easy. 22:57:01 it's what people think AT&T would like to do 22:57:16 synx: I already did the exception dance 22:57:26 I really hate that Firefox doesn't have a override for that 22:57:49 AT&T are the biggest lobbyists against net neutrality. 22:57:57 Yeah I blogged about how stupid Firefox is about that. :( 22:58:10 -!- tizoc [n=user@r190-135-57-180.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 22:58:19 https://synx.us.to/journal/335 22:58:20 i realize they have to protect the average user from themselves, but it's aggravating for geeks who meet lots of people with self-signed sites 22:58:21 our rate is about $10 a GB 22:58:38 for bandwidth, we still pay seperate line rantal and ISP charges 22:59:19 annodomini [n=lambda@c-75-69-95-99.hsd1.nh.comcast.net] has joined #scheme 22:59:22 i dont know why they have shaping, as it's actually to not pirate something in South Africa 22:59:34 actually cheaper 23:00:35 I even went through the trouble of setting up a CA, but I ain't gonna go buy Verisign's trust with my huge 0 dollar salary 23:01:02 cant you get certs for free nowadays? 23:01:06 I don't care about CA's, I don't trust them that much anyway. I just want to disable the security stuff. 23:01:13 Not ones that Firefox trusts. 23:01:23 I'll sign your cert for free if you want though. :) 23:01:33 synx: they should let you use CACert 23:01:41 They don't. 23:01:54 You have to do the same thing as with my site for CACert. 23:02:00 or they've become mega hypocrites considering I think that was proposed as the free solution to it 23:02:20 Freakin annoying it is. 23:02:34 -!- tizoc_ is now known as tizoc 23:03:14 CACert is hard to use, because you have to risk meeting in person with a stranger to get "verified" in their system. Also they rely on centralized national ID databases. 23:03:28 It is free though. 23:04:08 bombshelter13 [n=bombshel@209-161-240-8.dsl.look.ca] has joined #scheme 23:05:08 duncanm: what do you mean the history? 23:06:24 synx: http://www.cs.cmu.edu/~perspectives/firefox.html 23:06:37 I'm just testing it out right now, but this looks like a OK compromise 23:07:19 it makes it a little slower, but it works with your pages 23:07:25 Ooh okay. 23:07:32 *synx* reads 23:08:24 -!- besiria [n=user@ppp083212086140.dsl.uom.gr] has quit [Remote closed the connection] 23:10:41 hmm 23:11:04 It still relies on a "notary server" authority. They might as well just be signing certificates, instead of using said server. 23:17:16 synx: not the impression I got. 23:17:30 it gives me no more or no less security than I have already with self-signed certs 23:18:07 it just does a side view and tries to make sure a self-signed cert is legit in terms of self-signed certs 23:20:03 legit because they have a database of what certificate belongs with what domain, even if self-signed. 23:20:56 But instead they could simply sign the certificate that belongs with that domain, and it would be equally secure, with no notary servers needed. 23:22:26 Either way it requires the "perspectives" guys to be trustworthy. 23:23:07 -!- drdo [n=psykon@167.111.54.77.rev.vodafone.pt] has quit [Remote closed the connection] 23:32:04 wow there sure seemed to be quite a lot of 'issues' with srfi 34 naming 23:32:32 http://srfi.schemers.org/srfi-34/mail-archive/msg00030.html 23:54:44 Quimby [n=tim@cpe-024-211-243-119.nc.res.rr.com] has joined #scheme 23:54:59 -!- tltstc` [n=nine@192.207.69.1] has quit [] 23:57:14 -!- Quimby [n=tim@cpe-024-211-243-119.nc.res.rr.com] has left #scheme