00:03:06 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 252 seconds] 00:03:22 -!- rbarraud [~rbarraud@118-93-186-218.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 264 seconds] 00:06:26 Sonjaaa [~sonja@69-165-131-155.dsl.teksavvy.com] has joined #scheme 00:06:32 hai 00:08:23 is there such a thing as lisp or scheme without all the parens? 00:10:06 It's kind of definitional to Lisp; that said, you might want to look at Dylan. 00:13:25 Sonjaaa: that's kind of like asking if you can have xml without the <...> 00:16:37 xml without the <...> is YAML 00:17:19 -!- R3cur51v3 [~Recursive@static.77.8.networkiowa.com] has quit [Ping timeout: 258 seconds] 00:17:19 -!- acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has quit [Ping timeout: 258 seconds] 00:17:50 acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has joined #scheme 00:18:43 phosphorous lisp 00:20:33 Sonjaaa: I'd suggest that if you're still seeing the parens, then you haven't yet fully grokked Lisp, in which case you might not be able to evaluate a "Lisp without parens". This is especially true of people who have suggested that Ruby, Python, or other popular languages are essentially paren-lite Lisps. 00:22:26 Sonjaaa, I guess you could write a new reader that substituted extra parens for each new line of code, or something 00:25:35 -!- MrFahrenheit [~RageOfTho@users-55-35.vinet.ba] has quit [Read error: No route to host] 00:25:55 MrFahrenheit [~RageOfTho@users-55-35.vinet.ba] has joined #scheme 00:29:01 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 00:31:26 a LISP without parents... Forth? 00:31:27 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 245 seconds] 00:31:44 s/parents/parens 00:32:44 it's just postfix instead of infix 00:35:30 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 00:35:42 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 00:36:04 (take it with a grain of salt, though) 00:36:44 s/infix/prefix 00:36:51 I need to grab a coffee 00:39:26 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Client Quit] 00:39:50 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 00:40:06 ws: maybe logo? dylan? 00:40:38 anyway this whole "lisp has no parens" thing bothers me. 00:40:40 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Client Quit] 00:41:21 You can either treat "lisp" as a class of languages or a specific language. Almost every single lisp has parens (syntax). As a class, they don't-- a set of things doesn't have properties of the things. But it is heavily characterized by parens. 00:42:03 Also, if you don't notice the syntax of the language you're writing in, you're likely not writing it correctly. :/ 00:46:03 -!- Axioplase_ is now known as Axioplase 00:47:53 *Axioplase* imagines setting the same color for parens and background in his editor 00:48:19 ssbr_: I'm not sure if you intended exactly that many levels of negation in your last comment, but it's a bit like trying to read English letter-by-letter versus grapheme-by-grapheme. 00:48:49 Yes, the parens are there, but you shouldn't really be counting them; after a while, you see the structure of the language syntax which is built upon them. 00:48:59 chandler: letters are graphemes. 00:49:04 Perhaps you mean morphemes? 00:49:10 Er, yes, that's it. 00:49:20 Wrong "-emes". :-) 00:50:07 I'm forced to notice them when I'm writing code. Otherwise the counts of ( and ) don't match up. 00:50:14 My editor helps by coloring each level differently. 00:50:21 would lisp-without-parens be python-without-indentation? 00:50:41 ssbr_: pebcak. 00:50:46 Axioplase: eh, no. Actually Python is something like what the target would look like. 00:50:53 When I look at (let ((x 1) (y 2)) (+ x y)), I don't start by carefully looking at the parens, determining that this is a list of three things, etc. I see a let expression, whose syntax is that of the keyword `let' followed by a list of bindings, and after that some number of body forms. 00:50:53 Axioplase: BS. 00:50:58 no one here manually handles parentheses 00:51:05 Axioplase: Then you have a better editor. 00:51:08 set up your editor to do this for you. 00:51:16 ssbr_: vim/emacs both do that. 00:51:28 Axioplase: Then the problem obviously isn't me. So don't give me an insulting phrase like PEBKAC. 00:51:36 Also, spell it right if you want to be a snob. 00:51:44 Everybody knows the K comes before the C! 00:51:44 ssbr_: I didn't mean to insult you. 00:51:54 Axioplase: There is no way for PEBKAC to *not* be insulting. 00:52:02 Axioplase: Do you even know where the phrase comes from? 00:52:04 ssbr_: The tool you use is certainly your choice, is it not? 00:52:20 -!- alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has quit [Quit: leaving] 00:52:35 chandler: I don't regularly write lisp. I don't regularly need to check my parens even when I do. 00:52:35 (plus, addition is commutative, so "kac" and "cak" both make sens, anyway, as I said, I didn't mean to insult you) 00:52:50 chandler: The rational choice is not to spend a lot of time learning an editor like vim or emacs. 00:52:57 Axioplase: Yes, that part was a joke. 00:53:04 Axioplase: But again, it's an inherently insulting phrase. 00:53:11 my bad. 00:53:14 Axioplase: It comes out of tech support, when they thought their users were idiots. 00:53:28 ssbr_: Really? I'd like to see your cost/benefit analysis on that one. 00:53:42 arthurmaciel [~user@187.77.22.100] has joined #scheme 00:53:54 chandler: benefit: I can more cleanly write a language I don't use pretty much ever. 00:54:12 "there is no syntax", said a spoon to an idiot (his name was C.S. Peirce) 00:54:12 would there be any advantage to have an OS implemented in Scheme to an Scheme programmer? 00:54:14 chandler: cost: a year of my productive editor-using life, from what I understand of emacs. Maybe less for vim? 00:54:34 That estimate sounds especially high. 00:54:45 Ironically, I'm using DrRacket to write Scheme and Emacs to write C these days. 00:55:07 chandler: I got it from http://briancarper.net/blog/emacs-isnt-for-everyone 00:55:27 chandler: You mean DrRacket to write racket... 00:55:30 Or you don't? 00:55:43 askhader: Racket implements R5RS and R6RS Scheme 00:55:45 rbarraud [~rbarraud@118-93-186-218.dsl.dyn.ihug.co.nz] has joined #scheme 00:55:55 Of course. 00:56:00 It also implements, er, Racket. 00:56:03 Well, Racket is a Scheme, in some general sense. And my files still say "#lang scheme" at the top. :-) 00:56:19 does scheme have something like JS objects or Python dictionaries or Ruby hashes? 00:56:41 Sonjaaa: 00:56:43 Sonjaaa: http://docs.racket-lang.org/guide/hash-tables.html 00:56:47 ssbr_: Honestly, I have no idea how it could take someone a year to become comfortable with Emacs, but I'm willing to stipulate that learning it could be slower for some people than others. 00:56:53 Sorry for double poke 00:57:08 ssbr_: the fact is, "lisp is hard/boring/painful/whatever because I have to count the brackets" is just like complaining about the taste of some food while eating it with the packaging still on 00:57:20 Axioplase: I'd never say that. That would be stupid. 00:57:24 chandler: For what reason do you use emacs above other editors? The only reason I'd prefer it to vi is because of the scheme plugins- but you're using DrRacket Anyway 00:57:53 Axioplase: I have enjoyed writing Scheme, and I continue to enjoy S-expression syntax. That doesn't mean the parens disappear when I'm reading code, any more than it means graphemes disappear when I'm reading words. 00:58:06 And if I get the graphemes wrong (typo), I have to correct it. Same with the parens. 00:58:57 ssbr_: well, you said you had to count them why? editors would automatically create a matching on, do proper indentation with it, and even make the color of current sexp brighter that the surrounding ones. 00:59:01 Of course, but you don't read words letter-by-letter. Similarly, you don't spend time thinking about list structure when parsing a `let' binding form once you get used to it. 00:59:01 I'm just saying, they exist. It's just as dumb to claim that they don't as to claim that they're actually a significant reading disability. 00:59:06 Axioplase: I didn't say I had to count them. 00:59:08 Who claimed they didn't exist? 00:59:12 Axioplase: As I said, my editor colors differently. 00:59:12 Sonjaaa: or http://community.schemewiki.org/?prometheus ... or not if you merely after hash tables. 00:59:24 Axioplase: if they don't line up, my paren colors will be mismatched. 00:59:39 ssbr_: I thought you did: " Otherwise the counts of ( and ) don't match up" 00:59:48 Axioplase: That is a simple factual statement. 01:00:02 askhader: Mostly, I'm used to it. In the past, I've used vim for C/C++ editing; now, I'd have to revisit all the details I take for granted in Emacs these days. 01:00:02 Axioplase: the ( and ) counts must be balanced for it to be correct syntax. They must also be well-nested. 01:00:16 Axioplase: that doesn't mean I ensure it by counting. 01:00:31 chandler: Details such as? 01:00:54 neat, prometheus 01:00:55 chandler: people have done it. 01:00:57 How to narrow a window so I can just edit a portion of a file. How to quickly cut an entire expression at once. Things like that. 01:01:09 I don't understand the "line up vs colour" thing 01:01:24 people have also simply said things like, "the parens are totally unimportant", or, "if you're still seeing them you don't grok lisp". Both of which seem false to me. 01:01:36 If you accidentally delete a paren and you can't see the parens, you are screwed. 01:01:40 chandler: Hmm, noteworty criticims. 01:01:46 criticisms rather 01:01:55 ssbr_: that's a weak argument... you have to balance { and ; in other languages, too. 01:02:00 It's not a criticism. As I said, in the past, I've been as comfortable editing C in vim as I am now in Emacs. 01:02:05 sladegen: It's not an argument. And yes, you do. 01:02:10 When I encounter the latter problem I find myself just switching to gedit 01:02:11 sladegen: You also have to line up parens in other languages. 01:02:26 sladegen: I'm not saying Lisp is any better or any worse. I'm just saying it's not a magical pony where syntax ceases to exist. 01:03:02 sladegen: Well, it's an argument, but it's not the argument I think that you think that I'm making. I'm not saying the parens are bad. I don't think they're bad. 01:03:07 Of course not. What I am suggesting is that when working with Lisp, after a while you don't tend to dwell on the parens unless you've got them wrong, because you're looking at the higher-level syntax of the language. 01:03:18 chandler: That would sound accurate. 01:03:43 ssbr_: than why hold the same thing against lisp, it's subjective irrationality. still, i'd argue syntax disappears the most in lisp. it's just a tree, feel its shape... ;) 01:04:00 sladegen: Again, you're reading more into it than I said. 01:04:06 sladegen: I'm not holding anything against lisp. 01:04:15 To paraphrase a denizen of #lisp whose nickname I've forgotten, "I'd learn Russian if it weren't for all these funny Cyrillic characters". 01:04:46 sladegen: Although I would say, it is easier to ignore parens when they don't exist. Python trades parens/braces/etc. for indentation, and to me that is less visible. 01:05:01 Although this trade can't be made all the way without being really weird. 01:05:13 ssbr_: http://mikael.jansson.be/hacking/limp/docs/screenshots/highlighting-current-form.png It's 2 years old, unmaintained I think, but it shows you that colouring of sexps can be quite neat, and parens almost invisible 01:05:13 -rudybot:#scheme- http://tinyurl.com/2djcyto 01:05:36 Axioplase: I prefer the parens to be more visible. 01:06:03 ssbr_: I notice the indentation of Python much more than I notice the parens in Lisp. This is of course because I don't know a whit of Python. 01:06:24 also, with something like "paredit" you just *cannot* erase just one parens. Neither accidentally or voluntarily. 01:06:41 nor 01:06:41 chandler: I write/indent Python the exact same way I write/indent Scheme or Java (in the simple cases). The difference is that I don't need delimiters. 01:06:49 chandler: once you get over the lack of delimiters, it becomes simple. 01:06:55 Axioplase: Set the mark on the opening paren in (), then advance one character and kill. 01:07:23 ssbr_: I'm sure it does. My point is that it hasn't, because I don't know Python. If I used Python only infrequently, I'd still probably feel the same way. 01:07:36 ssbr_: you should indent scheme/lisp the way scheme/lisp is meant to be indented, if you ever want someone to read your code 01:07:44 ssbr_: you tried paredit ever? 01:07:53 Axioplase: Coincidentally, they're meant to be indented the same way. 01:07:56 Actually, I don't indent Scheme at all. I just insert linebreaks where they seem natural. 01:08:01 Axioplase: your own screenshot exemplifies my point, for example. 01:08:06 chandler: yes, I actually know. I prefer "insert a comment and kill" but anyway 01:08:22 sladegen: negative. I've used DrScheme (back when it was called that) and Kate. 01:08:43 chandler: it's not that. 01:08:58 chandler: I'm not confused or disoriented by parens. They are just syntax. It's no different from Java braces or anything. 01:09:25 chandler: I'm just saying, sometimes Scheme code feels like Python code with more syntax. Which is not what I'm told Lisp is supposed to feel like. 01:09:46 err? Scheme is like python with *more* syntax???? 01:09:57 (I don't know python, btw) 01:09:59 Axioplase: That's the reaction, yeah. Let me show you. 01:10:03 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Remote host closed the connection] 01:10:25 It certainly might have more punctuation in some cases. 01:10:32 Axioplase: here is some Python: lambda x, y: x * y + x . Here is some Scheme: (lambda (x y) (+ (* x y) x)) 01:10:39 Axioplase: Do you see what I mean? 01:11:05 that some operators have a precedence. 01:12:02 Axioplase: I'm just saying, the parens feel not like things that are supposed to make it easier for me as a programmer, but things that are supposed to make it easier for macros or something. Which is good, I guess, but different. 01:12:03 also, that it is paiful to efficiently edit the python code to replace "x*y" by "log(10)" 01:12:08 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 258 seconds] 01:12:08 It's difficult to come up with a good method of comparing the amount of syntax in two languages. 01:13:14 chandler: Maybe. The AST for these two things would look the same. But serialized the Scheme version seems to have more symbols that the compiler relies on. 01:13:15 ssbr_: with parens, you have access to the boundaries of *any* subexpression. As a programmer, you can then easily replace,cut,copy,paste any sub-expression 01:13:17 learnlang.org 01:13:54 Axioplase: I'm not saying there aren't advantages. But those advantages are not, "you write it as simply as possible". Some people seem to think otherwise. 01:14:01 ssbr_: Actually, quite the opposite. There are only two kinds of reader syntax used there, and there's only one syntactic form (lambda) being used. 01:14:23 Just because of that, I happen to write scheme/lisp-to-whatever in order to efficiently code in whatever language. I do the big part of the code with sexps, compile to a target language, and finish polishing in the target language. 01:14:33 On the other hand, there are a number of interesting things going on in that Python example. 01:14:56 chandler: that would seem to be somewhat of an implementation detail sort of thing. 01:15:14 -!- Blkt [~user@dynamic-adsl-94-37-232-229.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 01:15:17 chandler: Sure, if you know how it works, the internals of the second are in some way simpler, and use less syntactic rules. 01:15:27 fewer* 01:15:50 I'm not thinking of syntactic rules and the fact that (foo bar baz) applies to any function, when I'm writing the code. 01:15:52 This, then, is what I mean about not reading the parens. When you look at the Python example, you don't spend a great amount of time dwelling on the inter-token whitespace. When I look at the Scheme example, I see a well-formed `lambda' expression, with a body consisting of a well-formed function application. 01:15:54 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 01:16:31 chandler: I don't want to see function application, I want to see multiplication and addition. 01:16:52 The structure of those forms is as apparent to me as the structure of this sentence. I don't have to think about it; the pieces fit together in established patterns that I know how to parse. 01:16:52 I want to understand what it does, not how it's implemented. 01:17:26 chandler: Sure. But the second sentence has more punctuation. 01:17:28 ssbr_: But that's what I mean. I see the application of + and of *. I don't have to stop and think that "this is a function application", any more than I have to stop and think when reading English "this is a prepositional phrase". 01:17:38 Do I need an sqlite server running in order for me to use planet jaymccarthy/sqlite:4 ? 01:17:49 askhader: There really isn't any such thing as a "sqlite server". 01:18:03 chandler: I hate to say it, but I don't and I don't think I *can* think in prefix fully parenthesized arithmetic 01:18:09 askhader: So, "no" by default. 01:18:29 chandler: I'm not really talking about that, I just mean that there is a perfectly reasonable interpretation under which the scheme syntax is more complex. 01:18:40 ssbr_: You probably can't at the moment, but I think you're selling yourself short. 01:18:52 Namely, it has a lot more required steps to do the same thing 01:19:02 chandler: I don't know. The human brain has some strange limitations. 01:19:18 chandler: language development is frozen after adolescence. Learning left and right, east and west, is also frozen. 01:19:23 This is most peculiar. I am following the plt guide for building web applications, and I have followed it to the tee, (I have confirmed this by attemptint to even copy and paste the source files) and when I attempt to access the sqlite db I made, I am thrown the error http://pastebin.com/BujMSwpp 01:19:36 chandler: I don't see how the way I add things would be any different. It's fundamental to everything I do and has over a decade of history behind it. 01:19:41 Maybe I can change it, if you give me two. 01:19:52 It's reasonable in the same sense that I could whinge about the exceptionally complex structure of German. I know it a little, and I can clearly see all the structural pieces when attempting to parse a sentence. 01:20:11 chandler: And the german words would be longer and use more letters. 01:20:34 chandler: No-one would argue that the german sentence that took 10 seconds to say was simpler than the equivalent 4-second English sentence. 01:20:38 Yet the Germans would complain about English - and rightly so, I think, for English is full of nasty little special purpose rules. 01:21:01 chandler: Sure, English as a whole may be more complex. 01:21:12 But that's not to say that the sentences expressed in it are. 01:21:24 -!- Sonjaaa [~sonja@69-165-131-155.dsl.teksavvy.com] has left #scheme 01:22:35 One can naturally cherry-pick examples to suit one's case. 01:22:47 chandler: my argument was not a general one. 01:22:59 chandler: I only said "sometimes". Cherry-picking is perfectly acceptable to support that statement. 01:23:10 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 264 seconds] 01:23:47 Of course, but it also dilutes the value of the statement. 01:24:40 chandler: I only ever wanted a counter-example to sentiments that some have expressed about lisps. 01:24:54 ssbr_, Why did you ask for a Lisp without the parentheses? 01:25:10 I don't dislike Scheme. Actually I really like it. I haven't written anything major in it, but it was fun to learn, and I want to use it for some things in my real code. 01:25:31 But I am not-- I'm not like Paul Graham or something. I don't see Lisp as that magical thing lying above all those Blub languages. 01:25:32 arcfide: he didn't; Sonjaaa did. 01:25:36 ssbr_: (my last participation to the troll: "thinking in prefix fully parenthesized arithmetic is just ``understanding trees''. Trees are the foundations of CS. Not being at ease with trees in programming is to me similar to doing music but being uncomfortable with the sound it does") 01:25:39 ssbr_: browsing the cython docs - how would you define a new C type? 01:25:51 Axioplase: ssbr_ is not hardly trolling. 01:25:56 foof: a new C type? probably some cdef thing. 01:26:14 chandler: maybe I was, I don't know. 01:26:17 Axioplase: I am comfortable with trees. But my intuitive arithmetic is not trees. 01:26:30 ssbr_: Paul Graham is not to be taken seriously, not even because he has money. 01:26:31 hashtables! :P 01:26:32 my intuitive arithmetic is flat infix. I group things with mental emphasis, not subtrees. 01:26:55 foof: Sorry, I haven't used Cython much. I'll look it up now, if you can't find it first ;) 01:27:25 ssbr_: I'd certainly agree with that statement. There isn't a Blub, or alternatively everything is a Blub. 01:27:40 snarkyboojum [~snarkyboo@120.155.230.214] has joined #scheme 01:28:00 ssbr_: infix is an leads to ambiguity. Ambiguity leads to irritation. Irritation to pain. Pain to fear. Fear to the dark side of the force. Much to learn you still have, my young padawan. 01:28:12 Axioplase: There is no ambiguity in my mental arithmetic. 01:28:17 There are certainly some languages that provide highly expressive tools, but the history of macro systems ought to teach us that this is an ongoing process of exploration. 01:28:20 I haven't gotten an answer wrong in a long, long time. 01:28:46 ssbr_: there is in the code, that's it. 01:29:11 chandler, Ah, I'm confused then, please ignore. 01:29:11 Axioplase: I'd suggest you make an effort to understand ssbr_'s point of view. 01:29:38 chandler: I'd better stop chatting now. Would be better for everyone. 01:29:42 Axioplase: Well, certainly not in code. In code the order of operations strictly and unambiguously defines what goes in what order. Unless it doesn't, and it's C or something. 01:29:57 Of course whether you understand it correctly is another matter. I do. 01:30:00 -!- ws [wswieb@akson.sgh.waw.pl] has quit [Quit: ...] 01:30:13 saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has joined #scheme 01:30:15 With the exception of the bit-shift operator. That I couldn't tell you off the bat. 01:30:59 ssbr_: Out of curiosity, do you use or prefer a RPN calculator? 01:31:18 chandler: never had one. By the time I went to school the TI calculators were all the rage. 01:31:40 My father used to tell me all about his HP, though. :) 01:32:03 Ah. I think you'd feel the same way about HP calculators as you do about Scheme. 01:32:26 Well there are a lot of things I feel about scheme. 01:32:39 And I don't mean to imply that it's all bad! 01:32:49 At one point I was commenting that the parens are annoying "unnecessary" typing sometimes. Another time I mentioned that I don't really grok prefix fully parenthesized arithmetic. 01:33:12 Here it would be closer to the latter. But I find totally unparenthesized prefix/postfix arithmetic kind of fun. 01:33:25 It's not harder to type than infix, just different. And it's a sort of puzzle because I don't grok it. 01:33:52 If you move past the "sort of puzzle" stage, you'd probably find that fully prefixed arithmetic has suddenly become natural. 01:34:39 I can compute it faster than infix, I think. But if I do it, I am only computing, not understanding the big picture. I don't know if I'd ever get that far. 01:35:06 Once again, I think you're selling yourself short. I'm not convinced it's as hard to pick up a new way of thinking about calculation as it is to pick up a new natural language. 01:35:43 It's definitely harder than just writing a macro to do infix math. ;) 01:36:52 -!- acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has quit [Ping timeout: 245 seconds] 01:37:46 Of course, but I'd be tempted to call that Chinese room computing. :-) 01:39:02 foof: Sorry, I forgot to look: http://docs.cython.org/src/reference/language_basics.html#declaring-data-types 01:39:03 -rudybot:#scheme- http://tinyurl.com/23exnrv 01:39:41 chandler: Ooh, nice phrase. I had to look up the source. 01:43:05 I don't know about this whole working group mailing list thing. It's like, a reactionary explosion or something whenever we hit on these fun little issues. 01:43:21 One day I'm wondering when I'm going to see another email from wG1, and then suddenly I'm bombarded. 01:43:43 -!- arthurmaciel [~user@187.77.22.100] has left #scheme 01:44:18 -!- saint_cypher [~saint_cyp@c-76-126-70-224.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 01:45:01 arcfide: it's the distinction between old women bickering and people actually getting work done 01:46:37 that is, anyone can rant and shout "NO NO NO NO NO" but it takes time and thought to put together a serious proposal 01:46:41 Hehe, yeah, and speaking of getting work done...the best laid plans and all... 01:46:42 -!- asarch [~asarch@189.188.159.185] has quit [Ping timeout: 240 seconds] 01:48:56 Has anyone seen wingo around here lately or know if he's put up some information about his work on Guile and implementing lbiraries yet? 01:53:46 ssbr_: sorry, everything I'm trying with cython breaks :/ 01:54:03 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 240 seconds] 01:54:22 incubot: when visiting monkeys on speed, don't forget to bring your magnum. 01:54:27 12 Monkeys? 01:54:34 it has bizarre parsing rules (e.g. you can't just declare an opaque struct w/o defining any members), and none of the examples are even close to what I need to do 01:54:35 exactly! 01:54:38 arcfide: "Aside from the obvious point that you wouldn't actually want to check if it were a list before you started processing." ?? 01:54:39 foof: I'm not the one to help, I've done very little with it. 01:54:44 *eli* sighs 01:55:00 foof: It's basically Python, with a bit of dynamicness removed, and a bit of extra syntax. A few experienced Cython users hang out in #python 01:55:09 Bugs? We don't have bugs here. 01:55:37 foof: Although, nobody that I know has used Cython a lot has been active in half an hour. That guy might still be around if you asked some questions. 01:55:46 foof: Anyway, you don't have to write Python bindings for chibi. 01:56:14 foof: Oh uh, if the struct has no members, did you put a "pass" in there? 01:56:34 i was going to write chibi bindings for python :) 01:56:39 eli, What I meant is that most of the implementations of MAP I have heard of in systems don't go through the list twice like that. They check for the LIST? quality of it while they are processing the list, or at least, that's the ones I've heard of. 01:56:52 foof: blargh, same thing 01:56:55 eli, Obviously you want to check if you have a valid list. 01:57:21 ssbr_: ? calling chibi from python and calling python from chibi are two very different things 01:57:25 adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has joined #scheme 01:57:46 foof: yes, but our syntax for naming each one is the total opposite 01:58:16 foof: anyway, did you put a pass in the empty block? 01:58:47 Python/Cython syntax requires at least one statement, and if it's not going to do anything that statement would be "pass", a no-op. A quirk of the language, I guess. 01:58:55 well, i worked around that by putting in one of the struct members 01:59:08 but now it'S complaining about: ctypedef struct sexp_struct *sexp 01:59:15 arcfide: In any case "Well wait a tick, wasn't this supposed to fail?" -- no it doesn't, and that was the whole point. 01:59:24 "Syntax error in struct or union definition" 01:59:38 What mysql libraries do you folks use in order to interface with such db's? 01:59:59 eli, From my reading of the list, it seemed that the point was that it could fail in strange ways that you couldn't control. 02:00:20 foof: you should definitely ask in #python 02:00:29 ssbr_: ok 02:00:41 (but don't necessarily expect an answer right away) 02:00:48 acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has joined #scheme 02:00:55 eli, The LIST? check should have guaranteed that the map can run okay, but there are cases where it won't run correctly or as expected and the invariant of a proper list in the inner loop becomes invalid with the right PROC. 02:01:07 ssbr_: np, i'm quite used to even slower-paced channels :) 02:01:40 well, it's fast-paced, just usually about, well, Python. you just need to ask when a Cython user is around (probably _habnabit, maybe someone else) 02:04:01 eli, Actually, I just went back and checked some implementations, and your right, I had a mistaken understanding of how some of these implementations implemented MAP. It appears more than I thought actually do check the LIST?-ness of the list before processing. 02:06:53 arcfide: I mis-read what you mean by "wasn't this supposed to fail", then. 02:07:18 And it *should* fail, unless Chez is doing something CL-ish like (cdr #f) -> #f. 02:07:20 I'm still not sure how Chez scheme does this though. I am not sure whether the fact that it detects the list-ness is an artifact of the order of its evaluation or not though. 02:07:48 And BTW, re your point about copying the list -- I said that that would be the only way to guarantee safe code. 02:07:49 eli, No, the CDR call happens before any of the PROC calls, so it gets the pair before the mutation. 02:08:02 eli: I was talking about something other than copying the list. 02:08:43 arcfide: OK, in that case you should have put a big sign up saying that the difference is because Chez evaluates arguments in some-weird-order. 02:08:51 eli, I did. 02:09:03 Or at least, I thought I did. Maybe the sign wasn't big enough, that was sort of one of the main points. 02:09:11 But it's not weird. 02:09:49 That's one of the points of MAP, you could evaluate them in any order, and the simple example MAP does in fact permit an implementation to evaluate the arguments in different orders than left to right. It's the left to right ordering that causes the uncontrolled error. 02:09:57 I didn't see one that refers to the order of evaluation of arguments in a function call. 02:10:39 (And re weird, IIRC, Chez does something like every odd argument RTL then every even one LTR -- that certainly looks like the most exotic order I've seen.) 02:10:53 Sorry, I thought that it would be obvious that if the function does allow different evaluation orders, the only way this could happen would be with different evaluation orders of the arguments to the CONS. 02:12:10 In any case it doesn't make much difference to the immutability point -- if the order is RTL (which I can of course enforce using `let'), then it's the same as the solution of copying the list. 02:12:42 And the fact that it can work as simple as that is iMO extremely dangerous, since people can get the false impression that this kind of code is actually fine. 02:12:59 eli, In copying the list, unless you mutate the CAR fields, I think you are allocating one extra copy of the list than necessary. 02:13:38 If you copy the list first, and then work on it, you've got two copies, and then the final copy unless you mutate, if you just enforcing the ordering, then the list that is constructed is only constructed once for the final result. 02:13:40 Yes, I know. 02:14:02 saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:14:21 In your RTL case the list is only constructed once, but you still have an extra copy in the form of stack frames. 02:14:29 It is still dangerous, as it doesn't address the entire issue of mutating the list, such as mutating the CAR fields. 02:14:48 But you have those stack frames regardless, no? 02:15:18 Well you could avoid them with a tail-call + reverse. But those are all details. 02:15:33 The upshot of all of this is that in practice schemers just don't do it. 02:15:48 eli, Right, but in this example, you've got the stack frames. If you did the tail call, obviously this would work, and you would save on the stack frames allocated. 02:16:09 eli: I agree that Schemers often don't think about this sort of thing. 02:17:08 Well, it's not only schemers -- it's everybody... and that's why immutable pairs have a point as being the default. 02:18:21 eli: I agree that it would be nice to have a way to control mutability, I just don't like the two data structure approach, and until a better approach comes about, I'm still inclined to avoid them for the standard. 02:19:19 I had no illusions that the standrad would change -- or that it would even do half of what r6rs "did". 02:19:35 eli, Heheh. :-) Yeah, that's unfortunate in a lot of ways. 02:19:54 eli, I agree that we need to be thinking about these things, I just wish there were a better solution out there right now. 02:19:59 If you really want to know what I think after using it for a while, 02:20:10 then there's not much point in a mutable pair. 02:20:13 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has quit [Quit: toast`] 02:20:25 I talked with Kent about the effeciency issues with mutable pairs a while back, and I think I remember there not beeing much of a problem, but now I can't find the discussion, so I'll have to find it again. 02:20:44 I've used them a couple of times when translating old code, but they're not something that I use -- and as it turns out -- not something that I ever use. 02:21:06 :-) 02:21:21 Immutable pairs can open a whole bunch of optimizations. 02:21:37 Like hash-consing constants and even more. 02:22:23 Are there any implementations with optional mutable pairs? 02:22:24 One thing that racket does with them is it caches a `list?' check in a certain way. 02:22:30 er, immutable pairs* 02:22:35 Actually either spelling works, I guess. 02:23:00 toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has joined #scheme 02:23:04 Each call to `list?' will put a flag halfway through saying that it is a list, so now you can check `list?'ness very often without worrying about the cost. 02:23:19 (Which is *more* than the trivial scan that most people think it does.) 02:23:30 eli, Indeed. 02:24:07 ssbr_: A number of implementations have optional immutable pairs, no other implementation besides racket has them by default. 02:24:21 Racket has them by default? Nice. 02:25:54 ssbr_: Yes, it's something that is hard to miss... 02:26:05 I forget how Chez Scheme handles pairs in this case. I know that it does take some optimizations with constant pairs and the like, though I don't know to what extent it does. 02:26:25 ssbr_, It's kind of a big deal, at least in the Scheme community. 02:27:01 I would imagine so. 02:27:11 But I wouldn't have imagined there'd be a whole lot of opposition. 02:27:26 ssbr_, This is Schemeland. 02:27:42 Ack. 02:27:53 Bah, I hit some buttons and cleared my chat screen.... 02:28:10 I never press buttons. Mostly things stay OK! :) 02:28:11 -!- m4dv0y [~pancho@201.215.3.226] has left #scheme 02:28:57 ssbr_: I imagined the same. Turns out I have a wild imagination. 02:29:19 eli, Well, I was surprised at how...um, vehement ... wait, nevermind, I'm not. 02:29:31 :) 02:29:48 It's not like immutable data structures haven't proven themselves to be quite useful. 02:30:05 Though, I guess you could say I'm more inclined to just use the record system when I want them than to change CONS. 02:31:01 (That's another reason why mutable pairs as a separate type is just not needed...) 02:31:43 In any case, the vehemence didn't surprise me -- it's the complete lack of acknowledgment in any utility. 02:32:38 Indeed. 02:41:52 -!- winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has quit [Ping timeout: 245 seconds] 02:44:48 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 02:47:02 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Client Quit] 02:48:23 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 02:49:04 gws [~gschuette@cpe-76-172-28-85.socal.res.rr.com] has joined #scheme 02:51:55 *foof* notes that every non-Lisp FFI he's ever seen is pathetic in comparison 02:52:15 foof, By non_Lisp do you mean non-Lisp Family or non-Common Lisp? 02:52:25 *toast`* is having fun watching the fun in the #python room, waiting for war to break out 02:52:41 timj_ [~timj@e176193119.adsl.alicedsl.de] has joined #scheme 02:53:57 R3cur51v3 [~Recursive@static.77.8.networkiowa.com] has joined #scheme 02:54:42 when will python become a lisp? 02:54:56 arcfide: everything but CL and Scheme ;) 02:54:59 if it does, and guido notices, they'll revert 02:55:09 or napalm the SVN repo and start over 02:55:35 svn lol 02:55:44 git! mercurial! fossil! 02:56:12 yeah, i enjoy the irony too 02:56:34 -!- timj__ [~timj@e176192140.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 02:56:37 oh, python.org indicates they're in the process of switching to mercurial 02:56:54 nice 02:57:00 Monotone! 02:57:02 :-P 02:57:02 cherrypy looks interesting 02:57:12 but then soem python type said its crappy 02:57:13 -!- curi [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 02:57:16 use twisted 02:57:23 I was actually happy with the latest release of Monotone that they have some automatic database management stuff now. 02:57:25 but twisted is like reimplementing unix or something 02:57:46 plan9 has it right 02:57:50 make one uber protocall 02:57:58 avoid xml 02:58:01 ;) 02:58:47 spiffy chiecken scheme webserver itnereesting 02:58:51 guna try it this week 02:59:00 forget if sendfile sux 02:59:05 vs epoll or what 03:00:12 JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has joined #scheme 03:01:07 -!- MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has quit [Quit: Leaving] 03:03:13 stepnem [~stepnem@88.103.132.186] has joined #scheme 03:04:18 sqlite+spiffy+chicken scheme=maybe I make website 03:04:22 think I can do it? 03:05:18 Hehe, sure. 03:05:19 :-) 03:13:43 -!- acarrico [~acarrico@pppoe-68-142-35-203.gmavt.net] has quit [Read error: Connection reset by peer] 03:23:20 josephholsten [~josephhol@ip70-189-106-111.ok.ok.cox.net] has joined #scheme 03:23:33 -!- josephholsten [~josephhol@ip70-189-106-111.ok.ok.cox.net] has quit [Client Quit] 03:31:01 http://planet.plt-scheme.org/package-source/jaz/mysql.plt/1/6/main.ss <--- Is this meant to be used on localhost aswell? 03:37:24 asarch [~asarch@189.188.157.62] has joined #scheme 03:42:24 -!- R3cur51v3 [~Recursive@static.77.8.networkiowa.com] has quit [Ping timeout: 258 seconds] 03:42:56 arcfide: you basically just said "i don't like static modules because i don't like static modules" :) 03:43:09 foof, Hehe, sorry. :-) 03:43:35 Maybe the question should be, who really does like static modules? :-) 03:43:55 Even the Scheme48 system is a DSSL or some such rather than a static system. 03:44:14 And the idea that we would have to clutter the module system with conditional imports and not permit it in the rest of the code seems like the wrong approach. 03:44:20 Or at least, a very unfortunate one. 03:45:34 -!- snarkyboojum [~snarkyboo@120.155.230.214] has quit [Quit: snarkyboojum] 03:45:51 arcfide: it makes the system more powerful in one sense because you can perform more analysis without macro-expanding the body 03:46:15 Other than the dependency graph, what do you get without expanding the code? 03:47:13 the dependency graph (including all imports, exports and renames thereof) is quite a lot of information to work with 03:47:34 plus you can (in theory) add meta-information later 03:47:56 foof, Well, you can add meta information with an expansion based system as well. 03:48:20 right, but you can't get at it without first expanding the whole module! 03:48:27 anyway, i think my descriptions of the different types of module systems are confusing, i will update them soon 03:48:43 foof, But the imports and exports aren't really going to be complete. You don't have any guarantee that the code actually defines the exports that it says that it does, and you can't tell whether the imports are syntax or not, unless you put that into the meta information, and then you've got all sorts of things like implicit exports to deal with, which aren't really completely understood unless you expand things out. 03:49:55 I agree that there is some useful information there, such as might be used for generating indexes in repositories and the like, but I'm not sure that it's worth it. 03:50:01 implicit exports are a premature (space) optimization 03:50:34 all it is is a separate layer which lets you get some information earlier 03:50:38 -!- bgs100 is now known as bgs000 03:50:44 So, it's reasonable to have a way to just say, ignore this and export everything that is visible, but making it impossible to optimize for space is a little strange. 03:51:16 who said anything about exporting everything that is visible?! 03:51:53 foof, I assume above that you're talking about implicit exports as I've specified them in my module proposal? 03:52:15 That is, where you either implicitly export everything visible to the macro or you specific precisely the identifiers that are implicitly exported with any given export. 03:52:26 R6RS only gives you one of those options. 03:52:31 Which is to export everything. 03:53:04 no, they're not exported - they can't be accessed directly 03:53:20 foof, That's why it's implicitly exported. 03:53:22 only if an exported macro expands into them can they be access 03:53:27 That's what implicitly exported means. 03:53:32 Yes. 03:54:07 But in order for macros to work correctly you either need to specify that every macro expansion can access all the identifiers visible within any given library from which it is exported, or you limit the identifiers that it uses. 03:54:08 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Read error: Connection reset by peer] 03:54:09 ok, i see, you didn't say "implicitly" exported, you just said "export everything" which is a questionable feature some implementations do allow 03:54:26 Yes, I was talking about implicit exports here, sorry. 03:54:31 or you perform analysis to see what it can expand into 03:54:41 which is easy with syntax-ruels macros :) 03:54:53 Which doesn't work in practice unless you have the entire program to analyze. 03:55:05 I don't want to enforce something in WG1 that doesn't scale to WG2. 03:55:16 But yes, you can do it if you are happy with just SYNTAX-RULES. 03:56:31 no, even without the entire program you can find all potential implicit exports from syntax-rules macros in a module 03:57:01 you can even sometimes perform that analysis for low-level macros 03:57:06 foof, Sorry, that comment is meant to address any sort of macro, including procedural. If you just have syntax rules, then yes, I think you can be sure of your implicit exports. 03:57:25 foof, Sometimes, but it quickly reaches a point of no hope. 03:58:05 At least, I've never seen any implementation that did a good job of optimizing it. 03:58:06 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 03:58:20 so you're proposing adding human effort as a premature optimization for something that we already know the compiler can do for us in some cases 03:58:38 I'm proposing that we make it possible for the programmer to specify this stuff. 03:58:51 snarkyboojum [~snarkyboo@120.152.64.214] has joined #scheme 03:59:40 And it's not a premature optimization. 04:00:14 This comes from reports of real world users of Chez Scheme, who, apparently, were not able to migrate to R6RS because of this issue. 04:01:22 it's can't be made an optional feature - if the syntax includes a list of implicit exports, you have to list all of the possible exports or there's no point 04:01:56 foof, In my proposal, modified after speaking with some people, you can also do (implicit-export/visible id ...). 04:02:14 So each of those ids will have their entire visible environment implicitly exported for them. 04:02:39 Thus you can avoid having to specify each one individually if you don't want to. 04:03:12 If you have a cleaner interface that allows the compiler to get the same amount of information I'm open to suggestions. 04:04:27 I'm even open to doing something like making the implicit-export/visible option the default, getting rid of that construct, and then allowing the implicit-export form to restrict the set of implicit exports. 04:05:15 arcfide: seriously, there are users whose resulting compiled modules were so large from implicit exports they couldn't load them all at once? 04:05:36 i'd like to see some numbers for that 04:05:47 It's not a matter of them not being able to load the code, but the resulting compiled objects were too large for their deployment target. 04:05:57 I'll see if I can get them for you if you'd like. 04:06:04 how much larger? 04:06:18 Dunno, but I think I can find out. 04:06:24 We are talking about people with million line programs. 04:08:12 foof, Also, the issues with whole program analysis aren't as cut and dry as they might appear at first. 04:08:52 i never said anything about whole program analysis 04:09:00 hohoho [~hohoho@p4ae269.tokynt01.ap.so-net.ne.jp] has joined #scheme 04:09:36 anyway... gotta run 04:09:38 How else are you going to figure out where the unneeded code is? 04:09:41 Alright. 04:09:42 See ya. 04:15:23 -!- JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has quit [Ping timeout: 260 seconds] 04:22:01 JoelMcCracken [~joelmccra@pool-72-95-151-135.pitbpa.east.verizon.net] has joined #scheme 04:23:39 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 04:25:58 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 04:29:30 -!- MrFahrenheit [~RageOfTho@users-55-35.vinet.ba] has quit [Ping timeout: 260 seconds] 04:46:13 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 04:51:28 -!- asarch [~asarch@189.188.157.62] has quit [Remote host closed the connection] 04:59:19 http://philip.greenspun.com/wtr/aolserver/introduction-1.html is chcken webserver spiffy a forking webserver? http://philip.greenspun.com/wtr/aolserver/introduction-1.html 05:05:48 summersault [~george@189.107.132.244] has joined #scheme 05:07:53 -!- toast` [~toast`@c-71-227-233-160.hsd1.wa.comcast.net] has left #scheme 05:14:01 gws: no, it's a green thread webserver 05:14:10 seriously? 05:14:11 no way 05:14:25 I have wanted to try one for a while. 05:14:34 I thought sendfile was just a lame epoll 05:15:38 http://tldp.org/LDP/LGNET/issue91/tranter.html 05:15:41 [read read] 05:15:42 sendfile(2) is a linux system call to copy from one fd to another without any intermediate buffering 05:15:42 wow 05:15:45 looks good 05:16:11 the chicken sendfile egg uses that where possible, and just does the copying itself on systems like windows 05:16:41 I am an archlinux pilot 05:16:43 ;) 05:16:47 www.archlinux.org 05:16:54 "it could be the greatest" 05:22:41 gws, Isn't Arch Linux based on Slackware? 05:24:40 -!- ssbr_ [~scorchsab@user65-127.vicres.utoronto.ca] has quit [Read error: Connection reset by peer] 05:25:09 ssbr_ [~scorchsab@user65-127.vicres.utoronto.ca] has joined #scheme 05:27:06 R3cur51v3 [~Recursive@173-29-151-107.client.mchsi.com] has joined #scheme 05:28:46 -!- kercyr [~kercyyyr@c-98-212-25-205.hsd1.in.comcast.net] has quit [Ping timeout: 260 seconds] 05:30:12 kercyr [~kercyyyr@c-98-212-25-205.hsd1.in.comcast.net] has joined #scheme 05:32:08 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 05:32:48 no 05:32:53 arch is solo 05:32:56 inspired by crux 05:33:02 pacman software amanger is in c 05:33:06 and rolling release 05:33:13 each part is updated independantly 05:33:17 custom inits base don bsd 05:33:29 binaries very up to date 05:33:36 netbsd and freebsd are onyl two that temp me 05:33:39 aside from arch 05:33:55 at least until openbsd gets support for 4+g ram on mad64 05:34:16 working with deadrat at work blows 05:34:23 u-bung-2 scares me 05:37:43 -!- snarkyboojum [~snarkyboo@120.152.64.214] has quit [Quit: snarkyboojum] 05:44:43 -!- sepult [~user@xdsl-87-78-37-24.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:47:49 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 05:49:12 -!- JoelMcCracken [~joelmccra@pool-72-95-151-135.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 05:58:02 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 06:08:01 -!- adu [~ajr@pool-71-191-173-118.washdc.fios.verizon.net] has quit [Quit: adu] 06:19:08 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 06:25:36 xwl [~user@125.34.174.67] has joined #scheme 06:25:51 kar8nga [~kar8nga@81.253.26.145] has joined #scheme 06:27:11 JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has joined #scheme 06:35:01 -!- Hal9k [~Lernaean@unaffiliated/kusanagi] has quit [] 06:42:26 -!- kar8nga [~kar8nga@81.253.26.145] has quit [Remote host closed the connection] 06:45:06 Hal9k [~Lernaean@unaffiliated/kusanagi] has joined #scheme 07:16:39 schmir [~schmir@p548DB5A5.dip.t-dialin.net] has joined #scheme 07:20:54 too volatile, eh... 07:21:36 I didn't know pacman had software in a manger ... I thought that was a whole other story? 07:22:13 -!- JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 07:22:58 puddingpimp [aeptxvz@118-92-33-194.dsl.dyn.ihug.co.nz] has joined #scheme 07:23:03 !last 07:23:12 :) 07:28:28 -!- schmir [~schmir@p548DB5A5.dip.t-dialin.net] has quit [Remote host closed the connection] 07:29:53 archlinux netbsd freebsd 07:30:01 I would run my corp on any of those 3 07:39:00 -!- arcfide [~arcfide@adsl-99-75-51-152.dsl.bltnin.sbcglobal.net] has quit [Quit: Leaving] 07:43:29 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:43:52 petit chez, chicken, racket, s48, scsh 07:43:53 wow 07:43:56 tons fo schemes 07:43:59 tonz 07:44:17 Actually, I think that SCSH is broken on freebsd (the port) 07:46:24 Bigloo, qscheme, rscheme, scsh have issues compiling 07:47:07 nowhereman [~pierre@AStrasbourg-551-1-63-77.w83-194.abo.wanadoo.fr] has joined #scheme 07:49:18 no shit? 07:49:20 that sux 07:49:33 I like archlinux 07:49:36 ;) 07:50:10 -!- nowhere_man [~pierre@AStrasbourg-551-1-43-83.w92-148.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 07:54:59 Sometimes, issues concern only a single architecture. 07:55:07 Sometimes, the port isn't maintained anymore 07:55:47 I do need to find time to upgrade the gambit port 07:57:33 are common lisp macro somehow better than scheme macro? 07:57:47 I was told other day r6 made scheme macro more powerful 07:57:54 to even power 07:59:07 -!- kercyr [~kercyyyr@c-98-212-25-205.hsd1.in.comcast.net] has quit [Quit: Leaving] 08:03:39 gws: many schemes also have define-macro macros, à la defmacro. 08:04:21 I almost never used define-syntax, and never syntax-case, so I don't know more 08:05:13 try to look at http://stackoverflow.com/questions/131433/sources-for-learning-about-scheme-macros-define-syntax-and-syntax-rules 08:05:15 -rudybot:#scheme- http://tinyurl.com/36mpsze 08:05:56 masm [~masm@bl16-181-185.dsl.telepac.pt] has joined #scheme 08:11:54 rbarraud_ [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has joined #scheme 08:13:31 -!- rbarraud [~rbarraud@118-93-186-218.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 248 seconds] 08:16:43 nice 08:16:48 so scheme can do it all 08:16:56 I wana try structural regex implementation 08:17:07 maybe clone www.prevayler.org in scheme 08:17:15 -!- gws [~gschuette@cpe-76-172-28-85.socal.res.rr.com] has quit [Read error: Connection reset by peer] 08:25:34 gws: there are two different types of macro systems: hygienic and unhygienic. CL macros usually fall in the latter category. It is also somewhat controversial whether hygiene the way to go. Scheme people usually agree that hygiene is the way to go 08:28:13 -!- Axioplase is now known as Axioplase_ 08:30:36 marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has joined #scheme 08:33:57 -!- mbohun [~mbohun@202.124.74.119] has quit [Quit: Leaving] 08:34:27 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #scheme 08:37:25 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 08:37:32 -!- R3cur51v3 [~Recursive@173-29-151-107.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 08:48:53 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 09:04:56 offby1` [~user@q-static-138-125.avvanta.com] has joined #scheme 09:06:48 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Ping timeout: 265 seconds] 09:29:31 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 272 seconds] 09:31:05 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 09:33:08 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 09:40:25 schmir [~schmir@p548DB6C3.dip.t-dialin.net] has joined #scheme 09:47:59 Blkt [~user@160.80.128.93] has joined #scheme 09:48:30 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 09:48:42 good day everyone 09:49:17 alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has joined #scheme 10:01:30 -!- schmir [~schmir@p548DB6C3.dip.t-dialin.net] has quit [Remote host closed the connection] 10:04:28 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 10:05:03 jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 10:07:12 -!- marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has quit [Remote host closed the connection] 10:07:28 marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has joined #scheme 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:34 fradgers- [~fradgers-@5e02b45e.bb.sky.com] has joined #scheme 10:15:07 -!- marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has left #scheme 10:18:24 hi! 10:18:35 anyone here has experience using scheme for web development? 10:22:59 client or server side? 10:23:12 server side 10:23:26 I mean, what would you use scheme for client side? making a browser? 10:23:42 avoid writing javascript? 10:23:51 nice, but is that possible? 10:24:03 now I'm interested in that too ;) 10:24:04 there are a couple of scheme interpreters written in javascript 10:24:21 oh, but I guess kills performance :S 10:24:36 I haven't taken any measurements 10:24:46 javascript code in client side can be really tough for the computer (at least mine) 10:24:59 I can't even use firefox 10:25:22 so, may I take a look at those interpreters, please :) 10:25:52 it's interesting 10:26:02 for example: http://www.bluishcoder.co.nz/2006/05/scheme-implementation-in-javascript.html 10:26:03 -rudybot:#scheme- http://tinyurl.com/jxzuq 10:26:19 thanks 10:26:32 and what about server side? 10:26:33 welcome! 10:27:02 chicken's spiffy for example, the plt webserver, mario's awful webframework, qwiki the new chicken scheme wiki replacement... 10:27:04 afaik, with the servers I'm usually working with (very basic ones) I can run only python, ruby, php 10:27:18 there are tons of extensions for a lot of other scheme implementations too 10:27:35 I've seen stuff, yes 10:27:47 alvatar: You can run any scheme from cgi 10:28:09 at the moment, what I see most important is: a html template library, and a dispatch library and a database interface 10:28:28 sjamaan: don't know exactly how :S 10:28:37 I'm not very informed on server technology 10:28:45 alvatar: That's basically awful! 10:28:52 I just made a little cgi app 2 years ago :) 10:29:04 cgi isn't the best way to run serverside processes 10:29:14 alvatar: well then have a look at the egg index for chicken http://chicken.wiki.br/chicken-projects/egg-index-4.html or planet racket http://planet.racket-lang.org/ 10:29:15 fastcgi is the same? 10:29:22 no 10:29:33 fastcgi isn't that similar to cgi 10:29:35 is faster! :P 10:30:13 ok, I'll read about it (sorry for the stupid joke) 10:30:28 Also try http://siscweb.sf.net 10:30:35 It looks neat but I've never tried it 10:30:56 It's really nice from chicken how many modules (eggs) you have 10:31:03 HG` [~HG@85.8.91.63] has joined #scheme 10:31:16 alvatar: other implementations do so too 10:31:23 Feel free to join #chicken if you have specific questions 10:31:48 oh, maybe I could use also a scheme implementation on Java 10:31:51 like Kawa 10:31:51 C-Keen: Not really. Only racket has a large set of add-ons 10:32:11 siscweb is for sisc, which is a Java scheme 10:32:13 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 260 seconds] 10:32:25 well I love gambit, but it doesn't have precisely an extensive set of well-organized addons :) 10:32:35 sjamaan: ah, ok ok 10:32:37 nice 10:33:07 and racket... isn't that a language extension with new syntax and more stuff? 10:33:20 sjamaan: thanks, I will add this fact to my knowledge base as fact #29374. 10:33:24 :) 10:34:38 alvatar: this strongly depends on who you ask :) 10:34:58 racket includes an R5RS and R6RS scheme mode 10:35:53 If I use a library, I'll first port it to gambit 10:36:06 >_> 10:36:30 usually things from chicken are easier than from plt 10:37:29 What would be the reason to stick to gambit? 10:37:49 I like, I want to learn more of its internals, and it has good performance 10:38:28 when I do ports or try to make code from other places work in gambit I learn more than if I just take the code and import it in the original interpreter 10:38:30 Learning a particular Scheme's internals is pretty orthogonal to using it for a project 10:38:37 sure 10:38:47 so I can sample the whole 2d space :) 10:40:04 by the way, could you send me the original awful project link, please? I can't find it 10:40:44 http://chicken.wiki.br/eggref/4/awful 10:40:52 thanks! 10:41:02 Awful is very much a work in progress and a moving target 10:41:17 So you'll be pretty busy porting new changes if you want to use it in Gambit 10:41:23 yes, but I read it some time ago and I liked it 10:41:25 it's clear 10:41:33 Same for spiffy and intarweb 10:41:55 If you have spiffy- or intarweb-specific questions, feel free to ask me 10:42:03 thanks, sjamaan 10:42:14 Same for uri-generic or uri-common BTW 10:42:21 For awful you'd have to ask mario 10:43:00 Oh, and postgresql => me too, sql-de-lite => zbigniew 10:43:01 kar8nga [~kar8nga@81.253.14.79] has joined #scheme 10:43:21 sjamaan: are you peter bex? 10:43:24 aye 10:43:44 good! that way I won't forget which projects you made :) 10:43:50 That helps :) 10:43:57 a great amount of work, I must say! O_O 10:44:32 I'd have to add I'm just the maintainer of postgres and spiffy. I'm not the original author of those 10:46:36 I'm currently working with python for a web project, but I'm going to prepare the ground for next project with scheme ;) 10:46:45 thanks everyone for your help!! 10:47:03 there is actually more than I expected on this topic for scheme :) 10:47:24 It's all very new. Half a year ago there wasn't much of anything :) 10:47:36 So expect to hit many bugs and missing features 10:48:10 but web development is so important that I expect it to be worth the work 10:48:48 indeed 10:49:10 thanks again! 10:49:17 yw :) 10:49:17 I'm AFK now 10:49:26 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 10:52:05 -!- kar8nga [~kar8nga@81.253.14.79] has quit [Ping timeout: 240 seconds] 10:55:42 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 240 seconds] 10:59:51 laeila [~laeila@188-193-95-74-dynip.superkabel.de] has joined #scheme 11:02:29 JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has joined #scheme 11:23:24 luz [~davids@189.60.69.82] has joined #scheme 11:29:32 xwl [~user@125.34.174.67] has joined #scheme 11:44:23 -!- kg4qxk [~bohanlon@pool-173-48-104-141.bstnma.fios.verizon.net] has quit [Quit: So long, and thanks for all the fish!] 12:09:05 -!- rbarraud_ [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 12:19:08 -!- hohoho [~hohoho@p4ae269.tokynt01.ap.so-net.ne.jp] has quit [Ping timeout: 258 seconds] 12:20:19 marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has joined #scheme 12:20:26 winxordie [~winxordie@199-49.97-97.tampabay.res.rr.com] has joined #scheme 12:23:58 Has anyone here had experience with the scheme web server? 12:24:43 Which one? 12:25:11 web-server/insta 12:26:10 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 12:26:21 -!- marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has quit [Remote host closed the connection] 12:26:33 xwl [~user@125.34.174.67] has joined #scheme 12:26:37 marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has joined #scheme 12:39:01 -!- xwl [~user@125.34.174.67] has quit [Remote host closed the connection] 12:40:22 -!- Blkt [~user@160.80.128.93] has quit [Ping timeout: 240 seconds] 12:40:36 xwl [~user@125.34.174.67] has joined #scheme 12:47:30 -!- puddingpimp [aeptxvz@118-92-33-194.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 258 seconds] 12:53:43 b 12:55:09 all that you can be. 12:55:49 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 13:00:15 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 13:08:11 sepult [~user@xdsl-78-34-253-34.netcologne.de] has joined #scheme 13:09:35 -!- marcob [~user@host180-5-static.91-82-b.business.telecomitalia.it] has left #scheme 13:10:15 karme [~user@static.180.75.40.188.clients.your-server.de] has joined #scheme 13:14:49 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 13:16:21 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 13:34:43 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 13:36:59 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Ping timeout: 265 seconds] 13:39:34 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 13:47:24 -!- bgs000 is now known as bgs100 13:50:35 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 13:53:17 -!- offby1` is now known as offby1 13:53:20 -!- offby1 [~user@q-static-138-125.avvanta.com] has quit [Changing host] 13:53:20 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 13:54:22 -!- JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has quit [Quit: This computer has gone to sleep] 13:59:23 parolang [~user@64.246.121.114] has joined #scheme 14:03:42 -!- snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has quit [Quit: snarkyboojum] 14:06:08 asarch [~asarch@187.132.136.54] has joined #scheme 14:09:00 JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has joined #scheme 14:13:36 MrFahrenheit [~RageOfTho@users-33-220.vinet.ba] has joined #scheme 14:26:46 shortsightedsid [c0a314e8@gateway/web/freenode/ip.192.163.20.232] has joined #scheme 14:32:32 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 14:36:10 -!- laeila [~laeila@188-193-95-74-dynip.superkabel.de] has left #scheme 14:39:22 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 264 seconds] 14:39:37 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 14:49:58 -!- alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has quit [Quit: leaving] 14:58:39 -!- summersault [~george@189.107.132.244] has quit [Ping timeout: 265 seconds] 15:02:48 -!- shortsightedsid [c0a314e8@gateway/web/freenode/ip.192.163.20.232] has quit [Quit: Page closed] 15:07:51 arcfide [~arcfide@adsl-99-50-225-164.dsl.bltnin.sbcglobal.net] has joined #scheme 15:10:27 hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:12:42 summersault [~george@189.107.218.149] has joined #scheme 15:18:01 george__ [~george@189.107.195.195] has joined #scheme 15:18:57 -!- summersault [~george@189.107.218.149] has quit [Ping timeout: 265 seconds] 15:20:14 schmir [~schmir@p548DBE9E.dip.t-dialin.net] has joined #scheme 15:26:05 -!- schmir [~schmir@p548DBE9E.dip.t-dialin.net] has quit [Remote host closed the connection] 15:30:56 -!- HG` [~HG@85.8.91.63] has quit [Quit: HG`] 15:31:47 -!- copec [~copecd@64.244.102.130] has quit [] 15:51:06 alvatar [~alvatar@254.127.222.87.dynamic.jazztel.es] has joined #scheme 15:56:06 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Ping timeout: 258 seconds] 16:01:33 jlongster [~user@c-71-204-23-10.hsd1.ga.comcast.net] has joined #scheme 16:04:45 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 16:06:13 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 16:17:20 -!- jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Ping timeout: 248 seconds] 16:17:20 -!- alvatar [~alvatar@254.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 16:17:55 alvatar [~alvatar@254.127.222.87.dynamic.jazztel.es] has joined #scheme 16:18:26 gravicappa [~gravicapp@ppp85-140-147-64.pppoe.mtu-net.ru] has joined #scheme 16:23:13 saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:25:52 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 248 seconds] 16:26:03 hi 16:26:33 hello 16:26:40 mbishop_ [~martin@adsl-222-43-15.msy.bellsouth.net] has joined #scheme 16:26:59 is there a name for "a kind of fold that forces the kons function to return an element of the list"? 16:27:07 kind of weird question, I know 16:27:18 Do you mean cons? 16:27:42 eno [~eno@nslu2-linux/eno] has joined #scheme 16:27:44 I mean the function that you give to FOLD to execute it in each iteration 16:27:54 What about a function that returns a list of all elements that adhere to certain conditions? 16:28:01 in srfi is called KONS, so that's why I call it like that 16:28:05 Oh 16:28:06 Sorry. 16:28:17 askhader: That's called FILTER 16:28:30 that's the problem with names, when you know them, you can search for what it means, but not the other way around :( 16:28:41 sjamaan: I'm aware of this, thanks. 16:28:55 So why do you ask? 16:29:01 I didn't ask anything. 16:29:08 it's me who's asking :) 16:29:20 oh sorry 16:29:24 Your names look so much alike 16:29:34 it's a "specialization" of fold that requires that the accumulated value is one element in the list 16:29:36 heh 16:29:37 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 16:29:54 just as the typical use of FOLD with MAX 16:29:54 -!- mbishop [~martin@adsl-35-254-183.msy.bellsouth.net] has quit [Ping timeout: 276 seconds] 16:30:04 but not the case with "+" for example 16:30:19 one returns an element of the list, the other doesn't 16:30:54 just curious if there is a name for this concept 16:31:06 alvatar: Perhaps you are referring to REDUCE 16:31:15 no... 16:31:48 a reduce can be used also so it doesn't return an element of the list 16:31:56 hum... 16:31:58 never mind :) 16:32:01 I'll call it SELECT 16:32:17 what do you think? :) 16:32:51 SELECT * FROM names WHERE name IS GOODENOUGH; 16:33:33 my eyes hurt 16:33:34 :P 16:33:41 thx! :) 16:36:10 another way of explaining the idea: it's like sorting, but then taking the first element of the new list. This, of course, can be done without sorting, just walking all the flat list. 16:36:42 so the KONS of this FOLD variation would accept only predicates 16:36:46 just thinking out loud 16:36:56 never mind 16:38:12 alvatar, So, you're looking for variations on MAX. 16:38:31 Like MAXP or something. 16:38:34 generalization :) 16:38:40 oh, what's that?! 16:38:42 MAXP? 16:38:46 alvatar, Something I just made up. 16:38:54 oh 16:39:10 I actually know how to do it, I just want to name it properly :D 16:39:24 I think giving names is really important 16:40:09 (define (maxp p l) (fold-left (lambda (s e) (if (p e s) e s)) (car l) (cdr l))). 16:40:31 Yeah, well, there's some precedent for MAXP, but I'm not sure it's a good name for this. 16:40:43 BEST might be a choice. 16:40:54 There are things like MEMP and ASSP, and such. 16:40:55 -!- mbishop_ [~martin@adsl-222-43-15.msy.bellsouth.net] has quit [Ping timeout: 265 seconds] 16:41:00 That's why I thought of MAXP. 16:41:11 well I didn't know all those names 16:41:13 Anyways, good luck with the name. 16:41:14 I'll check them out 16:41:19 -!- arcfide [~arcfide@adsl-99-50-225-164.dsl.bltnin.sbcglobal.net] has quit [Quit: Leaving] 16:41:19 hehhehe 16:43:09 HG` [~HG@xdsl-92-252-48-110.dip.osnanet.de] has joined #scheme 16:47:25 -!- karme [~user@static.180.75.40.188.clients.your-server.de] has quit [Remote host closed the connection] 16:50:18 -!- george__ [~george@189.107.195.195] has quit [Ping timeout: 265 seconds] 16:53:19 Blkt [~user@dynamic-adsl-94-37-232-229.clienti.tiscali.it] has joined #scheme 16:54:33 -!- HG` [~HG@xdsl-92-252-48-110.dip.osnanet.de] has quit [Quit: Leaving.] 16:54:53 mbishop_ [~martin@adsl-222-47-84.msy.bellsouth.net] has joined #scheme 16:58:39 the_unmaker [~gavin@w005.z209031033.sjc-ca.dsl.cnc.net] has joined #scheme 16:58:50 website with scheme is my scheme 16:59:16 -!- eldragon [~eldragon@84.79.67.254] has quit [Read error: Connection reset by peer] 16:59:26 -!- jlongster [~user@c-71-204-23-10.hsd1.ga.comcast.net] has quit [Read error: Connection reset by peer] 17:02:08 eldragon [~eldragon@84.79.67.254] has joined #scheme 17:04:28 hhomar [~hhomar@92.26.146.150] has joined #scheme 17:16:15 specbot [~specbot@common-lisp.net] has joined #scheme 17:22:32 HG` [~HG@xdsl-92-252-48-110.dip.osnanet.de] has joined #scheme 17:25:54 -!- Nshag [user@lns-bzn-43-82-249-130-170.adsl.proxad.net] has quit [Ping timeout: 258 seconds] 17:37:15 proq [~user@unaffiliated/proqesi] has joined #scheme 17:39:04 Nshag [user@lns-bzn-22-82-249-74-49.adsl.proxad.net] has joined #scheme 18:07:20 arcfide [1000@140-182-232-130.dhcp-bl.indiana.edu] has joined #scheme 18:10:51 -!- hohoho [~hohoho@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 18:23:30 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 18:27:11 jao [~user@83.43.34.249] has joined #scheme 18:31:22 -!- saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 18:50:23 -!- Blkt [~user@dynamic-adsl-94-37-232-229.clienti.tiscali.it] has quit [Quit: ERROR: do not makunbound t please] 18:50:54 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 18:50:56 toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has joined #scheme 18:52:38 Blkt [~user@dynamic-adsl-94-37-232-229.clienti.tiscali.it] has joined #scheme 19:12:03 schmir [~schmir@p57ADF44D.dip.t-dialin.net] has joined #scheme 19:14:26 -!- HG` [~HG@xdsl-92-252-48-110.dip.osnanet.de] has quit [Quit: Leaving.] 19:15:35 m4dv0y [~pancho@201.215.3.226] has joined #scheme 19:31:27 -!- alvatar [~alvatar@254.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 19:33:24 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 19:34:37 alvatar [~alvatar@144.119.20.95.dynamic.jazztel.es] has joined #scheme 19:34:56 -!- hhomar [~hhomar@92.26.146.150] has quit [Quit: WeeChat 0.3.2] 19:35:34 snarkyboojum [~snarkyboo@110-174-43-105.static.tpgi.com.au] has joined #scheme 19:37:00 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 19:42:59 -!- the_unmaker is now known as use_iceWM 19:44:45 -!- arcfide [1000@140-182-232-130.dhcp-bl.indiana.edu] has quit [Ping timeout: 240 seconds] 19:50:56 mornfall [~mornfall@anna.fi.muni.cz] has joined #scheme 19:50:57 -!- mornfall [~mornfall@anna.fi.muni.cz] has quit [Changing host] 19:50:58 mornfall [~mornfall@kde/developer/mornfall] has joined #scheme 19:54:27 -!- sepult [~user@xdsl-78-34-253-34.netcologne.de] has quit [Read error: Connection reset by peer] 19:54:58 -!- toekutr [~toekutr@adsl-69-107-114-28.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 19:55:01 monra [~monra@147.52.194.125] has joined #scheme 19:55:47 arcfide [1000@140-182-232-130.dhcp-bl.indiana.edu] has joined #scheme 19:56:43 -!- monra [~monra@147.52.194.125] has quit [Quit: leaving] 19:59:47 -!- gravicappa [~gravicapp@ppp85-140-147-64.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds] 20:01:30 sepult [~user@xdsl-78-34-253-34.netcologne.de] has joined #scheme 20:04:51 -!- mbishop_ is now known as mbishop 20:04:52 george__ [~george@189.107.153.194] has joined #scheme 20:06:07 morphir [~morphir@84-52-234.12.3p.ntebredband.no] has joined #scheme 20:07:28 -!- curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] 20:09:59 Blkt` [~user@dynamic-adsl-94-34-41-13.clienti.tiscali.it] has joined #scheme 20:11:15 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 240 seconds] 20:13:15 -!- MrFahrenheit [~RageOfTho@users-33-220.vinet.ba] has quit [Read error: Connection reset by peer] 20:13:36 MrFahrenheit [~RageOfTho@users-33-220.vinet.ba] has joined #scheme 20:13:49 -!- Blkt [~user@dynamic-adsl-94-37-232-229.clienti.tiscali.it] has quit [Ping timeout: 264 seconds] 20:15:47 -!- JoelMcCracken [~joelmccra@c-67-163-143-192.hsd1.pa.comcast.net] has quit [Quit: This computer has gone to sleep] 20:16:49 wingo [~wingo@81.39.158.44] has joined #scheme 20:17:25 george_ [~george@189.107.146.24] has joined #scheme 20:17:39 -!- george__ [~george@189.107.153.194] has quit [Ping timeout: 260 seconds] 20:18:39 jlongster [~user@c-71-204-23-10.hsd1.ga.comcast.net] has joined #scheme 20:20:18 evening, schemers 20:20:47 good evening 20:20:48 -!- bgs100 is now known as bgs000 20:22:40 saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has joined #scheme 20:23:00 -!- Blkt` is now known as Blkt 20:25:05 R3cur51v3 [~Recursive@209.234.77.8] has joined #scheme 20:25:23 -!- xwl [~user@125.34.174.67] has quit [Ping timeout: 265 seconds] 20:29:47 -!- joast [~rick@76.178.178.72] has quit [Ping timeout: 245 seconds] 20:30:06 arthurmaciel [~user@187.43.255.228] has joined #scheme 20:30:07 hi 20:30:12 hi 20:30:23 do you know any good and cheap server where I can run web scheme code? 20:30:36 Linode? 20:31:36 but a 50$ pc used 20:31:39 put archlinux 20:31:44 or run cygwin 20:31:56 use_iceWM: but = buy? 20:32:02 error: distro fail on line 2 20:32:16 ya 20:32:37 if yer in los angels i might get ya free one 20:33:15 use_iceWM: indeed I want a 'real' server to test scheme stuff on 'real' world. I really have faced set up limits on other servers and would like to find a new one to test my programs. 20:33:24 use_iceWM: I really appreciate your diligence. 20:34:25 -!- asarch [~asarch@187.132.136.54] has quit [Quit: Leaving] 20:34:26 :-D 20:35:41 archlinux.org could be best os in world 20:39:22 :) 20:39:35 lisp is apparently best programming language 20:39:38 so cool combo 20:40:14 :) 20:44:36 JoelMcCracken [~joelmccra@pool-96-235-12-42.pitbpa.east.verizon.net] has joined #scheme 20:46:47 saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has joined #scheme 20:46:52 joast [~rick@76.178.178.72] has joined #scheme 20:48:37 -!- alvatar [~alvatar@144.119.20.95.dynamic.jazztel.es] has quit [Quit: leaving] 20:50:31 -!- jlongster [~user@c-71-204-23-10.hsd1.ga.comcast.net] has quit [Ping timeout: 265 seconds] 20:59:00 -!- parolang [~user@64.246.121.114] has quit [Remote host closed the connection] 21:00:45 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:02:02 -!- saccade [~saccade@c-66-31-201-117.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 21:02:47 meh, archlinux is not the best os. It's actually quite bloated 21:03:43 debian, *bsd is much sleeker that way 21:05:01 but bsd is such a pain in the ass 21:05:09 installing binary = old 21:05:13 compile=zzzzz 21:05:20 upgrading = gota nuke box 21:05:29 weird ulimit thingies 21:05:39 zfs is cool 21:05:44 I mean freebsd is almost worth it 21:05:49 but arch just so damn nice 21:05:52 and lean 21:06:08 adn for a box with less than 8 cores I can use the brainfuck scheduler 21:08:16 never upgrade arch 21:08:23 just each package 21:08:27 reboot when new kernel 21:08:30 bsd inits 21:09:12 netbsd is also interesting 21:09:17 will be more so when get zfs 21:09:22 This really is not on topic. 21:09:36 yeah but we arent exactly downing out other conversations ar we? 21:10:14 No, since the conversation appears to have one participant. 21:14:27 rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has joined #scheme 21:16:07 jcowan [~jcowan@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 21:17:15 *jcowan* unvanishes and all that. 21:17:32 *gnomon* sounds the trumpets and bangs the gongs 21:17:48 *gnomon* surreptitiously picks jcowan's pocketses 21:17:53 *jcowan* blows the whistles and rings the bells, too. 21:18:07 Hmm, what *have* I got in my pocketses? 21:18:10 String, or nothing! 21:18:12 "" 21:18:13 hops in the hot tub with the fat girls 21:18:55 What news from WG{1,2}, sir? 21:19:20 WG1 is doing a straw poll. 21:20:11 So far seven people have voted. 21:21:29 I'm surprised at how much that bit of news actually hurt. 21:23:07 Which bit, and hurt how? 21:23:29 I would have expected quite a few more voting participants than that. 21:23:43 arthurmaciel, I use serverpronto for my hosting, and it's cheap for what you get. 21:23:51 arthurmaciel, It's also been quite reliable. 21:24:01 voted ? 21:24:12 voted for what ? 21:24:22 Give 'em time. Also, voting in straw polls is not mandatory. 21:25:30 -!- arcfide [1000@140-182-232-130.dhcp-bl.indiana.edu] has quit [Quit: Leaving] 21:28:18 I vote for hottub 21:32:36 curi_ [~curi@adsl-99-114-139-86.dsl.pltn13.sbcglobal.net] has joined #scheme 21:34:07 aintme [~betateste@146.36.221.87.dynamic.jazztel.es] has joined #scheme 21:39:08 -!- mbishop [~martin@adsl-222-47-84.msy.bellsouth.net] has quit [Ping timeout: 265 seconds] 21:44:52 -!- m4dv0y [~pancho@201.215.3.226] has quit [Quit: Leaving.] 21:50:08 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Ping timeout: 248 seconds] 21:52:08 mbishop [~martin@adsl-241-84-246.msy.bellsouth.net] has joined #scheme 21:57:17 saccade [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 21:59:09 -!- adzuci [~ada2358@unaffiliated/ada2358] has quit [Ping timeout: 265 seconds] 22:00:27 adzuci [~ada2358@login.ccs.neu.edu] has joined #scheme 22:00:37 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Ping timeout: 264 seconds] 22:06:56 eli [~eli@winooski.ccs.neu.edu] has joined #scheme 22:08:21 bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 22:08:33 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Read error: No route to host] 22:10:39 jcowan: "This is an illustration of phasing problems that are *not* fixed by module phasing facilities." --> wrong. 22:11:36 contacts are? racket mentions contracts? 22:12:19 ws [wswieb@akson.sgh.waw.pl] has joined #scheme 22:13:01 -!- bombshelter13b_ [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Ping timeout: 258 seconds] 22:13:08 use_iceWM: yes, racket has contracts. 22:13:49 -!- rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 260 seconds] 22:13:58 what hek are they 22:14:10 eli: do you like racket's phasing? 22:14:48 wingo: You mean the separation of runtime and syntax time? -- If so, then yes, a lot. 22:15:09 eli: clarify? 22:15:19 use_iceWM: They're a kind of a wrapper around functions that checks that IO to/from this function are valid. 22:15:21 i just replied to a bug in that regard on guile-devel, ended up having to point to eval-syntax-handlers-when -- unpleasant :) 22:15:59 jcowan: I don't know how to clarify that, it's just an example of a bad implementation that has different semantics for compiled code. 22:16:33 wingo: Certainly -- getting to be completely free of all forms of `eval-when' is wonderful. 22:16:46 i hear that 22:16:50 Yes, I agree that it's a bug in the Chicken compiler. 22:17:23 s/handlers/expanders/ 22:17:47 jcowan: I'd argue that the bug would be solved by more careful "phasing", for some value of the word. 22:18:40 jcowan: what's the bug? 22:18:57 hm 22:19:08 The Chicken compiler reads a whole file of forms before compiling any of them. 22:19:09 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Read error: Operation timed out] 22:19:22 This means that an attempt to redefine the lexical syntax and use it in the same file doesn't work. 22:19:32 s/use it/use the new definition 22:19:41 ah. 22:19:55 However, I do not know of any Scheme that allows redefinition of lexical syntax at read time. 22:20:11 any one which supports #. 22:20:41 not that #. is a good idea at all... 22:21:11 why not read and compile a form at a time though? 22:22:31 though, phasing probably is the answer, as eli notes... 22:23:03 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #scheme 22:23:07 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 22:23:19 I don't know why Chicken doesn't. 22:24:37 guile changed to do that precisely to support compile-time changes to the reader 22:25:31 jcowan: Huh? Many scheme systems allow redefining concrete syntax; and if they have some kind of a repl mode, then you can redefine it as you're reading the input. 22:26:43 jcowan: Here's a racket example: http://tmp.barzilay.org/x -- run that with "racket -r x" and it will print 3. 22:27:20 But if you add reading code as a phase, which is exactly what `#lang' is doing, then the related problems go away. 22:27:53 What is the number of that phase? 22:28:36 There's no number that makes it fit in the syntax expansion phases, because it's not a syntax expansion phase. 22:28:58 Note that earlier I wrote: would be solved by more careful "phasing", for some value of the word. 22:29:12 *jcowan* nods. 22:29:15 (I suspected that you'd associate phases with syntax phases and nothing else...) 22:31:15 phrases? 22:31:19 or phases? 22:31:26 *jcowan* nods. 22:31:27 I see. 22:32:01 Is the reader incrementally modified, or rebound, or what? 22:33:15 jcowan: That depends on what the reader associated with the language is doing -- it can create a readtable on top of the current one (as in my example), or on top of `#f' (which is the default one), or it can just implement its own reader from scratch and not even use the readtable. 22:33:58 So obviously the language can choose to do anything it wants, since without a readtable (eg, in most of your own home-cooked readers) there's no way to compose readers. 22:34:12 (Or at least there is *usually* no way to do so.) 22:36:34 i thought the toplevel was hopeless ;) 22:37:11 -!- masm [~masm@bl16-181-185.dsl.telepac.pt] has quit [Quit: Leaving.] 22:37:13 heyhey [512bef82@gateway/web/freenode/ip.81.43.239.130] has joined #scheme 22:37:37 wingo: Well, having no reader-phase in the toplevel is another indication that it is... 22:37:45 I want to say that it's an error in the top level (at least for WG1) to redefine syntax after you have defined a function using that syntax. 22:37:59 Or rather, that it has no retroactive effect to do so. 22:38:55 Then this must feel like deja-vu. 22:38:59 how much an improvement is r6 22:39:02 anyone who proposes otherwise is a fexpr crazy ;) 22:39:17 like petit chez does r6 but not chicken but chicken has spiffy webserver 22:39:29 and racket seems to go its own way 22:39:36 and have its own webserver 22:39:42 wingo: (a) probably more than fexpr crazy; (b) I can tell you that there's one person would still love it. 22:40:07 hehe 22:41:34 AFAICT all R5RS implementations already work that way, except of course SCM. 22:41:44 As each character is encountered on the input stream, a continuation for that character is saved (together with all following text); when the current readtable is changed for a character C, you simply invoke that continuation and re-parse everything. 22:41:47 Easy. 22:42:36 jcowan: If SCM does *that*, then it changed a whole bunch since I've used it... 22:42:51 -!- proq [~user@unaffiliated/proqesi] has quit [Remote host closed the connection] 22:43:18 SCM allows you to redefine syntax with retroactive effect, provided you have not invoked the procedure that contains the syntax in question. If you have, no retroactive changes are possible. 22:43:27 IOW, macroexpansion is done lazily the first time a function is called. 22:44:33 jcowan: I know (and I remember the tlbh war) -- I was talking about *that* -- changing reader macros -- and have it change code retroactively. 22:47:58 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 265 seconds] 22:49:40 proq [~user@unaffiliated/proqesi] has joined #scheme 22:50:26 alvatar [~alvatar@63.149.220.87.dynamic.jazztel.es] has joined #scheme 22:51:19 Oh. No, I don't know any system that allows that. 22:51:35 BTW, can you set #lang more than once in a file? 22:52:16 mbishop_ [~martin@adsl-222-48-160.msy.bellsouth.net] has joined #scheme 22:53:35 so what apps do you gents realize with scheme? 22:53:40 what websites? 22:54:08 -!- sepult [~user@xdsl-78-34-253-34.netcologne.de] has quit [Ping timeout: 248 seconds] 22:54:44 -!- wingo [~wingo@81.39.158.44] has quit [Ping timeout: 265 seconds] 22:55:05 tessier_1 [~treed@mail.copilotco.com] has joined #scheme 22:55:13 -!- mbishop [~martin@adsl-241-84-246.msy.bellsouth.net] has quit [Ping timeout: 265 seconds] 22:55:44 jcowan: No -- there's #reader for that, but given what #lang can do, there's little point for it. 22:55:54 MononcQc [~Ferd@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 22:56:01 -!- tessier_1 is now known as tessier___ 22:56:12 (Of course you could have a language reader that allows `#lang's inside, and do something with them.) 22:56:18 -!- Blkt [~user@dynamic-adsl-94-34-41-13.clienti.tiscali.it] has quit [Quit: ERROR: do not makunbound t please] 22:56:26 -!- heyhey [512bef82@gateway/web/freenode/ip.81.43.239.130] has left #scheme 23:00:22 -!- schmir [~schmir@p57ADF44D.dip.t-dialin.net] has quit [Remote host closed the connection] 23:03:25 *jcowan* nods yet again. 23:03:43 In what context do these readers invoked by #lang run? 23:03:59 (That is, what bindings are available to them?) 23:08:09 -!- use_iceWM is now known as celtics_grthan_l 23:08:49 -!- celtics_grthan_l is now known as celtics_lakers 23:09:41 jcowan: They're written in plain Scheme^H^H^H^H^H^HRacket... 23:10:31 That's why it's similar to phases -- since the modules involved in the code are instantiated in a way that it's unrelated to the runtime. 23:11:38 So if some module keeps some state and it's used in both the runtime and the read time (and optionally in any syntax time), then mutation to that state at read-time are independent of mutations to it in the other times. 23:11:58 can ebay be cloned in scheme? 23:13:01 A better question: can *you* be cloned in Scheme? 23:13:13 arcfide [~arcfide@adsl-99-31-13-202.dsl.bltnin.sbcglobal.net] has joined #scheme 23:14:01 nope 23:14:07 I am quite sexy 23:14:17 and got mad skils on the basketball court 23:15:23 I bet scheme can replace most python php stuff in use 23:15:29 with ncie green thread webserver 23:15:56 celtics_lakers: You wouldn't be a sports fan, would you?!?! 23:16:38 I am a fan of many thing 23:16:42 scheme among them 23:17:28 i like things too, we should hang out 23:17:40 -!- fradgers- [~fradgers-@5e02b45e.bb.sky.com] has left #scheme 23:18:07 threes a crowd... 23:18:42 (that was from idiocracy, watch it!) 23:19:01 From what, sir? 23:19:11 a movie, Idiocracy, by mike judge 23:19:16 the guy who made office space 23:19:35 Ah 23:19:37 Haven't seen it. 23:19:47 Clearly your tastes are vastly inferior to mine. 23:20:03 its either a comedy or a prescient documentary about america 23:20:22 Is there a difference? =] 23:20:57 not sure 23:21:15 -!- saint_cypher [~saint_cyp@dsl081-240-057.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 258 seconds] 23:21:56 So what is the Right Thing for exiting condition handlers? There seem to be three ways out: invoke the next handler, return to the point of raise, or take a non-local exit. 23:22:34 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 23:22:41 jcowan: The obvious, plan your base cases mate! 23:23:24 Well, non-local exits don't have to be handled specially if the handler has resumption semantics, but that still leaves two ways out. 23:25:43 -!- aintme [~betateste@146.36.221.87.dynamic.jazztel.es] has quit [Quit: '()] 23:26:17 ssbr_: http://synthcode.com/scheme/pychibi.tgz 23:26:26 that'll get you started if you want to play around 23:30:27 jonrafkind: Did you see let's go to prison? 23:30:44 "Let's go to prison" a movie? 23:31:20 no 23:31:45 I liked it in kind of the same way I liked idiocracy. 23:31:52 mbohun [~mbohun@202.124.73.86] has joined #scheme 23:32:09 And they both have whatshisname. 23:32:30 oh bob odenkirk is really funny 23:32:40 Dax Shepard 23:33:03 -!- morphir [~morphir@84-52-234.12.3p.ntebredband.no] has quit [Ping timeout: 276 seconds] 23:33:48 As a director? 23:34:02 -!- proq [~user@unaffiliated/proqesi] has quit [Read error: Operation timed out] 23:35:03 rbarraud [~rbarraud@118-92-148-103.dsl.dyn.ihug.co.nz] has joined #scheme 23:35:06 -!- bgs000 is now known as bgs100 23:35:38 jonrafkind: Ah, *that* guy, yeah, I like him. 23:35:39 well he acts in "Tim and eric awesome show great job" 23:52:20 incubot: so quiet... 23:52:25 _Too_ quiet. 23:52:43 give me 5! 23:53:50 -!- R3cur51v3 [~Recursive@209.234.77.8] has quit [Ping timeout: 258 seconds] 23:57:21 -!- arthurmaciel [~user@187.43.255.228] has quit [Remote host closed the connection] 23:57:39 arthurmaciel [~user@187.43.255.228] has joined #scheme