00:00 (join) dnolen 00:22 (quit) JoelMcCracken: Ping timeout: 252 seconds 00:44 (quit) adu: Quit: adu 00:45 (quit) jackhammer2022: Quit: Textual IRC Client: http://www.textualapp.com/ 00:47 (join) jeapostrophe 00:47 (quit) jeapostrophe: Changing host 00:47 (join) jeapostrophe 01:01 (quit) mceier: Quit: leaving 01:01 (quit) jeapostrophe: Ping timeout: 264 seconds 01:14 mithos28: What would happen if I were to pass a function through a place-channel by using unsafe primitives? 01:16 mithos28: Could this be safe for some functions? If so what would I have to watch out for? 01:19 asumu: mithos28: I think few people know the answer to that question other than Kevin or Matthew. 01:20 asumu: What unsafe primitives would you use though? You mean like send a prefab struct through and use unsafe-struct-ref? 01:20 mithos28: I would like to shard racket-unit tests 01:21 mithos28: Hopefully the only state they hold is the module registry 01:22 mithos28: Oh unsafe primitives like casting the function to an c pointer, and passing it through 01:22 mithos28: and then casting it back. Very 'safe'. 01:22 asumu: Oh, I see. Since places allow FFI pointers. 01:22 asumu: How about serializable closures? Do those work over places? 01:22 mithos28: What are those? 01:23 mithos28: oh like the web ones? 01:23 mithos28: Those require the code to be written using them 01:23 mithos28: The idea is to take a regular racketunit suite and run it in parallel 01:23 asumu: Ah, so you don't want to re-write the definitions. 01:24 asumu: Yeah, I have no idea. I think you'd have to ask on dev. 01:24 mithos28: I'm willing to add a bit on the test suite 01:24 mithos28: when does the release happen? 01:25 asumu: I heard sometime this week. 01:25 asumu: At least that was the original plan. 01:25 mithos28: I filed a bug that I think needs to get looked at before then, but not sure. stamourv took a look this morning but didn't get back to me on it 01:26 mithos28: 12953 01:26 mithos28: http://bugs.racket-lang.org/query/?cmd=view&pr=12953 01:26 asumu: Yeah, I saw that go by. 01:27 mithos28: Is that important enough to get in the release? 01:27 asumu: and yeah, I can reproduce the problem. 01:28 asumu: Not sure, it does seem important though. 01:37 asumu: mithos28: it seems to go away if I add `path->complete-path` on line 239 of setup/paralell-build.rkt 01:37 mithos28: that seems like a reasonable thing to do given the error message. I hadn't looked at the code at all. 01:38 asumu: I'll at least reply to the bug and mention it. Don't know if that's the right fix since I don't actually understand this code, but it should point out the problem. 01:39 (join) JoelMcCracken 01:39 asumu: Argh. I deleted the bug e-mail. 01:40 asumu: (it's okay I have backups, it turns out) 01:40 mithos28: Why would you delete email? 01:44 (join) lebro 01:45 asumu: Well, so it turns out I don't, in that I have a trash folder in my maildir. 01:45 asumu: But it's not a huge deal for me to delete stuff from my maildir because worst case it still lives on the IMAP server. 01:46 mithos28: ah, I do everything through gmail, so no space reason to ever delete stuff 01:47 asumu: Yeah, I have an old-fashioned mail setup from way back. 01:59 asumu: Hmm, it is weird that "raco docs" does not appear to be documented 02:00 mithos28: Right that would require a cyclic dependency. :P 02:25 (quit) dnolen: Ping timeout: 246 seconds 02:28 (quit) JoelMcCracken: Ping timeout: 260 seconds 02:29 (join) mceier 02:45 (join) hkBst 03:00 (quit) jonrafkind: Ping timeout: 264 seconds 03:04 (join) MightyFoo 03:04 (quit) Shviller: Read error: Connection reset by peer 03:05 (nick) MightyFoo -> tim-brown 03:05 (join) Shviller 03:06 (join) djcoin 03:06 tim-brown: is there any way to (programatically) clear DrRacket's output window -- i like to spew out a lot of debug sometimes, and that seems to heavily impact performance (memory and reformatting effort in the window) 03:13 (quit) mithos28: Quit: mithos28 03:14 (join) mithos28 03:18 (join) mithos28_ 03:22 (quit) mithos28: Ping timeout: 260 seconds 03:22 (nick) mithos28_ -> mithos28 03:48 (join) masm 03:53 (quit) bjz: Quit: Leaving... 03:58 (join) bitonic 04:03 (quit) lebro: Ping timeout: 260 seconds 04:37 Haffe: Hi, I asked questions about some code yesterday. http://pastebin.com/VkRTUa88 here is the relevant code. This only displays #f no matter what items are selected in the list-box. 04:56 (join) vu3rdd` 05:00 (quit) bitonic: Remote host closed the connection 05:00 (quit) vu3rdd: Ping timeout: 264 seconds 05:24 (quit) vu3rdd`: Remote host closed the connection 05:24 (join) vu3rdd 05:24 (quit) vu3rdd: Changing host 05:24 (join) vu3rdd 05:46 (join) noelw 05:50 (join) bitonic 05:56 (join) antithesis 06:11 (join) bjz 07:07 (join) MayDaniel 07:39 (join) jeapostrophe 07:39 (quit) jeapostrophe: Changing host 07:39 (join) jeapostrophe 08:05 (join) kanak 08:42 (join) Kaylin 08:46 (quit) noelw: Quit: noelw 08:53 (quit) vu3rdd: Ping timeout: 246 seconds 08:58 (join) hash_table 09:13 (quit) jeapostrophe: Ping timeout: 260 seconds 09:23 (join) banseljaj 09:25 (quit) hash_table: Ping timeout: 260 seconds 09:51 (join) RacketCommitBot 09:51 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/3_Vdqg 09:51 RacketCommitBot: [racket/master] typo in error message - Matthew Flatt 09:51 RacketCommitBot: [racket/master] scriblib/figure: support references to multiple figures at once - Matthew Flatt 09:51 RacketCommitBot: [racket/master] scribble/sigplan: add guidance for `category', etc. - Matthew Flatt 09:51 (part) RacketCommitBot 09:55 asumu: Haffe: that's because the data you haven't stored any data in any of the list items. 09:56 asumu: Each list item has a label and associated datum. 09:56 asumu: (which defaults to #f but can be any Racket value) 09:56 asumu: s/the data// 09:56 (join) dzhus 09:57 asumu: So your code's actually working fine. If you want the label, use `get-string` 10:30 (quit) mceier: Quit: leaving 10:41 (join) hash_table 10:58 (join) vu3rdd 10:58 (quit) vu3rdd: Changing host 10:58 (join) vu3rdd 10:58 Haffe: asumu: Ok, thanks. 10:58 Haffe: So it works like an associative list. 11:00 asumu: Saw this on Hacker News: "Scheme is racket science." 11:00 Haffe: :) 11:05 stamourv: asumu: Link? 11:05 asumu: http://news.ycombinator.com/item?id=4310903 11:07 stamourv: Heh. 11:07 asumu: Also, I think we need an excerpted "10-minute guide" for experienced programmers new to Racket (re: http://news.ycombinator.com/item?id=4310286) 11:11 vu3rdd: Hello Racketeers.. 11:11 asumu: Hi 11:12 vu3rdd: I am trying to implement a remote procedure call over network.. something like slime but very simple at this point.. 11:13 vu3rdd: when I send a form, the other side gets an s-exp and the params. 11:13 vu3rdd: I extract the procedure name and apply it to the args. 11:13 vu3rdd: But this fails because it is unable to resolve the given symbol as a procedure. 11:14 vu3rdd: I am still trying to grok namespaces and the various mechanisms available to play with it. 11:15 vu3rdd: But I am unable to understand what is really going on. Why can't a procedure defined in the same module be invoked, given a symbol name.. 11:16 vu3rdd: I tried passing the received name through namespace-variable-value.. 11:19 (quit) hkBst: Quit: Konversation terminated! 11:21 asumu: vu3rdd: you could use eval to do this potentially, but it might be better to just write a small interpreter to handle the messages. 11:21 (quit) jrslepak: Quit: This computer has gone to sleep 11:21 asumu: Assuming you're only going to have a pre-defined set of messages. 11:22 asumu: Also, symbols are *not* identifiers so you can't resolve them to a binding without reflective mechanisms like eval. 11:23 stamourv: asumu++ 11:23 vu3rdd: yes, but later, it can be custom forms. eg: emacs sending a form for evaluation to a remote instance. 11:24 stamourv: vu3rdd: Before you use `eval', Matthew's blog post is required reading. Let me find the link for you. 11:24 vu3rdd: stamourv: yes, I have read that. I will go through it again. 11:29 vu3rdd: stamourv: This one, right? http://blog.racket-lang.org/2011/10/on-eval-in-dynamic-languages-generally.html 11:29 rudybot: http://tinyurl.com/62xs38x 11:31 stamourv: Yep, that's the one. :) 11:31 (join) anRch 11:31 stamourv: That's the clearest treatment of the subject I've ever seen. 11:31 vu3rdd: stamourv: thanks. 11:32 vu3rdd: btw, you guys rock! 11:33 stamourv: Racket makes rocking easy. ;) 11:33 vu3rdd: I am having a lot of fun reading some of the papers written by the PLT folks. Still years away from understanding them completely.. but whatever I am understanding had been great education to me.. 11:33 stamourv: If you have any questions about them, feel free to ask! 11:34 vu3rdd: thanks. I am currently reading "Kill-Safe synchronization Abstractions".. which led me to CML. 11:35 stamourv: Along these lines, you may want to check out https://github.com/aturon/Caper 11:35 stamourv: I'm not sure it's completely done yet, but it sounds awesome. 11:36 (quit) cdidd: Ping timeout: 248 seconds 11:38 vu3rdd: stamourv: thanks. That looks really awesome! 11:41 (join) jeapostrophe 11:41 (quit) jeapostrophe: Changing host 11:41 (join) jeapostrophe 11:43 (join) mithos28 11:48 (join) nilyaK 11:48 (quit) bjz: Quit: Leaving... 11:49 (join) cdidd 11:54 vu3rdd: ok, so I made a namespace using make-base-namespace and eval'ed a definition of a function inside that namespace. 11:54 vu3rdd: now, I am able to call it from the remote side. 11:58 (quit) DrDuck: Read error: Connection reset by peer 12:01 (quit) djcoin: Quit: WeeChat 0.3.2 12:08 (quit) hash_table: Ping timeout: 250 seconds 12:08 (join) jrslepak 12:12 (join) samth 12:12 (quit) samth: Changing host 12:12 (join) samth 12:20 (quit) mithos28: Quit: mithos28 12:32 (join) mithos28 12:34 (join) jonrafkind 12:34 (quit) samth: Ping timeout: 250 seconds 12:41 (quit) anRch: Quit: anRch 12:47 vu3rdd: "Functional MzScheme DSLs in Game Development" -- http://cufp.org/videos/functional-mzscheme-dsls-game-development 12:52 (join) nilyaK1 12:54 Haffe: I heard Ratchet & Clank was written in LISP. 12:54 (join) ssbr_ 12:55 (quit) nilyaK: Ping timeout: 248 seconds 12:57 (quit) mithos28: Quit: mithos28 12:57 (quit) vu3rdd: Remote host closed the connection 13:05 (join) hash_table 13:41 (quit) bitonic: Remote host closed the connection 13:47 (join) bitonic 13:47 (quit) bitonic: Remote host closed the connection 13:53 (join) RacketCommitBot 13:53 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/lELMLA 13:53 RacketCommitBot: [racket/master] [Distributed Places] added #:thunk and #:named keyword arguments to distributed place creation functions - Kevin Tew 13:53 (part) RacketCommitBot 13:54 (join) samth 13:55 (join) bitonic 13:56 (quit) SHODAN: Remote host closed the connection 13:57 (join) SHODAN 14:20 (quit) bitonic: Remote host closed the connection 14:26 (join) chturne 14:54 (join) mceier 15:31 (quit) samth: Ping timeout: 264 seconds 15:48 (quit) nilyaK1: Quit: Leaving. 15:56 PfhorSlayer: Haffe: Are you thinking of GOAL? 15:56 PfhorSlayer: (And Jak and Daxter?) 15:59 PfhorSlayer: Oh, hah 15:59 PfhorSlayer: I didn't see the link before 15:59 PfhorSlayer: That's danl_ndi. 16:03 (join) RacketCommitBot 16:03 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/pON7hw 16:03 RacketCommitBot: [racket/master] [Distributed Places] fix failing drdr tests - Kevin Tew 16:03 (part) RacketCommitBot 16:18 (join) JoelMcCracken 16:19 (quit) kanak: Ping timeout: 240 seconds 16:21 (quit) antithesis: Quit: antithesis 17:16 (nick) banseljaj -> imami|afk 17:25 (join) RacketCommitBot 17:25 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/b1KKqw 17:25 RacketCommitBot: [racket/master] Fix type for dynamic-place. - Vincent St-Amour 17:25 RacketCommitBot: [racket/master] Fix documentation for packages and mutable lists. - Vincent St-Amour 17:25 (part) RacketCommitBot 17:27 (join) anRch 17:39 (join) bjz 17:43 (quit) Kaylin: Quit: Leaving. 17:43 (quit) cdidd: Ping timeout: 240 seconds 17:51 (join) josdeha_rt 17:51 (quit) josdeha_rt: Remote host closed the connection 17:59 (quit) jrslepak: Quit: This computer has gone to sleep 18:07 (part) basepi: "Leaving..." 18:11 (quit) jeapostrophe: Ping timeout: 248 seconds 18:18 (quit) anRch: Quit: anRch 18:29 (join) jrslepak 18:41 (quit) dzhus: Read error: Operation timed out 18:49 (quit) jonrafkind: Ping timeout: 264 seconds 18:54 (join) Demosthenes 19:16 (join) RacketCommitBot 19:16 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/bkaP9Q 19:16 RacketCommitBot: [racket/master] removed (unused) reference to not-break-exn? - Ryan Culpepper 19:16 RacketCommitBot: [racket/master] find syntax properties to transfer at compile time - Ryan Culpepper 19:16 (part) RacketCommitBot 19:43 (join) dnolen 19:43 (quit) masm: Quit: Leaving. 19:59 (quit) JoelMcCracken: Ping timeout: 260 seconds 20:03 (quit) Demosthenes: Quit: leaving 20:06 (join) adu 20:33 (join) Kaylin 20:39 (join) jeapostrophe 21:05 (quit) chturne: Quit: Leaving 21:22 (quit) ssbr_: Ping timeout: 248 seconds 21:26 (quit) Nisstyre: Read error: Connection reset by peer 21:27 (quit) bjz: Quit: Leaving... 21:28 (join) Nisstyre 21:28 (quit) dnolen: Ping timeout: 260 seconds 22:29 (join) mithos28 22:33 (quit) mithos28: Remote host closed the connection 22:33 (join) mithos28 22:50 adu: what does this mean? 22:50 adu: compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound 22:51 mithos28: It means that the namespace that you are trying to compile in is bad 22:51 mithos28: it is missing some of the primitives normally exported by racket or racket/base 22:51 mithos28: particular the one that is used for function application 22:52 mithos28: Can you paste the code that is doing this? 22:52 adu: ok 22:53 adu: http://paste.lisp.org/display/130792 22:53 adu: I'm just trying to get the datum without the #%top and #%app 22:54 mithos28: ah so one issue you will run into is compiling the gos module 22:55 adu: btw this is just an experiement 22:55 adu: I'm trying to learn about (expand) 22:55 mithos28: you shouldn't define #%app as #%app there because then it will use that #%app within the module 22:55 adu: ok 22:55 mithos28: you should define it as something else say app, and use rename-out 22:56 mithos28: So you also need to expand in a namespace, not just eval 22:56 adu: isn't that what I'm doing? 22:57 mithos28: http://docs.racket-lang.org/reference/Expanding_Top-Level_Forms.html?q=expand#(def._((quote._~23~25kernel)._expand)) 22:57 rudybot: http://tinyurl.com/ckmbzq4 22:57 mithos28: No you are only using the namespace for eval 22:58 adu: which doesn't override dynamic parameters 22:58 adu: i see 22:59 mithos28: does the example from the docs help enough for now? 23:00 adu: i think so 23:00 mithos28: Ask again if you get stuck. 23:00 (join) jonrafkind 23:00 (quit) jonrafkind: Changing host 23:00 (join) jonrafkind 23:04 (join) vu3rdd 23:04 (quit) vu3rdd: Changing host 23:04 (join) vu3rdd 23:06 asumu: I always forget that installing Debian from the stable CD is a bad idea when I have a new machine... 23:06 mithos28: Why would you want recent software? 23:07 asumu: So my ethernet card actually works. Got it working with a backported kernel though. Now upgrading it to testing. 23:09 vu3rdd: asumu: I usually do netinst 23:10 vu3rdd: I run debian unstable 23:10 vu3rdd: there is also a mini iso somewhere which can boot from a USB stick. 23:11 asumu: Yeah, that's what I tried recently with a new desktop machine. Didn't work for some reason though. 23:23 adu: mithos28: now I'm getting a different error 23:23 adu: gos/main.rkt:6:4: compile: unbound identifier in the transformer environment (and no #%app syntax transformer is bound) at: lambda in: (lambda (stx) (syntax-case stx (case! else2) ((_ e c1 ...) (syntax (case! e c1 ...))))) 23:24 mithos28: Can you show your current code now 23:25 (join) RacketCommitBot 23:25 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/A3s_qg 23:25 RacketCommitBot: [racket/master] add a test case for check-expect expressions where the first position has an error - Robby Findler 23:25 (part) RacketCommitBot 23:26 adu: http://paste.lisp.org/display/130793 23:27 mithos28: you need to either change your racket/base to a racket or add (require (for-syntax racket/base)) to your gos module 23:27 mithos28: the issue is that you need racket/base bound at phase1 23:27 adu: what's a phase? 23:27 mithos28: it is part of how macros 23:27 mithos28: work 23:28 mithos28: http://docs.racket-lang.org/guide/stx-phases.html?q=phases 23:28 mithos28: Basically separating out compile time from execution time 23:29 mithos28: Also if you are feeling more adventurous http://www.cs.utah.edu/plt/publications/macromod.pdf 23:30 jonrafkind: didn't i write some nonsense about phases. it should be in the manual somewhere 23:30 mithos28: first hit on google found the mail archive of that post 23:31 mithos28: http://pre.racket-lang.org/docs/html/guide/phases.html?q=phases#(part._.Phases_and_.Bindings) 23:32 mithos28: Only in the pre release docs 23:32 adu: yey, now I get (#%app case! x (#%app (#%app y) z) (#%app else2 a)) 23:32 jonrafkind: http://pre.racket-lang.org/docs/html/guide/phases.html?q=phase#(tech._phase) 23:32 jonrafkind: oh lulz mithos28 beat me 23:34 adu: mithos28: well, there are two things I'd like to be able to do after this experiment 23:35 adu: First is to use define-syntax on arbitrary sexprs not really sexprs that are going to be evaluated, 23:36 adu: and second, making a racket language module 23:36 mithos28: Have you looked at danny's tutorial on brainfuck? 23:36 mithos28: That will help you with the second 23:36 adu: nope 23:37 mithos28: http://hashcollision.org/brainfudge/ 23:37 adu: it seems define-syntax/syntax-rules is really easy to use for code that gets eval'd but really hard to use for arbitrary sexprs 23:38 mithos28: I'm not sure what you mean by arbitrary sexprs 23:38 adu: data 23:38 mithos28: Can you give an example of what you want to do? 23:39 adu: maybe this might help: 23:39 adu: https://github.com/andydude/go2gos 23:39 adu: https://github.com/andydude/gos2go 23:39 adu: I've written converters that turn Go code into sexprs 23:40 adu: and visaversa 23:40 adu: and having done that for other purposes, I realized it might be useful to do metaprogramming, which is currently not possible in Go 23:41 adu: using define-syntax, etc. 23:41 mithos28: Right but I don't get what you mean by 'arbitrary sexprs not really sexprs that are going to be evaluated' 23:42 adu: heh 23:42 adu: they are evaluated 23:42 adu: but not by the expander, they would be evaluated by the go compiler 23:43 mithos28: Ah I'm not sure why you want to use define syntax then 23:43 adu: should I be using something else? 23:43 adu: like with-syntax? 23:44 mithos28: Let me see if I get your pipeline correct 23:44 (quit) mceier: Quit: leaving 23:44 mithos28: go source code -> go ast -> go ast in sexp form -> magic transformations -> different go ast in sexp form -> go ast -> compiled go code 23:45 adu: (1) Take some go app, run go2gos, (2) Add some macros you couldn't in go, (3) expand with racket, (4) run gos2go, (5) compile with go compiler 23:45 mithos28: and you are trying to implement the magic transformations 23:45 adu: I suppose 23:45 mithos28: So the problem with using expand, is that it will only stop once you reach core racket forms 23:46 mithos28: Which is not what you really want to do 23:46 adu: so I would have to write my own expander anyways 23:47 mithos28: I think so 23:47 (join) dnolen 23:47 adu: there isn't some predicate like core-form? that I can pass to expand? 23:48 mithos28: You could use local-expand 23:48 mithos28: But I think you will be fighting against the tools if you do it that way 23:49 adu: I might use match 23:49 mithos28: the expander is about taking complicated macro code and turning it into racket core code 23:49 adu: that would at least get me half-way to syntax-rules 23:49 mithos28: I think match or syntax-parse are what you want 23:49 adu: well, thanks for the help 23:50 mithos28: no problem 23:51 (join) cdidd