00:00 (quit) ambrosebs: Ping timeout: 272 seconds 00:01 yeboot: elly if I mmap() /proc/pid/mem 00:02 yeboot: would that be leet difficulty 00:03 (quit) leo2007: Ping timeout: 252 seconds 00:03 offby1: I'll cons your cdr. 00:04 (quit) cdidd: Remote host closed the connection 00:08 (join) bdmst 00:09 (join) yacks 00:13 yeboot: so, racket design moment 00:14 (join) brum 00:14 yeboot: sorry, designing programs with racket moment* anyway, if I want to import data from json/xml and want to parse the data tree into json, are lists the best option? If not what should I use in your opinion 00:15 mithos28: http://pre.racket-lang.org/docs/html/json/index.html 00:15 yeboot: I know, but after I parse the json data I need to access the data quickly 00:16 mithos28: Wouldn't you turn it into a domain specific data structure? 00:17 (join) tmathmeyer 00:17 tmathmeyer: oh my 00:17 tmathmeyer: there are ALOT of people here 00:18 brum: ok guys, quiz the new guy 00:18 mithos28: tmathmeyer: There are less than a hundred 00:18 mithos28: and most are probably afk 00:18 tmathmeyer: damn 00:19 tmathmeyer: i havent used racket since the first quarter of freshman year 00:19 tmathmeyer: aka this past fall 00:19 brum: wow, that's so long ago! 00:19 tmathmeyer: XD 00:19 tmathmeyer: i know right! 00:21 tmathmeyer: but yeah it was brutal 00:21 tmathmeyer: i remember we pretty much cheated on our final homework by using alot of javascript instead of robo 00:22 brum: how do you remember something so long ago? 00:22 tmathmeyer: i dont o.O 00:23 brum: where do you go to school 00:23 brum: that they teach such a wacky language 00:24 tmathmeyer: WPI 00:25 tmathmeyer: what do ppl here write racket in? 00:25 mithos28: vim 00:26 tmathmeyer: oh 00:28 (join) gridaphobe 00:29 (join) Kaylin 00:37 (join) ambrosebs 00:48 asumu: brum: a bunch of schools teach with Racket these days. Brown, WPI, Northeastern, UBC, Waterloo, and many others. 00:49 asumu: tmathmeyer: emacs/vim & DrRacket 00:51 (join) asvil 00:52 (join) bender 00:53 (nick) bender -> Guest16838 00:56 (join) jonrafkind 00:57 brum: asumu: just a joke, i learned racket from one of those schools! 01:05 (join) cdidd 01:08 asumu: brum: oh, nice. :) 01:10 (quit) brum: Remote host closed the connection 01:13 (quit) Kaylin: Read error: Connection reset by peer 01:18 (join) Kaylin 01:19 (join) ASau` 01:23 (quit) ASau: Ping timeout: 260 seconds 01:23 (quit) mceier: Quit: leaving 01:30 (quit) yacks: Quit: Leaving 01:36 (join) Guest____ 01:37 Guest____: hi, where is am issue tracker for dr racket? 01:37 (nick) Guest____ -> gdp 01:50 mithos28: gdp: bugs.racket-lang.org 01:54 gdp: thanks :) 01:58 (join) leo2007 02:06 (join) vkz 02:17 (join) vkz_ 02:18 (join) mceier 02:19 (quit) vkz: Ping timeout: 245 seconds 02:19 (nick) vkz_ -> vkz 02:34 (join) dyoo 02:34 dyoo: tmathmeyer: from kfisler or glynis? 02:37 dyoo: tmathmeyer: reason for the question: http://web.cs.wpi.edu/Research/alas/ I was just at WPI a few months ago. 02:37 (join) soegaard 02:39 (quit) offby1: *.net *.split 02:39 (quit) acarrico: *.net *.split 02:39 (quit) ivan\: *.net *.split 02:39 (quit) basepi: *.net *.split 02:40 dyoo: tmathmeyer: anyway, for me, Emacs and DrRacket for most of my editing 02:41 (join) acarrico 02:42 (join) ivan\ 02:42 (quit) soegaard: Client Quit 02:42 dyoo: g'night! 02:43 (join) soegaard 02:44 (quit) soegaard: Client Quit 02:46 (join) rich1 02:47 (quit) dyoo: Ping timeout: 245 seconds 02:49 (quit) rich1: Client Quit 02:51 (join) offby1 02:51 (join) basepi 03:08 (quit) gridaphobe: Remote host closed the connection 03:11 (join) tilde` 03:12 (quit) leo2007: Ping timeout: 246 seconds 03:16 (join) hkBst 03:18 (quit) mithos28: Quit: mithos28 03:21 (join) hkBst_ 03:22 (quit) hkBst: Ping timeout: 245 seconds 03:25 (join) yacks 03:34 (quit) rmathews: Ping timeout: 245 seconds 03:34 (join) Kaylin1 03:36 (quit) Kaylin: Ping timeout: 252 seconds 03:39 (join) gridaphobe 03:40 (quit) jonrafkind: Ping timeout: 248 seconds 03:43 (quit) racycle: Quit: racycle 03:47 (quit) gridaphobe: Ping timeout: 276 seconds 03:59 (quit) hkBst_: Remote host closed the connection 04:00 (join) hkBst_ 04:03 (join) noelw 04:10 (quit) gabot: Ping timeout: 248 seconds 04:12 (topic) -: Racket -- http://racket-lang.org -- RacketCon videos/slides: http://con.racket-lang.org -- logs at http://racket-lang.org/irc-logs/ 04:12 (names) -: gabot stchang noelw hkBst_ Kaylin1 yacks tilde` basepi offby1 ivan\ acarrico mceier ASau` cdidd Guest16838 asvil ambrosebs tmathmeyer bdmst Nisstyre elly rudybot paddymahoney jao bjz cipher sirdancealot7 ijp yeboot noam vipjun Fare bremner BeLucid merijn karswell chandler spanner xulfer sethalves em whoops haiwei stamourv SeanTAllen majoh snorble_ eikonos lusory dca dsantiago bartbes Licenser arkeet jaimef strawmn arbn hyko eMBee samth_away sizz_ asumu 04:12 (names) -: dented42 eataix mau DarthRamone eli jrslepak danking Raynes Twey parcha fasta otterdam Cryovat micro__ SHODAN Draggor rapacity elliottcable jschuster pono mario-goulart notdan pinupgeek ivan` cky errstr ormaaj willem xian @ChanServ gf3 m4burns friscosam ozzloy mattmight ohama JStoker greghendershott 04:29 (quit) yeboot: Quit: leaving 04:38 (quit) tilde`: Read error: Connection reset by peer 04:38 (join) tilde` 04:44 (quit) hkBst_: Read error: Connection reset by peer 04:45 (join) hkBst_ 04:45 (quit) jao: Ping timeout: 245 seconds 04:54 (join) rohni 04:56 (quit) yacks: Remote host closed the connection 05:15 (quit) ivan\: Ping timeout: 276 seconds 05:18 (join) ivan\ 05:22 (quit) hkBst_: Ping timeout: 245 seconds 05:22 (join) hkBst_ 05:22 (quit) hkBst_: Changing host 05:22 (join) hkBst_ 05:32 (join) lewis1711 05:37 (join) bitonic 05:43 (join) vkz 05:47 (quit) vipjun: Remote host closed the connection 05:47 (quit) tilde`: Read error: Connection reset by peer 05:47 (join) vipjun 05:48 (join) tilde` 05:53 (join) tilde`_ 05:53 (quit) tilde`: Ping timeout: 264 seconds 05:54 (join) yacks 06:11 (quit) bjz: Read error: Connection reset by peer 06:11 (join) bjz_ 06:18 (quit) tilde`_: Ping timeout: 276 seconds 06:40 lewis1711: I really should start a list of "embarassing racket things I still don't understand". number 1 - quasiquote unsplicing 07:00 (quit) mau: Quit: ZNC - http://znc.in 07:16 (join) jeapostrophe 07:16 (quit) jeapostrophe: Changing host 07:16 (join) jeapostrophe 07:20 (join) tilde` 07:35 (join) rmathews 07:42 (quit) Kaylin1: Read error: Connection reset by peer 08:02 (quit) tilde`: Read error: No route to host 08:03 (join) tilde` 08:08 (join) didi` 08:09 (nick) didi` -> didi 08:12 (quit) tilde`: Read error: Connection reset by peer 08:13 (join) tilde` 08:15 (quit) tilde`: Read error: No route to host 08:18 (join) tilde` 08:35 (join) dnolen 08:36 (quit) tilde`: Read error: Connection reset by peer 08:36 (join) tilde` 08:40 (quit) Guest16838: Ping timeout: 276 seconds 08:42 (join) mizu_no_oto 08:50 (join) soegaard 08:52 (quit) noelw: Quit: noelw 08:57 (quit) tilde`: Read error: Connection reset by peer 08:58 (join) tilde` 09:02 (join) Shambles_ 09:06 (quit) rohni: Quit: Leaving. 09:22 (quit) bitonic: Ping timeout: 272 seconds 09:24 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 09:30 (quit) sirdancealot7: Quit: KEEP SPARKS. FLAME AWAY. 09:35 (quit) lewis1711: Quit: Leaving 09:39 (join) mizu_no_oto 09:40 (quit) mizu_no_oto: Client Quit 09:42 soegaard: https://www.cs.utexas.edu/~smaragd/gscope.pdf 09:44 (join) RacketCommitBot 09:44 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Kw1qgQ 09:44 RacketCommitBot: racket/master d746850 Eli Barzilay: Add template file for tweaked docs. 09:44 RacketCommitBot: racket/master 8117b6b Eli Barzilay: Change the symlink that serves docs to the one that holds the tweaked version. 09:44 (part) RacketCommitBot 09:47 (join) mizu_no_oto 09:54 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 10:08 (join) bitonic 10:10 (quit) hkBst_: Ping timeout: 264 seconds 10:18 (join) hkBst__ 10:19 (quit) bitonic: Remote host closed the connection 10:21 (join) bitonic 10:27 (join) didi 10:27 (quit) paddymahoney: Quit: Ex-Chat 10:28 (join) paddymahoney 10:28 (join) rohni 10:38 (join) hash_table 10:39 (join) anRch 10:42 (join) bender 10:42 (nick) bender -> Guest68034 10:42 (join) mizu_no_oto 10:45 (join) mithos28 10:48 (quit) jeapostrophe: Ping timeout: 264 seconds 10:59 (join) Guest68034 11:01 (quit) ambrosebs: Remote host closed the connection 11:04 (join) gridaphobe 11:06 (quit) dnolen: Ping timeout: 264 seconds 11:06 rohni: Hello all, I keep remembering to ask about this too late in the day, but if anyone has a quick answer that would be great. 11:07 rohni: I am following the programming languages class on coursera, and really enjoying it, esp. getting reaquainted with racket. 11:08 rohni: One of the examples has to do with making a less bracketty version of let, something like clojure's. But the limit in the example was that it was limited to two var assignments. 11:08 (quit) mceier: Quit: leaving 11:09 rohni: What I was trying to figure out was how to make it infinite. 11:09 rohni: btw. what paste bin is used on this channel? 11:09 mithos28: anything 11:09 mithos28: I use gist.github.com 11:09 asumu: gist++ 11:12 rohni: Ahh, gist is a good one, oh well here: http://paste.lisp.org/+2WOA 11:12 rohni: Okay, so that was the example, I was trying to figure out how to get the whole as many bindings as you want thing going, but got stuck. 11:14 mithos28: I assume the issue is that you cannot do (var/val …) because you want there to be an even number? 11:16 rohni: so here is a recursive let that kind of implements a let* with let, followed by the broken let using the … improperly I am guessing: https://gist.github.com/rohni/5039702 11:18 mithos28: rohni: Can you use syntax-case/syntax-parse instead of syntax-rules? 11:18 asumu: rohni: BTW, it looks nicer if you set it to syntax highlight Racket 11:18 rohni: mithos28: Well, I tried doing the var/val thing, and put … after it, but I got an error. And I think it is because there has to be an even number and no way to make that clear. With the let ([myvar myval] … ) you have a definite pattern while the other would be hard to figure out . 11:18 rohni: oops sorry. 11:19 rohni: asumu: there that is better. Thanks. 11:20 rohni: mithos28: Ah, okay. I will have to look at the syntax-case/syntax-parse more closely. Thanks. You know when all you have is a hammer. ;) 11:21 mithos28: yeah. In syntax/case you can do (even? (length (syntax->list #'(val/var …)))) 11:24 (quit) asvil: Ping timeout: 245 seconds 11:24 (join) racycle 11:25 rohni: mithos28: okay, that is brilliant, and solves the problem I am having. The macro language is really rich, and takes care of all sorts of nasty pitfalls for you. The syntax-rules stuff is especially elegant for a bunch of cases. 11:26 rohni: mithos28, asumu: thanks for the help, I have to run and will check out syntax-case and syntax-parse tonight (live in europe). 11:26 mithos28: you should take a look at syntax-parse, it is much more feature rich and can do what you want aswell without going outside the pattern matching system 11:27 mithos28: stamourv: Have you or Sam gotten a chance to look at my outstanding pull requests? 11:28 (quit) rohni: Quit: Leaving. 11:35 (quit) rmathews: Ping timeout: 260 seconds 11:36 (join) rmathews 11:38 (quit) gridaphobe: Remote host closed the connection 11:39 (quit) hkBst__: Quit: Konversation terminated! 11:42 soegaard: I added a syntax-parse version of rohnis let2 to https://gist.github.com/rohni/5039702 11:42 mithos28: og -> of 11:43 (join) carleastlund 11:43 soegaard: Ah! 11:43 didi: Why does Clojure hate parens? 11:44 mithos28: didi: Because they are scary 11:44 didi: :^) 11:44 soegaard: My internal spellling corrector has a hard time catching "og". It means "and" in Danish. 11:45 soegaard: I am becoming more and more fond of syntax-parse. 11:48 (quit) anRch: Quit: anRch 11:49 (quit) cdidd: Read error: Connection reset by peer 12:00 (quit) vkz: Quit: vkz 12:05 elly: syntax-parse? 12:05 mithos28: rudybot: doc syntax-parse 12:05 rudybot: mithos28: your sandbox is ready 12:05 rudybot: mithos28: no docs for a current binding, but provided by: syntax/parse 12:05 mithos28: rudybot: (require syntax/parse) 12:05 rudybot: mithos28: Done. 12:05 mithos28: rudybot: doc syntax-parse 12:05 rudybot: mithos28: http://docs.racket-lang.org/syntax/Parsing_Syntax.html#(form._((lib._syntax%2Fparse..rkt)._syntax-parse)) 12:06 elly: woah, fancy 12:08 (join) jeapostrophe 12:08 (quit) jeapostrophe: Changing host 12:08 (join) jeapostrophe 12:08 (join) Kaylin 12:11 (quit) hash_table: Read error: Connection reset by peer 12:15 (join) cdidd 12:17 stamourv: mithos28: Not yet. 12:18 (join) anRch 12:18 stamourv: Which ones would you like me to look at first? 12:19 mithos28: Of the complicated ones: https://github.com/plt/racket/pull/253 12:20 mithos28: https://github.com/plt/racket/pull/222, is an easy one but it adds some stuff that later ones need 12:21 (quit) mario-goulart: Read error: Connection reset by peer 12:21 (join) mario-goulart 12:22 elly: hrm 12:23 elly: syntax-parse doesn't fit in my brain yet 12:23 mithos28: https://github.com/plt/racket/pull/233, https://github.com/plt/racket/pull/219, https://github.com/plt/racket/pull/257, https://github.com/plt/racket/pull/246/files are all simple. 12:24 mithos28: elly: If you ignore syntax-classes it is just syntax-case with better pattern matching 12:25 (join) mceier 12:28 (join) jonrafkind 12:28 (quit) Guest68034: Remote host closed the connection 12:30 (quit) tilde`: Ping timeout: 255 seconds 12:37 paddymahoney: I really prefer it, the error messages it produces can be a lot better depending on your annotations. 12:42 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 12:52 (join) sirdancealot7 12:52 (quit) anRch: Quit: anRch 12:58 (join) gridaphobe 13:00 (nick) ASau` -> ASau 13:19 (quit) gridaphobe: Remote host closed the connection 13:20 (quit) bitonic: Ping timeout: 276 seconds 13:26 (join) mizu_no_oto 13:28 stamourv: mithos28: Re 253: The changes to the tests look good to me, and we discussed the implementation strategy. I think you should push it. 13:28 (join) Pupnik- 13:30 (quit) soegaard: Quit: soegaard 13:30 stamourv: mithos28: Re 222: What's the problem that this is fixing? 13:32 stamourv: mithos28: Re 233: Looks good. 13:33 stamourv: mithos28: Would you prefer I comment on the pull requests directly, or is IRC fine? 13:35 stamourv: mithos28: Re 219: Could you add some tests? 13:36 (join) gridaphobe 13:36 (join) soegaard 13:36 stamourv: mithos28: Re 246: Looks good, but if you can add a test, that would be great. 13:37 (quit) yacks: Remote host closed the connection 13:38 (quit) gridaphobe: Remote host closed the connection 13:38 stamourv: mithos28: Re 257: It looks like you're adding a failing test that should actually succeed. These kinds of tests go in xfail. 13:41 (join) rohni 13:42 (join) RacketCommitBot 13:42 RacketCommitBot: [racket] plt pushed 4 new commits to master: http://git.io/LOA6kw 13:42 RacketCommitBot: racket/master 87a8e6f Robby Findler: fix unstable/2d's lexer to handle eof better 13:42 RacketCommitBot: racket/master 478ec22 Robby Findler: add with-roots to plai's gc languages 13:42 RacketCommitBot: racket/master 3c295d1 Robby Findler: fix lexer contract 13:42 (part) RacketCommitBot 13:43 (quit) sirdancealot7: Read error: Connection reset by peer 13:46 (join) mithos28_ 13:47 (quit) Kaylin: Ping timeout: 248 seconds 13:57 (quit) soegaard: Quit: soegaard 14:02 (join) sirdancealot7 14:04 (quit) cdidd: Ping timeout: 248 seconds 14:06 (join) cdidd 14:07 (join) jbclements 14:11 (quit) rmathews: Ping timeout: 248 seconds 14:11 (quit) mizu_no_oto: Read error: Connection reset by peer 14:11 (join) mizu_no_oto 14:12 (join) rmathews 14:12 (quit) pinupgeek: Remote host closed the connection 14:15 (join) anRch 14:17 (join) dyoo 14:23 (join) jao 14:23 (quit) jao: Changing host 14:23 (join) jao 14:28 (join) rich1 14:33 (join) bitonic 14:39 (quit) rohni: Quit: Leaving. 14:43 (join) Kaylin 14:43 (join) ijp` 14:45 (quit) ijp: Ping timeout: 248 seconds 14:55 (quit) tmathmeyer: Ping timeout: 252 seconds 14:58 (quit) anRch: Quit: anRch 15:08 (quit) rich1: Quit: Leaving. 15:10 (join) tilde` 15:16 (quit) jonrafkind: Read error: Operation timed out 15:21 (join) RacketCommitBot 15:21 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/3L8Wsw 15:21 RacketCommitBot: racket/master 9b86d44 Danny Yoo: Modify the src-pos error reporting in parser-tools to better show the token context.... 15:21 (part) RacketCommitBot 15:38 (join) yeboot 15:39 yeboot: what's the proper typing of (lambda () +) 15:39 yeboot: (lambda: (Void -> Procedure)) ? 15:40 stamourv: yeboot: The `Procedure' type is not what you want here. In fact, you pretty much never want to use it. 15:40 stamourv: It means "all I know is that it's a function, I don't know how many arguments it accepts, or what it returns, though.", which means that you can't apply anything of that type. 15:40 stamourv: As for the type of your example, it depends. 15:41 stamourv: The most precise type would be `(-> Type-Of-+)'. 15:41 stamourv: But `Type-Of-+' is not directly available. 15:42 stamourv: And since `+''s type describes the behavior of Racket's `+' is all its gory details, it's a pretty big type. 15:42 stamourv: rudybot: init typed/racket 15:42 rudybot: stamourv: your typed/racket sandbox is ready 15:42 stamourv: rudybot: + 15:42 rudybot: stamourv: ; Value: # 15:42 rudybot: stamourv: ; stdout: "- : (Number * -> Number) ... [Use (:print-type ) to see more.]\n" 15:43 stamourv: yeboot: I'm a bit afraid to use `(:print-type +)' with rudybot, but feel free to try at your REPL. 15:43 stamourv: (The type is really huge.) 15:43 yeboot: haha 15:43 stamourv: So anyway, the type you should give to your lambda above depends on how you plan to use the `+' inside. 15:44 stamourv: That is, if you're only going to add integers, you can give it the type `(-> (Integer * -> Integer))'. 15:44 stamourv: If you're only adding floats: `(-> (Float * -> Float))'. 15:44 yeboot: I see 15:45 stamourv: If sometimes you're adding integers, sometimes floats: `(case-> (Integer * -> Integer) (Float * -> Float))'. 15:45 stamourv: That's a function intersection type. It means: this function can act both as a `(Integer * -> Integer)' function and as a `(Float * -> Float)'. 15:45 (nick) ijp` -> ijp 15:45 stamourv: If you want to be able to mix integers and floats, add a case for that in the intersection. 15:46 stamourv: Now, Racket has a *lot* of different kinds of numbers, and you can mix them freely, and that's how you get such a huge type for `+'. 15:47 stamourv: But, the goods news is that, in your program, you only need to write down the types you're going to use it at. 15:47 stamourv: Anyway, sorry for the brain dump. Does that answer your question? 15:47 yeboot: I see, thank you. Not a brain dump, you told me exactly what I wanted to know 15:47 yeboot: I was flipping between the (:print-type +) and this conversation 15:47 yeboot: I have another question, though 15:48 stamourv: If you want to know more, I wrote a paper for PADL last year that explains the Typed Racket numeric tower in detail. It's on my web page. 15:48 stamourv: Sure, ask away. :) 15:48 yeboot: do you have a link? 15:48 stamourv: Sure, 1 sec. 15:48 dyoo: http://www.ccs.neu.edu/racket/pubs/padl12-stff.pdf 15:48 stamourv: dyoo: Thanks! You're faster than I am. 15:50 (quit) rmathews: Ping timeout: 272 seconds 15:50 dyoo: yeboot: the PLT folks have good repositories of papers under the PLT Publications section of: http://racket-lang.org/learning.html 15:50 (join) gtoast 15:51 yeboot: Well, my second question is this, I'm used to the verbose typing of C, so when specifying the types in the mappings (by functions) in racket ( t -> v) I keep thinking that something like (lambda () 5) should be (lambda: (Void -> Number)), but the proper form seems to be (lambda: (-> Number)). Does Void have a different meaning in racket? 15:51 dyoo: void is actually a value in Racket 15:51 (join) rmathews 15:51 dyoo: rudybot: (list (void) (void)) 15:51 rudybot: dyoo: your sandbox is ready 15:51 rudybot: dyoo: ; Value: (# #) 15:52 yeboot: not void, Void, which is a type specified in the Type Reference 15:52 didi: rudybot: (list (values) (values)) 15:52 rudybot: didi: your sandbox is ready 15:52 rudybot: didi: error: result arity mismatch; expected number of values not received expected: 1 received: 0 values...: 15:52 carleastlund: yeboot, Void is the type of (void). 15:53 stamourv: rudybot: (list (void)) 15:53 rudybot: stamourv: ; Value: (#) 15:53 rudybot: stamourv: ; stdout: "- : (Listof Void) [generalized from (List Void)]\n" 15:53 (join) jonrafkind 15:53 carleastlund: So a function of type (Void -> Number) expects one argument, which should be (void). A function of type (-> Number) expects zero arguments. 15:53 stamourv: That value has type `Void'. 15:53 dyoo: yeboot: yes; it's a built-in datatype: http://docs.racket-lang.org/guide/void_undefined.html 15:53 stamourv: rudybot: (: foo : Void -> Integer) 15:53 rudybot: stamourv: Done. 15:54 stamourv: rudybot: (define (foo x) 3) 15:54 rudybot: stamourv: Done. 15:54 stamourv: rudybot (foo (void)) 15:54 stamourv: rudybot: (foo (void)) 15:54 rudybot: stamourv: ; Value: 3 15:54 rudybot: stamourv: ; stdout: "- : Integer\n" 15:54 stamourv: rudybot: (foo 'not-void) 15:54 rudybot: stamourv: error: #:1:5: Type Checker: Expected Void, but got 'not-void in: (quote not-void) 15:55 yeboot: I see 15:55 yeboot: so when you expect nothing, you don't put anything 15:55 stamourv: Yes. 15:55 asumu: Hmm, why does rudybot have this # thing there? 15:55 stamourv: (Of course `Nothing' is also a type, but let's not go there.) 15:56 stamourv: (It also does not mean no arguments.) 15:56 stamourv: asumu: No module info, probably. 15:57 asumu: stamourv: well, a standard sandbox evaluator prints "eval" there 15:58 (quit) paddymahoney: Remote host closed the connection 16:00 stamourv: Hmm. Good point. 16:01 (quit) cdidd: Remote host closed the connection 16:04 (join) cnonim 16:07 (quit) Pupnik-: Quit: Leaving 16:08 cnonim: is it possible to implement some language on top of racket without s-expressions? and where i can view some example of that? 16:08 (join) rohni 16:09 stamourv: cnonim: Yep, that's possible. 16:09 stamourv: Here are some examples. 16:09 stamourv: There's honu, which ships with Racket. 16:09 didi: cnonim: http://hashcollision.org/brainfudge/ 16:09 stamourv: asumu has a sweet-expressions package on PLaneT. 16:09 didi: Also, Scribble. 16:10 stamourv: Scribble (Racket's documentation system) uses the at-exp syntax, which is also available for other Racket languages (try #lang at-exp racket). 16:10 stamourv: (add1 didi) :) 16:11 stamourv: dyoo's BF tutorial (that didi linked to) is probably the best introduction. 16:11 didi: \o/ 16:11 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 16:11 cnonim: thx, guys ) 16:11 dyoo: cnonim: soegaard's minipascal is also an example 16:11 yeboot: dyoo/bf 16:11 yeboot: rofl 16:11 dyoo: https://github.com/soegaard/minipascal 16:12 yeboot: Why is everyone to say the proper name of the BrainFuck language 16:13 cnonim: that's cool ) 16:13 dyoo: Robby had the same question: http://lists.racket-lang.org/dev/archive/2011-June/006720.html 16:16 yeboot: is there a reply 16:17 yeboot: So, how do I specify what file a module is in? 16:18 dyoo: yeboot: not quite sure I understand the question yet. Context? 16:18 carleastlund: yeboot, I'm not quite sure what that question means. What are you trying to do? Require a module from some client program? 16:20 yeboot: oh I have a file module.rkt containing (module hello-module racket (define (hello-world) (displayln "hello world"))) 16:20 dyoo: typically, you want the name of the module match up with the name of the file. 16:21 dyoo: If you use #lang, it does this for you implicitly. 16:22 cnonim: it's posible to specifi wich language use in modules in external module or from command line? 16:22 dyoo: yeboot: The Guide talks about this here: http://docs.racket-lang.org/guide/module-basics.html#(part._module-org) 16:22 (quit) bitonic: Ping timeout: 276 seconds 16:22 stamourv: cnonim: The language a module is written in is a property of the module itself, it wouldn't make sense to specify it externally. 16:23 carleastlund: cnonim, no, the language you use is determined by the source code. You can't change the language externally. That would essentially be rewriting the program. 16:23 cnonim: what if i have some config files and don't want change first line? 16:24 (quit) rmathews: Ping timeout: 255 seconds 16:24 dyoo: cnonim: a module is written with a specific language in mind. I'm sure it's technically possible to try to override the language, but it's not something that Racket provides direct support for. To get the effect, you'd basically be doing something with http://docs.racket-lang.org/guide/reflection.html and driving evaluation yourself. 16:24 (join) rmathews 16:24 (join) mizu_no_oto 16:24 carleastlund: cnonim, a little more context might help us. Why would you want to run the body of a program in two different languages? There might be a better way to accomplish the goal you have than switching languages. 16:26 stamourv: cnonim: .rktl or .rktd files may be what you want here. 16:26 cnonim: carleastlund: i'm don't want run program in two different language, i have some sorce for some compiller and want run that source in racket without modify first line 16:27 carleastlund: cnonim, Oh, I see. You might want to use (include "file-name-here") to pull the source code into a file that does start with #lang racket. 16:28 cnonim: carleastlund: thx, it's possible solution 16:28 danking: cnonim: "cat <(echo '#lang lang-you-want') your-file.rkt | racket" ? 16:29 carleastlund: alternately, "racket -f file-name-here". 16:33 (quit) jbclements: Quit: jbclements 16:37 asumu: eli: any reason that in XREPL ,rr takes module arguments and ,r takes require arguments? 16:37 yeboot: http://ix.io/4xE 16:37 yeboot: http://ix.io/4xF 16:37 yeboot: what am I doing wrong? 16:37 asumu: eli: I expected them to have the same syntax, but maybe there's a technical reason why it doesn't work? 16:37 carleastlund: yeboot, at first glance, I'd say you need (provide hello-world) in "hello-module.rkt". 16:38 yeboot: carleastlund ah 16:38 (join) bitonic 16:39 danking: Is there a technical reason why racket/math's array-fft only works on arrays of dimensions that are powers of two? Is it for performance concerns? I'm looking to use array-fft on arbitrary sized arrays. 16:40 (join) netrino 16:40 stamourv: danking: Cooley-Tukey requires arrays with powers of two length. 16:40 stamourv: You can add padding, but maybe the library should pad for you. I don't know. 16:40 (quit) cnonim: Quit: WeeChat 0.4.0 16:41 danking: stamourv: It's my understanding that padding will destroy the accuracy of the fft because not all signals will need the same padding. 16:42 stamourv: Right, which is why I said "I don't know". 16:42 danking: Yeah. 16:42 stamourv: My signal processing class was years ago. 16:43 danking: I might end up implementing arbitrary dimension FFTs. If I do I'll submit a patch :) 16:44 stamourv: :D 16:44 yeboot: fourier: Time dimension? nah, frequency.. 16:45 yeboot: sorry I'm kinda feverish right now so i thought that was funny 16:46 (quit) tilde`: Quit: kthxbai 16:50 (quit) jao: Ping timeout: 272 seconds 16:59 (join) RacketCommitBot 16:59 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/agXULg 16:59 RacketCommitBot: racket/master 899a327 Matthew Flatt: add experimental support for "phaseless" modules... 16:59 (part) RacketCommitBot 17:02 (join) soegaard 17:05 (join) jbclements 17:08 (quit) rmathews: Ping timeout: 264 seconds 17:09 soegaard: phaseless modules ?? 17:09 (join) rmathews 17:10 soegaard: (reading the docs) 17:16 (quit) carleastlund: Quit: carleastlund 17:20 yeboot: on this poor 700Mhz processor racket has taken over 14 hours to compile thusfar 17:21 jonrafkind: you should not build the docs 17:22 didi: jonrafkind: :^O 17:23 (join) rich1 17:24 yeboot: jonrafkind how would I have built that 17:24 yeboot: I mean 17:24 yeboot: not built that 17:25 jonrafkind: raco setup -D 17:25 jonrafkind: after make plain-install 17:25 yeboot: I'm using arch's makepkg 17:25 jonrafkind: you're creating the racket package for arch? 17:26 yeboot: no 17:26 yeboot: one exists in aur 17:26 jonrafkind: so shouldnt you be installing a binary 17:26 yeboot: If I was on x86, yes 17:26 yeboot: Archlinux-Arm 17:26 jonrafkind: so arch only provides source packages for non-x86 versions? 17:27 yeboot: it's not an arch package, it's an aur package, it pulls and builds directly from the git 17:27 jonrafkind: sounds like you have nothing to lose by compiling yourself 17:27 yeboot: arch lets you suppliment the provided environment with aur 17:27 (quit) rmathews: Ping timeout: 244 seconds 17:28 yeboot: Aur standing for arch user repository 17:28 (join) rmathews 17:30 yeboot: why does the racket configuration check for the size of char? C standard defines that as 1 17:30 jonrafkind: standard check in autoconf. # The cast to long int works around a bug in the HP C Compiler 17:30 jonrafkind: # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects 17:30 jonrafkind: # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. 17:30 jonrafkind: # This bug is HP SR number 8606223364. 17:32 (quit) soegaard: Quit: soegaard 17:34 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 17:34 yeboot: thanks for tha 17:34 yeboot: what's the make build command for plain-install 17:35 yeboot: not to install it, just to build it 17:35 jonrafkind: make 17:35 yeboot: that builds the configurations, too, doesn't it? 17:36 jonrafkind: you mean calls configure..? 17:37 yeboot: nsure 17:37 jbclements: yeboot: racket is unusual in that it's "make install" that takes hours and hours, not "make". 17:37 jonrafkind: this is how you build racket 17:37 jonrafkind: cd racket/src; mkdir b; cd b; ../configure; make; make plain-install 17:38 yeboot: except that I let it run for 15 hours and it wasn't done compiling 17:38 yeboot: nvm I think I know how to fix this 17:38 jbclements: yeboot: I'd be willing to bet $5 that it was make install that was taking time, not make. 17:39 yeboot: that's likely only a few minutes of your time 17:39 jonrafkind: are you building on a raspberrypi emulator? 17:40 yeboot: Emulator? no. 17:42 (quit) rmathews: Ping timeout: 248 seconds 17:44 (join) rmathews 17:45 yeboot: I'm building it on an actual raspberry pi 17:47 jbclements: yeboot: should have taken the bet… that would have been a quick $5 for you :) 17:55 (quit) rich1: Quit: Leaving. 17:57 yeboot: haha 17:59 yeboot: I figured out how to change the pacakging command from make install to make plain-install 18:00 yeboot: so I'm going forward based on what you were saying anyway 18:05 asumu: Does the phaseless module definition mean that its base language must be phaseless? 18:07 stamourv: asumu: I would assume so. 18:07 stamourv: #lang is an import. 18:08 dyoo: does the racket guide actually recommend using raco exe? 18:08 dyoo: I just helped debug a situation with a user in the lab where they were using raco exe, convinced that that was the normal way to make racket programs as shell programs. 18:09 didi: dyoo: That was not my impression when I read it. 18:09 asumu: dyoo: doesn't the first section introduce raco exe? 18:09 chandler: what's the "normal" way? 18:09 asumu: (though it doesn't encourage it over shell scripts) 18:09 didi: But I was used to add shebang lines to my scripts. 18:09 chandler: I use raco exe, because the startup time of the resulting program is much lower 18:10 dyoo: normal way, on a unix environment, is just to add a #! and make the resulting binary executable 18:10 dyoo: if you need it to start fast, use raco make to precompile 18:10 chandler: This is for a tool I use somewhere between a handful and a dozen times a day interactively 18:11 dyoo: chandler: ah. In that case, use raco make on the source.rkt, and then just 'racket source.rkt': racket will load the compiled bytecode generated by raco make. 18:13 dyoo: chandler: basically, as http://docs.racket-lang.org/guide/scripts.html 18:13 chandler: Yeah, that gets the startup time to be the same, though I still like having the file to plonk into /usr/local/bin. Maybe that's unncessary, but it works. 18:14 (quit) jeapostrophe: Ping timeout: 260 seconds 18:14 dyoo: I have to trace down what the exact situation was, but when the user in the lab used raco exe, it somehow built in such a way that it couldn't find the lexer library, so the binary was esssentially broken. 18:15 chandler: I've got the shebang line on it already, but I've also got a little makefile so that I can run "make install" and get the binary into /usr/local/bin, rather than cluttering up my $PATH. 18:16 dyoo: hmm… I guess in your situation, that sounds right. I think the problem is that I'm noticing a lot of people think "compiling to executable" means fast execution, when it's just the pre-compilation of raco make that can do it for them. 18:18 chandler: Maybe I'm missing something obvious, but if I symlink a Racket script to a different directory and then run it from there, my local-directory requires don't resolve. Is there a way to make those explicitly relative to the script's resolved path? 18:19 (join) RacketCommitBot 18:19 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/9ngNFw 18:19 RacketCommitBot: racket/master ef08cc4 Asumu Takikawa: Enable contract and add a purpose statement 18:19 (part) RacketCommitBot 18:28 (quit) rohni: Quit: Leaving. 18:32 (quit) netrino: Remote host closed the connection 18:33 asumu: Surprisingly, I guess there isn't a binding for 'e' in the core racket libraries. 18:33 asumu: (not counting student langs or mzlib as core) 18:44 (quit) racycle: Quit: racycle 18:44 asumu: Also, I think the definition of symbols in Guide 3.6 is kinda circular. :p 18:51 (quit) Kaylin: Read error: Connection reset by peer 18:52 (join) Kaylin 18:53 (join) gridaphobe 18:54 (join) brum 18:56 (quit) Kaylin: Read error: Connection reset by peer 18:57 (join) Kaylin 19:03 dyoo: chandler: whoa. It doesn't resolve relative to the real file?! That sounds off. 19:03 jbclements: dyoo: I use (exp 1) ... 19:03 jbclements: typo, sorry, asumu 19:03 dyoo: jbclements: sorry, I lost context. 19:04 dyoo: ah. :) 19:04 jbclements: blushing. 19:05 dyoo: chandler: can you mention that on the mailing list? I don't know what the "correct" behavior is supposed to be in that situation, but I expected it to work the way you wanted it to. 19:06 (join) ambrosebs 19:11 (quit) yeboot: Remote host closed the connection 19:13 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 19:14 asumu: rudybot: (exp 1) 19:14 rudybot: asumu: your sandbox is ready 19:14 rudybot: asumu: ; Value: 2.718281828459045 19:15 asumu: Ah, nice. Thanks for the tip jbclements. 19:15 dyoo: asumu: I though e was bound in the teaching langauges somewhere... 19:16 asumu: dyoo: it is, but not in #lang racket 19:17 dyoo: asumu: ah, you're right. 19:20 (join) merijn_ 19:23 (quit) merijn: Ping timeout: 244 seconds 19:25 (join) merijn 19:25 (quit) merijn_: Ping timeout: 255 seconds 19:28 (quit) Kaylin: Read error: Connection reset by peer 19:30 (join) Kaylin 19:31 (quit) ambrosebs: Remote host closed the connection 19:32 (join) racycle 19:32 (join) RacketCommitBot 19:32 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/GCvKOg 19:32 RacketCommitBot: racket/master 30c381f Asumu Takikawa: Various improvements to Guide section 3... 19:32 (part) RacketCommitBot 19:33 (join) ijp 19:33 danking: Hey guys, I'm having trouble type checking for/vector: 19:33 danking: It complains that I don't have enough type information to typecheck, but I've added annotations to the for/vector: form itself as well as the for-clause id's. 19:33 (quit) brum: Remote host closed the connection 19:39 (join) Kaylin1 19:40 chandler: dyoo: Sure, I sent something to the users list. 19:41 (quit) Kaylin: Ping timeout: 255 seconds 19:42 asumu: danking: do you have a snippet you can pastebin? 19:42 dyoo: danking: do you have an example ? 19:43 (join) jao 19:43 asumu: (or give to rudybot) 19:43 (quit) jao: Changing host 19:43 (join) jao 19:43 danking: dyoo, asumu: Yessirs, one moment. 19:44 (quit) gtoast: Quit: gtoast 19:45 danking: https://gist.github.com/MGnieski/5043826 19:45 danking: dyoo, asumu: 19:46 asumu: danking: for one, I think you want `Vectorof` in the type signature of the function 19:47 asumu: If that still doesn't work, try annotating the results of the for/vector:s, e.g. (for:vector : Type ...) 19:48 danking: Trying... 19:48 (quit) bitonic: Ping timeout: 264 seconds 19:49 danking: Didn't help 19:49 danking: We psoted the precise error in the gist 19:50 dyoo: danking: the type checker seems to be happy with https://gist.github.com/dyoo/5043863 19:53 danking: Thinking.. 19:58 (quit) jao: Ping timeout: 248 seconds 20:00 (join) dnolen 20:01 (join) merijn_ 20:01 (quit) jbclements: Quit: jbclements 20:03 (join) fasta_ 20:03 (quit) fasta: Read error: Connection reset by peer 20:03 (quit) merijn: Ping timeout: 256 seconds 20:06 (quit) merijn_: Ping timeout: 252 seconds 20:06 (join) merijn 20:11 danking: dyoo: thanks 20:11 dyoo: did it help? 20:21 (join) yeboot 20:21 yeboot: why can't plain-install be used with a DESTDIR ? 20:30 dyoo: yeboot: DESTDIR? Do you mean like ./configure --prefix? 20:33 yeboot: no like make DESTDIR=~/something/ plain-install 20:34 dyoo: I'm a bit unfamiliar with the build system; I'm not sure if the generated makefile looks at DESTDIR. Checking… 20:35 yeboot: it does, cannot use plain-install with DESTDIR=/home/shodan/cower/racket-git/pkg is an error echoed by the makefile 20:35 dyoo: huh. ok, so I see the makefile explicitly says that DESTDIR can't be used in a plain-install. 20:36 dyoo: I have no clue why though… :( 20:36 (join) ambrosebs 20:37 (join) gridapho_ 20:37 (quit) gridaphobe: Read error: Connection reset by peer 20:38 (quit) Kaylin1: Quit: Leaving. 20:38 (quit) dyoo: Quit: dyoo 20:42 yeboot: I'll just set it back to regular make, and then wait 24 hours 20:47 (quit) gridapho_: Remote host closed the connection 20:59 (join) mizu_no_oto 21:00 (join) sw2wolf 21:12 (quit) ambrosebs: Remote host closed the connection 21:21 (join) RacketCommitBot 21:21 RacketCommitBot: [racket] plt pushed 4 new commits to master: http://git.io/81DYag 21:21 RacketCommitBot: racket/master 2e652fc Matthew Flatt: fix some "phaseless" module holes 21:21 RacketCommitBot: racket/master 2646ff6 Matthew Flatt: try "phase-collapsing" instead of "phaseless" 21:21 RacketCommitBot: racket/master e15569e Matthew Flatt: add `racket/kernel/init' 21:21 (part) RacketCommitBot 21:26 (join) gridaphobe 21:27 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 21:29 asumu: eli: BTW, you should link to your zazzle page from the home page. 21:29 asumu gets comments about his Racket mug a lot 21:29 (join) mizu_no_oto 21:40 (nick) ijp -> i-am-not-jlf 21:40 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 21:41 (join) mizu_no_oto 21:42 (quit) mizu_no_oto: Client Quit 21:43 (quit) gridaphobe: Remote host closed the connection 21:43 (join) mizu_no_oto 22:02 (join) jao 22:03 (quit) jao: Changing host 22:03 (join) jao 22:04 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 22:06 bdmst: Are there any projects you guys would recommend for me to look through to get a feel for racket in practice? Preferably applications instead of libraries. 22:08 (join) gridaphobe 22:10 (join) ambrosebs 22:12 (join) bjz 22:12 (quit) bjz_: Read error: Connection reset by peer 22:12 offby1: maybe people's "Programming Praxis" or "Project Euler" solutions? Of course those are toys 22:14 (join) RacketCommitBot 22:14 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/ofbIfw 22:14 RacketCommitBot: racket/master 76421ee Burke Fetscher: Fix expansion for relations in term positions.... 22:14 (part) RacketCommitBot 22:15 bdmst: offby1: I was thinking more along the lines of a complete application. I was actually skimming through rudybot before 22:15 bdmst: I'm glancing through https://github.com/dchest/iwl now 22:15 offby1: I was too modest to suggest that :) 22:15 yeboot: is there any support for headless racket 22:15 offby1: eww gross 22:16 bdmst: My link or headless racket? 22:16 (join) mizu_no_oto 22:16 offby1: latter 22:16 (quit) ambrosebs: Remote host closed the connection 22:17 yeboot: ... if its supposedly good for web development why wouldn't you be able to get a headless version 22:17 offby1: well, define "headless". I have no problem running rudybot on a server. I just let standard out spew 22:19 Nisstyre: yeboot: not sure what you mean by headless 22:19 Nisstyre: you can of course upload racket programs and compile them 22:19 (quit) mizu_no_oto: Client Quit 22:19 Nisstyre: just like you would C, Java, etc... 22:20 yeboot: Nisstyre I'm talking about ./configuring and making for a headless environment 22:21 Nisstyre: yeboot: isn't that what Raco is for? 22:22 yeboot: Nisstyre 'make install' does all the raco stuff 22:22 Nisstyre: yeboot: I mean you can use raco to write build files 22:22 Nisstyre: isn't that what you want? 22:25 yeboot: would kinda work 22:25 yeboot: that would* 22:35 (join) mizu_no_oto 22:47 (quit) jonrafkind: Ping timeout: 276 seconds 22:48 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 22:53 (quit) bjz: *.net *.split 22:53 (quit) dented42: *.net *.split 22:53 (quit) danking: *.net *.split 22:53 (quit) Draggor: *.net *.split 22:53 (quit) errstr: *.net *.split 22:54 yeboot: netsplit 22:54 (quit) mithos28_: Quit: mithos28_ 22:55 (join) bjz 22:55 (join) dented42 22:55 (join) danking 22:55 (join) Draggor 22:55 (join) errstr 22:55 (join) RacketCommitBot 22:55 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/pxMSUQ 22:55 RacketCommitBot: racket/master 9621a58 Robby Findler: change expansion of ->i to make renaming work better in check syntax... 22:55 RacketCommitBot: racket/master 574fc8f Robby Findler: add a missing arg to jump-to-next-callback... 22:55 (part) RacketCommitBot 23:06 dented42: is the reader written in racket? 23:07 asumu: dented42: no, the default reader is in C. 23:08 dented42: I thought so 23:09 (join) yacks 23:10 (join) mizu_no_oto 23:22 (join) Kaylin 23:28 (join) jonrafkind 23:28 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 23:34 sw2wolf: rudybot: (+ 1 (expt 2 64)) 23:34 rudybot: sw2wolf: ; Value: 18446744073709551617 23:34 offby1 sees sw2wolf's 18446744073709551617, and raises 23:34 sw2wolf: rudybot: (+ 1 (expt 2 1000)) 23:34 rudybot: sw2wolf: ; Value: 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069377 23:34 offby1: rudybot: (+ 2 (expt 2 64)) 23:34 rudybot: *offby1: your sandbox is ready 23:34 rudybot: *offby1: ; Value: 18446744073709551618 23:34 offby1: drat 23:34 sw2wolf: great ! 23:34 offby1 ponders 23:34 mithos28: rudybot: (expt 2 (expt 2 64)) 23:34 rudybot: mithos28: your sandbox is ready 23:34 rudybot: mithos28: error: evaluator: terminated (out-of-memory) 23:35 offby1: rudybot: what's up with all the big numbers? 23:35 rudybot: *offby1: To be able to `read' and `write' them and use them in quoted constructs. The same reason we need literal syntax for numbers, characters, strings etc. 23:35 offby1: rudybot: but that makes no sense. 23:35 rudybot: *offby1: Did that script make sense? 23:35 offby1: No. 23:35 rudybot: mithos28: I see what you did there. 23:36 yeboot: rudybot: (define (foo x) (cond [(= x 1) x] [(else) (* x (foo (- x 1)))])) 23:36 rudybot: yeboot: your sandbox is ready 23:36 rudybot: yeboot: error: #:1:35: else: not allowed as an expression in: (else) 23:36 yeboot: noooo 23:36 offby1 laughs cruelly 23:37 offby1: rudybot: (define (foo x) (cond [(= x 1) x] [else (* x (foo (- x 1)))])) 23:37 rudybot: *offby1: Done. 23:37 offby1: the bot is a harsh mistress 23:37 offby1: rudybot: (foo 'baloo) 23:37 rudybot: *offby1: error: =: contract violation expected: number? given: 'baloo argument position: 1st other arguments...: 1 23:37 offby1: rudybot: (foo 2) 23:37 rudybot: *offby1: ; Value: 2 23:37 offby1: rudybot: (foo 222) 23:37 rudybot: *offby1: ; Value: 11205075580064413918282465787428850331618234483620107256641806644257517065448960498845547308589123315272225515821582083550911856777042555566494995461508350030412945015928362037889500879028802533114006644956482648450865757931592560691748095501378019639237014185141846525204926394414526091187114744532820374516851036885491563728009958826486619432294797566054909576516569399296000000000000000000000000000000000000 23:37 offby1: zounds! 23:39 yeboot: rudybot (define eact (lambda (x) (cond [(= x 1) x] [else (+ (* x x) (eact (- x 1)))]))) 23:40 offby1 cringes 23:40 yeboot: it just won't answer 23:41 offby1: probably wanted to see a : after his nick 23:41 offby1: rudybot: (define eact (lambda (x) (cond [(= x 1) x] [else (+ (* x x) (eact (- x 1)))]))) 23:41 rudybot: *offby1: Done. 23:41 offby1: rudybot: (eact 22) 23:41 rudybot: *offby1: ; Value: 3795 23:41 offby1: pff 23:41 offby1 waves hands dismissively 23:41 offby1: you call that a number? 23:41 ijp: rudybot look rudybot, no : 23:41 yeboot: rudybot: (define (eact x) (cond [(= x 1) x] ([else (+ (square x) (eact (- x 1)))]))) 23:41 rudybot: yeboot: error: #:1:36: else: not allowed as an expression in: (else (+ (square x) (eact (- x 1)))) 23:41 ijp: rudybot: look rudybot, no : 23:41 rudybot: ijp: i don't use, look, or touch most of the source code either 23:41 yeboot: what the fuck 23:41 yeboot: rudybot: (define (eact x) (cond [(= x 1) x] [else (+ (square x) (eact (- x 1)))]))) 23:41 rudybot: yeboot: rudybot (define eact (lambda (x) (cond [(= x 1) x] [else (+ (* x x) (eact (- x 1)))]))) 23:41 mithos28: lol 23:42 mithos28: he doesn't like you 23:42 offby1: we're not _intentionally_ mocking you. 23:42 yeboot: _I'm mocking me_ 23:42 mithos28: but rudybot is 23:42 ijp: yeboot: you can't walk in here and start using rudybot, he needs to know he can trust you first 23:42 offby1: the last clusterfuck was because of the extra trailing ) 23:42 offby1: if he cannot parse your utterance as a single s-expression, he figures it's not lisp. 23:42 offby1: ijp: :-) 23:43 yeboot: rudybot: (displayln "hello world") 23:43 rudybot: yeboot: ; stdout: "hello world\n" 23:43 offby1: ijp: if I am overcome by a stroke, or acute paralysis brought on by ennui, I bequeath the bot's care and feeding to you 23:43 ijp: I promise to be the harsh and demanding master you never were 23:43 offby1: it'll do him good 23:44 ijp: at least he gets some exercise, birny just lays about for days at a time 23:44 offby1: I hate to break it to you, but he's been confined in a small cell in a data center his entire life. 23:44 offby1: It makes his flesh tender and juicy 23:44 (join) cdidd 23:45 mithos28: rudybot: (define (f m n) (if (zero? m) (add1 n) (if (zero? n) (f (sub1 m) 1) (f (sub1 m) (f m (sub1 n)))))) 23:45 rudybot: mithos28: your sandbox is ready 23:45 rudybot: mithos28: Done. 23:45 offby1 cringes again 23:45 mithos28: rudybot: (f 3 4) 23:45 rudybot: mithos28: ; Value: 125 23:45 mithos28: rudybot: (f 3 5) 23:45 rudybot: mithos28: ; Value: 253 23:45 rudybot cringes too 23:45 yeboot: rudybot: (define foo (lambda () displayln) 23:45 rudybot: yeboot: Sorry I wasn't clear. I meant a function of high arity. It works this way (define (f . args) (displayln args)), takes all arguments args and treats them as a list. Thank you though elly :) 23:46 offby1: yeboot: now you're short a trailing ) 23:46 yeboot: what in the fuck 23:46 yeboot: yep 23:46 yeboot: rudybot: (define foo (lambda () displayln)) 23:46 rudybot: yeboot: Done. 23:46 mithos28: rudybot: (f 4 2) 23:46 yeboot: (define bar (foo)) 23:46 rudybot: mithos28: error: with-limit: out of time 23:46 offby1: rudybot has the most sarcastic parse errors ever. 23:46 yeboot: rudybot: (define bar (foo)) 23:46 rudybot: yeboot: Done. 23:46 yeboot: (bar "yo") 23:46 yeboot: rudybot: (bar "spam") 23:46 rudybot: yeboot: ; stdout: "spam\n" 23:46 mithos28: offby1: Hes not very good at my function 23:46 offby1: (katie (bar 'the 'door)) 23:47 offby1: mithos28: not enough get-up-and-go. 23:47 yeboot: rudybot: (bar 'the 'door)) 23:47 rudybot: yeboot: door, AS. geat, gat, gate, door; akin to OS., D., & Icel. gat 23:47 offby1: Wait until ijp takes over. 23:47 yeboot: that was unexpected 23:47 yeboot: rudybot: (bar 'door) 23:47 rudybot: yeboot: ; stdout: "door\n" 23:47 mithos28: rudybot: (f 4 1) 23:47 offby1: rudybot: say something surprising 23:47 yeboot: rudybot: errour 23:47 rudybot: mithos28: error: with-limit: out of time 23:47 rudybot: *offby1: but being fair, I think it is somewhat surprising how uncommon support for the full DNS spec is 23:47 rudybot: yeboot: error: errour: undefined; cannot reference an identifier before its definition in module: 'program 23:47 offby1: .oO (can't ... talk ... busy computing ... ackerman) 23:48 yeboot: rudybot: help 23:48 rudybot: yeboot: bug ..., help [], version, quote, source, url, seen , uptime, t8 ..., init [], eval ..., give ..., apropos ..., desc , doc 23:48 yeboot: rudybot: (help) 23:48 rudybot: yeboot: error: help: undefined; cannot reference an identifier before its definition in module: 'program 23:48 mithos28: and that was only 64k 23:48 offby1: believe it or not, the first answer to "help" was legitimate 23:48 yeboot: rudybot: give guns to people 23:48 rudybot: yeboot: error: to: undefined; cannot reference an identifier before its definition in module: 'program 23:48 mithos28: rudybot: t8 english spanish hello 23:48 rudybot: mithos28: Invalid Value 23:48 yeboot: rudybot: (exit) 23:48 rudybot: yeboot: error: evaluator: terminated (exited) 23:49 yeboot: how is that an error 23:49 offby1: rudybot: t8 en es hello 23:49 rudybot: *offby1: ¡hola 23:49 mithos28: yeboot: thats no error, a real error is killing rudybot 23:49 offby1: mithos28: gotta use the magic ISO codes that "Google Translate" wants. 23:49 mithos28: rudybot: init typed/racket 23:49 offby1: rudybot: (define x 1) 23:49 rudybot: mithos28: error: with-limit: out of time 23:49 rudybot: *offby1: Done. 23:50 offby1: mithos28: I've never figured that one out. 23:50 offby1: rudybot: x 23:50 rudybot: *offby1: ; Value: 1 23:50 mithos28: rudybot: init typed/racket 23:50 offby1: rudybot: (exit) 23:50 rudybot: mithos28: your typed/racket sandbox is ready 23:50 rudybot: *offby1: error: evaluator: terminated (exited) 23:50 offby1: rudybot: x 23:50 rudybot: *offby1: your sandbox is ready 23:50 rudybot: *offby1: error: x: undefined; cannot reference an identifier before its definition in module: 'program 23:50 offby1: ha, I never realized you could clear your sandbox just by doing (exit). 23:50 offby1: makes sense. 23:51 mithos28: rudybot: (: f (case-> (Fixnum -> Fixnum))) 23:51 rudybot: mithos28: Done. 23:51 asumu: rudybot: eval (define x 3) (abort-current-continuation (default-continuation-prompt-tag)) 23:51 rudybot: asumu: your sandbox is ready 23:51 rudybot: asumu: error: call-with-continuation-prompt: result arity mismatch; expected number of values not received expected: 1 received: 0 from: application of default prompt handler values...: 23:51 mithos28: rudybot: (define f (case-lambda ((x) x) (x x))) 23:51 rudybot: mithos28: Done. 23:51 asumu: rudybot: eval (define x 3) (abort-current-continuation (default-continuation-prompt-tag) (lambda () 5)) 23:51 rudybot: asumu: ; Value: 5 23:51 asumu: rudybot: x 23:51 rudybot: asumu: ; Value: 3 23:52 mithos28: rudybot: (f 1 2) 23:52 rudybot: mithos28: error: #:1:0: Type Checker: Wrong number of arguments, expected 1 and got 2 in: (#%app f (quote 1) (quote 2)) 23:52 offby1: asumu: if you break him you gotta fix him. 23:52 asumu: :p 23:53 mithos28: rudybot: (: g (case-> (Fixnum -> (Listof Fixnum)))) 23:53 rudybot: mithos28: Done. 23:53 (join) ambrosebs 23:54 mithos28: rudybot: (: h (case-> (Fixnum -> Fixnum) (Fixnum Fixnum -> Fixnum))) 23:54 rudybot: mithos28: Done. 23:54 offby1: mithos28: part of the problem with init typed/racket is that it's running on a puny cheap ec2 instance with no memory 23:54 offby1: so that timeout is probably just ... because it really does take that long. 23:54 mithos28: rudybot: (define h (case-lambda ((x) x) (x x) ((x y) x))) 23:54 rudybot: mithos28: Done. 23:54 offby1: I should probably do some "init"s like that internally at startup; perhaps that'd save time later 23:55 mithos28: rudybot: (h 1 2) 23:55 rudybot: mithos28: ; Value: (1 2) 23:55 rudybot: mithos28: ; stdout: "- : Integer [generalized from Fixnum]\n" 23:55 mithos28: what happens when you add an number to a list 23:55 offby1: you tell us 23:57 mithos28: well TR is not optimizing it 23:57 yeboot: rudybot: (define (firework) (sleep (random 30)) (displayln "BANG")) 23:57 rudybot: yeboot: your sandbox is ready 23:57 rudybot: yeboot: Done. 23:59 mithos28: rudybot: (: break (case-> (Byte -> Byte) (Byte Byte -> Byte))) 23:59 rudybot: mithos28: Done. 23:59 offby1 flinches 23:59 mithos28: rudybot: (break 1 2) 23:59 rudybot: mithos28: error: break: undefined; cannot reference an identifier before its definition in module: 'program 23:59 mithos28: rudybot: (define break (case-lambda ((x) x) (x x) ((x y) x))) 23:59 rudybot: mithos28: Done. 23:59 mithos28: don't worry I'm a professional 23:59 mithos28: rudybot: (break 1 2) 23:59 rudybot: mithos28: ; Value: (1 2) 23:59 rudybot: mithos28: ; stdout: "- : Integer [generalized from Byte]\n" 23:59 mithos28: rudybot: (+ (break 1 2) 1) 23:59 rudybot: mithos28: ; Value: -638445387 23:59 rudybot: mithos28: ; stdout: "- : Integer [generalized from Index]\n" 23:59 asumu: Oh my.