00:20 (join) vu3rdd 00:20 (quit) vu3rdd: Changing host 00:20 (join) vu3rdd 00:22 (join) freakazoid 01:00 (nick) ChaozZBubi -> chaozzbubi 01:00 (nick) chaozzbubi -> ChaozZBubi 01:39 (quit) EmmanuelOga: Ping timeout: 244 seconds 01:49 (quit) freakazoid: Quit: Computer has gone to sleep. 01:50 (quit) realitygrill: Quit: realitygrill 01:57 (join) ambrosebs 01:59 ambrosebs: does Racket have something similar to typeclasses in Haskell? 02:06 jonrafkind: no, but it does have occurence typing which lets you progressively refine the type using predicates 02:17 ambrosebs: I was thinking, Clojure protocols are similar to typeclasses. I'm porting TR to Clojure and I'm wondering where they might fit 02:19 ambrosebs: Clojure code seems to be less worried about the actual type than which protocols it implements 02:19 jonrafkind: whats the difference between protocols and type classes 02:21 ambrosebs: I think protocols only dispatch on the first argment of the method 02:21 ambrosebs: http://debasishg.blogspot.com/2010/08/random-thoughts-on-clojure-protocols.html 02:21 rudybot: http://tinyurl.com/3xyeuh5 02:22 ambrosebs: any similarity between typeclasses and protocols I've picked up from that post 02:26 jonrafkind: why dont they just use standard terminology, like interface 02:27 jonrafkind: "were gonna use random words for known things. why? f*** you thats why" 02:27 ambrosebs: probably because Clojure can also create Java Interfaces, which are different 02:27 ambrosebs: :) 02:40 (quit) jonrafkind: Ping timeout: 252 seconds 03:18 (join) jao 03:37 (join) Shvillr_ 03:37 (quit) Shviller: Disconnected by services 03:37 (nick) Shvillr_ -> Shviller 03:37 (join) Blkt 03:49 (quit) jao: Ping timeout: 240 seconds 03:56 (join) sindoc 04:18 (join) ahinki 04:19 (quit) dpritchett: Quit: No Ping reply in 180 seconds. 04:45 (join) masm 05:02 (quit) mironovd: Read error: Connection reset by peer 05:19 (quit) jrslepak: Quit: Leaving 05:29 (join) tim-brown 05:29 tim-brown: mornin all 05:30 tim-brown: has anyone done any work with SOAP/WSDL/XML Schema in racket? 05:31 tim-brown: i.e. can i cadge a XMLSchema->match-lambda function off anyone? 05:46 noelw: Thankfully, I've never had to deal with SOAP 05:50 tim-brown: how about xml-schema though? would be a real boost to a lot of XML handling software to have some kind of schema->{validation, signature, match} mechanism 05:51 tim-brown: that said... it's probably my freeloading nature that keeps me from just getting on and doing it myself 05:52 tim-brown: so... if i have an xml schema, any suggestions as to what kind of "structure" would be most useful or idiomatically compatible with racket? 05:56 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/jU59TA 05:56 RacketCommitBot: [racket/master] Revert "adjust the synchronization in check syntax for reading doc results to" - Robby Findler 05:56 RacketCommitBot: [racket/master] brutal changes to check syntax to try to see if they fix the symptom Marijn reports - Robby Findler 05:58 sindoc: tim-brown: what do you mean by signature in this context? 06:00 tim-brown: i meant contract 06:00 tim-brown: sorry 06:01 tim-brown: take an xml schema, produce a contract 06:01 tim-brown: take that contract and compare it to an xexpr that i either want to post or have received 06:01 tim-brown: for validation 06:02 tim-brown: xml schema would be useful for validation of xml documents, or construction of data types 06:02 tim-brown: (but i don't know what would be the most useful data type) 06:02 tim-brown: i'm seriously considering a "match", since it can both validate, and extract data 06:03 tim-brown: (by validate, i mean throw an exception... but that's good enough for me) 06:03 tim-brown: (and when I state "I meant contract", I'm actually saying "I think I meant contract") 06:05 sindoc: What I understand by you saying "I think I mean contract" is that you'd like to generate Racket contracts, given an XML Schema instance 06:06 sindoc: and of course use those contracts afterwords to validate an XML document 06:06 (quit) vu3rdd: Remote host closed the connection 06:09 sindoc: Sorry, I have to go! 06:13 tim-brown: sindoc: you got the idea. cya later 06:21 sindoc: tim-brown: I'm back :) 06:22 sindoc: I too have thought about Racket and XML in general 06:22 sindoc: http://www.lichteblau.com/cxml-rng/ 06:22 sindoc: http://common-lisp.net/project/cxml/ 06:22 tim-brown: i'm not sure that there is any merit in taking an xml:schema and producing anything that creates xml (or xexpr) documents from it -- it's just too easy to use lists 06:24 (quit) ambrosebs: Ping timeout: 268 seconds 06:26 tim-brown: cxml uses DTDs as its "schema" description (which is fair enough, as they can be embedded in the XML document themselves) 06:26 sindoc: cxml-rng supports RELAX NG 06:27 sindoc: which for the sake of argument, can be considered equivalent to XML Schema; even though they're not 06:28 tim-brown: i was going to ask, is that compatible with XML Schema... but... 06:28 tim-brown: are you suggesting that it's likely to be more of a "renaming" than a "restructuring" exercise 06:28 tim-brown: although it's a CLISP->scheme port? 06:30 sindoc: Now, I'm discussing in high-level mode 06:30 sindoc: it would not really matter which XML grammar we would use 06:31 tim-brown: ... I'm starting to get a picture of how cxml-rng goes about this 06:32 sindoc: Whether it be RELAX NG or W3C XML Schema 06:32 sindoc: In fact, Racket is the perfect platform to support, say the RELANG NG Compact Syntax 06:34 sindoc: Only in the sense that it is very natural to create a parser and hook it to existing eval engine 06:36 sindoc: As to your initial question, the answer is: to my knowledge, there's no library that helps validate XML documents agains instances of XML Schema 06:36 tim-brown: I've just rediscovered what has put me off in the past... data validation 06:37 sindoc: Then again, I hope someone would say otherwise 06:37 tim-brown: XML Schema has a particularly, er, challenging way of describing it 06:37 tim-brown: Or maybe that's just a perspective I have 06:38 sindoc: I have never thought of a contract-based approach to XML validation; at least not in Racket 06:39 sindoc: My instinct says: contracts may come in very handy for providing higher-order XML validation 06:40 sindoc: such as Schematron 06:40 tim-brown: They may, indeed... for immediate use, "match"ing might be a more practical use 06:42 sindoc: This discussion has two threads —at least the way I see it 06:42 sindoc: One is your initial question 06:43 tim-brown: Which still stands... since I'm presented with WSDL descriptions containing xml schemata 06:43 sindoc: The other is a higher-level discussion as to interfacing with XML in Racket 06:43 sindoc: let's now focus on the first one 06:44 sindoc: Have you thought about wrapping a native validator in Racket? 06:44 sindoc: This will of course be no more than a wrapper to a library, probably written in C 06:45 sindoc: but it will help you do what you want to do 06:45 tim-brown: Let's step back a mo... 06:46 tim-brown: I actually want the data from the document 06:46 tim-brown: Validation would be a side effect of having a "valid" document from which to extract the data 06:47 sindoc: Could you please clarify as to what are referred to by "the document" and "the data"? 06:51 tim-brown: one step further back... 06:51 tim-brown: this is in the context of my wanting to make/handle SOAP requests 06:52 tim-brown: i'm trying to get my head around how i express the input to my RPC calls 06:52 tim-brown: and interpret the results 06:52 sindoc: Would you like to generate SOAP instances, given a WSDL instance? 06:52 tim-brown: indeed 06:53 tim-brown: so far, I have used hand-written "match"es, from WSDL 06:53 tim-brown: and hand written request builders 06:54 sindoc: There is a quick solution 06:54 tim-brown: that's worked for me in a couple of instances, but it seems to me that i have this structured description... 06:54 tim-brown: why can't i automate it 06:54 tim-brown: ? 06:55 tim-brown: Iron-Scheme? 06:55 sindoc: Racket allows you to parse XML document 06:55 sindoc: *XML dcuments 06:55 sindoc: Could you not parse the WSDL instance 06:56 (join) epsil 06:56 sindoc: and generate xexpr, which you would then serialize into XML 06:56 sindoc: BUT 06:56 sindoc: I personally would have done it in XSLT 06:56 sindoc: since both input and output are XML 06:57 sindoc: In other words, a priori, based on your descriptions, I don't really see why Racket is needed in this problem instance 06:58 tim-brown: http server -- plus i have a lot of other work to do on the document 06:59 sindoc: Even better, given the assumption that both and input and output are XML, isn't there a Free -as in Freedom- library that provides such feature? 07:00 sindoc: By HTTP server, do you mean that you are handling HTTP requests in Racket? 07:00 tim-brown: would like to 07:01 tim-brown: I have an interface in C# that uses the WSDL to produce "objects" representing SOAP transactions. 07:01 tim-brown: And SOAP, being a Microsoft beastie is well supported in C# 07:01 tim-brown: I'd just like to see the same in Racket 07:02 sindoc: Again, if you find a suitable library, you can consider writing wrappers for it in Racket 07:03 tim-brown: There is an xml-rpc library on planet; so I'm just a little frustrated that there isn't something supporting SOAP (in raw scheme) 07:05 sindoc: You can still use Racket if you make a REST interface that calls the service implemented in C# 07:06 sindoc: This way, you use Racket, you do "that thing" namely SOAP generation in C# via a simple HTTP request 07:06 sindoc: Then back in Racket, you keep having real fun ;) 07:07 sindoc: I have to go now though 07:07 sindoc: It was nice talking to you tim-brown 07:07 tim-brown: thanks for chewing that trhough with me 07:07 tim-brown: appreciated 07:08 sindoc: No problem 07:12 (quit) epsil: Quit: WeeChat 0.3.5 07:19 (join) jao 08:10 (join) noam__ 08:11 (quit) noam__: Read error: Connection reset by peer 08:13 (join) epsil 08:13 (quit) noam_: Ping timeout: 248 seconds 08:17 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/NpwGCA 08:17 RacketCommitBot: [racket/master] fix race in subprocess test - Matthew Flatt 08:17 RacketCommitBot: [racket/master] fix `raco make --no-deps' - Matthew Flatt 08:19 (join) ambrosebs 08:26 (quit) masm: Quit: Leaving. 08:36 (join) EmmanuelOga 08:53 (part) sindoc 09:15 (join) yoklov 09:20 yoklov: hey, is there any way to get something like paredit-mode in drracket? 09:20 yoklov: i know i can have it so it closes the parens i open, but if i type a closing one that unbalances the expression 09:30 yoklov: and there are various other paredit-like keybindings, but i wanted to know if i could get drracket to ensure that the s-expressions i type are always balanced 09:31 noelw: I don't think so. 09:31 noelw: Danny Yoo worked on something a while ago, but I don't think it has been maintained 09:37 yoklov: alright 09:48 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/Xk44pQ 09:48 RacketCommitBot: [racket/master] Small spelling error - Jordan Schatz 10:08 (join) sindoc 10:12 (join) noam 10:29 (quit) EmmanuelOga: Quit: WeeChat 0.3.7-dev 10:50 (join) jrslepak 10:50 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 9.0/20111206234556] 10:52 (join) anRch 10:53 (join) realitygrill 10:55 (join) freakazoid 10:58 (join) anRch_ 10:58 (quit) anRch: Ping timeout: 244 seconds 10:58 (nick) anRch_ -> anRch 11:01 (quit) jschuster: Remote host closed the connection 11:03 (join) anRch_ 11:04 (quit) anRch: Read error: Connection reset by peer 11:04 (nick) anRch_ -> anRch 11:12 (quit) sindoc: Ping timeout: 248 seconds 11:24 (quit) jrslepak: Quit: This computer has gone to sleep 11:29 stamourv: yoklov: There's divascheme, which is (I think) what noelw was referring to. 11:29 noelw: Yeah, that's the one 11:29 stamourv: Although IIRC, it had a bit of a vi-ish flavor to it. 11:32 (part) noelw 11:32 (join) noelw 11:32 noelw: It had modes, IIRC. So yes, vi-ish. 11:32 noelw: The horror 11:40 (quit) freakazoid: Quit: Computer has gone to sleep. 11:42 (join) dnolen 11:49 (quit) anRch: Quit: anRch 11:56 (join) anRch 12:01 (join) sindoc 12:01 (quit) sindoc: Client Quit 12:07 (join) MayDaniel 12:23 (quit) Blkt: Remote host closed the connection 12:27 (join) jonrafkind 12:32 (quit) anRch: Quit: anRch 12:34 (join) malkomalko 12:38 (quit) yoklov: Quit: Leaving. 12:49 (join) yoklov 12:53 (quit) yoklov: Client Quit 12:54 (nick) ChaozZBubi -> chaozzbubi 12:54 (nick) chaozzbubi -> ChaozZBubi 13:04 (quit) loz`: Remote host closed the connection 13:06 (join) loz` 13:06 (quit) loz`: Remote host closed the connection 13:06 (join) loz` 13:07 (quit) MayDaniel: Read error: Connection reset by peer 13:20 (join) freakazoid 13:39 danking: Does this exist/am I insane for wanting it? https://gist.github.com/1473268 13:46 jonrafkind: (for #:when ...) 13:47 (join) anRch 13:55 asumu: rudybot: doc do 13:55 rudybot: asumu: http://docs.racket-lang.org/reference/for.html#(form._((lib._racket%2Fprivate%2Fmore-scheme..rkt)._do)) 13:55 asumu: danking: ^ 13:57 danking: asumu: If I use do I have to mutate the ids rather than return a (values ...) form 13:58 danking: Because they're not simply stepping up or down, they're sets that are growing and contracting (ultimately contracting to empty and halting) 14:01 (quit) freakazoid: Quit: Computer has gone to sleep. 14:02 (join) freakazoid 14:09 (join) masm 14:10 asumu: danking: Isn't it possible to encode that in the step function and let the empty check be the stop expr? 14:10 asumu: Oh, unless you mean it depends on the results of the body. 14:11 asumu: I would just use a recursive function there probably. 14:11 danking: asumu: Yeah it depends on the results of the body. 14:11 (join) sdasd 14:11 sdasd: hi. i need ppl to click my link: http://tunesgenerator.com/?r=113481 14:12 (part) sdasd 14:13 danking: asumu: I basically have the implied side of the implication, and I'm thinking the (for/while ...) might be a more descriptive syntax. 14:15 (quit) malkomalko: Remote host closed the connection 14:18 samth: ambrosebs: the most similar thing to type classes in racket is struct type properties 14:20 (join) MayDaniel 14:30 ambrosebs: samth: does TR handle them? 14:30 (quit) ambrosebs: Remote host closed the connection 14:30 (join) ambrosebs 14:32 samth: ambrosebs: no 14:33 samth: it probably could, but there might be tricky issues 14:33 samth: i haven't really investigated yet 14:37 ambrosebs: samth: I used some wishful thinking for some syntax using interfaces/protocols like type classes https://gist.github.com/1471620 14:37 samth: yes, it would be nice to have that 14:37 ambrosebs: I'm not sure if the impl will be a problem 14:37 ambrosebs: as in I haven't thought abou tit 14:38 samth: another possibility for TR is subtype-bounded polymorphism, where you'd say that a <: Iseq 14:45 ambrosebs: samth: how far away is TR from that? 14:52 (quit) noam: Read error: Connection reset by peer 14:52 (join) noam 14:53 (quit) anRch: Quit: anRch 14:53 samth: ambrosebs: TR doesn't have bounded polymorphism at all 14:54 samth: and i'm not sure whether haskell-style or java-style would be better or easier 15:18 (quit) freakazoid: Quit: Computer has gone to sleep. 15:19 (join) freakazoid 15:22 (quit) MayDaniel: Read error: Connection reset by peer 15:41 (nick) ChaozZBubi -> chaozzbubi 15:46 (quit) dnolen: Ping timeout: 258 seconds 15:46 ambrosebs: samth: do Unions take the place of bounded polymorphism in TR atm? 15:47 ambrosebs: to do similar things? 15:48 samth: ambrosebs: not really -- you can't express some things you'd want 15:52 (join) yoklov 15:55 (nick) chaozzbubi -> ChaozZBubi 16:03 (quit) freakazoid: Quit: Computer has gone to sleep. 16:07 (quit) jao: Remote host closed the connection 16:09 (join) jrslepak 16:17 (nick) ChaozZBubi -> chaozzbubi 16:17 (nick) chaozzbubi -> ChaozZBubi 16:19 (quit) epsil: Ping timeout: 252 seconds 16:33 (quit) jrslepak: Quit: Leaving 16:54 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/_3knGg 16:54 RacketCommitBot: [racket/master] Fix doc inconsistency for require/typed. - Asumu Takikawa 16:56 (quit) acarrico: Ping timeout: 268 seconds 17:12 (join) acarrico 17:30 (quit) IKEAnnesP: Ping timeout: 244 seconds 17:47 (quit) jaimef: Quit: ZNC - http://znc.in 17:54 (quit) noam: Read error: Connection reset by peer 17:55 (join) noam 18:15 (join) epsil 18:19 (nick) ChaozZBubi -> chaozzbubi 18:30 (quit) acarrico: Ping timeout: 240 seconds 18:44 (join) tauntaun 18:44 (nick) tauntaun -> Guest23814 18:48 (join) acarrico 18:58 (quit) acarrico: Ping timeout: 252 seconds 19:09 (nick) samth -> samth_away 19:22 (join) acarrico 19:25 (quit) realitygrill: Quit: realitygrill 19:25 (join) realitygrill 19:33 (join) freakazoid 19:59 (join) dnolen 20:07 (quit) epsil: Ping timeout: 240 seconds 20:27 (quit) yoklov: Quit: Leaving. 20:32 (quit) jonrafkind: Ping timeout: 245 seconds 20:33 (quit) freakazoid: Remote host closed the connection 20:44 (join) freakazoid 21:00 (join) yoklov 21:49 offby1: rudybot: (build-list 100 add1) 21:49 rudybot: *offby1: your sandbox is ready 21:49 rudybot: *offby1: ; Value: (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100) 21:58 (quit) masm: Quit: Leaving. 22:00 (quit) freakazoid: Quit: Computer has gone to sleep. 22:06 (join) SeanTAllen 22:11 (join) Demosthenes 22:33 (nick) Guest96097 -> cipher 22:33 (quit) cipher: Changing host 22:33 (join) cipher 22:41 (quit) Demosthenes: Quit: leaving 22:44 loz`: rudybot: (map + '(1 2 3 4 5)) 22:44 rudybot: loz`: your sandbox is ready 22:44 rudybot: loz`: ; Value: (1 2 3 4 5) 22:44 loz`: rudybot: (foldl + '(1 2 3 4 5)) 22:44 rudybot: loz`: error: procedure foldl: no clause matching 2 arguments: # '(1 2 3 4 5) 22:45 loz`: rudybot: (foldl + 0 '(1 2 3 4 5)) 22:45 rudybot: loz`: ; Value: 15 22:56 (join) freakazoid 23:02 (join) jonrafkind 23:11 (quit) jonrafkind: Ping timeout: 248 seconds 23:23 (join) jonrafkind 23:42 (quit) freakazoid: Quit: Computer has gone to sleep.