00:04 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 00:04 (join) mithos28 00:10 (quit) mithos28: Quit: mithos28 00:21 (quit) FareWell: Ping timeout: 255 seconds 00:27 (quit) dsantiago: Quit: Computer has gone to sleep. 00:28 (join) dsantiago 00:30 (quit) kofno: Remote host closed the connection 00:33 (join) FareWell 00:35 Sgeo: I still can't help thinking that the best Lisp for a codenomic would be newLisp 00:35 Sgeo: The state of the world can be serialized to text with newLisp 00:36 Sgeo: Erm as in, like an image of the environment, except readable 00:42 (join) kofno 00:48 (quit) jao: Ping timeout: 272 seconds 01:14 (join) raphie 01:15 raphie: I've got an interesting problem. basically, I want to build an expression like (begin a b c) where a, b, and c are lists 01:15 raphie: however, if they are empty lists, then I do not want them in the begin 01:15 raphie: what would be the best way of excluding them if they're empty? 01:19 (quit) kofno: Remote host closed the connection 01:20 jonrafkind: can you show a concrete problem 01:24 m4burns: raphie: something like (eval `(begin ,@(filter (lambda(x) (not (empty? x))) `(,a ,b ,c)))) ? 01:24 raphie: hey m4burns, that works! 01:24 (quit) mceier: Quit: leaving 01:24 raphie: well, I'll use apply so as to do away with eval 01:26 m4burns: raphie: I'm not sure you can apply begin to a list, since begin is a macro. 01:26 raphie: oh, lemme check 01:26 raphie: oh, you can't 01:26 raphie: drat 01:26 raphie: see, I'd prefer not to use eval 01:27 raphie: screw it, I'll use nested ifs 01:27 m4burns: Well, what you're trying to do involves evaluating a variable number of s-expressions, so you might not be able to avoid it (unless I'm not understanding what a, b, and c are) 01:27 m4burns: haha, alright :P 01:29 (join) soegaard 01:29 (quit) soegaard: Client Quit 01:29 raphie: well, actually the problem is a bit different, lemme clarify it 01:30 raphie: I'll use my actual variable names for my own sanity 01:30 raphie: I've got the variables new-body, unreferenced, complex, and inner-let 01:30 raphie: if unreferenced and complex are empty, then there should be no begin and simply new-body should be returned 01:31 raphie: otherwise it's a begin containg new-body as the last element, with unreferenced at the beginning iff it is non-empty and inner-let between them iff complex is non-empty 01:31 raphie: phew 01:31 (quit) serhart: Quit: Leaving. 01:32 (nick) FareWell -> Fare 01:33 m4burns: are new-body, cunreferenced, and inner-let static s-expressions known before run time? 01:34 raphie: nope, they are all defined in the surrounding let 01:35 m4burns: alright, if they are quoted data defined in a let which happens to be expressions you want to evaluate, then you'll need to use eval 01:35 jonrafkind: dont use eval. ever 01:36 raphie: settled upon this: https://gist.github.com/22faa78389c08ccc9b89, but it seems so... unoptimized 01:36 m4burns: but perhaps rethink the let. could you write this whole thing as a macro instead? 01:36 m4burns: jonrafkind: indeed 01:37 jonrafkind: raphie, can you show a larger program 01:37 jonrafkind: using begin that way makes little sense 01:37 raphie: er, it's actually not begin. it's an s-expr 01:37 raphie: (this is an intermediate step in a compiler) 01:38 m4burns: raphie: if it's just an s-expression, then disregard what i said about eval 01:38 m4burns: i thought you were doing something else 01:38 jonrafkind: oh 01:38 jonrafkind: uhm you're returning the begin expression right? so most likely you meant `(begin ,inner-let ,new-body) 01:39 raphie: yeah, whoops. sorry for all the unclarity, been working on this for hours and the whole cloudy mind has set in, haha 01:40 jonrafkind: also if you are using racket you can use match to clean that code up 01:40 jonrafkind: (match (list unreferenced complex) [(list (list) (list)) ...]) 01:42 raphie: think I fixed my problem with if's 01:42 jonrafkind: also cond is a usual abstraction people use over if's 01:42 raphie: realized that inner-let should actually be made only if complex is non-empty 01:43 raphie: this compiler work is certainly testing the limits of my racket knowledge 01:47 (quit) mye: Quit: mye 01:49 (join) kofno 01:57 (quit) kofno: Ping timeout: 260 seconds 02:30 (join) mye 02:36 Sgeo: Hmm, racket/kernel is just #%kernel with REPL support 02:36 (join) mceier 02:57 (quit) jonrafkind: Ping timeout: 276 seconds 03:07 Sgeo: for syntax 03:08 Sgeo: FOR SYNTAX! 03:08 (quit) raphie: Remote host closed the connection 03:09 Sgeo: qq-and-or.rkt looks badly named, it also defines let 03:21 (join) hkBst 03:26 (quit) hkBst: Ping timeout: 272 seconds 03:37 (join) hkBst 03:37 (quit) hkBst: Changing host 03:37 (join) hkBst 03:42 (quit) hkBst: Read error: Connection reset by peer 03:50 (quit) Shviller: Read error: Connection reset by peer 03:53 (join) tobi 03:59 (join) hkBst_ 04:02 (quit) ambrosebs: Remote host closed the connection 04:05 (join) bitonic 04:06 (join) noelw_away 04:06 (join) hkBst__ 04:06 (quit) hkBst_: Ping timeout: 276 seconds 04:09 (join) Shviller 04:11 (quit) hkBst__: Ping timeout: 260 seconds 04:22 (join) hkBst__ 04:32 (join) myx 04:35 (join) sd_ 04:35 sd_: hello 04:35 sd_: um can someone tell me about big-bang? 04:36 (quit) sd_: Client Quit 04:37 (join) cdidd 05:01 (quit) hkBst__: Ping timeout: 255 seconds 05:02 (join) hkBst 05:04 (quit) hkBst: Excess Flood 05:04 (join) hkBst 05:11 (quit) Shviller: Read error: Connection reset by peer 05:24 (join) klr 05:30 (quit) mye: Ping timeout: 260 seconds 05:33 (join) MightyFoo 05:34 MightyFoo: how do i "require" with-modulus from math/number-theory into a TR program? 05:34 (nick) MightyFoo -> tim-brown 05:35 tim-brown: rudybot: init typed/racket 05:35 rudybot: tim-brown: your typed/racket sandbox is ready 05:35 Cryovat: require-typed 05:35 Cryovat: Or is with-modulus a macro? 05:35 tim-brown: is a macro 05:35 tim-brown: i've require/typed mod* (et al) lovelyly 05:36 Cryovat: In that case, you might be better off writing a function in regular Racket 05:36 tim-brown: (is there a difference between require-typed and require/typed?) 05:36 Cryovat: And import it 05:36 Cryovat: Nah, I just misspelled require/typed 05:36 Cryovat: If your function is simple, you could try using it 05:36 Cryovat: And hope the type checker is happy 05:37 tim-brown: from what i've heard from Jens Sogaard, the library is written in TR 05:37 tim-brown: (unless i misunderstood him) 05:38 tim-brown: -- is it possible to import a syntax into TR? 05:38 Cryovat: In that case, you shouldn't need to use require/typed at all 05:38 tim-brown: let me peek at the source... 05:38 Cryovat: http://planet.racket-lang.org/package-source/soegaard/math.plt/1/5/number-theory.ss 05:38 rudybot: http://tinyurl.com/8caj52p 05:38 Cryovat: is it this one? 05:39 tim-brown: no, it's in the math libraries in the source (nightly?) distribution 05:39 (join) mye 05:39 Sgeo: What does with-modulus do? 05:41 tim-brown: sgeo: sets up a "current-modulus" parameter, so that (modulo (+ a b) m) can be written (with-modulus m (mod+ a b)) 05:41 tim-brown: which becomes more useful when the expression is more complex 05:42 Sgeo: Cool 05:42 Sgeo: But needs mod+ and not just redefines + :/ 05:42 Sgeo: Redefining + in the dynamic scope would be fun. A mess, probably, but fu 05:42 Sgeo: fun 05:43 tim-brown: the planet "math" package does just that... but i find it clearer this way 05:43 tim-brown: especially using "mod/" v.s. a rebound vanilla "/" 05:48 Sgeo: Hmm, does Chicken have more/better eggs than Racket has Planet packages/ 05:48 (join) Fare 05:50 (join) jeapostrophe 05:51 (quit) hkBst: Ping timeout: 252 seconds 05:53 (join) hkBst 05:53 (quit) hkBst: Changing host 05:53 (join) hkBst 06:08 (quit) Fare: Ping timeout: 272 seconds 06:09 (quit) hkBst: Ping timeout: 272 seconds 06:14 (join) hkBst 06:21 (quit) hkBst: Ping timeout: 252 seconds 06:23 (join) hkBst 06:23 (quit) hkBst: Changing host 06:23 (join) hkBst 06:23 (join) shriphan` 06:24 shriphan`: hi guys. I have a working oauth1.0 consumer at https://github.com/lemurproject/oauth-racket/blob/master/oauth.rkt . 06:25 (quit) bitonic: Ping timeout: 276 seconds 06:31 Cryovat: Nice :D 06:34 tim-brown: rudybot: init typed/racket 06:34 rudybot: tim-brown: your typed/racket sandbox is ready 06:34 tim-brown: rudybot: (:query-type/args min Fixnum Fixnum) 06:34 rudybot: tim-brown: error: #:1:22: type-check: type name used out of context in: Fixnum 06:38 Cryovat: Sgeo: I haven't looked very hard at Chicken 06:38 Cryovat: But it feels like Racket has a much more active development 06:38 tim-brown: what's wrong with my query-type? 06:39 (quit) hkBst: Read error: Connection reset by peer 06:39 (quit) jeapostrophe: Read error: Operation timed out 06:39 noelw_away: tim-brown, what exactly are you trying to define? 06:39 noelw_away: It doesn't look like a valid type definition to me 06:39 (nick) noelw_away -> noelw 06:40 tim-brown: oh, i have a version of TR that has a type for min that resolves to : (min Fixnum Fixnum) -> Integer 06:41 tim-brown: I want to know what I would expect if I pass this and that type to min (where this and that are both, in fact Fixnum) 06:41 tim-brown: isn't that what :query-type/args is for? 06:45 noelw: rudybot: (version) 06:45 rudybot: noelw: your sandbox is ready 06:45 rudybot: noelw: ; Value: "5.2.900.1" 06:45 noelw: That's probably the issue 06:45 noelw: 5.3 is the latest 06:51 bremner: .1 06:52 (join) hkBst_ 06:57 (quit) mye: Quit: mye 07:13 tim-brown: noelw: thanks (rebuilding a latest version -- my current one is a pre-holiday build) 07:15 (join) jeapostrophe 07:15 (quit) jeapostrophe: Changing host 07:15 (join) jeapostrophe 07:17 (join) mye 07:36 (join) noelw_ 07:38 (nick) noelw_ -> noelw 07:57 (join) kofno 07:58 (quit) kofno: Read error: Connection reset by peer 08:01 (join) bitonic 08:05 tim-brown: still having problems with :query-type/args ... 08:05 tim-brown: rudybot: init typed/racket 08:05 rudybot: tim-brown: your typed/racket sandbox is ready 08:06 tim-brown: rudybot: (:query-type/args min Fixnum Fixnum) 08:06 rudybot: tim-brown: error: #:1:22: type-check: type name used out of context in: Fixnum 08:06 Sgeo: rudybot, init '#%kernel 08:06 rudybot: Sgeo: error: make-evaluator: bad language spec: '|'#%kernel| 08:06 Sgeo: rudybot, init #%kernel 08:06 rudybot: Sgeo: error: make-evaluator: bad language spec: '#%kernel 08:06 tim-brown: in my "racket -I typed/racket" REPL, I get: :print-type is only valid at the top-level of an interaction 08:06 Sgeo: rudybot, init racket/kernel 08:06 rudybot: Sgeo: your racket/kernel sandbox is ready 08:06 Sgeo: rudybot, (define a 1) 08:06 rudybot: Sgeo: error: reference to an identifier before its definition: define in module: 'program 08:11 (join) kofno 08:12 (quit) mye: Quit: mye 08:22 (join) ijp 08:32 (quit) hkBst_: Ping timeout: 276 seconds 08:39 tim-brown: what's up with the syntax colouring (is it bracket colouring, or colour refresment?) on nightly 5.3.1.12--2013-01-06(dd161bb/a), english 08:39 tim-brown: same problem with linux and windows 08:58 tim-brown: TR's min function has the type: ... (Positive-Index * -> Positive-Index) (Index * -> Index) ... (Positive-Integer * -> Positive-Integer) (Integer * -> Integer) ... 08:59 tim-brown: this means that if i pass it (Fixnum Fixnum), I get an Integer result (which mucks up my fixnum optimisations) 09:00 tim-brown: can i "extend" the type of min to handle this? i really don't want to cast, since it seems to be a proper expensive operation 09:01 noelw: I think you want fxmin 09:02 noelw: TR should optimise that to unsafe-fxmin 09:03 (quit) bitonic: Ping timeout: 264 seconds 09:03 tim-brown: isn't one of the joys of TR that it will optimise numerical (i.e. Number) functions to the unsafe-fx... if it can infer that it has a (no greater than) Fixnum? 09:04 (join) hkBst_ 09:06 (quit) myx: Read error: Operation timed out 09:07 (join) bitonic 09:08 noelw: I dunno exactly what it does and doesn't optimise, but here it seems like fxmin will do what you want 09:08 noelw: I would like to have more clarity on what exactly TR does 09:10 noelw: I suppose the optimisation coach is the way to get it 09:11 (join) eli 09:11 (quit) eli: Changing host 09:11 (join) eli 09:16 (join) bniels 09:21 (join) myx 09:26 (quit) shriphan`: Ping timeout: 276 seconds 09:26 (quit) hkBst_: Read error: Connection reset by peer 09:27 (join) hkBst_ 09:28 (join) dnolen 09:33 Sgeo: I just realized something 09:34 tim-brown: optimisation coach is ok, if i don't have to de-optimise my code with casts... i'll use the fx...functions for now 09:34 Sgeo: One of the annoyances I was imagining going to have with Racket was me thinking of when I was writing a Haskell program 09:34 Sgeo: Had to keep reloading the code and redefining my test stuff at GHCi 09:34 Sgeo: But Racket makes writing test cases inline so easy I would just do that, that seems more convenient than testing at REPL probably 09:35 (join) anonymous 09:35 anonymous: klr: happy to see you 09:35 anonymous: ! 09:39 (quit) hkBst_: Read error: Connection reset by peer 09:40 (join) shriphan` 09:43 (join) hkBst__ 09:44 (join) Nisstyre-laptop 09:46 klr: anonymous: hi 09:46 klr: btw, sry for raing at racket and BSL yesterday! 09:47 (quit) Nisstyre-laptop: Client Quit 09:48 Sgeo: Hi klr 09:48 klr: hi 09:49 klr: may i ask what the difference between funtional programming and pure functional program with lazy evulation is? 09:50 Sgeo: We can separate "pure functional programming" from the "lazy evaluation" part, first off 09:50 Sgeo: "functional programming" ... well, no two people agree on exactly what it means, which causes a lot of flame wars. But one way to look at it might be to say 09:51 Sgeo: That a function is a "pure" function if it only looks at inputs, only returns values, and, given the same input twice, will give the same output twice 09:51 Sgeo: For example, (+ 2 4), + only looks at its arguments. It doesn't look at the system time. And it will always return 6 09:51 Sgeo: pure functional programming is programming only with pure functions. This is what Haskell does. 09:52 (quit) hkBst__: Remote host closed the connection 09:52 (join) hkBst__ 09:52 Sgeo: Lazy evaluation means that arguments won't be evaluated until they are needed 09:52 Sgeo: Take (+ (* 2 2) (* 3 3)) 09:53 Sgeo: In an eager language (not sure of my terminology), the multiplications will occur first, and then the results will be added 09:54 Sgeo: In a lazy language, the addition will try to execute first. It needs those values, so then the multiplication gets executed, and then the addition 09:54 klr: okey 09:54 Sgeo: Let's say that, in a language with lazy evaluation, * is lazy. If one of its earlier arguments is 0, the later arguments won't get evaluated at all 09:54 Sgeo: (* 0 (/ 1 0)) 09:54 (join) Nisstyre-laptop 09:55 Sgeo: In an eager language, this would blow up, because the division is done first, and thus it tries to divide by 0, which is an error. 09:55 Sgeo: But in a lazy language, with * lazy in the way I described, it never bothers to do the division 09:56 klr: oh okey 09:56 klr: thanks 09:58 (quit) jrslepak: Quit: What happened to Systems A through E? 09:58 Sgeo: You're welcome 10:00 Sgeo: I should note that even eager languages may have data structures that can be used in a lazy fashion 10:00 Sgeo: When you call a function on such a data structure, instead of doing the operation immediately, it may just remember what the operation was, so it can do it later 10:00 Sgeo: Clojure behaves like this with sequences 10:01 klr: okey 10:06 (quit) bitonic: Ping timeout: 276 seconds 10:06 (join) serhart 10:14 (quit) bniels: Remote host closed the connection 10:16 (join) mithos28 10:21 (quit) Nisstyre-laptop: Quit: Leaving 10:24 (join) anRch 10:27 (join) RacketCommitBot 10:27 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/YLPt2g 10:27 RacketCommitBot: racket/master b02d8af Jay McCarthy: Fixing PR13409 10:27 (part) RacketCommitBot 10:28 (join) mye 10:30 (join) Kaylin 10:34 (join) jrslepak 10:35 (join) Fare 10:37 Sgeo: If Racket gets me into more test-driven code, and nothing else, it will have made me a better programmer 10:38 (quit) serhart: Quit: Leaving. 10:47 (quit) dnolen: Ping timeout: 256 seconds 10:48 (join) serhart 10:49 (quit) jeapostrophe: Ping timeout: 246 seconds 10:49 Sgeo: "When this test fails the message 10:49 Sgeo: current-element: 8 10:49 Sgeo: is displayed along with the usual information on an check failure." 10:49 Sgeo: No it isn't. At least the docs aren't showing up as though it is 10:49 Sgeo: http://docs.racket-lang.org/rackunit/api.html 10:51 (join) francisl 10:52 mithos28: Sgeo: Thats a bug. current-element is being shortened to ent: 10:53 noelw: Interesting 11:02 (quit) mceier: Quit: leaving 11:09 (quit) hkBst__: Ping timeout: 276 seconds 11:10 (join) hkBst__ 11:27 (join) torin_ 11:27 (quit) anRch: Quit: anRch 11:28 (quit) torin_: Client Quit 11:29 (join) mizu_no_oto 11:40 (quit) jrslepak: Quit: What happened to Systems A through E? 11:47 (join) teratorn 11:48 (join) ambrosebs 11:48 (join) didi 11:50 (join) jrslepak 11:57 (quit) shriphan`: Ping timeout: 252 seconds 12:01 (quit) hkBst__: Quit: Konversation terminated! 12:03 (join) anRch 12:04 (join) bitonic 12:04 (join) RacketCommitBot 12:04 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/h8xvYQ 12:04 RacketCommitBot: racket/master 84c0208 Robby Findler: add check for number of result values in ->i (that signals blame)... 12:04 RacketCommitBot: racket/master 6b681f0 Robby Findler: add planet2 info to the bug report system 12:04 (part) RacketCommitBot 12:09 (join) MayDaniel 12:11 (quit) Kaylin: Quit: Leaving. 12:12 (quit) ambrosebs: Remote host closed the connection 12:14 (join) jeapostrophe 12:14 (join) ambrosebs 12:17 (join) mceier 12:20 (quit) francisl: Quit: francisl 12:24 (join) dyoo 12:31 tim-brown: night all 12:37 (quit) anRch: Quit: anRch 12:39 (join) bartbes 12:43 stamourv: anonymous: Sorry I didn't reply. I wasn't in the office. 12:43 stamourv: Do you still have a question for me? 12:47 anonymous: stamourv: ah, yes, I wanted your opinion about OOP(I've read much criticism about it). Maybe you have a good link that considering it. That was since I seen your web-page, it seems you're an expert in OOP. 12:47 anonymous: considering criticism* 12:47 anonymous: http://harmful.cat-v.org/software/OO_programming/ 12:47 (quit) jeapostrophe: Ping timeout: 248 seconds 12:47 asumu: anonymous: BTW, fixed that typo you pointed out, thanks. 12:48 (join) jeapostrophe 12:48 (quit) jeapostrophe: Changing host 12:48 (join) jeapostrophe 12:48 dyoo: btw: happy new year to everyone here. A little late, but, hope the thought counts. :) 12:48 anonymous: asumu: the "a/the"? Thanks. 12:49 stamourv: anonymous: I think OOP is well suited for some kinds of programs (GUIs, simulation, etc.), but it's not always the best option. 12:49 didi: dyoo: \o/ 12:49 stamourv: Of course, OOP means different things to different people, and there's certainly a lot of variation. 12:49 asumu: dyoo: Happy New Year mod 7! 12:50 stamourv: So, if you're interested in OOP, I recommend that, in addition to Java-style OOP (which you may already know), you also look into CLOS-style, Smalltalk-style, etc. 12:50 mithos28: anonymous: Most languages don't have tail call optimization, and thus cannot actually encode OO abstractions fathfully, http://lambda-the-ultimate.org/node/3702 12:50 didi: CLOS is very nice. 12:50 stamourv: As for links, I can think of a couple off the top of my head, lemme look them up. 12:51 stamourv: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html 12:51 stamourv: (That's mostly about Java-style, and may not apply to others.) 12:51 anonymous excited will anyone say "Merry Christmas". It is too OT, but he is interested is there many Christians here. 12:51 anonymous: too OT to ask* 12:51 stamourv: http://norvig.com/design-patterns/ 12:52 stamourv: (That one is more about practices around Java-style OOP than about OOP itself, but I think it's still an interesting read.) 12:52 stamourv: If I think of more links, I'll post them. 12:53 anonymous: stamourv, mithos28: thank you very much! 12:54 mithos28: anonymous: Note that I was a bit trolly, in the description of that link 12:57 (quit) dyoo: Quit: dyoo 12:59 (join) dyoo 12:59 mithos28: Is there anyway to block a thread from being killed for a tiny period of time? 12:59 (quit) dyoo: Client Quit 12:59 mithos28: Will start-atomic and end-atomic do it for me? 13:01 (join) francisl 13:08 (quit) cdidd: Remote host closed the connection 13:10 (quit) bitonic: Ping timeout: 264 seconds 13:16 (quit) mye: Quit: mye 13:22 (quit) jeapostrophe: Ping timeout: 248 seconds 13:28 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 13:37 (join) sstrickl 13:37 (quit) sstrickl: Changing host 13:37 (join) sstrickl 13:37 (join) chrxn 13:43 (join) noah_ 13:46 (quit) Fare: Ping timeout: 240 seconds 13:53 (join) anRch 13:54 (join) mye__ 13:55 (join) mye___ 13:58 (join) r0p 13:58 (quit) noah_: Ping timeout: 245 seconds 13:58 (join) mye 13:58 (quit) mye__: Ping timeout: 260 seconds 14:00 (quit) mye___: Ping timeout: 260 seconds 14:01 (join) mye___ 14:02 (quit) mye: Ping timeout: 248 seconds 14:03 (join) mye 14:04 (join) mye_ 14:05 (join) mye__ 14:05 (quit) mye___: Ping timeout: 248 seconds 14:07 (join) jonrafkind 14:07 (quit) mye: Ping timeout: 256 seconds 14:08 (quit) francisl: Quit: francisl 14:08 (quit) mye_: Ping timeout: 260 seconds 14:09 (quit) mye__: Ping timeout: 260 seconds 14:13 (join) mye 14:15 (join) mye_ 14:15 (join) mye__ 14:17 (quit) mye: Ping timeout: 240 seconds 14:18 (join) mye 14:19 (quit) mye_: Ping timeout: 248 seconds 14:20 (quit) mye__: Ping timeout: 240 seconds 14:21 (join) jeapostrophe 14:21 (quit) jeapostrophe: Changing host 14:21 (join) jeapostrophe 14:23 (quit) mye: Ping timeout: 248 seconds 14:24 (join) Fare 14:26 (join) mye 14:29 (join) mye__ 14:30 (join) mye___ 14:31 (quit) mye: Ping timeout: 248 seconds 14:32 (join) mye 14:33 (quit) mye__: Ping timeout: 248 seconds 14:34 (join) mye_ 14:35 (quit) mye___: Ping timeout: 276 seconds 14:36 (quit) mye: Ping timeout: 248 seconds 14:36 (join) mye__ 14:38 (join) mye 14:39 (quit) mye_: Ping timeout: 260 seconds 14:40 (quit) mye__: Ping timeout: 260 seconds 14:43 (quit) mye: Ping timeout: 260 seconds 15:00 (join) francisl 15:04 (join) mye 15:08 (quit) mye: Ping timeout: 276 seconds 15:12 (join) mye 15:13 (quit) anRch: Quit: anRch 15:14 (join) mye_ 15:15 stamourv: tim-brown: Re type of `min': Sounds like a bug, I'll investigate. 15:16 (quit) mye: Ping timeout: 248 seconds 15:18 (quit) mye_: Ping timeout: 255 seconds 15:26 (join) noam 15:29 (join) mye 15:30 (join) mye_ 15:32 (join) mye___ 15:34 (quit) mye: Ping timeout: 248 seconds 15:34 (join) mye 15:35 (quit) mye_: Ping timeout: 260 seconds 15:37 (quit) mye___: Ping timeout: 248 seconds 15:37 (quit) klr: Quit: Lost terminal 15:39 (quit) mye: Ping timeout: 248 seconds 15:41 (join) carleastlund 15:42 (join) mye 15:43 (join) mye_ 15:43 (join) mizu_no_oto 15:43 (quit) sstrickl: Read error: Connection reset by peer 15:44 (join) sstrickl 15:44 (quit) sstrickl: Changing host 15:44 (join) sstrickl 15:44 (quit) jrslepak: Quit: What happened to Systems A through E? 15:45 (join) mye__ 15:46 (quit) mye: Ping timeout: 248 seconds 15:48 (quit) mye_: Ping timeout: 248 seconds 15:48 (join) mye 15:48 (join) notdan 15:49 (join) mye_ 15:50 (quit) mye__: Ping timeout: 260 seconds 15:52 (quit) mye: Ping timeout: 248 seconds 15:53 (quit) mye_: Ping timeout: 240 seconds 15:55 Sgeo: I wonder if the Factor IRC library should be ported to Racket 15:56 (join) bitonic 15:57 (join) mye 15:57 Sgeo: Or maybe just the Chicken Scheme egg 15:58 (join) mye_ 15:58 didi: Sgeo: rudybot is an IRC bot written in Racket. 15:58 didi: rudybot: version 15:58 rudybot: didi: f315f60 15:58 didi: rudybot: Nah. Not that. 15:58 rudybot: didi: nah, dist is just build by-products, I really need to exclude those from the indexing 15:59 didi: rudybot: source 15:59 rudybot: didi: git clone git://github.com/offby1/rudybot.git 15:59 stamourv: Sgeo: An IRC library would be great! 16:00 stamourv: IIRC, it's on the list of starter projects on the wiki. 16:00 (join) mye___ 16:00 Sgeo: stamourv, iirc, it suggests starting off from... something other than Rudybot 16:00 Sgeo: Not sure why 16:00 stamourv: Yeah, eli thought starting from his bot, gabot, would be easier. 16:01 stamourv: But, IIRC, gabot's source is not on the web. 16:01 stamourv: So starting from rudybot sounds fine to me. 16:02 (quit) mye: Ping timeout: 260 seconds 16:02 (quit) mye_: Ping timeout: 240 seconds 16:02 (join) mye 16:04 (join) mye__ 16:04 (quit) mye___: Ping timeout: 248 seconds 16:06 (quit) mye: Ping timeout: 248 seconds 16:08 (quit) mye__: Ping timeout: 248 seconds 16:09 (quit) ambrosebs: Remote host closed the connection 16:12 (join) mye 16:13 (join) mye_ 16:14 (join) mye__ 16:16 (quit) mye: Ping timeout: 240 seconds 16:16 (join) mye 16:17 (quit) mye_: Ping timeout: 248 seconds 16:18 (quit) serhart: Quit: Leaving. 16:18 (quit) mye__: Ping timeout: 248 seconds 16:21 (quit) mye: Ping timeout: 265 seconds 16:24 (join) mye 16:25 (join) mye_ 16:27 (quit) mizu_no_oto: Ping timeout: 252 seconds 16:27 (join) mye__ 16:29 (quit) mye: Ping timeout: 248 seconds 16:30 (quit) mye_: Ping timeout: 260 seconds 16:30 (join) mizu_no_oto 16:32 (quit) mye__: Ping timeout: 264 seconds 16:35 (join) mye 16:37 (join) mye_ 16:38 (join) mye__ 16:38 (quit) mye: Read error: Operation timed out 16:39 (join) mye 16:41 (quit) mye_: Ping timeout: 248 seconds 16:42 (quit) mye__: Ping timeout: 248 seconds 16:43 (quit) mye: Ping timeout: 248 seconds 16:46 (join) serhart 16:47 (join) mye 16:48 (join) mye_ 16:50 (join) mye__ 16:51 (quit) mye: Ping timeout: 248 seconds 16:52 (quit) mye_: Ping timeout: 260 seconds 16:54 (quit) mye__: Ping timeout: 248 seconds 16:56 (part) ChibaPet 16:58 (join) mye 16:58 (join) mye_ 17:01 (join) RacketCommitBot 17:01 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/E3u6bA 17:01 RacketCommitBot: racket/master 057a2bd Vincent St-Amour: Extend type of min to preserve fixnumness. 17:01 (part) RacketCommitBot 17:01 (quit) sstrickl: Quit: sstrickl 17:01 stamourv: tim-brown: Fixed, thanks for the report! 17:02 (quit) mye: Ping timeout: 260 seconds 17:03 (quit) mye_: Ping timeout: 260 seconds 17:06 (join) mye 17:07 (join) mye_ 17:08 (quit) jonrafkind: Read error: Operation timed out 17:09 (join) mye___ 17:11 (quit) mye: Ping timeout: 265 seconds 17:11 (join) mye 17:12 (quit) mye_: Ping timeout: 260 seconds 17:12 (join) cdidd 17:12 (quit) kofno: Remote host closed the connection 17:13 (join) mye_ 17:14 (quit) mye___: Ping timeout: 256 seconds 17:15 (join) mye___ 17:16 (quit) mye: Ping timeout: 248 seconds 17:16 (quit) cdidd: Remote host closed the connection 17:18 (join) mye 17:18 (quit) mye_: Ping timeout: 248 seconds 17:18 (join) mye_ 17:19 (join) mye__ 17:20 (quit) mye___: Ping timeout: 248 seconds 17:22 (quit) mye: Ping timeout: 260 seconds 17:23 (quit) mye_: Ping timeout: 276 seconds 17:23 (quit) mye__: Ping timeout: 252 seconds 17:29 (quit) anonymous: Ping timeout: 248 seconds 17:31 (quit) serhart: Quit: Leaving. 17:35 (join) jrslepak 17:37 (join) mye__ 17:38 (join) mye___ 17:41 (quit) mye__: Ping timeout: 240 seconds 17:43 (quit) mye___: Ping timeout: 264 seconds 17:46 (join) mye 17:47 (join) mye_ 17:50 (quit) MayDaniel: Read error: Connection reset by peer 17:51 (quit) mye: Ping timeout: 276 seconds 17:51 (quit) mye_: Ping timeout: 260 seconds 17:55 (join) mye 17:56 (join) mye__ 17:57 (join) mye___ 17:59 (quit) mye: Ping timeout: 248 seconds 18:01 (quit) mye__: Ping timeout: 260 seconds 18:01 (quit) mye___: Ping timeout: 248 seconds 18:05 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 18:05 (join) mye 18:06 (join) mye_ 18:08 (join) mye__ 18:09 (join) mye___ 18:09 (quit) mye: Ping timeout: 240 seconds 18:10 (join) mye 18:10 (quit) mye_: Ping timeout: 252 seconds 18:10 (join) mye_ 18:11 (join) jao 18:11 (quit) jao: Changing host 18:11 (join) jao 18:12 (quit) mye__: Ping timeout: 256 seconds 18:13 (join) anonymous 18:13 (quit) mye___: Ping timeout: 256 seconds 18:14 (quit) mye: Ping timeout: 240 seconds 18:15 (quit) mye_: Ping timeout: 240 seconds 18:18 (quit) didi: Ping timeout: 264 seconds 18:18 (join) mye 18:20 (join) mye__ 18:21 (join) mye___ 18:23 (quit) mye: Ping timeout: 248 seconds 18:25 (quit) mye__: Ping timeout: 260 seconds 18:26 (join) serhart 18:26 (quit) mye___: Ping timeout: 260 seconds 18:30 (quit) jeapostrophe: Ping timeout: 255 seconds 18:37 (quit) francisl: Quit: francisl 18:43 (join) mjs2600 18:43 (join) francisl 18:48 (quit) francisl: Ping timeout: 252 seconds 19:18 (quit) dsantiago: Quit: Computer has gone to sleep. 19:18 (join) neilv 19:18 (quit) neilv: Changing host 19:18 (join) neilv 19:19 (join) dsantiago 19:26 eli: Sgeo: rudybot was grown organically, so it's not really a good fit for something general -- especially if your goal is a *library*. 19:27 eli: My bot, however, was designed in a cleaner way, and it's much closer to something that can be library-fied. 19:27 eli: It's not available only because it got a bunch of private hacks piled up over the last few years, but it's easy to send you the whole thing if you want to clean it up or something. 19:38 ozzloy: eli, is your bot in here? 19:39 eli: gabot: slap ozzloy 19:39 eli: Yeah. 19:39 ozzloy: heh 19:44 dca: hi. in example of defining custom stream http://docs.racket-lang.org/reference/streams.html#%28def._%28%28lib._racket/stream..rkt%29._gen~3astream%29%29 (for lists): 19:44 dca: the method stream-rest is implemented like this: 19:44 dca: > (define (stream-rest stream) 19:44 dca: > (rest (list-stream-v stream))) 19:44 rudybot: http://tinyurl.com/amgc3c8 19:44 dca: it returns a tail of list which is a list 19:44 dca: but! 19:45 dca: here: 19:45 dca: http://docs.racket-lang.org/reference/streams.html#%28def._%28%28lib._racket/stream..rkt%29._stream-rest%29%29 19:45 rudybot: http://tinyurl.com/a6fkza4 19:45 dca: stream-rest function is specified to return a stream: 19:45 dca: (stream-rest s) → stream? 19:45 dca: 19:45 dca: 19:45 dca: and the example with custom list stream works ok 19:45 dca: why is it so? 19:45 (join) dnolen 19:49 neilv: hm. "raco setup" is hanging. small process size, no cpu, no i/o... 19:52 neilv: ah. apparently some planet code is waiting on a lock file that it will never get 19:53 (quit) bitonic: Ping timeout: 276 seconds 19:54 (join) didi 19:55 (join) RacketCommitBot 19:55 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/GcOPlQ 19:55 RacketCommitBot: racket/master 139c0ca Ryan Culpepper: improve popcount 19:55 RacketCommitBot: racket/master a6f03ee Ryan Culpepper: use popcount table 19:55 RacketCommitBot: racket/master 6815583 Ryan Culpepper: add last inserted row, # changes to simple-result info... 19:55 (part) RacketCommitBot 19:55 (quit) ijp: Quit: The garbage collector got me 20:01 (nick) samth -> samth_away 20:15 asumu: dca: because a list is a stream. 20:15 asumu: In general, anything that implements gen:stream is a stream. 20:15 asumu: And will answer #t to stream?. 20:16 (quit) bbloom: Quit: Textual IRC Client: www.textualapp.com 20:16 (join) bbloom 20:17 (part) bbloom 20:19 asumu: ryanc's popcount commit is pretty cool. 20:20 asumu: He uses the popcount function at compile-time to create the popcount table. 20:20 dca: so both list and # will work in "for" form? 20:22 (part) r0p 20:22 dca: but to wrap around data structures which doesn't natively implement gen:stream we stream-rest should return "stream?" type, right? 20:24 asumu: stream? responds #t to a custom stream type implementing gen:stream. 20:24 asumu: So yes, but that's not a problem. 20:26 asumu: rudybot: eval (require racket/stream) (struct foo (x) #:methods gen:stream [(define (stream-rest s) s) (define (stream-first s) 'junk) (define (stream-empty? s) #f)]) 20:26 rudybot: asumu: your sandbox is ready 20:26 rudybot: asumu: error: #:1:40: struct: unrecognized struct-specification keyword at: #:methods in: (struct foo (x) #:methods gen:stream ((define (stream-rest s) s) (define (stream-first s) (quote junk)) (define (stream-empty? s) #f))) 20:26 asumu: rudybot: (version) 20:26 rudybot: asumu: ; Value: "5.2.900.1" 20:27 asumu: Bleh. In 5.3 and up, a foo from above will respond #t to stream?. 20:27 dca: you need define-struct i guess 20:27 asumu: No, it's just that the generics library did not exist in 5.2.900.1. 20:28 asumu: It's a bogus implementation of gen:stream, but it satisfies the contract in any case. 20:29 (join) kofno 20:29 dca: okay. makes sense to me. thanks 20:36 Sgeo: rudybot, eval https://www.refheap.com/paste/8194/raw 20:36 rudybot: Sgeo: error: reference to an identifier before its definition: https://www.refheap.com/paste/8194/raw in module: 'program 20:38 (quit) anonymous: Quit: Lost terminal 20:43 (join) mye 20:47 (quit) mye: Ping timeout: 255 seconds 20:48 (quit) kofno: Remote host closed the connection 20:48 (join) kofno 20:51 (join) mye 20:53 (join) mye_ 20:54 (join) mye__ 20:55 (quit) mye: Ping timeout: 248 seconds 20:57 (quit) mye_: Ping timeout: 248 seconds 20:58 (quit) mye__: Ping timeout: 260 seconds 21:00 (quit) mjs2600: Ping timeout: 252 seconds 21:15 (join) Kaylin 21:20 (join) mizu_no_oto 21:22 (quit) mizu_no_oto: Client Quit 21:27 (part) juanfra__ 21:47 (join) mye 21:48 (join) mye_ 21:49 (join) mye__ 21:50 (join) mye___ 21:51 (quit) mye: Ping timeout: 248 seconds 21:53 (join) mye 21:53 (quit) mye_: Ping timeout: 260 seconds 21:53 (quit) mye__: Ping timeout: 246 seconds 21:53 (join) mye_ 21:54 (quit) mye___: Ping timeout: 240 seconds 21:54 (join) mye__ 21:56 (join) mye____ 21:57 (quit) mye: Ping timeout: 248 seconds 21:57 (join) mye 21:58 (quit) mye_: Ping timeout: 248 seconds 21:58 (join) mye_ 21:59 (quit) mye__: Ping timeout: 260 seconds 22:01 (quit) mye____: Ping timeout: 264 seconds 22:02 (quit) mye: Ping timeout: 276 seconds 22:02 (quit) mye_: Ping timeout: 246 seconds 22:06 (join) mye 22:07 (join) mye_ 22:08 (join) mye__ 22:10 (join) mye____ 22:10 (quit) mye: Ping timeout: 246 seconds 22:11 (quit) mye_: Ping timeout: 246 seconds 22:11 (join) mye_ 22:12 (quit) mye__: Ping timeout: 260 seconds 22:13 (join) mizu_no_oto 22:14 (quit) mye____: Ping timeout: 255 seconds 22:16 (quit) mye_: Ping timeout: 276 seconds 22:19 (quit) Kaylin: Read error: Connection reset by peer 22:19 (join) mye 22:19 (join) francisl 22:20 (join) mye_ 22:21 (join) ambrosebs 22:22 (join) mye__ 22:23 (join) mye___ 22:23 (quit) mye: Ping timeout: 248 seconds 22:24 (join) mye 22:24 (quit) mye_: Ping timeout: 256 seconds 22:25 (join) mye_ 22:26 (quit) mye__: Ping timeout: 255 seconds 22:27 (join) mye__ 22:27 (quit) mye___: Ping timeout: 255 seconds 22:28 (join) mye___ 22:29 (quit) mye: Ping timeout: 276 seconds 22:29 (quit) mye_: Ping timeout: 255 seconds 22:31 (quit) mye__: Ping timeout: 252 seconds 22:32 (quit) mye___: Ping timeout: 260 seconds 22:35 (join) mye 22:38 (join) jeapostrophe 22:38 (quit) jeapostrophe: Changing host 22:38 (join) jeapostrophe 22:40 (quit) mye: Ping timeout: 248 seconds 22:43 (join) mye 22:44 (join) mye_ 22:45 (join) mye__ 22:47 (join) mye___ 22:48 (quit) mye: Ping timeout: 252 seconds 22:49 (quit) mye_: Ping timeout: 276 seconds 22:49 (join) mye 22:50 (quit) mye__: Ping timeout: 276 seconds 22:50 (quit) Fare: Ping timeout: 248 seconds 22:51 (join) mye_ 22:51 (quit) mye___: Ping timeout: 240 seconds 22:52 (join) mye__ 22:52 (quit) jeapostrophe: Ping timeout: 240 seconds 22:53 (quit) mye: Ping timeout: 248 seconds 22:54 (join) mye 22:56 (quit) mye_: Ping timeout: 265 seconds 22:56 (quit) mye__: Ping timeout: 240 seconds 22:58 (quit) mye: Ping timeout: 260 seconds 23:02 (join) mye 23:03 (join) Fare 23:04 (join) mye__ 23:05 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 23:06 (quit) mye: Ping timeout: 248 seconds 23:09 (quit) mye__: Ping timeout: 255 seconds 23:12 (join) mye 23:13 (join) mye_ 23:17 (quit) mye: Ping timeout: 248 seconds 23:18 (quit) mye_: Ping timeout: 248 seconds 23:18 (quit) mithos28: Quit: mithos28 23:21 (join) mye 23:22 (join) mye_ 23:24 (join) mye__ 23:25 (quit) mye: Ping timeout: 255 seconds 23:26 (join) Kaylin 23:26 (join) mye 23:26 (quit) mye_: Ping timeout: 240 seconds 23:27 (join) mye_ 23:28 (quit) mye__: Ping timeout: 248 seconds 23:31 (quit) mye: Ping timeout: 276 seconds 23:31 (quit) mye_: Ping timeout: 248 seconds 23:34 (quit) kofno: Read error: Connection reset by peer 23:35 (join) mye 23:44 (join) kofno 23:46 (join) teslalamp 23:52 (quit) didi: Ping timeout: 240 seconds