<<17-09-2012>>

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:57fowlim on windows today
11:27:14fowli 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:21Araq_fowl: yay, do: 'koch tests'
12:22:31Araq_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:52fowlhttps://gist.github.com/3737049
12:37:17*XAMPP_ quit (Ping timeout: 272 seconds)
12:37:29fowlAraq_: 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:30Araq_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:35Araqping zahary
16:12:45reactormonkmorning Araq
16:16:53*Boscop joined #nimrod
16:24:30Araqhi reactormonk
16:54:04zaharyhi Araq
16:55:40zaharybtw, it occurred to me that the intrusive profiler will suffer from another well-known problem
16:58:10zaharyimagine 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:01Araqyeah I figured it out too ;-)
17:06:43Araqthere could also exists GC runs that take more than 5ms
17:07:08Araqbut it's good enough for now
17:08:14Araqit's possible to do: weight = (getticks() - t1) div samplingFrequency
17:08:41Araqthat would attribute the long call to the following stack trace
17:10:48Araqbut I'd like to talk with you about x.f -> f(x)
17:11:20reactormonkAraq: u no like that?
17:11:40AraqI do, but it has some problems: in generic code we can't look at x's type to interpret what x.f
17:11:46Araqmeans
17:12:13Araqso essentially 'x' is bound and 'f' is not
17:12:31Araqif you write f(x) in the generic then both are bound
17:13:41Araqif we have x.f(a) we could bind 'f' too
17:14:23Araqand then to get the member access interpretation you'd need to write:
17:14:27Araq(x.f)(a)
17:15:30reactormonkconvert one to the other and threat them the same?
17:16:56Araqwell I really dislike the ambiguity of x.f(a); it almost always means f(x, a)
17:17:09Araqunless x has a field 'f' of type 'proc'
17:17:54AraqI'd like to require (x.f)(a) for the second meaning
17:19:08Araqalso sometimes I wonder why the language even bothers to support: f(x, a)
17:19:20Araqeverybody prefers to write x.f(a)
17:21:01Araqhowever the ambiguity is actually useful in generic code: x.len could mean len(x) or a direct member access
17:22:18Araqwhich can be preferable in generic code (Nimrod fears overspecification)
17:24:00reactormonknot so conservative then
17:24:12reactormonkoh, can you mention that part in the tutorial?
17:24:28reactormonk(the line starting with `unless`)
17:25:42Araqwell I'm not sure about the 'unless'
17:26:04reactormonkyou wrote the code, didn't you? ^^
17:26:20Araqwell () can be overloaded
17:26:37reactormonkfoo.bar() <- those ()?
17:26:45Araqyeah
17:28:13reactormonkwhat if you write bar arguments ?
17:30:41Araqwhat?
17:31:39reactormonkor can the () in bar() only also be overloaded?
17:34:18AraqI can't follow
17:37:22fowlsometimes you have to do modulename.f(x, a)
17:38:57Araqfowl: true
17:39:10Araqbut people sometimes try: x.modulename.f(a) I think
17:40:48fowlsane people dont
17:41:42fowltheres no reason to assume that would work
17:42:31Araqgood ;-)
17:49:50reactormonkI would do var foo: x.modulename and then hope x.f(a) works
17:49:54reactormonkehh modulename.x
17:50:43Araq?
17:51:23reactormonkAraq: on x.modulename.f(a) - I'd define the variable as var foo : modulename.x and then hope foo.f(a) works
17:53:54Araqmodulename.x is not even a type ...
17:55:05reactormonkgiven x is a type
17:56:54Araqx.f(a) # x is almost never a type
18:02:52reactormonkyeah, as you see, I used foo as variable
18:03:47Ownerwhats the craziest thing you have programmed in nimrod
18:04:19reactormonka language model
18:05:20reactormonkand apparently my coding style is the perfect compiler test
18:05:55Ownerok...
18:06:06Ownerwhat is the craziest thing you have COMPILED in nimrod
18:07:47reactormonkoh, it worked fine
18:08:26AraqOwner: our forum, our automatic build proces, our IDE ... all is written in nimrod here
18:09:01Araqthe compiler itself, the whole stdlib, lots of tools
18:09:16Ownersweeeeeet
18:09:30fowlOwner: im working on an mmo atm
18:09:42Ownercool
18:09:46Ownerwith graphics?
18:09:58fowlyep
18:10:10Ownerdoes this build windows binaries?
18:10:22OwnerSDL ?
18:10:34fowlno, sfml
18:10:51AraqOwner: we have SDL bindings too though
18:11:00Ownercool
18:17:49Ownerit looks like it has everything
18:18:05Ownerexcept a complete websocket or socket.io implementation
18:19:33Araqdunno what you mean with "websocket"
18:19:40Araqwe have sockets and asyncio
18:20:18Araqask dom96 when he's around
18:21:09Ownerhttps://github.com/LearnBoost/socket.io-spec
18:21:14Ownerits...a websocket
18:21:20Ownerfor like the future of the internet
18:22:01Ownereven Go has a websocket library
18:22:16Ownerhttp://go.pkgdoc.org/code.google.com/p/go.net/websocket
18:22:45Owneri do not like Go
18:23:29Araqoh I see
18:23:48Araqit's the pull/push protocol instead of only "pull"
18:24:06AraqI've heard about it, but couldn't remember the name :-)
18:24:17Owner:)
18:24:31Ownerive been doing a lot of socket.io lately
18:25:01fowlOwner: it would be really ez to write a wrapper for this http://www.youtube.com/watch?v=mYB8K1fIuhI
18:25:03Ownerthere also 'binary' sockets in some browsers now
18:25:14fowler http://code.google.com/p/cwebsocket/
18:25:55Ownerthats only a server
18:26:11Araqimplement the protocol in pure nimrod ;-)
18:26:41Araqand we'll add it to the stdlib
18:26:42fowloh
18:26:50Owneryeah im not sure how it all works
18:26:53dom96Like I said, as far as I can tell WebSockets work on top of HTTP.
18:27:00dom96Nimrod already has a httpclient/httpserver ;)
18:27:01Ownerand the difference between a pure websocket and a socket.io client/server
18:27:44AraqI have to go, see you later
18:27:54Ownerbye
18:29:03Owneryeah the IETF draft looks useufl
18:29:20fowlhttp://git.warmcat.com/cgi-bin/cgit/libwebsockets/
18:29:27fowli'd just be lazy and write a wrapper >_>
18:31:43Ownerfowl~# i just use other language for websocekts
18:38:19fowlOwner: if it was only implemented in BASIC, would you use BASIC?
18:38:40Ownerif i needed it
18:39:18Ownerjust saying it would be awesome if there was one, but i guess no on ehas needed one yet for nimrod coding
18:46:23dom96Owner: You might find implementing one in Nimrod to be quite fun.
18:50:31fowldom96: do you have experience compiling stuff on windows
18:50:39dom96fowl: Sure.
18:51:59fowli 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:56dom96lol
18:53:12dom96If you try to use 'make' on Windows... you're going to have a bad time.
18:53:15dom96:P
18:53:39dom96I managed to build sfml.
18:53:52dom96But IIRC it took a lot of tweaking.
18:54:11fowlyea i recall it would often times just crash with no useful info
18:54:52dom96I 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:04dom96If it crashes then try the SFML forum I suppose.
18:58:11fowlyea ill probably wait til sfml 2 is released before i worry about it
19:23:25reactormonkfuck my live?
19:23:46reactormonkOwner: would you know of a set of tests to run against a websocket server?
19:25:00Ownerreactormonk~# no, not really
19:26:17reactormonkOwner: go look for one ;-)
19:31:24reactormonkI'm sure nodejs has a test suite for that
19:31:42Owneri just use node.js
19:32:01reactormonknow the idea is to use nimrod ;-)
19:34:11reactormonkOwner: do they have integration tests for their webkit stuff?
19:34:23Owneri dont do testing
19:34:55*Owner quit (Quit: Leaving)
19:36:10reactormonkthat's like "I poop, but I don't do wiping"
19:41:38dom96lol
19:41:55reactormonk... and he left.
19:42:00reactormonksorry about that
19:44:15reactormonkhttps://github.com/igrigorik/em-websocket/tree/master/spec/integration
20:47:01AraqI can't see how you annoyed owner, reactormonk
22:17:58*q66 quit (Quit: Quit)
22:49:29Araqgood night
23:39:16*Trix[a]r_za is now known as Trixar_za