<< 17-08-2014 >>

00:16:25*darkf joined #nimrod
00:22:38*error424 joined #nimrod
00:23:22*shevy quit (Ping timeout: 264 seconds)
00:36:44*shevy joined #nimrod
00:38:45Araqhi error424 welcome
00:39:11*filwit quit (Quit: Leaving)
00:43:00error424Howdy, Araq
00:44:05*willwillson quit (Ping timeout: 255 seconds)
00:51:22Araqyou're too late, I need to sleep now. good night
01:05:17bjzSkrylar: moop
01:39:27*saml_ joined #nimrod
01:40:50*filwit joined #nimrod
01:41:53filwitCool mobile irc works
01:42:15filwitBbl though
01:42:19*filwit quit (Client Quit)
02:46:30*EXetoC quit (Quit: WeeChat 0.4.3)
02:48:19*guest749 joined #nimrod
02:49:07*guest749 quit (Remote host closed the connection)
03:23:07*q66_ quit (Quit: Leaving)
04:22:47*saml_ quit (Ping timeout: 255 seconds)
04:30:00Varriountdom96: Ping
04:32:36Varriountdom96: Currently the only thing left to do is some bug fixing and optimization.
04:33:29Varriountdom96: There's this wierd bug that shows up if I have a batch script repeatedly move a tracked file between two locations - the overlapped structure gets freed before it's supposed to
04:34:08VarriountI can't seem to figure out why - the GC isn't throwing any assertion errors, and it doesn't matter if I increment the refcount or not.
04:34:20Varriount*increment the overlapped structure's refcount or not
04:43:12*Demos__ quit (Quit: Leaving)
04:52:13*BlameStross1 left #nimrod (#nimrod)
05:02:25*flaviu quit (Ping timeout: 272 seconds)
07:09:15*error424 left #nimrod (#nimrod)
07:43:17*kunev joined #nimrod
07:46:49*gkoller joined #nimrod
07:54:02*io2 joined #nimrod
08:04:02EastByte_Hello there
08:04:15EastByte_I have a small question regarding parsing/writen binary data in Nimrod
08:04:38EastByte_Do I have to use unsafe operations (like addr and typecasting) when reading out data using pure objects?
08:05:12*johnsoft quit (Ping timeout: 245 seconds)
08:05:51*johnsoft joined #nimrod
08:30:00*kunev quit (Ping timeout: 250 seconds)
08:34:45*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:02:33AraqEastByte_: yeah, that's usually the way to do it
09:03:32Araqdepending on what you do, you can keep the unsafety to a minimum though (create a proc that does the typecasting and use that)
09:05:37AraqVarriount: can't you just alloc0() it and dealloc it when windows tells you it is safe to do so?
09:06:25EastByte_okay thanks
09:24:33*kunev joined #nimrod
10:14:58dom96morning
10:39:50*willwillson joined #nimrod
11:03:32*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
11:34:41dom96Araq: I think that making ``cb`` in asyncdispatch gcsafe is incorrect because in that case all async procs must be gcsafe.
11:39:20*io2 joined #nimrod
11:41:47*flaviu joined #nimrod
11:46:41*ARCADIVS joined #nimrod
11:55:09*darkf quit (Ping timeout: 240 seconds)
11:56:56*darkf joined #nimrod
12:05:18*zahary quit (Ping timeout: 246 seconds)
12:45:14*darkf quit (Quit: Leaving)
12:52:49Araqdom96: I think it is correct because otherwise gcsafe is unsound
12:53:06Araqyes, all async procs must be gcsafe
12:53:20dom96what if I want to use global vars in my async procs?
12:54:02*kunev quit (Quit: leaving)
12:54:35Araqwell you can't have your cake and eat it too
12:55:22*q66 joined #nimrod
12:56:30Araqsoon every program will be --threads:on anyway
12:58:48dom96well then the user should get to choose if their async proc is gcsafe I think
13:00:04Araqyou can easily mark the global .threadvar
13:00:11Araqthen the access is gcsafe
13:00:23Araqand with --threads:off a .threadvar is simply a global variable
13:00:36Araqso the user can choose
13:01:09AraqI need to go now, see you later
13:01:13dom96you may as well just make everything gcsafe then
13:04:33*zahary joined #nimrod
13:12:08*foooox joined #nimrod
13:22:29*gkoller joined #nimrod
13:31:50*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:58:34dom96hello foooox
14:28:16Araqdom96: I already told you it's this way because the compiler is not gcsafe at all and this way it is consistent with the rest of the effect system.
14:38:45dom96Araq: Maybe it would be a good idea to break consistency then hrm?
14:41:41Araqflaviu disagrees
14:42:10flaviuhmm?
14:43:19flaviuSorry, I don't understand what's going on, I haven't messed with async, gcsafe, or any of that stuff
14:45:11dom96brb
14:54:10*ARCADIVS quit (Quit: WeeChat 0.4.3)
15:01:55dom96back
15:02:05dom96Araq: it seems flaviu doesn't in fact disagree
15:02:32flaviuNo, I just have no idea what is happening
15:02:37fooooxme either
15:03:45flaviuThis bikeshed would require too much work for me to learn enough to argue
15:05:16Araqflaviu is always against breaking consistency
15:05:52OrionPKso for some reason my mac is randomly not finding babel packages anymore :\
15:06:13OrionPK"cannot open ..."
15:06:28flaviuI'm for whatever idea that takes the least words to explain and is a reasonable 95% solution
15:08:25dom96Has the compiler stopped mentioning what paths it adds through --babelPath?
15:09:00Araqwell consistency is a nice thing and we'll have this discussion with "locks: nil" too
15:09:30dom96Araq: Is it really necessary to have users who are not interested in multithreading caring about gc safety?
15:10:36Araqwell we can make --threads:on imply --threadAnalysis:on and turn it off otherwise
15:10:44dom96OrionPK: I was going to suggest taking a look at the compile output because it lists the packages that it adds to its path, but I don't see that in the output anymore...
15:10:49Araqbut I don't think that's a good idea
15:11:26Araqlibraries will be written with --threads:off and then can't be used for when you use --threads:on
15:11:36Araqbbl
15:11:59OrionPKdom96 hmm
15:12:20dom96Araq: I still don't get it. The compiler can tell if something is gc safe or not, so let it infer that.
15:12:52dom96oh
15:12:55flaviuwow, impressive. The nimrod javascript backend works better than emscripen
15:13:02dom96I just realised what the problem is.
15:13:05*noam_ joined #nimrod
15:13:27dom96The compiler cannot infer this information for closure types.
15:13:34*noam quit (Ping timeout: 240 seconds)
15:13:43*noam_ is now known as noam
15:14:14dom96But now I don't understand why you want asyncdispatch's cb to be marked as gcsafe.
15:14:25OrionPKdom96 i have babel/bin in the path, and i havent modified the nimrod cfg or anything..
15:14:48dom96OrionPK: Verify that the config contains --babelPath:~/.babel/pkgs
15:14:49OrionPKbabel works fine from the command line
15:14:51dom96or something like that
15:15:01dom96and ensure that the package you are trying to import exists
15:15:17OrionPK @if nimbabel: babelpath="$home/.babel/pkgs/" @end
15:15:33OrionPKyeah it exists
15:15:40OrionPKI tried two different ones
15:15:40dom96maybe nimbabel isn't defined?
15:15:49dom96remove that @if
15:15:52OrionPKhow does that get defined
15:16:12OrionPKyeah that did it
15:16:19OrionPKit finds it w/o the @if
15:16:20dom96That was some workaround for something some time ago.
15:16:34dom96I'm guessing the recent defined/declared changes broke that.
15:16:43dom96OrionPK: Make an issue on github please.
15:16:53OrionPKfor nimrod or for babel?
15:16:54dom96I'm not sure whether we can simply remove that @if.
15:16:56dom96Nimrod
15:16:57flaviuWait, no, it looks like casts don't work
15:17:39dom96flaviu: fix it. The JS backend is simple and a great way to get acquainted with the compiler internals.
15:18:17flaviudom96: I've messed enough with floats and ints in javascript
15:18:30flaviuI just want to get stuff done by this point
15:18:50dom96flaviu: what are you making?
15:18:57OrionPKdom96 well looks like i finally have to upgrade to the async jester stuff ;)
15:19:08flaviuThe whole reason I'm not using javascript here is because apparently x+1-1 != x in javascript
15:19:08dom96OrionPK: Why's that?
15:19:12OrionPKwell i suppose i could get an older version heh
15:19:43dom96Would be nice if you could switch to it. I need more testers.
15:19:48OrionPKi just re-installed all my babel packages (because I thought that might fix the import issue that I just submitted a bug for)
15:19:50OrionPKI know
15:20:00dom96http://forum.nimrod-lang.org:8080/ is still running so it's stable for now heh
15:20:03OrionPKI just dont have time right now, I'll upgrade though
15:20:13OrionPKmaybe some time this week
15:20:17dom96cool.
15:20:39dom96You can install an older version of jester by executing: babel install jester@#commit
15:20:51OrionPKdo you have scgi support in still?
15:20:54OrionPKyeah I know
15:21:00dom96not yet
15:21:02OrionPKbut I'll upgrade to async
15:21:15dom96asynchttpserver is better anyway :P
15:21:36OrionPKheh, well when i have some time i'll look at it
15:21:46dom96Alright, awesome.
15:22:00dom96I'm currently working on rewriting the rest of the modules to work with the new async stuff.
15:22:30dom96Right now it's the irc module which you likely need.
15:22:40OrionPKyeah that'd be nice
15:22:58dom96Maybe this will fix reconnecting as a side effect.
15:23:06OrionPKhopefully
15:23:32OrionPKsomeone should take websockets and async that ;)
15:24:08OrionPKim going to have some time open up the beginning of next month
15:24:56dom96Same here :)
15:26:02*Demos joined #nimrod
15:42:27*gkoller joined #nimrod
15:43:55*gkoller_ joined #nimrod
15:44:37*gkoller quit (Client Quit)
15:44:43*gkoller_ quit (Client Quit)
15:44:57*gkoller joined #nimrod
15:46:19*gkoller_ joined #nimrod
15:47:12*bogen joined #nimrod
15:48:16*gkoller quit (Client Quit)
15:48:36*gkoller_ quit (Client Quit)
15:49:55*gkoller joined #nimrod
15:51:57*gkoller quit (Client Quit)
15:52:14*gkoller joined #nimrod
15:57:00*gkoller quit (Read error: Connection reset by peer)
15:57:22*gkoller joined #nimrod
16:08:58OrionPKwhere's fowl been?
16:16:11*Boscop_ joined #nimrod
16:18:20*Boscop quit (Ping timeout: 250 seconds)
16:26:30*kunev joined #nimrod
16:28:34*skyfex quit (Quit: Computer has gone to sleep.)
16:29:00*Boscop_ quit (Read error: Connection reset by peer)
16:29:06*skyfex joined #nimrod
16:29:58*Boscop_ joined #nimrod
16:41:18VarriountAraq: If asyncdispatch did that, I wouldn't be able to use the OL structure at all.
16:45:40*foooox quit (Ping timeout: 246 seconds)
17:03:24*Trixar_za quit (Ping timeout: 250 seconds)
17:04:12*ome joined #nimrod
17:05:27VarriountAraq: If I setLen() a string whose length was previously 32 to 16, is the now unused space 'free' to be used for other things?
17:23:20dom96Varriount: Is your code up anywhere?
17:30:10*shevy left #nimrod ("I'll be back ... maybe")
17:31:49Varriountdom96: I'm about to push it. I need to send a patch to asyncdispatch - my code uses some private stuff that I had to make public
17:39:45dom96Varriount: ok
17:58:33*kunev quit (Ping timeout: 240 seconds)
18:05:12*kunev joined #nimrod
18:14:37*gsingh93 joined #nimrod
18:17:33NimBotnimrod-code/packages master 9ad72da Dominik Picheta [+0 ±1 -0]: Add IRC package.
18:19:35NimBotAraq/Nimrod devel b1b681a Dominik Picheta [+0 ±0 -1]: Remove irc module. Ref #1486.
18:19:35NimBotAraq/Nimrod devel 92828fc Dominik Picheta [+0 ±1 -0]: Merge branch 'devel' of github.com:Araq/Nimrod into devel
18:19:35NimBotAraq/Nimrod devel aa73288 Dominik Picheta [+0 ±1 -0]: Export `==` from net module for TPort.
18:48:55*ARCADIVS joined #nimrod
19:23:49*Varriount quit (Read error: Connection reset by peer)
19:24:24*q66 quit (Remote host closed the connection)
19:25:14*q66 joined #nimrod
19:25:44NimBotAraq/Nimrod devel 710cbe3 Araq [+0 ±1 -0]: fixes #1492
19:25:44NimBotAraq/Nimrod devel e662013 Araq [+1 ±6 -1]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
19:27:25dom96Araq: sup
19:30:50*q66 quit (Quit: Leaving)
19:33:10AraqI fixed nim
19:37:28*q66 joined #nimrod
19:37:36Araqbrb
19:43:53*skyfex quit (Quit: Computer has gone to sleep.)
19:44:28*skyfex joined #nimrod
20:05:58*untitaker quit (Ping timeout: 264 seconds)
20:07:34*ome quit (Quit: Connection closed for inactivity)
20:11:17*untitaker joined #nimrod
20:12:20*kunev quit (Ping timeout: 250 seconds)
20:18:23*ARCADIVS quit (Ping timeout: 240 seconds)
20:31:00*adoniscik joined #nimrod
20:31:07adoniscikdoes nimrod have "var" iterators?
20:31:29dom96not really sure what those are, can you elaborate?
20:32:08adoniscikiterators setting which allow you to modify the referred variable
20:32:26adoniscikvar x in foo ... x = f(x) etc.
20:32:52dom96oh, like: iterator foo(x: var int): string = x = 42 ?
20:34:00adoniscikyes, but for sequence types, otherwise you would not be using an iterator. like foo = map(bar, foo).
20:34:00dom96that might work
20:35:37dom96what's your use case?
20:35:41dom96I'm still not sure what you mean.
20:35:51adoniscikI currently iterator over the index (for i in x.low..high ; x[i] = foo(x[i]) ). I was wondering if there was a more elegant way
20:36:31dom96oh, you can return a 'var T'
20:36:39dom96or rather
20:36:45dom96yield a 'var T' from the iterator is what I mean
20:37:05*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
20:37:25dom96or maybe that's not supported
20:38:22*Matthias247 joined #nimrod
20:53:12*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:03:25*io2 joined #nimrod
21:17:09Araqback
21:17:26Araqyielding 'var T' from an iterator is supported
21:55:49*Matthias247 quit (Read error: Connection reset by peer)
22:11:58*mwbrown joined #nimrod
22:12:34*adoniscik quit (Ping timeout: 264 seconds)
22:15:19*Jesin quit (Quit: Leaving)
22:20:48*mwbrown quit (Ping timeout: 260 seconds)
22:27:17*Skrylar quit ()
22:29:57*Skrylar joined #nimrod
23:15:06*filwit joined #nimrod
23:19:40*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
23:20:59*darkf joined #nimrod
23:29:43*gsingh93 quit (Quit: Connection closed for inactivity)
23:44:51*gsingh93 joined #nimrod