00:03 (join) dented42 00:15 (join) zyoung 00:15 (quit) zyoung: Remote host closed the connection 00:19 (quit) Fare: Ping timeout: 240 seconds 00:23 (quit) jacius: Quit: Leaving 00:30 ozzloy: asumu, so deleting ~/.racket/planet/300/5.2.1/cache/neil/sicp.plt/ aughta do it? i think neil/sicp pulled down some other planet packages too, but i'm not sure. is there a way to find out? do packages have a list of why they were installed? 00:57 (join) peeeep 01:03 (quit) rudybot: Ping timeout: 256 seconds 01:03 (join) rudybot 01:31 (quit) maahes: Ping timeout: 252 seconds 01:34 (quit) jao: Ping timeout: 246 seconds 01:37 (join) jeapostrophe 01:37 (quit) nilyaK: Quit: Leaving. 01:38 (join) nilyaK 01:39 (join) jesyspa 01:58 (quit) karswell: Ping timeout: 260 seconds 02:06 (quit) kvda: Quit: Computer has gone to sleep. 02:07 (quit) mye__: Ping timeout: 252 seconds 02:31 (join) antithesis 02:48 (join) hkBst 02:48 (quit) hkBst: Changing host 02:48 (join) hkBst 02:49 (quit) jonrafkind: Ping timeout: 248 seconds 02:54 (quit) nilyaK: Quit: Leaving. 03:13 (join) bluezenix 03:22 (quit) mithos28: Quit: mithos28 03:24 shawnps: i used the raco planet fileinject command to test out my planet package, but when i require it in dr racket, none of the functions that i defined in the main file are available. anyone have any thoughts? 03:24 shawnps: when i run dr racket after writing the require, it doesn't give me any errors 03:30 shawnps: i see it in the module browser too 03:39 (join) kvda 03:51 (join) ahinki 04:09 (quit) ASau`: Remote host closed the connection 04:16 (join) ASau` 04:25 (join) djcb 04:26 anonus: http://stackoverflow.com/questions/10676099/racket-flymake-mode-for-emacs/10686097#10686097 - if someone need it 04:26 rudybot: http://tinyurl.com/7mc5fn2 04:28 (quit) ASau`: Remote host closed the connection 04:28 (join) bitonic 04:29 (join) ASau 04:35 (join) mceier 04:45 (quit) jeapostrophe: Read error: Operation timed out 05:05 (quit) djcb: Read error: Connection reset by peer 05:07 (join) djcb 05:11 (quit) antithesis: Quit: yes leaving 05:30 (quit) jyc: Read error: Connection reset by peer 05:38 (join) Shvillr 05:41 (quit) kvda: Quit: Computer has gone to sleep. 05:46 (join) bluezenix1 05:46 (quit) bluezenix: Read error: Connection reset by peer 06:05 (join) Fare 06:16 (join) untrusted 06:21 (quit) Fare: Ping timeout: 276 seconds 06:21 (join) RacketCommitBot 06:21 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/fvFVew 06:21 RacketCommitBot: [racket/master] slideshow: add `slide->pict' - Matthew Flatt 06:21 RacketCommitBot: [racket/master] racket/draw: fix bad interaction of path drawing and gradient brushes - Matthew Flatt 06:21 (part) RacketCommitBot 06:48 (join) masm 06:53 (join) scvrory 07:18 (join) MayDaniel 07:20 (quit) untrusted: Ping timeout: 244 seconds 07:21 (quit) djcb: Read error: Connection reset by peer 07:29 (join) Skola 07:30 (join) jeapostrophe 07:30 (quit) jeapostrophe: Changing host 07:30 (join) jeapostrophe 07:39 (join) snearch 08:00 (join) antithesis 08:02 (join) kanak 08:13 ChibaPet: Shambles_: Yes, you nailed it. I hadn't seen sync/timeout. 08:15 (quit) antithesis: Quit: yes leaving 08:15 Shambles_: ChibaPet: I'm trying to make my way through the huge Racket Guide. I don't know everything yet, and sometimes it doesn't cover important things like your topic, so I try to learn where I can. 08:15 (join) antithesis 08:17 ChibaPet: That in general is an issue I'm finding all over the place with Lisp and Scheme standards. I believe Racket-the-implementation covers a vast array of stuff that I wish lived in a standard somewhere. 08:18 ChibaPet: eli: I think you should talk at a Boston Lisp meeting. Talk about the state of Racket. 08:18 ChibaPet: Or talk about a piece of particular interest to you, whichever. 08:20 Shambles_: ChibaPet: There seems to be a significant number of people wanting to keep Scheme minimal. Arguments for that include things like it being easy(er... than implementing C++ ;) ) to implement a fully compliant Scheme to embed in applications, and it making it easier to teach. 08:20 noelw: Racket is a standard compliant implementation of Racket 08:21 jesyspa: Would Racket be a suitable language for writing an X window manager? Are there any obvious problems I could run into? 08:21 ChibaPet: Shambles_: R7RS may beg to differ. I wonder how much its "big language" will end up resembling Racket. 08:22 ChibaPet: jesyspa: It would be absolutely suitable, although I'm not sure that you won't have to supply some pieces via FFI. But maybe you won't. 08:23 jesyspa: Alright, thanks, will look into it. 08:23 (join) dnolen 08:24 Shambles_: ChibaPet: The other half wants to use Scheme because they want to use a Lisp, don't like that you can have a function and variable named the same thing in Common Lisp, or that Common Lisp macros are unhygenic. They also tend to want to add enough I/O support to do real world programming (which very few Schemes and no Common Lisps I know of ship with). 08:25 Shambles_: ChibaPet: You know, GUI, 3-D graphics, and sound. Most do ship with file (this is standardized) and TCP/IP networking support (I think this is too). 08:26 Shambles_: ChibaPet: I'm not intimately familiar with it, but from what I saw of R7RS, useful I/O support didn't seem to be included. Maybe that's changed, or I wasn't looking in the right place. 08:26 (join) veer 08:26 ChibaPet: Well, from what I've seen there is no "big language" document to look at for R7RS. 08:26 ChibaPet: not yet anyway 08:27 Shambles_: ChibaPet: If you search around you can find people talking about what's proposed. R7RS isn't out yet. 08:27 ChibaPet: Or you can just look here: http://scheme-reports.org/ 08:28 Shambles_: ChibaPet: As I said, it's not out yet, and if you want to see what's proposed for the big language, I don't think you'll see the draft there (because it doesn't exist as a draft yet, just some ideas). 08:30 Shambles_: ChibaPet: There will likely be people playing C / C++ standards committe and pointing out that since factory robots might not have a monitor, there's no point in those Scheme's supporting GUI's, and therefore there should be no GUI in the standard library, ignoring the fact that most Schemes people will actually use *will* run on machines with monitors. 08:30 (quit) jeapostrophe: Ping timeout: 252 seconds 08:32 Shambles_: ChibaPet: Granted, if memory serves there is a modularization of the language now (i.e. you don't have to implement the whole thing to be compliant), at least the 'big' language, so such arguments are less effective. 08:32 ChibaPet: Using CL as an example, I think a lot of this could be solved with FFI standardization. 08:33 ChibaPet: Which is to say, that opens the door for easier cross-platform implementation of things that don't exist in the standard. 08:34 Shambles_: ChibaPet: I'm sure that would help with using the FFI, but it's not the same as having right and proper modern I/O support. It'd still mean that code to do realistic tasks would only run on one implementation. 08:34 ChibaPet: Anyway, I need to dive into some reading. I'll be here but somewhat distracted. 08:35 ChibaPet: (The implementation could include libraries to do these "real world" things, and those libraries would be portable across implementations. Good enough for me.) 08:35 (quit) snearch: Quit: Verlassend 08:37 Shambles_: ChibaPet: That's unlikely. The 'surface area' of the API could be standardized, but I wouldn't expect ObscuroScheme's GUI library's internals to be compatible with GrandTheftScheme's internals. What you propose would only work if all Scheme's built strictly on top of the standard API. 08:39 Shambles_: ChibaPet: For example, one Scheme could be built on top of Amiga OS's GUI toolkit, using the FFI to talk to it. Amiga OS's GUI toolikt doesn't run on anything else. There'd be no hope for getting AmigaScheme's GUI library running on another platform, so, yeah, it doesn't solve the problem. 08:40 Shambles_: ChibaPet: And even if you pointed out that things like Qt could run on most platforms... it'd depend on the particular library you wanted not needing to do things it would likely need to do, like cooperate with that particular scheme's garbage collector. 08:43 ChibaPet: I don't know. Still seems reasonable to me. 08:43 ChibaPet: The point would be these various GUI libraries being written portably. 08:44 Shambles_: ChibaPet: It would probably help some, but it wouldn't be as good as actually having a standard for modern I/O. Java taught the lesson. Some languages (e.g. C#) learned. Others (e.g. C++) didn't. You can see which ones most people are using for new projects. You can also see how many people are using Chicken, JazzScheme, and Racket vs other Schemes for new projects. 08:45 Shambles_: ChibaPet: A larger, more useful, standard library is better, even if it makes creating a new implementation more bothersome. 08:46 noelw: Making creating a new implementation more bothersome is, IMHO, a good thing. There are two many Scheme implementations already 08:47 noelw: s/two/too 08:48 ChibaPet: Shambles_: You might me interested in looking at language use trending. Evidently not learning Java's lesson correlates with increased adoption. :P 08:49 Shambles_: ChibaPet: From what I can tell that's not true. I haven't seen much adoption of languages with insufficient standard libraries. 08:51 Shambles_: If you're referring to this: http://www.tiobe.com/content/paperinfo/tpci/index.html 08:52 Shambles_: Instead of say, Google Trends, C and C++ have been pretty highly ranked there for the same reason COBOL was at one point. It's not so much that people think they're the best language ever for new projects. It's more that there's a gigantic legacy code base. 08:55 Shambles_: Also: http://lang-index.sourceforge.net/ 08:56 (join) getpwnam 08:57 (join) jonathansizz 08:57 (join) hash_table 08:57 (join) karswell 09:01 (join) zyoung 09:24 (join) plobzik 09:26 (quit) plobzik: Read error: Connection reset by peer 09:33 (quit) jonathansizz: Ping timeout: 256 seconds 09:34 (quit) getpwnam: Ping timeout: 256 seconds 09:34 (quit) hash_table: Ping timeout: 256 seconds 09:39 (quit) veer: Quit: Leaving 09:43 (join) gridaphobe 09:50 jesyspa: The FFI docs say to use (define-ffi-definer define-curses "libcurses") 09:50 jesyspa: Sorry, unfinished line. 09:51 jesyspa: The FFI docs say to use (define-ffi-definer define-curses "libcurses"), but running this gives `define-ffi-definer: expected argument of type ; given "libcurses"'. Is this a version issue? (Source: http://docs.racket-lang.org/foreign/intro.html ) 09:59 eli: ChibaPet: "The state of" would be a talk that sound like there's nothing else to talk about... 10:03 (join) mye 10:04 ChibaPet: eli: I was thinking "the state of" as encompassing major trends over the last release or two and projects planned for near-term releases, or possibly big projects in the less-definite future. 10:05 (quit) bluezenix1: Quit: Leaving. 10:05 (quit) ahinki: Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120509070325] 10:06 eli: Yeah, that's the kind of talk that sounds like there's nothing else. (And it would be interesting for very few people.) 10:11 noelw: I think a lot of people would find it interesting. It's community building. 10:11 noelw: but, whateva 10:16 (quit) DGASAU: Ping timeout: 250 seconds 10:20 ChibaPet: Xach talked about QuickLisp last week. He detailed how he builds releases. Doesn't matter to most people who just want to consume it, but it was interesting nonetheless. And as noelw says, it's community-building. There could stand to be a lot more community. 10:21 eli: noelw: It's for the boston lisp meeting, where there's many people who are lispers (who IMO wouldn't be interested in such a thing), and there's a large group of local plt-er students who know about these things anyway. 10:22 ChibaPet: Well, I'm simply stating what I'd find interesting, so there's whatever fraction of the total audience I am that would like it. But perhaps I'm the only one. I really don't know. 10:24 (join) mye_ 10:25 (join) mye__ 10:26 (quit) mye: Ping timeout: 244 seconds 10:27 (join) mye 10:28 (quit) mye_: Read error: No route to host 10:29 Shambles_: I found another very minor documentation error: on http://docs.racket-lang.org/guide/contracts-general-functions.html it says "Besides requiring that a client provide a valid amount for a withdrawal, however, the amount should be less than the specified account’s balance, and the resulting account will have less money than it started with." It should say "less than or equal to". 10:29 Shambles_: And it should say "or the resulting" 10:29 Shambles_: The code is right though. 10:30 (quit) mye__: Ping timeout: 276 seconds 10:31 Shambles_: Also, is the term /really/ " indy dependent"? I would have thought it would have been something like "input dependent". 10:35 eli: ChibaPet: Yeah, there's a tiny group of outliars that you'd be on, being one of a few people who's interested in racket and is not in the NEU group... (I didn't know that you're local...) 10:37 ChibaPet: I don't think I was local when I first met you. I was living in Indiana for a span that was mercifully brief - under two years. I was local before and I've learned my lesson, so I'll continue to be local. 10:37 eli: :) 10:38 eli: Apparently I didn't learn that lesson. 10:38 ChibaPet: If there are Racket-specific meetings I'd love to attend them. I've not got a lot to contribute but I'm quite interested. 10:38 eli: Surprising, given soup-days like this. 10:38 ChibaPet: Home is elsewhere? 10:38 ChibaPet: I like days like today. Nice, muted light. 10:39 eli: Home used to be Israel, in the desert. 10:39 asumu: Shambles_: Yes, it is indy dependent. It is based on a specific semantics for contracts called "indy" 10:39 ChibaPet: Somewhat different environment, yes. :P Anyway, my home is equidistant from Brown and NEU, so I'm well-positioned with regard to Racket people. 10:40 eli: The few times I went to places in the southwest, I *loved* the weather. Nice and dry. 10:40 eli: In any case, re racket talks, there's going to be a racketcon in the summer, probably early/mid august. 10:40 ChibaPet: Arizona is very pleasant that way. 10:41 eli: That should be a good dose of such talks. 10:41 (quit) Skola: Quit: leaving 10:41 ChibaPet: Mm, I've seen something about that and will plan on attending. It might be nice to get more Racket into the Boston Lisp meetings though. I believe it'd be welcome. The meetings are just starting to spin up again and I suspect folks would be grateful for participation. 10:41 eli: (asumu: Should I assume that you've looked and will fix that typo?) 10:42 eli: ChibaPet: Yeah, and that's another reason I want to be careful with it -- since there's a huge group here it's easy to flood the meetings, and permanently scare away other lispers... 10:44 (join) getpwnam 10:44 (join) jonathansizz 10:44 (join) hash_table 10:44 ChibaPet: Hm, I should put some time into supplying new links for things at schemers.org. There are new versions of things out there. A new edition of Dybvig for instance. 10:45 asumu: jesyspa: that's probably a version issue... I had to do this to bind to ncurses: (define ncurses-lib (ffi-lib "libncurses.so.5")) 10:45 asumu: eli: I haven't looked at it yet, but I can take care of it. 10:46 eli: asumu: Thanks. 10:46 eli: ChibaPet: I don't remember who's in charge of that content -- either Shriram or Mike Sperber; it lives on the brown server (IIRC). 10:47 ChibaPet: Shriram had access in the past I think. I'll find out and pester someone once I have a comprehensive set of suggestions. 10:48 eli: Shriram definitely has access since he's hosting it, but he might delegate the content maintenance to someone else. 10:50 (quit) dnolen: Ping timeout: 252 seconds 10:52 (join) RacketCommitBot 10:52 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/pxyg8A 10:52 RacketCommitBot: [racket/master] Minor fix in Guide section on contracts - Asumu Takikawa 10:52 (part) RacketCommitBot 10:53 asumu: It would be nice if ReadScheme were updated too. 10:55 Shambles_: asumu: Thanks for that. It's wonderful seeing things fixed at all, much less so quickly. I know I'm probably not much help, but it makes me feel a little useful. I recently wrote a bunch of patches for something else that were well documented (how to trigger the bug, how the patch fixes it, why the patch won't break other things), and short (most were 1 to 5 lines). It's been about a year and they still aren't applied. 10:56 eli: asumu: readscheme is a completely private thing... 10:56 eli: Shambles_: What's the bug number? 10:57 Shambles_: eli: It's not on Racket. As I said, it was "for something else". 10:57 eli: Ah... 10:58 Shambles_: eli: I guess I'm more used to being ignored is all. It was for the C++ project I've mentioned before (and renewed my hate for the language :P ). 10:58 eli: We do have our share of ancient bugs, though a patch usually makes it easy to deal with... 10:59 ChibaPet: I kind of like C++, personally. It's all what you experience of it, I guess. 11:00 (join) Fare 11:00 asumu: Shambles_: No problem, and thanks for the report. 11:01 Shambles_: ChibaPet: Part of it was what the language lets you do, easily. It seems to encourage a certain style of programming that bothers me. Part of it is how blasted hard to debug it is when someone writes in it poorly. The final part was just the two previous things compounded by it being extremely poorly written, and maintained by (commercial) programmers that don't care about the userbase. 11:02 ChibaPet: Well. People can write badly in any language. 11:02 asumu: (BTW: I'm still planning to add an example in there demonstrating >1 arity contracts too but haven't gotten around to it) 11:03 (quit) jrslepak: Quit: This computer has gone to sleep 11:03 Shambles_: ChibaPet: For example, imagine you find out 'multithreading is hard', so your 'solution' is to write everything as a gigantic state machine, that spawns/kills threads as needed to read/decompress files. When I say 'gigantic' I mean something clocking in at several hundred thousand lines. Note that one of the effects is that if you type fast, it drops letters. 11:04 ChibaPet: Don't blame the language for that! 11:06 Shambles_: ChibaPet: As I said, it was that, along with the other problems. Debugging this mess hurting so bad is 'the language's fault'. I personally don't enjoy the abuse of the template system intended for generic types as a macro system, either, especially when the language makes debugging code that gets cute with that excruciating. 11:07 ChibaPet: :) 11:08 jesyspa: asumu: Thanks, that did it. 11:11 Shambles_: asumu: One thing I would like added to the guide in the contract section is a discussion of 'internal' contracts. So far it makes them sound like they can only be placed at module boundaries. Some of us rather like DbC and want to use it everywhere, which is possible apparently, but not obvious from the documentation. It might also be nice if it mentioned unit testing and DbC complement each other well. 11:11 (quit) SeanTAllen: Write error: Connection reset by peer 11:11 (quit) sid0: Remote host closed the connection 11:16 (quit) noelw: Quit: noelw 11:21 Shambles_: asumu: And maybe contracts on classes, though there does seem to be one example of that. 11:22 asumu: Shambles_: you'll find more examples of class contracts in the Guide section on classes. 11:22 Shambles_: asumu: Okay. I haven't gotten there yet. 11:23 asumu: Yes, the internal contract stuff is missing from the Guide. I'm not sure to what extent it should be there, given that there are (perhaps) unintuitive performance implications. 11:23 asumu: (like breaking tail calls) 11:24 asumu: One of the reasons why contracts are done at module boundaries is because of the re-entrance problem with DbC, where checking things in a tight loop is bad. 11:25 Shambles_: asumu: If anything is unintuitive I think that's even more reason to document it or fix it (though I don't know as it's broken in this case). As for other performance (e.g. the loop thing; BTW Eiffel has loop contracts which I rather like), a option to 'turn it off' usually satisfies people, though personally I like leaving them in. The really annoying bugs tend to only happen after something has been running for a while. 11:26 Shambles_: asumu: That's when DbC helps the most. 11:27 asumu: Well, the fix to DbC was to introduce contract boundaries. The idea being that things inside are trusted. 11:27 asumu: Since proper tail calls are important in a higher-order setting. 11:28 asumu: But yes, we should probably say something about it other than just the reference section on it. 11:28 asumu: (which is harder to find) 11:28 asumu: I just don't know exactly how/where yet. 11:28 (quit) antithesis: Quit: yes leaving 11:28 (quit) MayDaniel: Read error: Connection reset by peer 11:29 (join) sid0 11:29 Shambles_: asumu: I'm not sure what 'trusted' would imply. I mean, bugs can happen anywhere. The idea is to keep corruption from spreading far from the source. Granted, you could basically stick each function in its own module, and then define contracts at the boundaries, to get the same effect, but I'm not sure that would perform any better than just using the internal stuff. 11:30 (join) jacius 11:31 asumu: Oh, I just realized that internal contracts don't mess with tail calls at all. 11:32 (quit) jacius: Client Quit 11:32 asumu: Shambles_: Trusted here just means you don't check the contract within the boundary. Because you may actually intentionally violate it. 11:32 asumu: i.e., sometimes you need a looser invariant on the internal code. 11:32 asumu: Which you can't necessarily observe as a user of that code. 11:32 (join) mithos28 11:33 Shambles_: asumu: Given that a contract is supposed to say "this function will screw up if you give it input other than what I specify here, but if your input is okay it promises you its output will be okay, and here's a description of 'okay'" how can you intentionally violate a contract without intentionally causing a bug? 11:38 asumu: Shambles_: Because the contract is an agreement with an external party (e.g., the user of your library). You can agree to stricter contracts than are actually necessary for your code to work correctly. 11:38 asumu: e.g., an example we gave in a paper being a stack storing prime numbers. 11:38 asumu: The stack could store any other numbers without erroring, but you export it with a strict contract. 11:38 asumu: Internally, you're free to store non-primes if you pop them before the user can see them. 11:39 asumu: (a contrived example, but you can imagine more real-world scenarios where you have looser invariants internally where you have control) 11:41 Shambles_: asumu: I guess you could do that, but I've never seen contracts used that way. I've only seen them used to specify what's needed for formal verification. Most code that uses them is never verified, but they still help by causing a core dump (in most languages) whenever a contract is violated, making it really trivial to debug a problem if you use them everywhere. 11:44 Shambles_: asumu: Your contract would be 'good enough' to work for verification, it's just people don't tend to intentionally over-specify their contract (to restrict things more than what the code can handle), or over-engineer (to handle more than the contract would allow) their code. Since they encourage you to write contracts first (rather like test-first methodology), code tends to be rather intolerant of violations. 11:45 (join) SeanTAllen 11:48 (join) jacius 11:52 (join) Kaylin 12:19 (join) antithesis 12:20 (quit) jacius: Ping timeout: 276 seconds 12:30 (join) netrino 12:33 (join) bluezenix 12:48 (quit) hkBst: Quit: Konversation terminated! 13:14 (join) jonrafkind 13:14 (quit) jonrafkind: Changing host 13:14 (join) jonrafkind 13:22 (join) dzhus 13:37 (join) sstrickl 13:48 jonrafkind: you know whats wrong with the racket homepage. no pictures or videos 13:48 jonrafkind: there should be a picture of drracket and/or the walkthrough video that shririam made 13:51 Shambles_: I found a few video tutorials on extremely basic things on Youtube, but not much else. It'd be neat to see 'fancier' things done. 13:53 jonrafkind: i keep thinking about making some macro tutorials 13:56 (quit) bluezenix: Quit: Leaving. 14:15 eli: jonrafkind: For screenshots, see http://plt-scheme.org/screenshots/ -- if you can get updated images I'll add it to the racket page. 14:15 jonrafkind: yea but will they go on the homepage? 14:16 eli: Yes, see the main plt-scheme.org page. 14:16 eli: Same for the tour video -- if you volunteer to keep one that is up-to-date, I'll be happy to put you instead of Shriram on the nag list. 14:17 (join) plobzik 14:17 eli: Neither of these are in only because of a lack of updates 14:18 eli: It's officially wet enough that if I had a goldfish I could take it out for a walk. 14:19 shawnps: Does anyone know why after using raco planet fileinject to install something into my local cache, i can't use any of the functions or structs from the module? 14:19 (quit) plobzik: Read error: Connection reset by peer 14:19 shawnps: don't really know how to even debug 14:19 shawnps: i see it showing up in the module browser 14:19 shawnps: can click on it in there, and it opens the file 14:31 (join) anRch 15:00 (quit) jesyspa: Quit: leaving 15:03 asumu: shawnps: are they provided? 15:03 asumu: eli: there is a screenshot on the Racket wiki page. 15:04 asumu: Which you can use. It's from a new Ubuntu machine. 15:04 asumu: (stchang took it) 15:04 (quit) gridaphobe: Remote host closed the connection 15:14 (join) jesyspa 15:20 (quit) jesyspa: Quit: leaving 15:23 (join) Dionadar 15:36 (join) stis 15:37 (part) stis 15:52 shawnps: asumu: sorry, i'm not sure what you mean by provided 15:52 shawnps: is there something special i have to do in the module? 15:56 (join) ASau` 15:56 asumu: shawnps: do you have a (provide foo) for the foo you define and want to export from your module? 15:57 shawnps: asumu: no, I didn't realize I needed that. I'll search for documentation on that 15:57 shawnps: asumu: thank you 15:58 (join) nilyaK 16:00 (quit) ASau: Ping timeout: 252 seconds 16:01 asumu: shawnps: NP. 16:05 (quit) dented42: Quit: Computer has gone to sleep. 16:19 (quit) netrino: Quit: Ave! 16:23 (quit) kanak: Ping timeout: 244 seconds 16:31 (join) RacketCommitBot 16:31 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/1zaLfg 16:31 RacketCommitBot: [racket/master] Add abstract methods to the class system. - Asumu Takikawa 16:31 RacketCommitBot: [racket/master] Add tests for abstract methods. - Asumu Takikawa 16:31 RacketCommitBot: [racket/master] Add documentation for abstract clause. - Asumu Takikawa 16:31 (part) RacketCommitBot 16:32 (join) snearch 16:34 jonrafkind: ah abstract methods. finally 16:35 (quit) snearch: Client Quit 16:35 shawnps: asumu: thank you, that worked 16:42 (quit) bitonic: Quit: WeeChat 0.3.7 16:44 (join) bitonic 16:47 (quit) anRch: Quit: anRch 16:53 asumu: jonrafkind: if you try them and have any design feedback, that'd be great. 16:53 asumu: (or doc feedback or whatever) 16:54 jonrafkind: so you can't instantiate a class that has abstract methods right 17:00 (quit) getpwnam: Ping timeout: 250 seconds 17:00 (quit) hash_table: Ping timeout: 250 seconds 17:00 (quit) jonathansizz: Ping timeout: 250 seconds 17:01 (join) jeapostrophe 17:01 (quit) jeapostrophe: Changing host 17:01 (join) jeapostrophe 17:02 (join) dnolen_ 17:06 (join) bluezenix 17:06 asumu: jonrafkind: right. 17:06 asumu: You define/override the abstract methods. 17:07 sstrickl: and if you don't, then yes, instantiation fails 17:14 (quit) ASau`: Read error: Connection reset by peer 17:16 (quit) bluezenix: Quit: Leaving. 17:17 (quit) dnolen_: Ping timeout: 245 seconds 17:27 Shambles_: jonrafkind: If you made a macro tutorial for syntax-case or syntax-parse I would be most grateful. Something for call/cc would be nice too. 17:34 (quit) sstrickl: Quit: sstrickl 17:34 Shambles_: It'd also be nice if Realm of Racket came out. They've gone disturbingly quiet lately. I was really looking forward to it. 17:35 (join) dented42 17:36 danking: I have a crass sense of humour, but I love their domain name. 17:37 ozzloy: ? 17:37 danking: ozzloy: realm of racket, realmofracket, real mof racket. 17:37 asumu: Shambles_: I think it's on track. 17:38 asumu: (the authors are often in this building) 17:38 ozzloy: danking, thaaat's a stretch 17:38 jonrafkind: asumu, is there a conference or something this week 17:38 ozzloy: ^_^ 17:38 jonrafkind: matthew and ryan aren't around, im not sure where they went 17:38 asumu: jonrafkind: there's a PI meeting 17:38 jonrafkind: for darpa? 17:38 asumu: Yeah. 17:38 jonrafkind: oh ok, i heard matthew talking with ryan about that 17:39 jonrafkind: i went to one last semester 17:40 danking: Hmm. Surprise at professors *not* being around is not something I've growned accustomed to. Thanks Olin. 17:40 danking: ;) 17:42 (quit) antithesis: Remote host closed the connection 17:46 (quit) PfhatWork: Ping timeout: 252 seconds 17:48 (join) jacius 17:52 (join) PfhorSlayer 17:52 (join) jonathansizz 17:53 (join) getpwnam 17:53 (join) hash_table 17:59 (join) jesyspa 17:59 (quit) jesyspa: Client Quit 17:59 (join) jesyspa 18:05 (quit) jeapostrophe: Ping timeout: 245 seconds 18:06 (quit) Dionadar: 18:09 (join) jrslepak 18:09 (quit) zyoung: Ping timeout: 252 seconds 18:18 (quit) masm: Quit: Leaving. 18:24 ozzloy: anyone in here going to adelphi for program by design? 18:31 (join) maahes 18:31 (join) kvda 18:32 (quit) PfhorSlayer: 18:36 (quit) bitonic: Ping timeout: 245 seconds 18:36 (join) RacketCommitBot 18:36 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/W3Mc1A 18:36 RacketCommitBot: [racket/master] Fix class construction bug introduced by abstracts - Asumu Takikawa 18:36 (part) RacketCommitBot 18:37 jonrafkind: asumu, lolwat 18:37 (join) jyc 18:37 jonrafkind: did you look at the diff you just committed 18:39 (quit) kvda: Quit: x__x 18:39 (join) kvda 18:41 asumu: jonrafkind: ? 18:41 asumu: Did I do something really stupid? 18:41 jonrafkind: you added an extra 'null' reference 18:41 jonrafkind: ok i guess maybe thats the extent of the fix 18:42 asumu: Yes. 18:42 asumu: It is. 18:42 jonrafkind: it just seemed like you had forgotten to add a bunch of code 18:42 ozzloy: lulz 18:42 asumu: Nah, I just messed up when merging code with master. 18:42 jonrafkind: its funny when the commit message is an order of magnitude larger than the commit itself 18:42 asumu: Although I broke a bunch of documentation. 18:43 asumu: Turns out the sigplan scribble stuff defines an "abstract" identifier too. Blagh. 18:43 jonrafkind: but that should be fine right, scribble sorts out which identifiers come from which modules 18:44 (quit) kvda: Ping timeout: 260 seconds 18:46 (join) sstrickl 18:47 (join) kvda 18:49 asumu: jonrafkind: I would've thought so, but it broke. except-in isn't helping either. Hmm. 18:51 (quit) cdidd: Read error: Operation timed out 18:51 (quit) kvda: Client Quit 18:52 (join) kvda 18:59 asumu: Nevermind, it works. 18:59 (join) neilv 19:04 (quit) kvda: Quit: x__x 19:05 (join) kvda 19:07 (part) kvda 19:07 (quit) jonrafkind: Ping timeout: 245 seconds 19:10 (quit) Fare: Read error: Operation timed out 19:13 (join) Fare 19:22 (join) rest_ 19:23 (nick) rest_ -> kvda 19:23 (quit) Fare: Ping timeout: 248 seconds 19:24 (join) kvda 19:24 (join) mye_ 19:27 (quit) mye: Ping timeout: 246 seconds 19:28 (quit) scvrory: Ping timeout: 252 seconds 19:35 (join) dnolen 19:38 (join) jonrafkind 19:41 Shambles_: It'd be nice if the guide mentioned generators. I had no trouble finding them in the reference. It just seems like a odd omission since they're so useful, at least IMO. They'd go along nicely with the iterators and comprehensions chapter. 19:50 (quit) jonrafkind: Ping timeout: 240 seconds 19:57 (join) RacketCommitBot 19:57 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/7kbMzw 19:57 RacketCommitBot: [racket/master] Fix doc breakage. - Asumu Takikawa 19:57 (part) RacketCommitBot 20:02 (join) jonrafkind 20:20 (join) yoklov 20:23 (quit) sstrickl: Quit: sstrickl 20:28 (quit) jonrafkind: Ping timeout: 265 seconds 20:30 Shambles_: What are "internal pipes" (as in "make-pipe") used for? The Guide mentions them, but doesn't explain when you might use one. 20:32 (quit) dzhus: Ping timeout: 245 seconds 20:39 bremner: does http://docs.racket-lang.org/reference/pipeports.html?q=make-pipe#(def._((quote._~23~25kernel)._make-pipe)) help? 20:40 neilv: no, it doesn't 20:40 bremner: yeah, fair enough. 20:41 neilv: Shambles_: imagine you have one bit of code that writes to an output-port, and you have another bit of code that reads from an output-port, and you want to connect them together 20:42 nilyaK: input-port* 20:42 nilyaK: for 2nd one 20:42 neilv: thank you 20:43 nilyaK: http://www.merriam-webster.com/thesaurus/pipe%5Bverb%5D first definition is how it's used in this context. 20:43 nilyaK: if that helps too 20:43 Shambles_: So it lets you reuse code that would normally do things like write to files or something? I thought that'd normally be possible with string ports or whatnot, but maybe I'm missing something. 20:44 neilv: also, i think that reference documentation is confusing when it says "no intermediate buffering" and then in the next paragraph talks about "limit", which seems to specify a buffer size 20:44 neilv: Shambles_: are you trying to do something, and wondering whether "make-pipe" will help, or are you just reading the documentation recreationally? 20:45 neilv: "make-pipe" is one of those things that makes sense once you have a problem that needs it 20:46 Shambles_: neilv: I don't know as I would use the term 'recreationally'. I'm reading the guide from start to finish to try to understand the language, since I was told that was the next thing to do after reading the first tutorial. Basically I was confronted with a item I didn't understand the purpose of. I doubt things were added for no reason, so sought a explanation since none was given in the guide, nor apparent in the reference. 20:50 neilv: oh, i see. that little bit at the end of that page in the guide might be more confusing than it's worth 20:50 neilv: also, i wish they'd flush the port rather than close it. flushing is more consistent with how you might want to use it 20:51 neilv: and would make a little more clear how this is different than using an intermediate string port 20:52 Shambles_: neilv: Yes. I suppose its inevitable when the person writing the guide isn't the one that needs to read it, but there seem to be some curious things missing from the guide (e.g. internal contracts, generators, sets...), and a few like this that I can't understand why they're there. 20:53 neilv: maybe you should post a small wishlist to the users@ email list 20:55 Shambles_: I'm a bit reluctant to get on e-mail lists, due to all the e-mail that comes from them, and really slow reaction times. I've had pretty good luck asking about things here. I thought someone would explain make-pipe eventually. I understood what I read, I just don't understand why I might want such a thing. 20:56 Shambles_: That doesn't mean it's unimportant. A lot of constructs aren't obviously needed until what they're 'good for' is explained, and then you can't live without them. I remember what learning pointers was like, after coming from BASIC (actual 80's BASIC, not what gets called BASIC now) which didn't have it. 20:56 Shambles_: I can't stand using a language without pointers or references now. 20:57 neilv: you'll get better responses on the email list 20:58 neilv: you might want to subscribe your main email address, and then disable delivery to it. that way you can still post rapidly when you need to 20:58 Shambles_: neilv: Howso? I've gotten good ones here. I don't suppose I'm bothering anyone here. I've tried not to. 20:58 neilv: whatever works for you 21:00 neilv: i have the list traffic sent to a folder that doesn't beep when mail arrives. so i am not constantly interrupted, but i can catch up with it when i have a break 21:02 asumu: Shambles_: FYI, the advantage to actually posting on the list is that people with more deciding power will hear you. 21:02 asumu: A good portion of the devs do hang out here, but many of the core ones do not as well. 21:03 Shambles_: asumu: I'm guessing this is about the missing/confusing documentation thing rather than answering the internal pipe thing. 21:03 asumu: Yes. 21:03 Shambles_: asumu: If I were to post about fixing the documentation I'd rather do it after I've read the entire guide, rather than tacking on a dozen more requests. 21:03 asumu: Also, some of the docs you're referring to are the responsibility of devs who aren't here. 21:03 asumu: Fair enough. 21:06 Shambles_: neilv: I'm a bit of a recluse, and tend to not receive much e-mail, nor want to. Chat is more like face to face chat. It's quick, and doesn't have to be planned carefully. I spend ages revising a e-mail. It's almost painful writing them. Reading mailing lists often results in a lot of 'noise' to me, and unlike chat, I find it hard to follow the 'flow' of. There's big 'chunks' of stuff rather than a lot of back and forth 21:07 Shambles_: neilv: If I do this it'd probably be set to not receive mail at all, and just use it to send something. 21:07 (quit) anonus: Ping timeout: 264 seconds 21:10 neilv: the twitter generation welcomes you 21:10 Shambles_: neilv: I can't stand Facebook or Twitter. 21:11 (join) em_ 21:12 (quit) jesyspa: Quit: leaving 21:13 (quit) mceier: Quit: leaving 21:17 (quit) Kaylin: Read error: Connection reset by peer 21:19 (quit) peeeep: *.net *.split 21:19 (quit) m4burns: *.net *.split 21:19 (quit) dsantiago: *.net *.split 21:19 (quit) friscosam: *.net *.split 21:21 (join) peeeep 21:21 (join) m4burns 21:21 (join) dsantiago 21:21 (join) friscosam 21:22 (join) jesyspa 21:25 (quit) peeeep: *.net *.split 21:25 (quit) m4burns: *.net *.split 21:25 (quit) dsantiago: *.net *.split 21:25 (quit) friscosam: *.net *.split 21:26 (join) dyoo 21:27 (quit) Shambles_: Ping timeout: 245 seconds 21:27 dyoo: Shambles_: collect a list of the confusing things in the guide; it'll help in guiding what needs improvement 21:28 (quit) nilyaK: Quit: Leaving. 21:30 (join) peeeep 21:30 (join) m4burns 21:30 (join) dsantiago 21:30 (join) friscosam 21:31 (part) dyoo 21:36 mye_: I'm learning formlets... how to render a submit button? ,{=> submit "submit"} ? 21:37 mye_: this is not working 21:37 mye_: =>: arrow not allowed as an expression in: (=> submit "submit") 21:39 (join) Shambles_ 21:42 asumu: mye_: did you mean to type =>*? 21:44 mye_: asumu, that's only available in formlet* DrRacket says, I used unstarred 21:46 asumu: mye_: I don't see a => binding related to formlets aside from that one. 21:46 asumu: Oh. 21:46 asumu: I see, it's not a binding but a part of the formlet macro. 21:47 asumu: mye_: so did ,{=> submit "submit"} not actually work? 21:48 asumu: You need to actually put that in a formlet form for it to work. 21:49 mye_: yea I have that, an input field already renders 21:49 mye_: (formlet 21:49 mye_: (form 21:49 mye_: ,{=> input-string name} 21:49 mye_: ,{=> submit #"submit"}) 21:49 mye_: gives the above error (I just pasted the upper half of the macro) 21:52 (quit) jacius: Remote host closed the connection 21:55 (join) zyoung 22:01 (quit) zyoung: Remote host closed the connection 22:05 asumu: mye_: I think the problem is your "submit". The documentation says that position should have an identifier. 22:05 (quit) yoklov: Quit: computer sleeping 22:06 (join) yoklov 22:07 mye_: asumu, what's the difference between a formlet-expr and an identifier? 22:08 mye_: ah so it only works with a (define 'd thing? 22:08 (join) acarrico 22:10 asumu: mye_: An identifier is a name. Yeah, like the left-hand side of a `define`. 22:10 asumu: (could also be from a `let` or whatever else lets you bind names) 22:11 mye_: I think I need let bc. I can't use interal define when defining an identifier (multiple expressions) 22:11 mye_: this sound weird 22:16 mye_: this still gives me the error: http://paste.lisp.org/display/129608 22:17 mye_: actually I got it now 22:17 mye_: I just forgot the name 22:17 mye_: it works! 22:18 mye_: asumu, where in the docs does it say it has to be an identifier? 22:18 mye_: ,{=> formlet-expr name} embeds the formlet given by formlet-expr; the result of processing this formlet is available in the yields-expr as name. 22:20 asumu: mye_: "It can contain elements like ,(=> formlet name) where formlet is a formlet expression and name is an identifier bound in the second part of the formlet syntax." 22:21 asumu: (from the top of chapter 6 of the web app guide) 22:24 mye_: asumu, haha I wasn't calling submit as a function 22:25 mye_: the examples in the docs with input-string confused me 22:26 mye_: (to-string (required (text-input))) = input-string ... 22:28 (join) zyoung 22:31 (join) nilyaK 22:32 (quit) dented42: Quit: Computer has gone to sleep. 22:33 (quit) kvda: Quit: Computer has gone to sleep. 22:40 (quit) zyoung: Remote host closed the connection 22:49 (quit) peeeep: *.net *.split 22:49 (quit) m4burns: *.net *.split 22:49 (quit) dsantiago: *.net *.split 22:49 (quit) friscosam: *.net *.split 22:53 (join) jonrafkind 22:53 (quit) jonrafkind: Changing host 22:53 (join) jonrafkind 22:55 (join) peeeep 22:55 (join) m4burns 22:55 (join) dsantiago 22:55 (join) friscosam 23:02 (join) zyoung 23:04 (quit) zyoung: Remote host closed the connection 23:12 (join) dented42 23:17 (quit) em_: Quit: As a wild ass in the desert go I forth to my work 23:18 (join) emma 23:22 (quit) mye_: Ping timeout: 265 seconds 23:47 (quit) hash_table: Ping timeout: 250 seconds 23:47 (quit) getpwnam: Ping timeout: 250 seconds 23:47 (quit) jonathansizz: Ping timeout: 250 seconds