00:03 (quit) veer: Read error: Connection reset by peer 00:11 (join) jeapostrophe 00:17 (join) RacketCommitBot 00:17 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/mGOCvg 00:17 RacketCommitBot: [racket/master] racket/unit: fix literals in docs - Asumu Takikawa 00:17 RacketCommitBot: [racket/master] Typo in impersonate-hash docs - Asumu Takikawa 00:17 (part) RacketCommitBot 00:17 (join) SrPx 00:18 SrPx: What is racket's difference? 00:23 (quit) jeapostrophe: Ping timeout: 240 seconds 00:24 (join) dented42 00:32 (quit) dnolen: Ping timeout: 264 seconds 00:46 (quit) jacius: Remote host closed the connection 00:49 jonrafkind: SrPx, its chewy yet has a smoky aftertaste 00:49 asumu: SrPx: what do you mean? 00:50 asumu: Difference from what? 00:51 asumu: SrPx: oh, you meant from Scheme (saw in #scheme). You should read http://www.ccs.neu.edu/home/matthias/Thoughts/Racket_is____.html 00:52 asumu: In short: Racket comes batteries-included with lots of libraries and language features you expect for real programming. 00:52 asumu: And is highly extensible. 00:55 jonrafkind: hes talking to pillows 00:55 SrPx: asumu: of course, eh 00:56 SrPx: asumu: hmm I see 00:56 sizz: It might be interesting to compare Racket with Common Lisp, as I believe that CL was developed as a full-featured alternative to Scheme. 00:56 SrPx: asumu: so racket is just scheme with a bunch of libraries, or does it change stuff from scheme (making it not compatible)? 01:06 (part) aidy 01:07 (quit) Kaylin: Quit: Leaving. 01:18 asumu: SrPx: No, it's not just Scheme. 01:19 asumu: For example, it has a featureful module system. 01:20 asumu: Where a module can be used as a language. "#lang racket" means you're using the "racket" module as your language. 01:20 asumu: (this was in the essay I linked) 01:21 asumu: And it differs from Scheme in the fundamental sense that Racket is a practical language. It is not designed for minimalism or specifically for education like people may think of Scheme. 01:21 SrPx: woops, sorry, I simply forgot to read it o.o 01:22 asumu: sizz: Racket and CL do share that goal, in a sense. Racket's extensibility goes further than CL though with things like modules, syntax-parse, etc. 01:23 asumu: (not to mention hygienic macro and the like) 01:25 SrPx: I'm liking what im reading, very nice. 01:25 SrPx: so, 01:26 SrPx: how exactly do racket, CL and clojure compare? I've not heard good things about CL, mainly blaming it for becoming a big mess 01:26 SrPx: I also like the way clojure deals with mutability 01:27 (join) ynniv 01:28 (join) rbarraud 01:28 asumu: That depends on how you compare them. Racket goes beyond both in terms of building languages. 01:28 asumu: Clojure obviously is better if you need the JVM. 01:33 (join) veer 01:41 (quit) genbattle: Quit: Leaving 01:41 (quit) ynniv: Quit: ynniv 01:45 SrPx: Is racket portable? 01:46 mithos28: SrPx: It runs on the major 3 OSes, and some people run it on other *nixes (solaris,bsd) 01:47 mithos28: I think it works fine on arm, but you probably want to cross compile it or plan on waiting a while 01:48 mithos28: There is work to get it to run in a browser, see whalesong 01:48 mithos28: http://hashcollision.org/whalesong/ 01:48 mithos28: Is that portable enough? 01:51 (join) adu 01:54 SrPx: hm 01:55 (join) hkBst 01:55 (quit) hkBst: Changing host 01:55 (join) hkBst 02:01 (quit) gciolli: Quit: Leaving. 02:23 (quit) dented42: Quit: Computer has gone to sleep. 02:36 (quit) adu: Quit: adu 02:46 (join) djcoin 02:48 (quit) rbarraud: Ping timeout: 245 seconds 02:52 (quit) Myk267: Quit: Myk267 02:52 (quit) jonrafkind: Ping timeout: 245 seconds 03:17 (join) adu 03:21 (join) tim-brown 03:22 (quit) tim-brown: Client Quit 03:35 (quit) noam_: Read error: Connection reset by peer 03:36 (join) noam 03:37 (join) rbarraud 03:37 (quit) noam: Read error: Connection reset by peer 03:37 (quit) mithos28: Quit: mithos28 03:38 (join) noam 03:38 (quit) noam: Read error: Connection reset by peer 03:38 (join) noam 03:39 (quit) noam: Read error: Connection reset by peer 03:39 (join) noam 03:44 (quit) adu: Quit: adu 03:54 (join) dalaing 04:10 (join) MightyFoo 04:10 (nick) MightyFoo -> tim-brown 04:15 (join) antithesis 04:17 (quit) noam: Read error: Connection reset by peer 04:17 (join) noam 04:22 (join) keppy 04:25 tim-brown: is there a way to make install racket without the documentation (but with the other collections)? 04:35 tim-brown: never mind... i've configured it w/o docs anyway 04:42 (quit) keppy: Quit: Leaving 04:43 Haffe: Is there a way to list the member functions of a class in racket? 04:59 tim-brown: Haffe: just poking about the documentation: 04:59 tim-brown: class->interface 04:59 tim-brown: interface->method-names 05:00 tim-brown: or even (class-info _class_) 05:00 tim-brown: let's see if i can drive rudybot! 05:00 tim-brown: rudybot: documentation class-info 05:00 rudybot: tim-brown: or even (class-info _class_) 05:00 tim-brown: no, rudybot, I just said that 05:01 tim-brown: rudybot: doc class-info 05:01 rudybot: tim-brown: your sandbox is ready 05:01 rudybot: tim-brown: http://docs.racket-lang.org/reference/objectutils.html#(def._((lib._racket%2Fprivate%2Fclass-internal..rkt)._class-info)) 05:01 tim-brown: woot! Haffe -- poke about there, I'd suggest 05:05 Haffe: Thanks. 05:16 (quit) veer: Quit: Leaving 05:24 (join) bitonic 05:26 (quit) SrPx: Ping timeout: 245 seconds 05:27 (join) snearch 05:55 (part) dalaing 06:39 (join) veer 07:32 (join) jesyspa 07:39 (quit) bitonic: Remote host closed the connection 07:40 (join) bitonic 07:45 (quit) bitonic: Remote host closed the connection 07:45 (join) bitonic 07:48 (quit) bitonic: Remote host closed the connection 07:49 (join) bitonic 07:51 (join) Shviller 07:52 (quit) rbarraud: Ping timeout: 240 seconds 08:08 (join) dnolen 08:21 (quit) bitonic: Remote host closed the connection 08:21 (join) bitonic 08:22 (quit) duomo: Quit: Leaving... 08:27 (join) jeapostrophe 08:27 (quit) jeapostrophe: Changing host 08:27 (join) jeapostrophe 08:43 tim-brown: have a nice weekend everyone! 08:44 (part) tim-brown: "WeeChat 0.3.8" 08:48 (join) anRch 08:59 (join) getpwnam 09:00 (join) hash_table 09:25 (quit) wahjava: Quit: Whenever we are together, it’s always estatically palpitating! 09:28 (quit) hash_table: Ping timeout: 264 seconds 09:28 (quit) getpwnam: Ping timeout: 264 seconds 09:37 (join) Kaylin 09:48 (quit) anRch: Quit: anRch 09:51 (quit) Kaylin: Quit: Leaving. 10:04 (quit) veer: Quit: Leaving 10:09 (quit) antithesis: Quit: antithesis 10:12 (quit) snearch: Quit: Verlassend 10:23 (join) mmalorni 10:25 (quit) noam: Read error: Connection reset by peer 10:25 (join) noam 10:38 (quit) noam: Read error: Connection reset by peer 10:39 (join) noam 10:39 (quit) dnolen: Ping timeout: 244 seconds 10:41 (quit) hkBst: Quit: Konversation terminated! 10:47 (quit) jeapostrophe: Ping timeout: 245 seconds 10:48 (join) getpwnam 10:48 (join) hash_table 10:56 (join) jacius 10:58 (join) anRch 11:05 (join) MayDaniel 11:07 (quit) noam: Read error: Connection reset by peer 11:08 (join) noam 11:15 (join) wahjava 11:23 (join) mceier 11:31 (join) RacketCommitBot 11:31 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/JWx-1w 11:31 RacketCommitBot: [racket/master] log errors that read-language produces when DrRacket calls it - Robby Findler 11:31 (part) RacketCommitBot 11:35 (join) ynniv 11:46 (join) mithos28 11:50 (join) jeapostrophe 11:50 (quit) jeapostrophe: Changing host 11:50 (join) jeapostrophe 11:55 (join) nilyaK 12:09 (quit) anRch: Quit: anRch 12:13 (quit) noam: Read error: Connection reset by peer 12:13 (join) noam 12:18 (quit) noam: Read error: Connection reset by peer 12:19 (join) noam 12:19 (quit) hash_table: Ping timeout: 276 seconds 12:19 (quit) getpwnam: Ping timeout: 276 seconds 12:22 (quit) BeLucid: Read error: Operation timed out 12:24 (quit) cdidd: Remote host closed the connection 12:26 (join) Myk267 12:32 (quit) noam: Read error: Connection reset by peer 12:32 (join) noam 12:37 (quit) djcoin: Quit: WeeChat 0.3.2 12:38 (quit) noam: Read error: Connection reset by peer 12:38 (join) jonrafkind 12:38 (quit) jonrafkind: Changing host 12:38 (join) jonrafkind 12:38 (join) noam 12:42 (quit) noam: Read error: Connection reset by peer 12:43 (join) noam 12:43 (quit) noam: Read error: Connection reset by peer 12:43 (join) noam 12:46 (quit) noam: Read error: Connection reset by peer 12:46 (join) noam 12:49 (quit) noam: Read error: Connection reset by peer 12:49 (join) noam 12:49 (quit) noam: Read error: Connection reset by peer 12:50 (join) noam 12:54 (join) dented42 13:06 (quit) noam: Read error: Connection reset by peer 13:06 (join) noam_ 13:07 (quit) noam_: Read error: Connection reset by peer 13:07 (join) noam_ 13:08 (quit) noam_: Read error: Connection reset by peer 13:08 (join) noam_ 13:09 (quit) ynniv: Quit: ynniv 13:12 (join) getpwnam 13:13 (join) hash_table 13:18 (join) BeLucid 13:19 (quit) noam_: Read error: Connection reset by peer 13:20 (join) noam_ 13:21 (join) noam__ 13:21 (quit) noam_: Read error: Connection reset by peer 13:22 (quit) noam__: Read error: Connection reset by peer 13:23 (join) noam_ 13:28 (join) antithesis 13:31 (quit) acarrico: Quit: Leaving. 13:31 (join) adu 13:37 (join) ynniv 13:37 (quit) noam_: Read error: Connection reset by peer 13:37 (join) noam__ 13:39 (quit) noam__: Read error: Connection reset by peer 13:39 (join) noam 13:40 (quit) nilyaK: Read error: Connection reset by peer 13:44 (quit) noam: Ping timeout: 276 seconds 13:45 (join) noam 13:46 (quit) noam: Read error: Connection reset by peer 13:46 (join) noam 13:47 (quit) noam: Read error: Connection reset by peer 13:47 (join) noam 13:50 (quit) noam: Read error: Connection reset by peer 13:50 (join) noam 14:00 (quit) noam: Read error: Connection reset by peer 14:00 (join) noam 14:04 (join) nilyaK 14:12 (quit) noam: Read error: Connection reset by peer 14:12 (join) noam 14:13 (quit) noam: Read error: Connection reset by peer 14:13 (join) noam 14:17 (join) nilyaK1 14:18 (quit) noam: Read error: Connection reset by peer 14:19 (join) noam 14:19 (quit) nilyaK: Ping timeout: 255 seconds 14:21 (quit) noam: Read error: Connection reset by peer 14:22 (join) noam 14:27 (join) RacketCommitBot 14:27 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/uVyOxA 14:27 RacketCommitBot: [racket/master] Random pickiness. - Eli Barzilay 14:27 RacketCommitBot: [racket/master] Extend `regexp-replace*' to accept a start/end-position. - Eli Barzilay 14:27 RacketCommitBot: [racket/master] Move `regexp-replaces' from `ffi/unsafe' to `racket/private/string'. - Eli Barzilay 14:27 (part) RacketCommitBot 14:27 (quit) noam: Read error: Connection reset by peer 14:28 (join) noam 14:29 (quit) noam: Read error: Connection reset by peer 14:30 (join) noam 14:31 (quit) wahjava: Quit: Whenever we are together, it’s always estatically palpitating! 14:33 eli: noam: Your internet connection needs some attention. 14:36 noam: i know. sorry 14:36 noam: the router crashes 14:39 (quit) noam: Read error: Connection reset by peer 14:40 (join) noam_ 14:40 (quit) jacius: Ping timeout: 276 seconds 14:40 (quit) noam_: Read error: Connection reset by peer 14:41 (join) noam 14:42 (quit) noam: Read error: Connection reset by peer 14:42 (join) noam 14:44 (quit) noam: Read error: Connection reset by peer 14:44 (join) noam 14:47 (quit) dented42: Quit: Computer has gone to sleep. 14:48 (join) wahjava 14:51 (quit) noam: Read error: Connection reset by peer 14:51 (join) noam 14:52 (quit) noam: Read error: Connection reset by peer 14:53 (join) noam 14:55 (quit) noam: Read error: Connection reset by peer 14:56 (join) noam 15:00 (quit) noam: Ping timeout: 245 seconds 15:01 (quit) MayDaniel: Read error: Connection reset by peer 15:03 (quit) jonrafkind: Ping timeout: 264 seconds 15:05 (join) noam 15:26 (quit) ynniv: Quit: ynniv 15:27 (join) ynniv 15:31 (quit) ynniv: Ping timeout: 276 seconds 15:36 (quit) noam: Read error: Connection reset by peer 15:37 (join) noam 15:38 (quit) noam: Read error: Connection reset by peer 15:38 (join) noam 15:39 (join) dented42 15:45 (join) Shambles_1 15:46 (quit) Shambles_1: Client Quit 15:46 (quit) Shambles_: Ping timeout: 245 seconds 15:49 (join) Shambles_ 15:51 (quit) noam: Read error: Connection reset by peer 15:51 (join) noam 15:52 (quit) noam: Read error: Connection reset by peer 15:52 (join) noam 16:02 (quit) noam: Read error: Connection reset by peer 16:03 (join) noam 16:25 (join) MayDaniel 16:25 (quit) MayDaniel: Changing host 16:25 (join) MayDaniel 16:29 (join) neilv 16:31 (quit) wahjava: Quit: Whenever we are together, it’s always estatically palpitating! 16:34 (quit) mmalorni: Ping timeout: 276 seconds 16:38 (quit) Myk267: Quit: Myk267 16:50 (quit) noam: Read error: Connection reset by peer 16:50 (join) noam 16:55 (quit) noam: Read error: Connection reset by peer 16:55 (quit) antithesis: Quit: antithesis 16:55 (join) noam 16:56 (join) antithesis 17:00 (quit) nilyaK1: Read error: Connection reset by peer 17:05 (quit) antithesis: Read error: Connection reset by peer 17:05 (join) antithesis 17:21 (join) duomo 17:34 danking: rudybot: (require redex) 17:34 rudybot: danking: your sandbox is ready 17:34 rudybot: danking: error: file-or-directory-modify-seconds: `read' access denied for /home/erich/.racket/racket-prefs.rktd 17:34 danking: rudybot: (term-let ((false 1)) false) 17:34 rudybot: danking: error: reference to an identifier before its definition: term-let in module: 'program 17:34 danking: rudybot: (require redex) 17:34 rudybot: danking: Done. 17:34 danking: rudybot: (term-let ((false 1)) false) 17:34 rudybot: danking: error: #:1:22: false: illegal use of syntax in: false 17:34 danking: rudybot: (term-let ((false 1)) true) 17:34 rudybot: danking: ; Value: #t 17:35 danking: rudybot: (term-let ((add1 1)) (add1 0)) 17:35 rudybot: danking: error: #:1:21: add1: illegal use of syntax in: (add1 0) 17:35 danking: rudybot: (term-let ((add1 1)) (+ 1 0)) 17:35 rudybot: danking: ; Value: 1 17:35 danking: rudybot: (term-let ((add1 1)) (term ,(add1 0))) 17:35 rudybot: danking: error: #:1:28: add1: illegal use of syntax in: (add1 0) 17:35 danking: Help? 17:53 (join) RacketCommitBot 17:53 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/lTs-9A 17:53 RacketCommitBot: [racket/master] Add type for range, and extend in-range's. - Vincent St-Amour 17:53 RacketCommitBot: [racket/master] Reconstruct let bindings in the right order when unboxing let. - Vincent St-Amour 17:53 (part) RacketCommitBot 17:59 (quit) jeapostrophe: Ping timeout: 244 seconds 18:02 (quit) dented42: Ping timeout: 250 seconds 18:05 (join) ynniv 18:08 (join) RacketCommitBot 18:08 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/szJWaw 18:08 RacketCommitBot: [racket/master] Fix typos and wording in chaperone docs - Asumu Takikawa 18:08 (part) RacketCommitBot 18:11 (quit) adu: Quit: adu 18:13 (quit) jesyspa: Quit: leaving 18:29 (quit) MayDaniel: Read error: Connection reset by peer 18:34 (quit) antithesis: Quit: antithesis 18:50 offby1 dunno nothin bout redex 18:50 offby1: rudybot: what about you -- are you a redex expert? 18:50 rudybot: *offby1: fwiw, to truly appreciate continuations I had to study/implement redex models of those various CESK machines 18:50 offby1: oh, then you can answer danking's questions then 18:51 (quit) mceier: Quit: leaving 18:52 (join) bitonic` 18:52 (quit) bitonic: Ping timeout: 264 seconds 18:53 (quit) ynniv: Read error: Connection reset by peer 18:53 (join) ynniv_ 18:57 (quit) maahes: Ping timeout: 244 seconds 18:58 (join) jonrafkind 19:16 (join) cdidd 19:22 asumu: Hahah, apropos answer. 19:48 (nick) bitonic` -> bitonic 19:53 (quit) jonrafkind: Ping timeout: 240 seconds 19:53 (join) Kaylin 19:55 (join) jacius 20:00 (join) rbarraud 20:07 (join) dented42 20:08 (join) jh_ 20:08 (nick) jh_ -> Guest11368 20:10 (join) jeapostrophe 20:10 (quit) jeapostrophe: Changing host 20:10 (join) jeapostrophe 20:10 (join) jeremyheiler 20:16 (quit) stchang: Ping timeout: 250 seconds 20:18 (join) stchang 20:24 asumu: rudybot: (module foo racket (define/contract x number? 5)) 20:24 rudybot: asumu: your sandbox is ready 20:24 rudybot: asumu: error: #:1:19: define/contract: not used in definition context in: (define/contract x number? 5) 20:24 asumu: Anyone know why this should be an error? 20:24 asumu doesn't know enough about expansion contexts to understand why it's done this way 20:30 (join) adu 20:31 adu: hi 20:36 Kaylin: hi :) 20:37 offby1: asumu: I wasn't aware that you could attach contracts to anything other than procedures 20:37 asumu: offby1: you can attach contracts to a ton of things. 20:37 asumu: Classes, objects, lists, vectors, ... 20:38 asumu: rudybot: (version) 20:38 rudybot: asumu: ; Value: "5.2.900.1" 20:40 asumu: rudybot: (define/contract my-box (box/c even?) (box 2)) 20:40 rudybot: asumu: Done. 20:40 asumu: rudybot: (set! my-box 7) 20:40 rudybot: asumu: error: my-box: self-contract violation, expected a box, got 7 contract from: program, blaming: program contract: (box/c even?) at: #:1.17 20:41 asumu: Err 20:41 asumu: rudybot: (set-box! my-box 7) 20:41 rudybot: asumu: error: my-box: contract violation, expected: even?, given: 7 contract from: (definition my-box), blaming: program contract: (box/c even?) at: #:1.17 20:41 asumu: That's what I wanted. 20:41 adu: are there any nice documents describing the arcitecture of Racket? 20:41 asumu: adu: what aspects of it? Like the runtime system? 20:41 offby1: huh 20:42 offby1: rudybot: let's take out a contract on someone 20:42 rudybot: *offby1: for example, in PLT, if you add a contract to a value, you're changing it to syntax 20:43 adu: asumu: yeah, like what depends on what, how many components of the compiler are there, etc. 20:46 asumu: adu: so there is the "Inside" guide: http://docs.racket-lang.org/inside/index.html 20:46 asumu: And there are papers written on various aspects of the runtime systems. 20:46 asumu: "Revenge of the Son of the Lisp Machine" is about custodians, eventspaces, and other OS-like features of Racket. 20:46 asumu: There is a paper on futures and on places for parallelism. 20:48 (join) ssbr_ 20:49 (join) RacketCommitBot 20:49 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/RCRZGQ 20:49 RacketCommitBot: [racket/master] improve blue box spacing in Redex reference - Robby Findler 20:49 (part) RacketCommitBot 20:49 (quit) jeapostrophe: Ping timeout: 245 seconds 20:53 adu: I've read papers on redex 20:54 adu: They're way over my head 21:09 asumu: There's a tutorial on Redex in the docs. 21:09 asumu: http://pre.racket-lang.org/docs/html/redex/tutorial.html 21:09 asumu: (I guess it is not in the release docs) 21:35 (quit) jeremyheiler: Quit: Computer has gone to sleep. 21:45 (join) VincentK 21:49 (join) jeapostrophe 21:49 (quit) jeapostrophe: Changing host 21:49 (join) jeapostrophe 21:52 VincentK: So I'm having a strange issue, wherein a functoin that looks like it should take 3 parameters (and in the C library it does, so it needs to), is somehow showing itself as only needing one according to Racket when I try to run it 21:54 VincentK: Anyone think they can help me out? 21:55 Kaylin: idk, perhaps it takes a list of 3 parameters? if you link us to the function we could help more 21:56 Kaylin: http://racket-lang.org/ for reference 21:56 VincentK: (defchipmunk cpArbiterGetShapes #:ptr (_fun _cpArbiter-pointer (_ptr o _cpShape-pointer) (_ptr o _cpShape-pointer) -> _void)) 21:56 VincentK: Er 21:56 VincentK: (defchipmunk cpArbiterGetShapes #:ptr (_fun _cpArbiter-pointer (_ptr o _cpShape-pointer) (_ptr o _cpShape-pointer) -> _void)) 21:58 VincentK: defchipmunk is a small bit of custom code that basically binds the given functoin name (cpArbiterGetShapes) to an ffi-obj in the mychipmunk.dll file 21:58 adu: what is the c prototype? 21:59 adu: mrpogostick? 21:59 VincentK: void cpArbiterGetShapes(const cpArbiter *arb, cpShape **a, cpShape **b) 21:59 adu: ok 22:00 VincentK: The error is: procedure ...chipmunk-ffi.rkt:496:8: expects 1 argument, given 3: # # # 22:00 VincentK: And I call with: (cpArbiterGetShapes arb water poly) 22:01 VincentK: From the function: (define (water-presolve arb space ptr) (let ([water (_ptr o _cpShape-pointer)] [poly (_ptr o _cpShape-pointer)]) 22:02 VincentK: At the very least, arb should be correct, due to it being a callback given to a C function that will call it with the correct parameters 22:05 adu: VincentK: the pointer parameters are labeled 'o' 22:05 adu: http://docs.racket-lang.org/foreign/foreign_procedures.html?q=_ptr&q=_fun#(form._((lib._ffi/unsafe..rkt).__ptr)) 22:05 (join) doomrobo 22:05 adu: "If _ptr is used in this mode, then the generated wrapper does not expect an argument since one will be freshly allocated before the call." 22:06 adu: VincentK: it's expecting 1 parameter because the generated wrapper converts the output pointers to return values 22:06 doomrobo: Hi, how do I type something to only receive a homogeneous list? I've seen (: list-length (All (A) ((Listof A) -> Integer))) but that works for all lists 22:07 VincentK: adu: so I should use it with 'i'? 22:08 adu: VincentK: so it looks like the actual scheme signature would be (_cpArbiter-pointer -> _ptr _ptr) or something 22:08 adu: VincentK: do you use it after that? 22:09 VincentK: adu: Yes, the water and poly variables are basically initialized inside of that function, hence why the C signature is a double pointer 22:10 adu: then try 'io' 22:10 adu: uh, '_ptr io' 22:10 VincentK: (_ptr io _cpShape-pointer) 22:10 adu: yes 22:10 VincentK: Right, I set it to that, and now I'm getting this: cpShape->C: expected argument of type ; given # 22:11 adu: sounds like a different issue 22:11 (quit) dented42: Quit: Computer has gone to sleep. 22:11 VincentK: In the original C code, they just create a non-initialized pointer and pass the reference to it to the function. How do I replicate that? 22:11 adu: box 22:12 VincentK: box? 22:12 adu: http://docs.racket-lang.org/guide/boxes.html?q=box&q=_ptr&q=_fun#(tech._box) 22:15 adu: it's essentially a pair with no cdr 22:16 VincentK: Aah 22:16 VincentK: I'm struggling to declare the proper type 22:17 VincentK: cpShape->C: expected argument of type ; given '#&# 22:17 VincentK: From: (box (_ptr io _cpShape)) 22:18 doomrobo: adu how do you define a function as operating only on homogeneous lists but of any type? 22:25 (quit) doomrobo: Quit: gn 22:27 adu: (listof any/c)? I dunno 22:28 adu: I know the answer in Haskell 22:28 (quit) adu: Quit: adu 22:29 (join) Nisstyre 22:36 VincentK: I feel like I'm fundamentally misunderstanding something... if I declare an FFI function with (_ptr io _cpShape-pointer) as a parameter, how do I create something in a let block that matches that? I tried (box _cpShape-pointer), (_ptr io _cpShape-pointer), even (box (_ptr io _cpShape-pointer) but it keeps giving me errors about not having a '', either with # or #& 22:52 (nick) gf3 -> ANASLEX 23:02 (quit) jacius: Remote host closed the connection 23:13 (join) RacketCommitBot 23:13 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/aB9dxA 23:13 RacketCommitBot: [racket/master] adjust a bunch of error printfs in raco setup so they include the - Robby Findler 23:13 RacketCommitBot: [racket/master] strengthen contract on blockss field of table struct in scribble - Robby Findler 23:13 (part) RacketCommitBot 23:15 asumu: VincentK: I think you want to use _ptr to bind a value within the FFI type declaration. 23:15 asumu: Like in the example given in the docs for _ptr. 23:21 VincentK: asumu: You're talking about the declaration of the function I wish to call through the FFI correct? In that case, I have one declared with: (_fun _cpArbiter-pointer (_ptr io _cpShape-pointer) (_ptr io _cpShape-pointer) -> _void) 23:21 VincentK: Which is what I'm calling 23:21 VincentK: Where I want the (_ptr...) types to be the C type cpShape** 23:52 (join) dented42