00:06:59 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 00:11:03 -!- mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 00:13:23 raikov [i=cbb5f30b@gateway/web/ajax/mibbit.com/x-ca5a0cdaf3d12509] has joined #scheme 00:14:27 ziggurat [n=quassel@pool-173-71-21-9.dllstx.fios.verizon.net] has joined #scheme 00:17:33 -!- davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has quit [Remote closed the connection] 00:17:58 davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has joined #scheme 00:18:26 -!- davidad [n=me@dhcp-18-111-6-158.dyn.mit.edu] has left #scheme 00:20:58 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 00:21:53 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [] 00:22:50 -!- ziggurat [n=quassel@pool-173-71-21-9.dllstx.fios.verizon.net] has quit [Remote closed the connection] 00:25:30 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 00:43:47 _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has joined #scheme 00:47:38 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 00:58:06 -!- underspecified_ [n=eric@softbank220043052007.bbtec.net] has quit [] 01:01:34 reprore [n=reprore@fw.trn.dis.titech.ac.jp] has joined #scheme 01:05:59 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:14:14 neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 01:16:43 -!- acarrico [n=acarrico@pppoe-68-142-36-37.gmavt.net] has quit [Read error: 110 (Connection timed out)] 01:18:35 acarrico [n=acarrico@pppoe-68-142-46-227.gmavt.net] has joined #scheme 01:22:26 -!- reprore [n=reprore@fw.trn.dis.titech.ac.jp] has quit [Client Quit] 01:32:05 -!- neilv [n=user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit ["Leaving"] 01:35:18 Are there any good tools for rewritting S-expressions? Say something that I might use where I might otherwise use SED to rename symbols and the like? 01:35:35 Ppjet6 [n=ppjet@ivr94-11-88-187-39-7.fbx.proxad.net] has joined #scheme 01:36:10 I might otherwise just pipe it through a simple scheme func, but that would seemingly clober my comments and spacing among others. 01:43:45 -!- _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has quit [] 01:43:49 Neither comments nor spacing are actually a part of the expression. 01:44:56 You know how people always compare XML with S-expressions, and XML parsers have modes that keep information on whitespace and comments? 01:45:24 There should be an S-expression parser that does this. Of course, it probably won't be implemented using straight "read". :-) 01:45:53 chandler: That 01:45:57 That's the problem 01:46:08 cky: You'd figure that exists. 01:46:18 It's not difficult to write. 01:46:36 The simple recursive state machine I use for coloring syntax in lisppaste essentially does this. 01:46:39 Sure, but you've got to rewrite a Parser 01:47:14 I just figured It ought to exist 10 times over before I go and rewrite it 01:49:17 _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has joined #scheme 01:49:54 <_JFT_> Hi is there anybody using DrScheme on Mac OS X? 01:52:23 _JFT_: I don't use it activelly, but I have it installed, and it runs. 01:52:54 <_JFT_> Arelius: I am trying to setup SLIB and I have some issues... (getenv) is not consistent?! 01:53:11 <_JFT_> Arelius: it sees some env variables but not others?! 01:53:24 within the same program? 01:53:26 <_JFT_> Arelius: (getenv "HOME") reports my home directlry 01:53:29 <_JFT_> Arelius: yes 01:53:44 <_JFT_> Arelius: but (getenv "PLTHOME") is not even seen, it returns #f 01:53:55 <_JFT_> I have updated my .profile and relogged 01:54:22 <_JFT_> Arelius: so the (getenv ) seems bugged?! or there is something special on macosx config for DrScheme... 01:54:28 _JFT_: You're launching DrScheme from the GUI, right? 01:55:00 <_JFT_> foof: yes, and I tried relauching the Finder after updating my .profile and when it failed I logged out an relogged in 01:55:21 <_JFT_> foof: are you going to tell me I need to reboot? :P 01:55:37 I suspect OS X doesn't send .profile env vars to Cocoa apps 01:55:44 or rather gui launched apps 01:56:02 It doesn't. 01:56:14 .profile only affects bash 01:56:24 <_JFT_> Arelius: ... I am a bit surprised to say the least... I have ran on OS X for a few years and never realised this?! I'm quite baffled now... 01:56:29 _JFT_: Try running DrScheme from the terminal. 01:56:59 on my machine the command is: /Applications/PLT\ Scheme\ v4.1.4/DrScheme.app/Contents/MacOS/DrScheme 01:57:23 <_JFT_> foof: it did it! Dang I feel such a fool for not knowing that one! 01:57:41 If you want to set environment variables for GUI apps, use launchd 01:57:52 <_JFT_> chandler: how? 01:59:06 _JFT_: man launchd.conf 01:59:14 <_JFT_> chandler: ok thank you! 01:59:48 luz [n=davids@189.122.121.232] has joined #scheme 02:00:22 also look at the launchctl man page 02:00:24 jedc [n=jed1@c-98-232-225-102.hsd1.or.comcast.net] has joined #scheme 02:01:18 <_JFT_> chandler: Thanks again I will. 02:07:12 pants1 [n=hkarau@69-196-190-240.dsl.teksavvy.com] has joined #scheme 02:08:22 -!- pantsd [n=hkarau@69-196-168-55.dsl.teksavvy.com] has quit [Read error: 60 (Operation timed out)] 02:09:28 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 02:14:10 pitui [n=pitui@135.207.174.197] has joined #scheme 02:16:02 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 02:16:33 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 02:23:08 http://www.gia.ist.utl.pt/~aml/Links/pattern-language-for-refactoring.ps 02:24:25 -!- _JFT_ [n=_JFT_@modemcable183.11-202-24.mc.videotron.ca] has quit [] 02:34:09 arcfide [n=arcfide@adsl-99-14-211-141.dsl.bltnin.sbcglobal.net] has joined #scheme 02:37:08 Arelius: Are you looking for a way to replace names? 02:42:22 eli: That's the main thing 02:43:06 underspecified [n=eric-n@leopard175.naist.jp] has joined #scheme 02:43:32 but I figure that more powerful transformation support would prove useful in the future. 02:46:32 Arelius: In the case of just identifiers, you can get it easily with PLT. 02:46:44 ? 02:46:52 The basic idea would be to use `read-syntax' on the file you want to transform, 02:47:23 the result will be a syntax object, and you can easily "flatten" all the pairs (and other things, like vectors, if you use them) out. 02:47:49 Then you're left with an S-expr, where instead of symbols you have identifiers -- 02:48:08 these identifiers are basically the same as symbols for your needs, except that they have source information, 02:48:17 huh 02:48:30 Couldn't the same be used for other sorts of transformations? 02:48:34 so you scan the sexpr and decide what to change, then use the location information to transform the file. 02:48:45 (That is, translate the renaming to editing operations.) 02:48:56 Yes, the same could be applied to any transformation. 02:49:10 In fact, there was an idea at some point to use macros for refactoring. 02:49:26 Yeah, read-syntax seems to be bascially what I wanted 02:49:28 Macros are not really the right term here, but it's close. 02:49:55 Sure 02:49:58 Anyway, to do other kinds of transformation, you need to work directly on the syntax, so you have source information for expressions too. 02:50:16 But you *will* need to decide what to do with whitespaces and comments. 02:50:46 For example, if you want to rewrite (foo (bar )) to (foo bar), then if you see code like: 02:51:09 (foo (bar something ; some comment 02:51:09 something else)) 02:51:17 Sure enouh 02:51:44 So in this case you can just do that -- work directly on the syntax objects. 02:53:07 tjafk2 [n=timj@e176218153.adsl.alicedsl.de] has joined #scheme 02:53:12 The relevant functions are `syntax-e', `syntax-position' and `syntax-span' 02:53:41 rudybot: eval (define foo (read-syntax 'test (open-input-string "(foo bar)"))) 02:53:43 rudybot: eval foo 02:53:44 eli: ; Value: # 02:53:49 rudybot: eval (syntax-e foo) 02:53:50 eli: ; Value: (# #) 02:53:59 rudybot: eval (syntax-position (cadr (syntax-e foo))) 02:54:00 eli: ; Value: 6 02:54:04 rudybot: eval (syntax-span (cadr (syntax-e foo))) 02:54:04 eli: ; Value: 3 02:54:27 Arelius: So, roughly like this: 02:54:45 rudybot: eval (define src "(foo bar)") 02:55:03 rudybot: eval (define stx (read-syntax 'test (open-input-string src))) 02:56:06 rudybot: eval (define (get-position stx) (let ([p (sub1 (syntax-pos stx))]) (list p (+ p (syntax-span stx))) )) 02:56:27 rudybot: eval (get-position (cadr (syntax-e srx))) 02:56:28 eli: error: reference to undefined identifier: srx 02:56:31 rudybot: eval (get-position (cadr (syntax-e stx))) 02:56:32 eli: error: reference to undefined identifier: syntax-pos 02:56:41 rudybot: eval (define (get-position stx) (let ([p (sub1 (syntax-position stx))]) (list p (+ p (syntax-span stx))) )) 02:56:42 rudybot: eval (get-position (cadr (syntax-e stx))) 02:56:42 eli: ; Value: (5 8) 02:56:47 -!- pumpkin is now known as ceilingcat 02:56:55 rudybot: eval (apply substring src (get-position (cadr (syntax-e stx)))) 02:56:55 eli: ; Value: "bar" 02:57:08 rudybot: eval (apply substring src (get-position stx)) 02:57:09 eli: ; Value: "(foo bar)" 02:57:13 Arelius: ThereYouGo. 02:57:20 huh 02:57:28 *ceilingcat* iz watchin u 02:57:43 That's pretty awesome 02:57:46 *eli* goes to get the broom 02:57:51 onoes 02:58:22 Arelius: The `sub1' is there, btw, because positions are counted from 1. 02:58:57 -!- ceilingcat is now known as pumpkin 02:59:01 Arelius: And at any point you can use `syntax->datum' to get the corresponding plain sexpr, so you can decide how to transform 02:59:19 Arelius: Or, of course, you can just use syntax-case to do the transformation. 02:59:43 An nice thing about that approach would be that if you apply a transformation like 03:00:00 (synatx-case stx () [(foo bar) #'(foo bar bar)]) 03:00:26 then translate it to editing operations -- so the result will have the `bar' expression (with the same location) duplicated, 03:00:38 which means that if there was a comment in it, then the comment would be duplicated too. 03:00:48 syntax->datum has always been problematic for me. It produces things that work, but when you export them they break. 03:01:17 Arelius: And one last thing -- I know about someone who is interested in the macro approach, in case you want to be a little more serious about this. 03:02:06 synx: `syntax->datum' is not problematic at all; trying to export its result is -- which makes perfect sense in Scheme: a datum is a symbol, and we don't export symbols, we export identifiers. 03:02:30 synx: Translation: you shouldn't treat the result of `syntax->datum' as if it's syntax. It's not. 03:03:15 All I did was syntax->datum something, manipulated the datum, then datum->syntax, all within the define-syntax lambda. 03:03:54 But symbols I added were not exported... clearly it takes a lot more than I am capable of to understand the usage of such things. 03:04:17 synx: `datum->syntax' *is* the problematic direction. 03:04:18 eli: I am actually, though I'd like to play with this a bit first 03:04:39 OK datum->syntax then, shows how much I know. 03:05:06 Like I changed #(a b c) into #(foo a b c), but when I required the syntax with a prefix it didn't go to #(prefix:foo a b c) like I needed. 03:05:11 synx: Think about it this way: `syntax->datum' is easy because it removes information, to go back, you need to add that kind of information in, and then you need to decide where you got it from. 03:05:22 Arelius: Actually, you tickled me enough, maybe I'll try it. 03:05:51 synx: You can cause all manner of trouble by removing all the syntactic information from a syntax object and then putting a single, arbitrary bit of syntax information back onto it by doing a syntax->datum->syntax. 03:05:55 It'd be interesting to try to record modifications to the datum 03:06:03 so that you could then rewrite the source 03:06:08 In a general sort of way 03:06:14 Not sure if it'd be possible 03:07:19 That's true arcfide. Wouldn't know how to get the syntax for "foo, but prefix:foo when a prefix is added" though. 03:07:30 It's not a big deal. The whole idea was overcomplicated in the first place. 03:07:34 synx: Are you talking about prefixing some identifier? 03:08:08 If I understand your goal, the transformation of (foo a b c) => (prefix:foo a b c) while maintaining enough information can be done fairly easily. 03:08:43 I had a procedure foo. I wanted to take a s-expression and prefix foo to every list, so that it would call foo as the procedure, with the actual procedure as its first argument. 03:08:58 GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has joined #scheme 03:09:03 -!- tjafk1 [n=timj@e176204220.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:09:09 synx: You mean essentially like APPLY? 03:09:19 Or actually... the first argument is just the symbol that would have been a procedure, had it have been normal syntax. 03:09:34 synx: You mean, like eval? 03:09:49 I mean like (something (a b c)) which becomes equivalent to (foo 'a b c) 03:10:06 or prefix:foo when (require (prefix-in prefix: ...)) in plt 03:11:13 Really it probably would be easier just to make a special language that applied procedures in a special way, than to translate all expressions into having that "wrapper" procedure process them. 03:11:40 Since the former is face scraping eye popping difficult, I kind of gave up on trying the latter. 03:12:12 synx: Doing the above in a clean way shouldn't be too hard, although I don't know about your prefix stuff. 03:12:17 I'm not sure what you want to do with the prefixing. 03:12:56 It was sort of a sneaky way to produce HTML from a s-expression, on the syntax level. 03:13:19 As opposed to just using real s-expressions. 03:13:20 :-) 03:13:28 "Procedure foo takes the name of a tag, attributes and contents, and returns a thunk that produces the HTML when called." 03:13:35 Right. 03:13:51 I mean I was using real s-expressions, but I wanted a syntax level transformation. 03:16:13 sepult [n=buggarag@xdsl-87-78-31-177.netcologne.de] has joined #scheme 03:18:19 synx: (define-syntax entag (lambda (x) (syntax-case x () [(k (tag attr contents)) #`(#,(datum->syntax #'k 'foo) 'tag 'attr 'contents)]))) 03:18:47 #`...? 03:19:03 Quasisyntax, a la quasiquote. 03:19:13 ooh 03:19:22 synx: But that's not really important. 03:19:29 -!- Axioplase_ is now known as Axioplase 03:19:38 So what does (datum->syntax #'k 'foo) do exactly? 03:20:13 The important thing is that the above maintains all the syntactic information about tag, attr, and content, while still introducing a new reference in the same place as the 'something' stuff. 03:20:40 It creates a new syntax object from a datum that has the same syntactic information or "scope" as the first argument. 03:20:46 I never understood how that #'k thing somehow makes the resulting #'foo symbol retain knowledge of what module it's in. 03:21:25 I would have just used #'foo and puzzled at why it didn't work. 03:21:43 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 03:21:43 synx: The 'x' above is a syntax object that contains datum about the form of the expression, but it also contains other information about the syntax, often times things like source location and scoping. 03:21:51 s/datum/a datum/ 03:22:00 Eh, whatever. 03:23:10 problem is it needs to recursively insert foo in there. So (entag (html (body (p something something)))) couldn't just become (foo 'html '(body (p something something))), my intention was (foo 'html (foo 'body (foo 'p something something))) 03:23:16 synx: When the syntax is destructured with syntax-case, each of the pattern variables above when referenced in something like 'syntax', have the same syntactic information as the originating expression. The implementation of 'datum->syntax' knows how to get at that information, and can wrap the datum pass to it in the same information. 03:23:41 destructured? ._. 03:24:22 You'll have to recur down the s-expression then, and you'll have to understand the structure. 03:24:42 So (datum->syntax #'k 'foo) somehow knows that it's being called inside a syntax-case and analyzes that? 03:25:25 synx: 'datum->syntax' is passed syntax information by way of the first argument. It extracts the syntax information from the first argument (which is a syntax) and then wraps the second argument in that same information to make a new syntax object. 03:25:29 eno_ [n=eno@adsl-70-137-135-152.dsl.snfc21.sbcglobal.net] has joined #scheme 03:25:34 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 03:25:54 synx: It doesn't not need to know anything about where it is being called. 03:26:16 Yes, but (datum->syntax #'k 'foo) extracts info from #'k, but that same info seems not to be present in #'foo without the datum->syntax 03:26:22 synx: You can actually save a syntax object from one place and then pass it around a bit, and then use 'datum->syntax' with this information, and it will work. 03:26:30 s/doesn't/does/ 03:27:11 synx: Right, because #'foo isn't wrapping foo in any additional information. 03:27:32 synx: That's the whole point behind 'datum->syntax', otherwise we wouldn't need it. 03:27:46 I just ended up following eli's advice and just making a bunch of procedures that all called foo with each appropriate argument information. 03:27:58 synx: That's the better way to do it. 03:28:11 So (define-named-tag html head title body a p hr b i etc) 03:28:33 -!- luz [n=davids@189.122.121.232] has quit ["Client exiting"] 03:28:47 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit [Read error: 110 (Connection timed out)] 03:33:17 http://planet.plt-scheme.org/package-source/synx/xml-maker.plt/1/0/xml.ss 03:33:43 probably should remove that snarky comment about eli, because it really does work quite well. 03:34:09 I'm still not convinced the name of an XML tag is necessarily an identifier for a procedure. 03:37:35 synx: feel free to remove the comment, the turning to procedures, or both. Especially the procedures thing -- learning the hard way is more effective. 03:38:33 No it's not. You're far more likely to end up irrational and bitter and not learn the lesson than if it's presented the soft way. 03:39:29 The hard way is "Stop asking questions and shut up." It's a non-answer, that you only use as a last resort when your student is unable to reason out the answer themselves. I mean no offense, but I'm not out of school for my health. 03:40:19 I may understand one day, but for now I just do it without understanding, for expediency. 03:56:04 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 03:56:38 -!- GreyLensman [n=ray@c-76-109-2-157.hsd1.fl.comcast.net] has left #scheme 03:57:51 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 04:01:09 synx: that's all perfectly fine -- if you think that learning the hard way is better then don't let me stop you. 04:02:22 I didn't say that. I was trying to emphasize that learning the hard way is not as a general rule more effective. A common myth is that it is. 04:04:20 synx: No problems then... I think that I gave enough reasons why using bindings for the xml generators being functions. 04:17:09 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 60 (Operation timed out)] 04:30:21 -!- jedc [n=jed1@c-98-232-225-102.hsd1.or.comcast.net] has quit ["Leaving"] 04:37:32 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:38:17 karlw [n=karl@adsl-99-157-202-142.dsl.pltn13.sbcglobal.net] has joined #scheme 04:39:53 is there a pascal<->scheme bridge? 04:48:53 no 04:49:06 there is a fp2c c2scheme bridge 04:49:31 with ffi 05:03:41 -!- arcfide [n=arcfide@adsl-99-14-211-141.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 05:12:20 saccade_ [n=saccade@66.31.41.238] has joined #scheme 05:13:15 well, obviously 05:16:02 foof [n=user@walnut.naist.jp] has joined #scheme 05:17:07 karlw: i've come from 8 weeks into the future to bring you a message 05:17:24 karlw: you are responsible for writing the pascal<->scheme bridge that changed the world 05:19:49 karlw: i've come from 4 weeks into the future to bring you a message, you wrote a Scheme in Pascal 05:19:57 :) 05:20:52 karlw: also, your grandson^6 use paschemal to calculate how to beam aboard starships travelling at warp speed 05:21:33 karlw: remember, "space is the thing that moves" 05:23:32 -!- eno_ is now known as eno 05:25:29 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:34:23 -!- karlw [n=karl@adsl-99-157-202-142.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 05:48:40 Haha 06:01:03 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 06:07:26 -!- saccade_ [n=saccade@66.31.41.238] has quit [Read error: 110 (Connection timed out)] 06:09:37 underspecified_ [n=eric@isa7-dhcp-116-228.naist.jp] has joined #scheme 06:24:16 ikaros [n=ikaros@f051047025.adsl.alicedsl.de] has joined #scheme 06:35:25 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 06:56:59 sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 07:02:08 -!- eno [n=eno@adsl-70-137-135-152.dsl.snfc21.sbcglobal.net] has quit [hubbard.freenode.net irc.freenode.net] 07:02:08 -!- pbusser2 [n=peter@ip138-238-174-82.adsl2.static.versatel.nl] has quit [hubbard.freenode.net irc.freenode.net] 07:06:57 eno_ [n=eno@adsl-70-137-135-152.dsl.snfc21.sbcglobal.net] has joined #scheme 07:07:08 eno [n=eno@adsl-70-137-135-152.dsl.snfc21.sbcglobal.net] has joined #scheme 07:07:08 pbusser2 [n=peter@ip138-238-174-82.adsl2.static.versatel.nl] has joined #scheme 07:07:13 -!- eno [n=eno@adsl-70-137-135-152.dsl.snfc21.sbcglobal.net] has quit [Remote closed the connection] 07:07:27 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 07:11:30 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 07:13:32 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 07:24:43 -!- ikaros [n=ikaros@f051047025.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 07:31:09 -!- foof [n=user@walnut.naist.jp] has quit [Read error: 110 (Connection timed out)] 07:32:01 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 07:33:13 barney [n=bernhard@p549A28EF.dip0.t-ipconnect.de] has joined #scheme 07:47:28 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 07:50:40 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 07:59:59 -!- underspecified_ [n=eric@isa7-dhcp-116-228.naist.jp] has quit [] 08:12:21 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 08:14:32 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [Client Quit] 08:15:53 -!- raikov [i=cbb5f30b@gateway/web/ajax/mibbit.com/x-ca5a0cdaf3d12509] has quit ["http://www.mibbit.com ajax IRC Client"] 08:18:53 alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has joined #scheme 08:23:38 -!- alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has quit [Client Quit] 08:33:50 HG` [n=wells@xdsled029.osnanet.de] has joined #scheme 08:40:10 mike [n=m@dslb-088-067-043-144.pools.arcor-ip.net] has joined #scheme 08:40:38 -!- mike is now known as Guest65922 08:41:16 athos [n=philipp@92.250.250.68] has joined #scheme 08:47:53 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 08:50:48 -!- jao [n=jao@94.Red-88-6-175.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 08:52:17 foof [n=user@dn157-046.naist.jp] has joined #scheme 08:54:08 -!- Guest65922 is now known as mike______ 09:03:59 x35 [n=x@unaffiliated/kenen] has joined #scheme 09:13:04 elias` [n=me@host217-42-207-213.range217-42.btcentralplus.com] has joined #scheme 09:17:03 thesnowdog_ [n=thesnowd@114.73.168.226] has joined #scheme 09:17:55 -!- barney [n=bernhard@p549A28EF.dip0.t-ipconnect.de] has quit [Remote closed the connection] 09:18:29 -!- Axioplase is now known as Axioplase_ 09:18:55 -!- thesnowdog [i=thesnowd@114.73.28.195] has quit [Nick collision from services.] 09:19:09 -!- thesnowdog_ is now known as thesnowdog 09:24:18 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 09:27:14 jewel_ [n=jewel@dsl-242-134-212.telkomadsl.co.za] has joined #scheme 09:37:59 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 09:43:19 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 09:51:26 npe [n=npe@195.207.5.2] has joined #scheme 09:54:56 -!- foof [n=user@dn157-046.naist.jp] has quit [Remote closed the connection] 09:55:01 foof [n=user@dn157-046.naist.jp] has joined #scheme 10:01:22 jao [n=jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 10:27:19 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 10:32:06 underspecified_ [n=eric@softbank220043052007.bbtec.net] has joined #scheme 10:36:18 MrFahrenheit [n=RageOfTh@92.36.149.158] has joined #scheme 17:39:27 ccl-logbot [n=ccl-logb@master.clozure.com] has joined #scheme 17:39:27 17:39:27 -!- names: ccl-logbot ebzzry cracki athos jonrafkind melgray ineiros dlt_ jlongster fishey dudleyf sad0ur mmc annodomini bombshelter13_ ikaros Nshag mrscheme cel langmartin cky luz soupdragon exexex pantsd Edico jewel MrFahrenheit underspecified_ foof thesnowdog mike______ HG` hkBst pchrist pbusser2 eno sphex_ CaptainMorgan tjafk2 underspecified pitui Ppjet6 acarrico pfo leppie Arelius proq araujo poucet dmoerner gnomon marcoecc danking peddie rudybot 17:39:27 -!- names: mornfall socialite sladegen synx Kusanagi saccade X-Scale ada2358 p1dzkl tltstc ray rdd CSdread_ Fade qebab Xomas Poeir_ Elly offby1 Deformative Adrinael incubot duper-_ duper` erg bohanlon kandinski dfeuer minion mreggen Khisanth Mr_Awesome joast mmmulani mbishop REPLeffect Leonidas elf m811 rumbleca glogic ecraven klutometis nicktastic hosh tttsssttt etoxam tessier certainty felipe bunz wastrel Riastradh nasloc__ elmex hiyuh clog stepnem 17:39:27 -!- names: kazzmir lisppaste Axioplase_ rodge slashcom tizoc Quadrescence XTL tarbo maskd sjamaan specbot dlouhy zbigniew yosafbridge tabe rotty eli r0bby guenthr michaelw ski Maddas chandler Debolaz duncanm z0d heat ski_ ski__ nemik 17:40:10 Yes soupdragon like passing a continuation as the final state of the pipeline, it'll "return" that value when it calls the last "next" procedure. 17:40:52 pumpkin [n=pumpkin@pat9.border1-cfw.dartmouth.edu] has joined #scheme 17:41:07 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 17:41:23 i'm not sure why you'd need continuations to implement monads.. you can actually simulate continuations with monads 17:41:48 synx: here's a not really workign implementation of monads in CL i came across once http://paste.lisp.org/display/71196 17:41:51 I just explained a moment ago mrschemer 17:42:06 soupdragon: i didn't understand your explanation 17:42:15 do you know AMB? 17:42:18 uh...defmacro... 17:42:25 and i've seen an implementation without continuations, so that confused me more 17:42:47 synx: just imagine it's nice and hygenic :) 17:43:10 all you need really is a way to keep track of the type of the monad that's being pased to bind and return 17:43:17 you don't remember AMB 17:43:23 which should be methods that you specialize on each monad type 17:43:38 rotty: syntax parameters need to play nicely with expansion, you can see the not-too-big implementations in "collects/scheme/stxparam.ss". 17:44:39 I like hygenic macros, because I can actually read them. defmacro just leaves me guessing at what it means, unable to determine. 17:45:03 this guy yesterday says the opposite 17:45:25 synx: you can't read explicit renaming ones either? 17:45:49 explicit renaming...? 17:46:24 explicit renaming macros, so you can write macros without the pattern matching stuff and still be hygenic 17:47:16 Never heard of them, sorry. 17:47:24 but anyway, even if you can't read the macros, the methods are what're important 17:47:51 synx: What you like is probably `syntax-rules', which is very understandable without any need to understand code. That can be implemented using `syntax-case' or explicit renaming. (And some people like explicit renaming for a reason that is beyond me.) 17:49:12 you can see at the bottom he defines map, join, and unit for each monad type 17:54:23 if you're just interested in monads, this is a good paper to read on them http://groups.csail.mit.edu/pag/reading-group/wadler-monads.pdf 17:56:53 zomg monads 18:13:37 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 18:22:41 -!- zbigniew is now known as zbigniew_ 18:22:50 -!- zbigniew_ is now known as zbigniew 18:26:05 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 18:27:30 Dark_Misery [n=Dark_Mis@218.75.199.238] has joined #scheme 18:28:17 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 18:29:03 amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has joined #scheme 18:34:34 -!- Dark_Misery [n=Dark_Mis@218.75.199.238] has left #scheme 18:34:39 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 18:38:03 -!- pitui [n=pitui@135.207.174.197] has quit [Read error: 110 (Connection timed out)] 18:38:46 jao [n=jao@94.Red-88-6-175.staticIP.rima-tde.net] has joined #scheme 18:39:20 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 18:43:41 -!- dudleyf [n=dudleyf@65.243.31.107] has quit [] 18:51:25 -!- cel [n=cel@116.Red-83-57-136.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 18:54:37 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 19:02:07 -!- aack [n=user@a83-161-214-179.adsl.xs4all.nl] has quit [Remote closed the connection] 19:04:24 Mr-Cat [n=Mr-Cat@95-24-117-19.broadband.corbina.ru] has joined #scheme 19:04:28 -!- luz [n=davids@139.82.89.70] has quit ["Client exiting"] 19:07:53 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Remote closed the connection] 19:11:33 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 19:12:04 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 19:14:19 arcfide [n=arcfide@adsl-99-14-211-141.dsl.bltnin.sbcglobal.net] has joined #scheme 19:20:24 -!- ebzzry [n=ebzzry@124.217.93.28] has quit ["Leaving"] 19:21:16 -!- arcfide [n=arcfide@adsl-99-14-211-141.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 19:24:01 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 19:26:04 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 19:26:34 -!- pumpkin [n=pumpkin@pat9.border1-cfw.dartmouth.edu] has quit [] 19:29:23 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 19:30:09 thehcdreamer [n=thehcdre@93.37.245.101] has joined #scheme 19:31:02 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["If technology is distinguishable from magic, it is insufficiently advanced."] 19:44:23 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 19:44:43 jao` [n=jao@249.Red-88-18-102.staticIP.rima-tde.net] has joined #scheme 19:46:36 jao`_ [n=jao@249.Red-88-18-102.staticIP.rima-tde.net] has joined #scheme 19:47:29 -!- HG` [n=wells@xdsled029.osnanet.de] has quit [Client Quit] 19:51:30 -!- jao [n=jao@94.Red-88-6-175.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 19:51:42 I've always wondered why I can't access values that I defined in a previous let binding, and could do so in a letrec. 19:51:46 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 19:52:27 it's just the way LET s 19:52:29 is* 19:52:40 Now, I suspect that let/letrec can be implemented using one lambda with multiple arguments (LET) and nested lambdas with one argument (LETREC) 19:52:59 which would explain it reasonably well, even the 'rec' part 19:53:03 -!- jao`_ is now known as jao 19:53:27 am I right, or did I miss something? 19:55:42 you are right 19:56:30 *Leonidas* is totally astonished by the elegance of that approach 19:56:38 lambda the ultimate, truly. 19:58:01 nested lambda's with one argument would be LET*, I think. LETREC is more similar to a fixed point combinator. 20:00:57 -!- thehcdreamer [n=thehcdre@93.37.245.101] has quit [] 20:02:29 -!- jao` is now known as jao`` 20:02:35 -!- jao is now known as jao` 20:02:42 -!- jao`` is now known as jao 20:03:44 wingo [n=wingo@16.Red-81-39-159.dynamicIP.rima-tde.net] has joined #scheme 20:03:58 evenin 20:08:04 arcfide [n=arcfide@adsl-99-14-211-141.dsl.bltnin.sbcglobal.net] has joined #scheme 20:10:50 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 20:11:07 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 20:12:11 Leonidas: you'll find the reasoning for that in pages 43 and 44 of R5RS 20:21:20 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 20:25:55 -!- ikaros [n=ikaros@e180230247.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 20:28:52 ikaros [n=ikaros@e180230247.adsl.alicedsl.de] has joined #scheme 20:34:52 (regexp-match-positions #rx"[:alnum:]" "b") should return (cons 0 1), but it does not. Is this intended behavior? (#lang scheme) 20:36:09 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit ["Leaving"] 20:39:56 TimMc [n=timmc@aurail.ccs.neu.edu] has joined #scheme 20:44:01 jcowan [n=jcowan@72.14.228.89] has joined #scheme 20:44:32 -!- mrscheme [n=user@209.120.179.205] has quit [Remote closed the connection] 20:44:34 *jcowan* unvanishes 20:45:21 -!- jao` [n=jao@249.Red-88-18-102.staticIP.rima-tde.net] has quit ["leaving"] 20:46:40 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 20:53:47 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 20:55:07 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 20:56:53 -!- jcowan [n=jcowan@72.14.228.89] has quit ["Leaving"] 20:57:39 -!- Mr-Cat [n=Mr-Cat@95-24-117-19.broadband.corbina.ru] has quit [Remote closed the connection] 21:01:51 -!- dlt_ [n=dlt@201.80.197.178] has quit [Read error: 60 (Operation timed out)] 21:16:24 pumpkin [n=pumpkin@Aeropuerto.Kiewit.Dartmouth.EDU] has joined #scheme 21:17:11 danking: If this is with PLT, then you should use #px, and you're also missing a pair of brackets 21:17:16 rudybot: eval (regexp-match-positions #px"[[:alnum:]]" "b") 21:17:16 eli: ; Value: ((0 . 1)) 21:21:23 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [No route to host] 21:24:04 Judofyr [n=Judofyr@084202205021.customer.alfanett.no] has joined #scheme 21:24:08 -!- Nshag [i=user@Mix-Orleans-106-1-100.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 21:24:18 Nshag [i=user@Mix-Orleans-106-1-100.w193-248.abo.wanadoo.fr] has joined #scheme 21:24:45 synthase [n=synthase@adsl-220-186-66.mob.bellsouth.net] has joined #scheme 21:26:16 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["soccer, biatches"] 21:29:45 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 21:35:37 Judofyr_ [n=Judofyr@c2391BF51.dhcp.bluecom.no] has joined #scheme 21:36:39 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 21:36:49 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 21:38:48 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 21:42:15 -!- bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has quit [] 21:44:59 rjack [n=rjack@93-42-76-44.ip85.fastwebnet.it] has joined #scheme 21:57:38 -!- Judofyr [n=Judofyr@084202205021.customer.alfanett.no] has quit [No route to host] 22:00:05 -!- Judofyr_ [n=Judofyr@c2391BF51.dhcp.bluecom.no] has quit [Remote closed the connection] 22:00:14 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 22:03:56 -!- tttsssttt [n=pussycat@topol.nat.praha12.net] has quit [Read error: 104 (Connection reset by peer)] 22:04:19 tttsssttt [n=pussycat@topol.nat.praha12.net] has joined #scheme 22:07:21 -!- tttsssttt [n=pussycat@topol.nat.praha12.net] has quit [Read error: 54 (Connection reset by peer)] 22:08:43 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 60 (Operation timed out)] 22:09:58 tttsssttt [n=pussycat@topol.nat.praha12.net] has joined #scheme 22:11:43 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 22:12:36 -!- tttsssttt [n=pussycat@topol.nat.praha12.net] has quit [Read error: 54 (Connection reset by peer)] 22:16:04 mmc [n=mima@cs162149.pp.htv.fi] has joined #scheme 22:19:39 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 22:20:38 -!- jewel [n=jewel@dsl-242-134-212.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 22:25:12 -!- exexex [n=chatzill@85.102.128.103] has quit [Remote closed the connection] 22:26:35 alaricsp [n=alaricsp@217.205.201.45] has joined #scheme 22:26:50 -!- Nshag [i=user@Mix-Orleans-106-1-100.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 22:27:10 ilbuffer [n=buffer@unaffiliated/ilbuffer] has joined #scheme 22:27:32 -!- ilbuffer [n=buffer@unaffiliated/ilbuffer] has left #scheme 22:27:38 -!- Mr_Awesome [n=eric@pool-98-115-38-45.chi01.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 22:27:45 TeddyBear [n=TeddyBea@host215-18-static.88-82-b.business.telecomitalia.it] has joined #scheme 22:27:55 Auror [n=lollitud@93-42-234-77.ip89.fastwebnet.it] has joined #scheme 22:27:58 OMG 22:28:18 ilbuffer [n=buffer@unaffiliated/ilbuffer] has joined #scheme 22:28:26 X0chipilli [n=Shpanzer@adsl-ull-42-35.51-151.net24.it] has joined #scheme 22:28:34 bella vez 22:28:50 paolo ma 22:28:58 ma sta gente? 22:29:16 ma 22:29:18 ma la gente 22:29:27 figa davvero 22:29:31 ilbuffer!!! 22:29:31 italiani su #scheme :o 22:29:36 GENTEEEEEEE GET A LIFE!!!!! 22:29:37 #schema ;) 22:29:41 sì ma vez 22:29:43 scheme 22:29:50 sono allibita 22:29:51 scheme fail 22:29:56 pumpkin, ciao 22:30:04 ciao :) 22:30:09 pumpkin bella 22:30:11 di dove sei? 22:30:13 un Op che banna *.it c'è? 22:30:14 :°D 22:30:24 sono più o meno di roma 22:30:33 voi? 22:30:36 *eli* checks the channel name 22:30:45 invasione italiana!!! 22:30:48 siamo sparsi per l'emilia 22:30:48 ilbuffer, ma perchè -.- 22:30:57 paolo! emilia romagna, plis :D 22:31:08 sisi mi stavo correggendo :D 22:31:08  22:31:11 ghgh 22:31:15 oh, sicuro 22:31:18 e figa è arrivato goku 22:31:20 sono fighi sai 22:31:24 pero' non si capisce -.- 22:31:49 ho preso 24 all'esame di scheme 22:31:53 sono un figo 22:31:57 io solo 19 -.- 22:32:12 ti ha dato 24 poi è morta 22:32:14 -.- 22:32:16 maaaa 22:32:17 davvero 22:32:20 è scheme sul serio 22:32:24 What's with all this moon-man jibba jabba? 22:32:24 o qualcos'altro? 22:32:32 foof:  22:32:36 gnomon, love you too. 22:32:39 dal topic sembra scheme 22:32:43 Auror, :) 22:32:44 scripto bambinos. 22:32:53 oh, please. 22:33:02 nice to meet you all. 22:33:14 and no, no scripkidz. 22:33:17 Likewise! 22:33:22 HAHAHAHAHAHA 22:33:23 well, stop behaving like one. 22:33:23 sladegen, wow, it translates literally? 22:33:54 -.-° 22:33:54 gnomon: don't think so... just trying to have their attention, to stop... 22:33:57 io me ne vado a magna' 22:34:03 to stop what, exactly? 22:34:17 ciao pumpkin 22:34:22 ciao :) 22:34:23 define ( define ( define ( define ()))))))))) 22:34:31 uahahahah 22:34:43 scheme è il linguaggio piu fail della storia 22:34:50 fa troppo cagare gente 22:34:58 trovate una donna e trombatela 22:35:04 ma no scheme...no... 22:35:14 paolo!! ci bannano. 22:35:32 ok basta...xo è vero 22:35:52 What the... 22:36:09 what the... italians. 22:36:51 pumpkin:  22:36:56 ElPinko [n=Elpinko@93-42-76-195.ip85.fastwebnet.it] has joined #scheme 22:37:05 non vale parlare in koreano. 22:37:06 ecco ElPinko 22:37:09 RageOfThou [n=RageOfTh@92.36.147.105] has joined #scheme 22:37:14 ElPinko, aloha 22:37:21 aloha 22:37:23 oh goku parla almeno in inglese 22:38:00 ma la gente? 22:38:08 ma tutti afk? 22:38:12 circa 22:38:14 ??? c ++ > scheme ??? 22:38:15 nessuno parla 22:38:16 o meglio 22:38:25 ci hanno detto script kids, prima. 22:38:29 bah. 22:38:33 sembrava più 22:38:41 tutti a farsi le seghe e a fare i finti nerd 22:38:43 un "bambini scriptosi" 22:38:48 uhauhauhauh 22:38:55 google transalte sucks guys 22:38:57 rofl 22:39:01 ahahaha 22:39:13 traducete scemidimmerda 22:39:24 X0chipilli, 22:39:28 su math dicono robe assurde 22:39:29 Riastradh, would you please do the needful? 22:39:37 asp che arrivo 22:39:42 nope ¬.¬ 22:39:56 here we go, ban. 22:40:01 -.- 22:40:10 `_` 22:40:23 ma che ban? 22:40:28 i knew thaa... 22:40:42 Hi. 22:41:01 H'lo. 22:41:11 Hi 22:41:35 Sorry to drag you in, but I think we may be in need of your services as a chanop. Would you please quickly examine your scrollback? 22:41:35 aloha 22:41:48 la batteria è completamente ricaricata... 22:42:19 We don't currently have a policy about discussing Scheme in other languages. Can somebody persuade me that these folks are talking about Scheme? If so, then we can discuss whether there ought to be a separate #scheme.it channel. If not, well... 22:42:58 okok, Riastradh, we are currently studying computer science in italy, and we were just curious about this channel. 22:43:18 that's it. we can leave, of course. 22:43:40 A group studying computer science together joins IRC that's awesome 22:43:44 Personally I don't really mind discussing Scheme in other languages here (and to be fair I occasionally interject in French). 22:43:45 Riastradh: That's not the problem, it's not that he's speaking Italian, it's that he's trolling in Italian! 22:44:00 "scheme è il linguaggio piu fail della storia" 22:44:05 foof, am I really trolling? 22:44:13 Which Google translate gives as: "scheme is the language most fail history" 22:44:14 Scheme is the language for failing at stories? 22:44:37 and I say, again 22:44:39 (Romans are the ones who do the going home?) 22:44:46 ElPinko> google transalte sucks guys 22:44:59 not a very good first impression. 22:45:15 scheme is the language with the most disparaging history 22:46:25 yeah the history of scheme is long cruel and bloody. The bodies were just piled to the sky. 22:46:25 scheme is the best language in the history (si colmio belcazzo nel tuoculo) 22:47:03 that's the unfortunate life in #scheme. coup d'etat every two years 22:47:30 so, trolls make this channel more interesting, right? 22:47:54 X0chipilli, scheme was useful in the beginning.. I mean, for educational purposes. 22:47:58 If by "more" you mean "less", ElPinko, sure. 22:48:02 trolls, what trolls? 22:48:21 *gnomon* looks around for X-- L-- 22:48:32 it got really quiet in here when I remembered how to use /ignore 22:48:45 sometimes i mean "more" for "more" 22:49:59 however. if a channel is a place where everyone's silent.. then it's not a place for me :) 22:50:07 white noise could be said to be more interesting than silence... but if you listen to long to it it makes your head hurt. 22:50:07 have a nice day! 22:50:22 Auror: I was just kidding :) 22:50:22 Let's talk about something. 22:50:37 The channel was silent otherwise. 22:50:38 LISP 22:50:51 soupdragon, was that an assertion or a question? 22:50:57 synx, for example? everything but scheme is "trolling" here! 22:51:09 Let's talk about sexp, baby. 22:51:19 anyway 22:51:30 define( scheme facagaree) this isn't trollin 22:51:30 if someone says that scheme sucks 22:51:38 Auror: I've been trying to figure out how to conceptualize a monad in scheme, rather offhandedly. 22:51:49 -!- mmc [n=mima@cs162149.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 22:51:50 he's still talking about scheme, right? 22:52:22 X0chipilli: Argh!!! That's even worse, go back to Italian! 22:52:33 I'm almost thinking a monad is a process more than a data type. 22:52:33 synx, a monad? 22:52:41 synx: there are toy implementations of monads in scheme i think... 22:52:56 synx, a monad is a set of values (implicit in a language such as Scheme), and several operations on that set of values. 22:53:10 'set of values' is a old school way to say 'type' :p 22:53:10 She is a very genius of scheme ---> http://www.cs.unibo.it/~digiusto/immagini/Cinziasel.jpg 22:53:18 omg, here we go, nerds :D 22:53:36 (define (do-monad bind return next) (return (bind) next))...orsomething... 22:53:38 TeddyBear: Too bad she study pi calculus... (boring) 22:53:57 ,g scheme monad 22:54:05 rudybot: google scheme monad 22:54:06 mbishop: eh? Try "rudybot: help". 22:54:08 Riastradh: How is that different from a procedure? 22:54:08 soupdragon, she's our teacher. and she's too boring. 22:54:08 :( 22:54:14 synx, sorry, what is `that'? 22:54:16 AUror: haha 22:54:39 "A set of values and several operations on those values" 22:54:50 Well, a procedure is only one operation! 22:54:54 an object! 22:54:58 -!- MrFahrenheit [n=RageOfTh@92.36.149.158] has quit [Read error: 110 (Connection timed out)] 22:55:13 have scheme a gui? 22:55:26 A monad is a structure with either two or three operations (unit and extend; or unit, join, and map). 22:55:32 procedures do a lot of things... so you mean it's like a list of procedures operating within a closure? 22:55:44 (Sometimes `unit' is called `return' or `eta', and sometimes `extend' is called `bind'.) 22:55:45 OK I can understand that much. 22:55:56 mh...anyway nerds 22:56:20 this is a good way to kick trolls by themeselves 22:56:32 X0chipilli: some implementations do 22:56:33 talkin' about scheme 22:56:35 For example, in the continuation monad, one might have: (define (unit x) (lambda (k) (k x))) (define (extend computation extender) (lambda (k) (computation (lambda (x) ((extender x) k))))) 22:57:15 These operations, together with a set of values (namely, a set of unary procedures), constitute the continuation monad (or `a' continuation monad, at least). 22:58:12 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 22:58:13 here's 1 am, so, good night :)) and nice scheming 22:58:16 -!- wingo [n=wingo@16.Red-81-39-159.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 22:58:17 -!- Auror [n=lollitud@93-42-234-77.ip89.fastwebnet.it] has left #scheme 22:58:42 g'nite schemers 22:58:46 and 22:58:48 get 22:58:48 a 22:58:50 life 22:58:50 mh...mi fate moltapena e tristezza..mi fate moltopene...ciao sfigatidd 22:58:54 So extend itself returns something you could pass to extend? 22:58:58 -!- ElPinko [n=Elpinko@93-42-76-195.ip85.fastwebnet.it] has quit ["~adios~"] 22:59:00 -!- X0chipilli [n=Shpanzer@adsl-ull-42-35.51-151.net24.it] has left #scheme 22:59:19 or even something you could pass to unit. Hm... 23:00:00 return : a -> Ma; extend : Ma -> (a -> Mb) -> Mb 23:00:04 These "unary procedures" would be something like (lambda (k) 1) I assume, to represent 1 23:00:21 return : a -> Ma; map : (a -> b) -> (Ma -> Mb); join : MMa -> Ma 23:02:59 No, synx. Those `unary procedures' are meant to pass the results of computation to their arguments, which are continuations. 23:03:20 kuribas [i=kristof@d54C4348F.access.telenet.be] has joined #scheme 23:03:21 So the computation that does nothing, but yields the value 1, would be represented in the continuation monad as (lambda (k) (k 1)). 23:03:22 oh, so (lambda (k) (k 1)) would represent 1 23:03:24 -!- TeddyBear [n=TeddyBea@host215-18-static.88-82-b.business.telecomitalia.it] has left #scheme 23:03:26 This is, in fact, what you get from (unit 1) 23:03:30 ...according to the previous definition. 23:03:41 Hey, how about that! 23:04:15 but dued Riastardh 23:04:33 (unit (+ 2 3)) does the computation before wrapping it 23:05:13 I think you'd have to go (unit +) (unit 2) and (unit 3) to get it working... 23:05:26 -!- ilbuffer [n=buffer@unaffiliated/ilbuffer] has left #scheme 23:07:16 Yes, soupdragon, but that computation does not have its continuations made explicit, so the parts of the computation can't refer to them. 23:08:33 In the continuation monad, you can define a CWCC like so: (define (cwcc receiver) (lambda (k) ((receiver (lambda (v) (lambda (k*) (k v)))) k))) 23:09:05 This is different from Scheme's built-in CALL-WITH-CURRENT-CONTINUATION procedure, because it reifies only continuations used to sequence actions in the continuation monad; it is not implicitly a part of the language's execution engine like CALL-WITH-CURRENT-CONTINUATION. 23:09:18 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 23:13:42 mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:16:05 wy_ [n=wy@66.194.68.209] has joined #scheme 23:18:00 -!- wy_ [n=wy@66.194.68.209] has quit [Client Quit] 23:18:18 wy_ [n=wy@66.194.68.209] has joined #scheme 23:20:11 -!- underspecified_ [n=eric@softbank220043052007.bbtec.net] has quit [] 23:20:36 -!- mike______ [n=m@dslb-088-067-043-144.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 23:21:30 -!- ikaros [n=ikaros@e180230247.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 23:26:58 -!- ray is now known as ray_ 23:27:20 -!- ray_ is now known as ray 23:31:59 -!- aack [n=user@a83-161-214-179.adsl.xs4all.nl] has left #scheme 23:34:14 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 23:35:58 -!- kuribas [i=kristof@d54C4348F.access.telenet.be] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 23:38:06 -!- rjack [n=rjack@93-42-76-44.ip85.fastwebnet.it] has quit ["leaving"] 23:44:13 -!- Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- foof [n=user@dn157-046.naist.jp] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- saccade [n=saccade_@COMBINATOR.MIT.EDU] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- Fade [i=fade@outrider.deepsky.com] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- Elly [n=elly@unaffiliated/elly] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- minion [n=minion@common-lisp.net] has quit [brown.freenode.net irc.freenode.net] 23:44:13 -!- mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has quit [brown.freenode.net irc.freenode.net] 23:49:02 Greg02 [n=greg@ool-18bc79e7.dyn.optonline.net] has joined #scheme 23:49:02 foof [n=user@dn157-046.naist.jp] has joined #scheme 23:49:02 saccade [n=saccade_@COMBINATOR.MIT.EDU] has joined #scheme 23:49:02 Fade [i=fade@outrider.deepsky.com] has joined #scheme 23:49:02 Elly [n=elly@unaffiliated/elly] has joined #scheme 23:49:02 offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 23:49:02 mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has joined #scheme 23:49:02 minion [n=minion@common-lisp.net] has joined #scheme 23:53:11 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 23:53:40 -!- melgray [n=melgray@70.99.250.82] has quit [] 23:56:03 -!- incubot [i=incubot@klutometis.wikitex.org] has quit [Success]