00:00 jimmypk: Ya, like I said this is really bizarre to me. Maybe I'll email the developers list tomorrow. 00:00 Shambles_: jimmypk: I haven't tried to do that in ages. On Windows the stack size for the main thread (other threads are determined at run time by the arguments sent to the functions that start them) is stored inside the executable's binary headers. I don't know how it works on Linux. I wouldn't be surprised if it was similar. That'd mean you'd need to recompile it. 00:00 Shambles_: jimmypk: I'd also be surprised if setting a system variable would effect the executables, if that is, indeed, how it works. 00:01 jimmypk: stackoverflow is telling me it's an environment variable set by ulimit -s on linux. 00:02 Shambles_: http://stackoverflow.com/questions/2275550/change-stack-size-for-a-c-application-in-linux-during-compilation-with-gnu-com 00:02 rudybot: http://tinyurl.com/87eqaxd 00:07 jimmypk: Alright, well I'm going to give up for the night. I'm going to try emailing the developers tomorrow. I really appreciate all of your help :) Take care. 00:07 (join) jrslepak 00:09 (quit) jimmypk: Quit: leaving 00:15 (quit) jao: Ping timeout: 246 seconds 00:39 (quit) jeapostrophe: Ping timeout: 245 seconds 00:45 (quit) hash_table: Ping timeout: 260 seconds 00:45 (quit) getpwnam: Ping timeout: 272 seconds 00:48 (join) veer 00:53 (quit) veer: Client Quit 00:57 (quit) genbattle: Ping timeout: 245 seconds 01:06 (quit) ozzloy: Quit: leaving 01:07 (join) ozzloy 01:07 (quit) ozzloy: Changing host 01:07 (join) ozzloy 01:12 (join) otterdam 01:14 (quit) mceier: Quit: leaving 01:18 (join) kreol[Ukr] 01:25 (join) gciolli 01:32 (quit) gciolli: Quit: Leaving. 01:33 (join) gciolli 01:34 (quit) adu: Quit: adu 01:43 (quit) yoklov: Quit: bye! 01:52 (join) hkBst 01:56 (quit) gciolli: Ping timeout: 255 seconds 02:00 (join) Shviller 02:04 mithos28: rudybot: (impersonate-struct s impersonator-prop:application-mark 2) 02:04 rudybot: mithos28: error: reference to an identifier before its definition: s in module: 'program 02:04 mithos28: rudybot: (impersonate-struct (set) impersonator-prop:application-mark 2) 02:04 rudybot: mithos28: error: impersonate-struct: expects type as 2nd argument, given: #; other arguments were: (set) 2 02:05 mithos28: I am using impersonate-struct wrong or is this a bug? 02:10 (quit) dnolen: Ping timeout: 276 seconds 02:10 mithos28: chaperone-struct seems to have a restriction that would imply this, but not impersonate-struct 02:32 (join) adu 02:39 (join) mceier 02:52 (join) RacketCommitBot 02:52 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/X7FnIQ 02:52 RacketCommitBot: [racket/master] reformatting only - John Clements 02:52 RacketCommitBot: [racket/master] working on adding stopping dialog - John Clements 02:52 RacketCommitBot: [racket/master] adding halt dialog for runaway process - John Clements 02:52 (part) RacketCommitBot 02:54 (quit) jonrafkind: Ping timeout: 248 seconds 02:58 (quit) adu: Quit: adu 03:02 (quit) mithos28: Quit: mithos28 03:21 (join) djcoin 04:07 (quit) SHODAN: Remote host closed the connection 04:10 (join) SHODAN 04:15 (join) dalaing 04:27 (join) wahjava 04:38 (join) bitonic 05:11 (join) tfb 05:29 (quit) ivan\: Ping timeout: 245 seconds 05:30 (join) ivan\ 05:34 (quit) dalaing: Quit: Leaving. 05:35 (join) dalaing 05:46 (join) antithesis 05:47 (quit) tfb: Quit: gone 06:04 (quit) antithesis: Quit: antithesis 06:04 (join) antithesis 06:09 (join) gciolli 06:09 (quit) dalaing: Ping timeout: 248 seconds 06:22 (quit) antithesis: Quit: antithesis 06:22 (join) antithesis 06:31 (quit) gciolli: Ping timeout: 244 seconds 06:36 (join) lamefun3 06:36 lamefun3: hello 06:36 lamefun3: can I run several independent Racket contexts in one program? 06:41 (part) lamefun3 06:41 (quit) antithesis: Quit: antithesis 06:42 (join) antithesis 06:50 (join) jesyspa 06:54 (join) lamefun3 06:54 lamefun3: hi 06:54 lamefun3: racket download page is confusing 06:55 lamefun3: is Windows, UNIX and Mac OS sources same? 06:55 bremner: iirc, no 06:56 (quit) noam: Ping timeout: 246 seconds 06:56 (join) noam 06:57 (join) gciolli 06:57 lamefun3: and how to verify download? 07:03 (quit) gciolli: Ping timeout: 252 seconds 07:04 (join) nilyaK 07:04 (quit) vu3rdd: Ping timeout: 245 seconds 07:09 (quit) rbarraud: Ping timeout: 276 seconds 07:16 bremner: are there no md5sums or whatever listed on the download page? 07:16 lamefun3: no 07:16 lamefun3: http://download.racket-lang.org/racket-5-2-1-src-unix-tgz.html 07:16 (quit) kreol[Ukr]: Ping timeout: 244 seconds 07:20 (part) lamefun3 07:21 bremner: ok then, I guess I will stop investigating 07:33 (join) snearch 07:52 (quit) nilyaK: Quit: Leaving. 07:55 (join) jeapostrophe 07:55 (quit) jeapostrophe: Changing host 07:55 (join) jeapostrophe 08:03 (quit) antithesis: Quit: antithesis 08:05 (join) untrusted 08:09 (join) kanak 08:09 (join) masm 08:23 (quit) kanak: Quit: Leaving. 08:34 (join) kanak 08:51 (join) kreol[Ukr] 08:58 Shambles_: Does anybody know when the GUI guy will be back, and if so, if he tends to read backlogged stuff on the mailing list? 09:00 (join) getpwnam 09:01 (join) hash_table 09:02 samth: Shambles_: matthew will probably see your message at some point, but i recommend patience 09:02 samth: i don't know how long he's in china 09:16 (quit) jeapostrophe: Ping timeout: 244 seconds 09:21 (quit) snearch: Quit: Verlassend 09:26 (join) RacketCommitBot 09:26 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/KT5OUw 09:26 RacketCommitBot: [racket/master] make scribble's part/document/element/etc structs all be #:transparent - Robby Findler 09:26 RacketCommitBot: [racket/master] remove uppercasing of the tag names - Robby Findler 09:26 RacketCommitBot: [racket/master] a bunch of fixes to the diagram: - Robby Findler 09:26 (part) RacketCommitBot 09:27 (quit) bitonic: Remote host closed the connection 09:29 (join) bitonic 09:33 (quit) hash_table: Ping timeout: 246 seconds 09:33 (quit) getpwnam: Ping timeout: 246 seconds 09:34 (join) adu 09:47 (quit) Shviller: Disconnected by services 09:47 (nick) Shvillr -> Shviller 09:47 (join) Shvillr 09:48 asumu: Shambles_: if you want to make a new widget and make it look native, I think the only "trick" is that you need three separate FFI bindings to build the widget on each of the three platforms. 09:48 Shambles_: asumu: Why would FFI use be necessary? 09:49 asumu: Shambles_: If you want to use a native widget that's not currently available, yes. An alternative is to build a widget using a canvas and racket/draw. 09:50 Shambles_: asumu: I more had the building it in Racket thing in mind. There seem to be a lot of "you can't do that's" involved though. Even basic things like figuring out what the color scheme of the desktop is don't seem to be supported. 09:50 asumu: Well, doing that in a cross-platform way is hard. 09:51 Shambles_: asumu: It appears that Racket is using GTK to provide the vast majority of the GUI. I'm sure it has some cross-platform way to do that, since people use custom widgets in it, and it's been around a very long time. 09:51 asumu: Racket only uses GTK on Linux. 09:52 asumu: (or rather, non-Win/Mac systems) 09:52 Shambles_: asumu: That's odd. The 'requirements' section had GTK as the only potentially-GUI-providing library. I guess in reality it's binding to win32 and whatever Mac's use. 09:53 asumu: And one of the ways that people write custom widgets in GTK is to use Cairo to draw a widget, which is pretty much like using racket/draw. 09:53 Shambles_: I wonder how much it would /really/ hurt to just wrap something like Qt and have it over with. Apparently Chicken did that. 09:54 asumu: That was probably omitted since Mac/Windows users don't actually need to install anything to use their native GUIs, whereas Unix people may not have GTK installed. 09:54 asumu: Qt is pretty hard since it uses its own preprocessing step to build and it's C++. 09:55 Shambles_: Given that GTK can look like the native widgets I'm not really sure why it wasn't just wrapped in the first place. 09:55 (quit) jrslepak: Quit: This computer has gone to sleep 09:55 Shambles_: It has pretty much everything, even 'weird' stuff I'd like to have like a toolbox widget. 09:58 Shambles_: asumu: Any idea why? 10:03 (quit) karswell: Read error: Connection reset by peer 10:08 (join) karswell 10:11 (join) veer 10:20 (join) jeapostrophe 10:20 (quit) jeapostrophe: Changing host 10:20 (join) jeapostrophe 10:26 (join) anRch 10:34 (quit) mceier: Quit: leaving 10:38 (join) jrslepak 10:49 (join) getpwnam 10:50 (join) hash_table 10:57 samth: Shambles_: (a) it would require either shipping gtk or expecting windows/mac users to download it 10:58 samth: (b) gtk doesn't really seem like a native app on windows 10:58 samth: (c) the gtk mac port is not up to the completeness standards of the other two 11:00 (quit) s_p_a_c_e_d_o_u_: Remote host closed the connection 11:00 Shambles_: samth: Would (a) be a big deal given all the other libraries? (b) seems possible but not too convincing. GIMP doesn't look native but isn't confusing on Windows. As for (c) I can't say since I don't own a Mac, but I would expect it to be more complete than the GUI library we have at the moment. For example I'm certain it has spinners (spinboxes) and tooltips, along with more obscure things (e.g. toolbox, grid layout...). 11:00 (join) s_p_a_c_e_d_o_u_ 11:01 samth: (a) would indeed be unfortunate -- increasing the download size is never a good thing 11:02 samth: (b) you're welcome not to place a premium on interface consistency, but it is a drawback 11:02 samth: (c) the problem is not completeness, but functionality 11:02 samth: plus racket/gui does support tooltips -- you can see them in drracket 11:02 Shambles_: I can't think of a single 'living' project whose download size doesn't grow over time. 11:03 Shambles_: samth: I've actually investigated the tooltips thing rather thoroughly. DrRacket rolls its own version, as does MrEd Designer, since the toolkit itself doesn't support them. 11:03 samth: Shambles_: sure, but keeping the dl size down is a good thing 11:03 Shambles_: samth: There's actually quite a bit of basic functionality missing. The hardest thing I've encountered to work around, though, is that you can't drag across pasteboards. 11:05 Shambles_: Which, as far as I can tell, is just a hard limit. There's not even a way to 'break off' scrollbars from editors, since they're not provided separately. Otherwise you could have one great big pasteboard and then plaster scrollbars and other stuff over top of it to make it look like separate widgets. 11:07 Shambles_: You could make your own widget library, which, in the long run, might be the best thing to do, but then you run up on the problem of what happens if the user isn't using a generic Windows Classic desktop theme. Then part of your window will look purple (or whatever) with your custom widgets looking gray and white. 11:07 Shambles_: That problem could be fixed if there was some way to get basic information from the OS, like the colors of various things. 11:08 (join) gciolli 11:08 (quit) gciolli: Client Quit 11:11 (quit) hkBst: Quit: Konversation terminated! 11:19 samth: eli: first, a bunch of the typed benchmarks, such as: http://drdr.racket-lang.org/24867/collects/tests/racket/benchmarks/shootout/spellcheck.rkt , which was previously run with 'mzc' 11:20 rudybot: http://tinyurl.com/6mhv9n2 11:20 samth: or http://drdr.racket-lang.org/24865/collects/tests/racket/benchmarks/shootout/binarytrees-places.rkt which was run with a command line argument 11:20 rudybot: http://tinyurl.com/7jvv3jw 11:21 samth: also, these: http://drdr.racket-lang.org/24866/collects/tests/racket/benchmarks/shootout/typed/ used to have a 'responsible' prop set 11:21 rudybot: http://tinyurl.com/7st54ra 11:22 samth: eli: more generally, there are now 500+ failures in drdr 11:22 samth: which date to your props changes 11:22 samth: so i think that change should be either fixed or temporarily reverted 11:27 eli rolls eyes at sam's direction 11:27 eli: Did you look in the props file? 11:27 (quit) Fare: Ping timeout: 246 seconds 11:27 (join) mceier 11:29 (join) RacketCommitBot 11:29 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/JQn27A 11:29 RacketCommitBot: [racket/master] when moving the focus to the replace window, also select the text - Robby Findler 11:29 RacketCommitBot: [racket/master] Added @literal-algol{} and started an algol60 test suite (apologies - Robby Findler 11:29 (part) RacketCommitBot 11:31 eli: samth: Did you look in the props file? 11:32 samth: eli: no, not yet 11:32 samth: what would i see there? 11:32 eli: That the properties *are* there. 11:32 eli: And therefore the problem is in some other place, which I didn't find yet. 11:33 eli: (Something in the code maybe.) 11:33 eli: jeapostrophe: ping 11:36 eli: samth: And now I have a good guess about the total breakdown. 11:36 samth: eli: ok, great 11:37 eli: it would be nice if jeapostrophe would be interactive and confirm it... 11:38 jeapostrophe: hmm? 11:38 eli: jeapostrophe: Do you have some log of the drdr run? 11:39 eli: jeapostrophe: More specifically, is the build derived by a racket script of version 5.2.1 (or earlier) 11:39 (join) Fare 11:39 jeapostrophe: drdr runs on 5.1.1 11:40 jeapostrophe: and when the props file can't be loaded, everything uses the defaults (nobody and racket) 11:40 eli: jeapostrophe: OK, I'll put a conditional around the module+ which is probably what broke. 11:41 eli: jeapostrophe: Also, it would be good if you upgrade to 5.2.1, since I don't have an easy way to check 5.1.1... 11:41 jeapostrophe: i could update drdr's install too and re-run the pushes 11:42 eli: You mean re-run the prop change pushes? 11:42 eli: That would be nice, but I think that they were all fine up to the commit that added the `module+'. 11:42 jeapostrophe: ya 11:43 jeapostrophe: 5.2.1 will work? even with the module+? 11:44 eli: jeapostrophe: No, it would break also -- that's how I caught it. 11:44 jeapostrophe: ah, so it wouldn't matter if i re-ran the pushes 11:44 eli: I also caught a use of `string-join' with one argument, which is a recent change. 11:45 eli: Anyway, I'm suggestion 5.2.1 since that I can check, and will know to check from now when/if I change that code. 11:45 eli: Oh, you meant re-run them as is -- no that won't work. 11:45 eli: I'm comitting a change that puts the `module+' in only in versions bigger than 5.2.1 11:47 jeapostrophe: i just updated the install 11:49 (quit) anRch: Quit: anRch 11:51 (join) RacketCommitBot 11:51 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/CtDHGg 11:51 RacketCommitBot: [racket/master] No need to run this wrapper in drdr. - Eli Barzilay 11:51 RacketCommitBot: [racket/master] Conditional use of `module+'. - Eli Barzilay 11:51 (part) RacketCommitBot 11:51 asumu: eli: what do you think of linking this (http://www.ccs.neu.edu/home/matthias/Thoughts/Racket_is____.html) from the Racket home page. As in make "Racket is a programming language" a link that points there. 11:51 asumu: s/\./\?/ 11:52 eli: jeapostrophe: I pushed a version that should work -- if you can use that version with older pushes it might be good to run it over the last few broken pushes. 11:53 eli: asumu: good point, just a minute. 11:54 (join) nilyaK 11:55 asumu: (or perhaps "for more, see [link]" or whatever you see fit) 11:55 eli: asumu: On a brief read, it looks fine to do that. 11:55 eli: I was worried that it might be draftish or quasi-private-ish or something. 11:56 asumu: Should I just make the change and push it then? Or would you rather do it? 11:58 (join) jonrafkind 11:58 (quit) jonrafkind: Changing host 11:58 (join) jonrafkind 12:00 jeapostrophe: eli: i can't use anything but the version of the props file for the push 12:00 eli: jeapostrophe: ok 12:01 eli: jeapostrophe: In that case, if you have a way to skip builds, then you should do that since they'll all fail similarly. 12:01 (quit) djcoin: Quit: WeeChat 0.3.2 12:01 eli: If you have no way, you can just do what I do with nightly builds: kill the process. 12:01 eli: asumu: I'll do it, I have some related changes. 12:02 eli: asumu: That's assuming that I'll remember it by the time I finish going over the daily pile of emails. 12:03 (quit) hash_table: Ping timeout: 246 seconds 12:03 (quit) getpwnam: Ping timeout: 246 seconds 12:03 jonrafkind: was the error about stepper/private fixed? 12:06 jonrafkind: oh drdr is going to fail 12:06 (join) mithos28 12:09 (join) RacketCommitBot 12:09 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/G-B1Fg 12:09 RacketCommitBot: [racket/master] oops add one more reference to new file - John Clements 12:09 (part) RacketCommitBot 12:09 (join) MayDaniel 12:11 jonrafkind: eli, I found out from the nightly ppa build :p 12:11 eli: jonrafkind: So this was the reason for the flood of messages? 12:12 jonrafkind: what flood 12:12 eli: jonrafkind: I got about 10 emails on builds 12:12 jonrafkind: from launchpad? 12:13 jonrafkind: i thought only I got those 12:13 eli: From: Launchpad Buildd System 12:13 jonrafkind: ok yea those 12:13 eli: [Build #3590647] lpia build of racket 5.3.0.11-20120620~karmic in ubuntu karmic RELEASE (plt-racket-nightly PPA) 12:13 jonrafkind: yea every build for each version of ubuntu failed, on 2 different architectures 12:13 jonrafkind: or possibly 3 in some cases, i think lpia might be arm? 12:13 eli: You mean their buildd, right? 12:14 jonrafkind: uhm, lpia is an ubuntu thing yes 12:14 eli: semi joke about the apparent typo 12:14 jonrafkind: oh rofl 12:14 (part) untrusted: "ERC Version 5.3 (IRC client for Emacs)" 12:15 eli: (Which my guess is a common name for a "build daemon") 12:15 jonrafkind: ya 12:19 jonrafkind: eli, so how come you didn't send an email about the broken push? 12:20 (quit) BeLucid: Ping timeout: 252 seconds 12:23 (join) RacketCommitBot 12:23 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/eXHP0Q 12:23 RacketCommitBot: [racket/master] fix struct/c for the case that the selectors are not available at the use site. - Robby Findler 12:23 (part) RacketCommitBot 12:24 (quit) jrslepak: Quit: This computer has gone to sleep 12:24 eli: jonrafkind: I woke up not too long ago, and didn't finish my email scan yet. 12:24 jonrafkind: oh ok 12:33 ozzloy: i'd like to store stuff in a configuration file and read that in from code. what's a good way to do that? 12:33 ozzloy: stuff like username, pw, server for connecting to a postgres db 12:39 jeapostrophe: ozzloy: i tend to use read and write, or just write the config file as a module that exports the config data as bindings 12:44 ozzloy: jeapostrophe, and then you require it in the code? 12:53 jeapostrophe: ya 12:55 FareWell: does racket have some notion of (unit?) signatures satisfied by several (unit?), and is that feature actually used to develop libraries? 12:55 jeapostrophe: yes 12:55 jeapostrophe: search for signature in the docs 12:56 ozzloy: jeapostrophe, thanks 12:56 mithos28: Are units still used that much? the only recent code that I have seen it used in is TR and that is just to allow mutual recursion across source files. 12:57 (join) BeLucid 12:58 FareWell: mithos28, what is TR? Typed Racket? 12:59 mithos28: FareWell: Yes 12:59 jeapostrophe: mithos28: they pre-date modules, so they were used mean modules were all that was needed 12:59 jeapostrophe: mithos28: now they are only used when necessary, which is rare 12:59 jeapostrophe: but when used, they are great and important 12:59 FareWell: are do swindle generic functions allow for cross-module specialization, and are they actually used as interface / signatures to develop libraries? 13:00 FareWell: I'm trying to develop / standardize some generic datastructure libraries for CL, and I'm trying to find out what other languages have done. 13:00 (join) getpwnam 13:01 mithos28: jeapostrophe: it looked like you were answering yes to the actually used to develop libraries, where most uses of them are now in maintenence mode. 13:01 (join) hash_table 13:01 mithos28: Farewell: Look at generics in the prerelease version of racket 13:01 eli: FareWell: I need to run soon, but the sort answer is that you should avoid them for good code, which is different if you're coming from a CL world where that's considered good enough. 13:01 mithos28: you can find the docs at pre.racket-lang.org/docs/html 13:02 eli: mithos28: These two kinds of generics are *very* different. 13:02 FareWell: I intend to use my infamous "interface-passing style" for that - i.e. a lower-level approach to what units do, but one that allows for generic functions in the style of swindle. 13:02 mithos28: eli: Ah, they sound similar 13:04 eli: FareWell: I don't know what that is, but you *should* look at the other generics library that mithos28 mentioned, 13:05 eli: it's somewhat closer to haskell type classes, so it might be relevant, but it's not doing the super flexible thing that CLOS does (which is a feature, and ultimately the reason that I recommend not using them). 13:08 (join) tewk 13:12 (quit) veer: Remote host closed the connection 13:15 (quit) dented42: Quit: Computer has gone to sleep. 13:21 (join) dspt 13:37 (join) anRch 13:48 (join) dented42 13:52 (join) gciolli 13:59 (quit) gciolli: Ping timeout: 260 seconds 14:01 FareWell: it looks like a fork of racket. Is there documentation? 14:02 FareWell: https://github.com/takikawa/racket/tree/generics 14:04 asumu: FareWell: you should ignore that repo. It was just me brainstorming. 14:05 asumu: The latest version of Racket has a generics library that eli originally wrote that is useful. 14:05 asumu: (by latest I mean the pre-release version, not the latest release) 14:06 FareWell: URL? 14:07 FareWell: or should I just checkout the git tree? 14:12 (quit) nilyaK: Quit: Leaving. 14:24 asumu: FareWell: you can find docs for it here: http://pre.racket-lang.org/docs/html/reference/struct-generics.html 14:25 asumu: To use it, you'll need to check out the git tree or use a nightly build. 14:28 (join) yoklov 14:34 (quit) anRch: Quit: anRch 14:44 (quit) hash_table: Ping timeout: 248 seconds 14:44 (quit) getpwnam: Ping timeout: 248 seconds 14:45 FareWell: asumu: thanks! 14:45 asumu: NP, also I actually looked at that link and I thought it was something else. That was our development branch, but it's already been merged into core Racket. 14:48 (quit) ivan\: Quit: ERC Version 5.3 (IRC client for Emacs) 14:52 (join) antithesis 15:05 (join) ivan\ 15:06 (quit) dented42: Quit: Computer has gone to sleep. 15:22 (join) soegaard 15:24 soegaard: asumu: Thanks for trying out "Populate "compiled" directories". 15:24 soegaard: asumu: Does testing.rkt work for you if you choose "syntactic test suite coverage" ? 15:27 soegaard: Another file that doesn't work for me with "population" on is bracket-lang.rkt 15:31 (join) gciolli 15:31 FareWell: asumu: do racket generics allow for any kind of method combinations? 15:31 FareWell: and/or inheritance? 15:43 asumu: soegaard: with syntactic test suite coverage, it breaks. 15:43 asumu: FareWell: what do you mean by method combinations? 15:43 stamourv: FareWell: They can't do method combinations yet. 15:44 stamourv: But, it would be great if it did. 15:44 asumu: It doesn't really have any inheritance. You could do it manually by having one set of generic functions just dispatch to another set. 15:44 stamourv: As for inheritance, Racket structs do provide inheritance. 15:44 stamourv: And I think that they would inherit generic functions. I' 15:44 stamourv: d need to double-check, though. 15:45 FareWell: method combinations: :around :after :before methods, or progn append cons + method combinations, or programmable method combinations. 15:45 FareWell: see CLOS. 15:45 soegaard: asumu: Hmm. 15:45 asumu: Ah, nevermind what I said. Structs will inherit in the sense that stamourv means. 15:45 FareWell: is it single-inheritance? 15:45 asumu: Yes. 15:46 FareWell: also, your method definitions are all in the defstruct form - can there be mutual recursion at the module scope? 15:46 stamourv: FareWell: Racket's generic functions are not as flexible as CLOS's, but they should cover a lot of their use cases, while being less scary and more robust. 15:47 stamourv: FareWell: Yes. 15:49 (quit) gciolli: Quit: Leaving. 15:49 soegaard: asumu: Is bracket/bracket-lang.rkt breaking too? 15:50 soegaard: If so, then the problem is not the related to the custom language, but something else. 15:50 stamourv: soegaard: I really like the idea of a CAS specifically for high-school math. 15:50 (quit) kanak: Ping timeout: 240 seconds 15:51 stamourv: I remember using CASes in HS, and the advanced math / advanced features would always pop up and confuse me. 15:51 asumu: soegaard: with "syntactic test coverage" on, I get an error but a different one. I get a phase error from "../graphics/graphics.rkt" 15:51 stamourv: So I really like the idea of "language levels" for a CAS. 15:51 soegaard: stamourv: Thanks. I have been looking at some other CASes, and they more or less have a complete lisp at the core... 15:52 soegaard: asumu: Okay, I'll go look for references to graphics. 15:52 soegaard: Language levels... Nice idea. One with reals and one without! 15:53 stamourv: soegaard: Mark Weaver, a Maxima developer, has been working on numeric in Guile. He sometimes hangs out in #scheme. 15:53 soegaard: Errr. I mean one with reals and one with complex numbers... 15:53 stamourv: s/numeric/numerics/ 15:53 soegaard: Numeric, is that the GNU spreadsheet? 15:56 (join) SrPx 15:56 stamourv: That's Gnumeric. I was talking about numerics, in the sense of the implementation of numbers in Guile. 15:57 stamourv: Hence my "s/numeric/numerics/" above. 15:57 stamourv: But I think he mentioned something about writing a CAS in Scheme/Guile. I don't remember. 15:58 stamourv: Actually, the guy is on #scheme right now: mark_weaver. 16:01 soegaard: Thanks for the tip. On GitHub I found a project by dharmatech implementing a small CAS in R6RS. 16:07 soegaard: asumu: The tip about the graphics module turned out to be quite useful. Removing the graphics module worked testing.rkt now works for me with populated directories. Now I only need to figure out why the breakage occurred in the first place. 16:13 (join) genbattle 16:16 asumu: Great. :) 16:18 (quit) FareWell: Quit: Leaving 16:23 (join) rbarraud 16:26 (join) ynniv 16:27 soegaard: The plot thickens. If I comment out everything inside the graphics module, I get the error (which refers to the expression module) and if I comment out the graphcis module, the error disappears. And the graphics module isn't used any where... 16:36 (join) lamefun3 16:37 lamefun3: is it possible to make Racket sandboxed just like JavaScript? 16:38 asumu: rudybot: doc racket/sandbox 16:38 rudybot: asumu: your sandbox is ready 16:38 rudybot: asumu: not found in any library's documentation: racket/sandbox 16:38 asumu: lamefun3: see http://docs.racket-lang.org/reference/Sandboxed_Evaluation.html 16:38 stamourv: lamefun3: rudybot here is a great example of a Racket sandbox. 16:39 stamourv: Each user has his own sandbox, and you're restricted in what you can do. 16:39 asumu: rudybot: ((lambda (x) (x)) (lambda (x) (x))) 16:39 rudybot: asumu: error: #: expects 1 argument, given 0 16:39 stamourv: rudybot: source 16:39 rudybot: stamourv: git clone git://github.com/offby1/rudybot.git 16:39 stamourv: rudybot: (open-input-file "/etc/passwd") 16:39 rudybot: stamourv: your sandbox is ready 16:39 rudybot: stamourv: error: open-input-file: `read' access denied for /etc/passwd 16:40 stamourv: rudybot: (for ([i (in-naturals)]) i) 16:40 rudybot: stamourv: error: with-limit: out of time 16:40 asumu: rudybot: ((lambda (x) (x x)) (lambda (x) (x x))) 16:40 stamourv: lamefun3: ^ 16:40 rudybot: asumu: error: with-limit: out of time 16:40 asumu: There we go. 16:49 m4burns: rudybot: (require ffi/unsafe) 16:49 rudybot: m4burns: your sandbox is ready 16:49 rudybot: m4burns: Done. 16:50 m4burns: rudybot: (ffi-lib 'libc) 16:50 rudybot: m4burns: error: #:1:1: compile: access disallowed by code inspector to protected variable from module: "/mnt/racket-5.2.900.1/collects/ffi/unsafe.rkt" at: ffi-lib in: get-ffi-lib 16:50 m4burns: cool 16:51 soegaard: Interesting. If I move the graphics module upwards in the same file, the error moves from the expression module to the bracket module. 16:54 (part) lamefun3 17:11 (join) getpwnam 17:12 (join) hash_table 17:12 (nick) Shvillr -> Shviller 17:12 (join) Shvillr 17:17 (quit) mceier: Quit: leaving 17:19 bartbes: soegaard: again sounds like memory issues 17:19 (quit) ssbr_: Ping timeout: 260 seconds 17:20 soegaard: bartbes: Maybe. The behaviour is consistent though. 17:25 bartbes: out-of-memory issues, specifically 17:41 eli: Fare: The generics library is something that I did a long time ago, and recently asumu and stamourv made a proper library out of it, 17:42 eli: then, they went over places that used struct properties and made them use these generics too. 17:42 eli: So to find uses of that, it's probably easiest to just grab the current repository and grep for uses of `racket/generic'. 17:50 Fare: ok 17:51 sethalves: the google tells me there's no built-in way to make a file executable (other than ffi). still true? 17:51 Fare: eli: these days, do you use emacs or DrRacket for editing? 17:52 eli: Fare: Emacs. Well too invested in it. 17:52 (join) tonyg 17:52 tonyg: has anyone had issues before with bytes going mysteriously missing when reading from tcp sockets using read-bytes-evt? 17:53 tonyg: i'm starting to get worried 17:53 asumu: sethalves: what do you mean? As in build a Racket executable? 17:56 (quit) adu: Quit: adu 17:58 asumu: Or you mean like `chmod`? 17:58 bartbes: is the ffi easy to use, btw? since the "more examples" page in the docs seems to be missing 17:59 bartbes: (it refers to the non-existent ffi/examples) 17:59 asumu: It should exist. https://github.com/plt/racket/tree/master/collects/ffi/examples 17:59 asumu: I think the FFI is pretty easy to use. 17:59 asumu: Easier than other FFIs I've used anyway. 17:59 bartbes: ah, I expected it to be in the docs 18:00 asumu: Maybe that could be clearer. 18:03 (join) dented42 18:05 bartbes: hmm, I'd say the code looks overwhelmingly low-level 18:05 bartbes: but it's pretty easy, if you actually get down to reading it 18:06 bartbes: I guess type-massaging just does that 18:07 (quit) MayDaniel: Read error: Connection reset by peer 18:08 (quit) antithesis: Quit: antithesis 18:09 asumu: Depends on the library you're binding to, I think. 18:10 bartbes: of course, but transitioning between different types is always 'painful' 18:10 bartbes: ever seen luajit's ffi? it's pretty damned great 18:11 bartbes: that said, it won't make the functions make sense from a lua standpoint, so you'll still need to wrap it, but it's relatively painless 18:11 (quit) jeapostrophe: Ping timeout: 264 seconds 18:11 bartbes: basically, you drop a header into a function (cdef), and it generates a binding for you 18:12 asumu: Does it marshal/unmarshal values to/from C? 18:12 asumu: *marshall 18:12 bartbes: I never really tried structs, but those should be fine 18:12 bartbes: otherwise it automagically picks the right types and transparently converts 18:15 asumu: That's neat. I bet you could write a macro that did that as a high-level API over the Racket FFI. 18:16 asumu: (i.e., the macro would parse some C headers you write) 18:22 bartbes: of course you'll still have to do pointers, but you apparently can even assign metamethods to c types 18:22 bartbes: where metamethods allow you to overload operators, one of them indexing 18:23 bartbes: anyway, I might take a poke at racket's ffi soon-ish 18:28 (join) jimmypk 18:55 (join) ssbr_ 19:11 (quit) masm: Quit: Leaving. 19:15 (join) RacketCommitBot 19:15 RacketCommitBot: [racket] plt pushed 7 new commits to master: http://git.io/hq79Dw 19:15 RacketCommitBot: [racket/master] another ASL error-message repair - Matthew Flatt 19:15 RacketCommitBot: [racket/master] error message repair - Matthew Flatt 19:15 RacketCommitBot: [racket/master] futures: make tail-call allocation local or synchronizable - Matthew Flatt 19:15 (part) RacketCommitBot 19:41 (join) gciolli 19:54 (quit) ssbr_: Ping timeout: 252 seconds 19:55 tonyg: yay 19:56 tonyg: i think i've found a bug in racket's I/O handling 19:56 (quit) jonrafkind: Ping timeout: 255 seconds 19:56 tonyg: i'm just packaging up my little test case for sending to the mailing list 20:05 (join) jeapostrophe 20:05 (quit) jeapostrophe: Changing host 20:05 (join) jeapostrophe 20:17 (quit) gciolli: Ping timeout: 250 seconds 20:25 (quit) rbarraud: Ping timeout: 245 seconds 20:34 (join) ssbr_ 20:41 (quit) ynniv: Quit: ynniv 20:42 offby1: \o/ 20:42 offby1: ~ 20:42 offby1: / \ 20:56 (quit) jesyspa: Quit: leaving 21:02 (join) rbarraud 21:02 (quit) ssbr_: Read error: Connection reset by peer 21:07 (join) ssbr_ 21:11 (quit) kreol[Ukr]: Ping timeout: 246 seconds 21:31 (quit) yoklov: Quit: computer sleeping 21:39 (quit) dented42: Ping timeout: 244 seconds 21:42 sethalves: asumu -- i could shell out to /bin/chmod 21:42 sethalves: but i was looking for a way to affect the file from withing the interpreter 21:42 sethalves: (within) 21:42 Fare: grep the sources for chmod 21:43 sethalves: because... i will find something useful but undocumented? 21:45 Fare: maybe 21:46 asumu: sethalves: you can do that, one sec... 21:46 sethalves: file.util has file-perm, but that looks read-only 21:46 asumu: rudybot: doc file-or-directory-permissions 21:46 rudybot: asumu: http://docs.racket-lang.org/reference/Filesystem.html#(def._((quote._~23~25kernel)._file-or-directory-permissions)) 21:46 asumu: sethalves: ^ 21:47 asumu: (I would demonstrate with rudybot, but the sandbox probably won't let me touch any files) 21:47 sethalves: ah, thanks 21:48 (quit) jeapostrophe: Ping timeout: 248 seconds 21:49 sethalves: okay wait... this is another way to look at the permission bits? 21:53 sethalves: fare -- i see some chmod'ing happening in copy file 21:53 sethalves: but nothing else looks promising 21:55 sethalves: If an integer is supplied as the second argument, its is used as an encoding of properties (mostly permissions) to install for the file. 21:56 (join) adu 22:03 sethalves: file-or-directory-permissions is what I was looking for. thanks asumu 22:03 asumu: NP 22:07 (join) yoklov 22:12 jimmypk: Shambles_: It was a namespace issue. DrRacket was linking to another library with a function with the same name as the one that was causing my program to crash. 22:29 (join) jonrafkind 22:35 (quit) ChanServ: *.net *.split 22:50 (join) ChanServ 22:52 (join) vu3rdd 22:52 (quit) vu3rdd: Changing host 22:52 (join) vu3rdd 22:53 (join) RacketCommitBot 22:53 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/SN7Lvg 22:53 RacketCommitBot: [racket/master] Racketize the `version' collection. - Eli Barzilay 22:53 RacketCommitBot: [racket/master] Dump attempt to be cute with stderr. - Eli Barzilay 22:53 (part) RacketCommitBot 23:16 (join) jrslepak 23:26 Shambles_: jimmypk: Now that, is amazing. I would have never thought you'd get that behavior. Thanks for letting me know. 23:30 jimmypk: Ya, me either. Thanks again for helping! 23:30 (quit) jimmypk: Quit: leaving 23:32 (quit) SrPx: Ping timeout: 245 seconds 23:46 mithos28: does anyone know why make-contract is needed, and make-chaperone-contract is not enough? 23:49 (quit) ivan\: Ping timeout: 245 seconds 23:50 (join) ivan\ 23:57 (join) dented42