02:30:46 | * | Trixar_za is now known as Trix[a]r_za |
03:39:50 | * | fowl quit (Remote host closed the connection) |
08:48:36 | * | apriori| joined #nimrod |
09:26:52 | * | Boscop quit (Disconnected by services) |
09:26:53 | * | Boscop joined #nimrod |
09:42:12 | * | zahary joined #nimrod |
09:54:31 | * | zahary quit (Quit: Leaving.) |
10:19:14 | * | apriori| quit (Ping timeout: 244 seconds) |
10:21:03 | * | Araq_ joined #nimrod |
10:27:09 | * | Boscop quit (Disconnected by services) |
10:27:11 | * | Boscop joined #nimrod |
10:47:00 | * | fowl joined #nimrod |
10:50:33 | * | fowl quit (Changing host) |
10:50:33 | * | fowl joined #nimrod |
10:53:18 | * | Araq_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
11:09:51 | * | apriori| joined #nimrod |
11:26:57 | fowl | im on windows today |
11:27:14 | fowl | i can run the tests if someone tells me how |
12:12:33 | * | Trix[a]r_za is now known as Trixar_za |
12:20:13 | * | XAMPP_ joined #nimrod |
12:21:24 | * | Araq_ joined #nimrod |
12:22:21 | Araq_ | fowl: yay, do: 'koch tests' |
12:22:31 | Araq_ | or maybe it was 'koch test' |
12:23:59 | * | XAMPP quit (Ping timeout: 272 seconds) |
12:25:36 | * | Boscop quit (Disconnected by services) |
12:25:38 | * | Boscop joined #nimrod |
12:33:43 | * | XAMPP__ joined #nimrod |
12:36:52 | fowl | https://gist.github.com/3737049 |
12:37:17 | * | XAMPP_ quit (Ping timeout: 272 seconds) |
12:37:29 | fowl | Araq_: i just found out i have two mingw installations somehow so i need to fix my system |
12:40:26 | * | Araq_ quit (Read error: Connection timed out) |
12:41:40 | * | Araq_ joined #nimrod |
12:43:14 | * | XAMPP_ joined #nimrod |
12:46:47 | * | XAMPP__ quit (Ping timeout: 272 seconds) |
12:47:30 | Araq_ | alright, see you later |
12:47:32 | * | Araq_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
12:59:18 | * | XAMPP__ joined #nimrod |
13:02:37 | * | XAMPP_ quit (Ping timeout: 272 seconds) |
13:12:24 | * | XAMPP_ joined #nimrod |
13:15:08 | * | XAMPP joined #nimrod |
13:15:25 | * | XAMPP__ quit (Ping timeout: 246 seconds) |
13:18:27 | * | XAMPP_ quit (Ping timeout: 272 seconds) |
13:21:13 | * | zahary joined #nimrod |
13:25:54 | * | Boscop quit (Disconnected by services) |
13:25:56 | * | Boscop joined #nimrod |
13:28:37 | * | Boscop quit (Disconnected by services) |
13:28:39 | * | Boscop joined #nimrod |
13:44:51 | * | Trixar_za is now known as Trix[a]r_za |
13:48:32 | * | q66 joined #nimrod |
14:27:59 | * | Araq quit (Ping timeout: 246 seconds) |
14:28:20 | * | dom96 quit (Ping timeout: 246 seconds) |
14:28:50 | * | Boscop quit (Disconnected by services) |
14:28:52 | * | Boscop joined #nimrod |
14:29:06 | * | Araq_bnc joined #nimrod |
14:30:36 | * | dom96 joined #nimrod |
14:31:04 | * | JStoker quit (Excess Flood) |
14:55:18 | * | JStoker joined #nimrod |
14:58:09 | * | apriori| quit (Remote host closed the connection) |
15:16:40 | * | Boscop quit (Disconnected by services) |
15:16:42 | * | Boscop joined #nimrod |
15:22:52 | * | Trix[a]r_za quit (Ping timeout: 246 seconds) |
15:23:37 | * | Trix[a]r_za joined #nimrod |
15:41:08 | * | Boscop quit (Ping timeout: 248 seconds) |
16:10:42 | * | Araq_bnc is now known as Araq |
16:12:35 | Araq | ping zahary |
16:12:45 | reactormonk | morning Araq |
16:16:53 | * | Boscop joined #nimrod |
16:24:30 | Araq | hi reactormonk |
16:54:04 | zahary | hi Araq |
16:55:40 | zahary | btw, it occurred to me that the intrusive profiler will suffer from another well-known problem |
16:58:10 | zahary | imagine that you have some proc foo that calls into non-nimrod library or OS function (bar). if bar takes more than 5ms, you'll miss some samples and foo can be underestimated, because in reality it may have taken a lot of time, but there will be just 1 sample capturing it |
17:06:01 | Araq | yeah I figured it out too ;-) |
17:06:43 | Araq | there could also exists GC runs that take more than 5ms |
17:07:08 | Araq | but it's good enough for now |
17:08:14 | Araq | it's possible to do: weight = (getticks() - t1) div samplingFrequency |
17:08:41 | Araq | that would attribute the long call to the following stack trace |
17:10:48 | Araq | but I'd like to talk with you about x.f -> f(x) |
17:11:20 | reactormonk | Araq: u no like that? |
17:11:40 | Araq | I do, but it has some problems: in generic code we can't look at x's type to interpret what x.f |
17:11:46 | Araq | means |
17:12:13 | Araq | so essentially 'x' is bound and 'f' is not |
17:12:31 | Araq | if you write f(x) in the generic then both are bound |
17:13:41 | Araq | if we have x.f(a) we could bind 'f' too |
17:14:23 | Araq | and then to get the member access interpretation you'd need to write: |
17:14:27 | Araq | (x.f)(a) |
17:15:30 | reactormonk | convert one to the other and threat them the same? |
17:16:56 | Araq | well I really dislike the ambiguity of x.f(a); it almost always means f(x, a) |
17:17:09 | Araq | unless x has a field 'f' of type 'proc' |
17:17:54 | Araq | I'd like to require (x.f)(a) for the second meaning |
17:19:08 | Araq | also sometimes I wonder why the language even bothers to support: f(x, a) |
17:19:20 | Araq | everybody prefers to write x.f(a) |
17:21:01 | Araq | however the ambiguity is actually useful in generic code: x.len could mean len(x) or a direct member access |
17:22:18 | Araq | which can be preferable in generic code (Nimrod fears overspecification) |
17:24:00 | reactormonk | not so conservative then |
17:24:12 | reactormonk | oh, can you mention that part in the tutorial? |
17:24:28 | reactormonk | (the line starting with `unless`) |
17:25:42 | Araq | well I'm not sure about the 'unless' |
17:26:04 | reactormonk | you wrote the code, didn't you? ^^ |
17:26:20 | Araq | well () can be overloaded |
17:26:37 | reactormonk | foo.bar() <- those ()? |
17:26:45 | Araq | yeah |
17:28:13 | reactormonk | what if you write bar arguments ? |
17:30:41 | Araq | what? |
17:31:39 | reactormonk | or can the () in bar() only also be overloaded? |
17:34:18 | Araq | I can't follow |
17:37:22 | fowl | sometimes you have to do modulename.f(x, a) |
17:38:57 | Araq | fowl: true |
17:39:10 | Araq | but people sometimes try: x.modulename.f(a) I think |
17:40:48 | fowl | sane people dont |
17:41:42 | fowl | theres no reason to assume that would work |
17:42:31 | Araq | good ;-) |
17:49:50 | reactormonk | I would do var foo: x.modulename and then hope x.f(a) works |
17:49:54 | reactormonk | ehh modulename.x |
17:50:43 | Araq | ? |
17:51:23 | reactormonk | Araq: on x.modulename.f(a) - I'd define the variable as var foo : modulename.x and then hope foo.f(a) works |
17:53:54 | Araq | modulename.x is not even a type ... |
17:55:05 | reactormonk | given x is a type |
17:56:54 | Araq | x.f(a) # x is almost never a type |
18:02:52 | reactormonk | yeah, as you see, I used foo as variable |
18:03:47 | Owner | whats the craziest thing you have programmed in nimrod |
18:04:19 | reactormonk | a language model |
18:05:20 | reactormonk | and apparently my coding style is the perfect compiler test |
18:05:55 | Owner | ok... |
18:06:06 | Owner | what is the craziest thing you have COMPILED in nimrod |
18:07:47 | reactormonk | oh, it worked fine |
18:08:26 | Araq | Owner: our forum, our automatic build proces, our IDE ... all is written in nimrod here |
18:09:01 | Araq | the compiler itself, the whole stdlib, lots of tools |
18:09:16 | Owner | sweeeeeet |
18:09:30 | fowl | Owner: im working on an mmo atm |
18:09:42 | Owner | cool |
18:09:46 | Owner | with graphics? |
18:09:58 | fowl | yep |
18:10:10 | Owner | does this build windows binaries? |
18:10:22 | Owner | SDL ? |
18:10:34 | fowl | no, sfml |
18:10:51 | Araq | Owner: we have SDL bindings too though |
18:11:00 | Owner | cool |
18:17:49 | Owner | it looks like it has everything |
18:18:05 | Owner | except a complete websocket or socket.io implementation |
18:19:33 | Araq | dunno what you mean with "websocket" |
18:19:40 | Araq | we have sockets and asyncio |
18:20:18 | Araq | ask dom96 when he's around |
18:21:09 | Owner | https://github.com/LearnBoost/socket.io-spec |
18:21:14 | Owner | its...a websocket |
18:21:20 | Owner | for like the future of the internet |
18:22:01 | Owner | even Go has a websocket library |
18:22:16 | Owner | http://go.pkgdoc.org/code.google.com/p/go.net/websocket |
18:22:45 | Owner | i do not like Go |
18:23:29 | Araq | oh I see |
18:23:48 | Araq | it's the pull/push protocol instead of only "pull" |
18:24:06 | Araq | I've heard about it, but couldn't remember the name :-) |
18:24:17 | Owner | :) |
18:24:31 | Owner | ive been doing a lot of socket.io lately |
18:25:01 | fowl | Owner: it would be really ez to write a wrapper for this http://www.youtube.com/watch?v=mYB8K1fIuhI |
18:25:03 | Owner | there also 'binary' sockets in some browsers now |
18:25:14 | fowl | er http://code.google.com/p/cwebsocket/ |
18:25:55 | Owner | thats only a server |
18:26:11 | Araq | implement the protocol in pure nimrod ;-) |
18:26:41 | Araq | and we'll add it to the stdlib |
18:26:42 | fowl | oh |
18:26:50 | Owner | yeah im not sure how it all works |
18:26:53 | dom96 | Like I said, as far as I can tell WebSockets work on top of HTTP. |
18:27:00 | dom96 | Nimrod already has a httpclient/httpserver ;) |
18:27:01 | Owner | and the difference between a pure websocket and a socket.io client/server |
18:27:44 | Araq | I have to go, see you later |
18:27:54 | Owner | bye |
18:29:03 | Owner | yeah the IETF draft looks useufl |
18:29:20 | fowl | http://git.warmcat.com/cgi-bin/cgit/libwebsockets/ |
18:29:27 | fowl | i'd just be lazy and write a wrapper >_> |
18:31:43 | Owner | fowl~# i just use other language for websocekts |
18:38:19 | fowl | Owner: if it was only implemented in BASIC, would you use BASIC? |
18:38:40 | Owner | if i needed it |
18:39:18 | Owner | just saying it would be awesome if there was one, but i guess no on ehas needed one yet for nimrod coding |
18:46:23 | dom96 | Owner: You might find implementing one in Nimrod to be quite fun. |
18:50:31 | fowl | dom96: do you have experience compiling stuff on windows |
18:50:39 | dom96 | fowl: Sure. |
18:51:59 | fowl | i was trying to build chipmunk/sfml/enet for windows so i could update the wrappers for them but i found out mingw doesnt come with make so i got mad and gave up |
18:52:56 | dom96 | lol |
18:53:12 | dom96 | If you try to use 'make' on Windows... you're going to have a bad time. |
18:53:15 | dom96 | :P |
18:53:39 | dom96 | I managed to build sfml. |
18:53:52 | dom96 | But IIRC it took a lot of tweaking. |
18:54:11 | fowl | yea i recall it would often times just crash with no useful info |
18:54:52 | dom96 | I think what you need to do is just open the CMake GUI, click a few buttons, get a few errors, fix the errors as best you can and try again. |
18:55:04 | dom96 | If it crashes then try the SFML forum I suppose. |
18:58:11 | fowl | yea ill probably wait til sfml 2 is released before i worry about it |
19:23:25 | reactormonk | fuck my live? |
19:23:46 | reactormonk | Owner: would you know of a set of tests to run against a websocket server? |
19:25:00 | Owner | reactormonk~# no, not really |
19:26:17 | reactormonk | Owner: go look for one ;-) |
19:31:24 | reactormonk | I'm sure nodejs has a test suite for that |
19:31:42 | Owner | i just use node.js |
19:32:01 | reactormonk | now the idea is to use nimrod ;-) |
19:34:11 | reactormonk | Owner: do they have integration tests for their webkit stuff? |
19:34:23 | Owner | i dont do testing |
19:34:55 | * | Owner quit (Quit: Leaving) |
19:36:10 | reactormonk | that's like "I poop, but I don't do wiping" |
19:41:38 | dom96 | lol |
19:41:55 | reactormonk | ... and he left. |
19:42:00 | reactormonk | sorry about that |
19:44:15 | reactormonk | https://github.com/igrigorik/em-websocket/tree/master/spec/integration |
20:47:01 | Araq | I can't see how you annoyed owner, reactormonk |
22:17:58 | * | q66 quit (Quit: Quit) |
22:49:29 | Araq | good night |
23:39:16 | * | Trix[a]r_za is now known as Trixar_za |