<< 31-08-2014 >>

00:08:18*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
00:08:23*saml_ joined #nimrod
00:08:48*io2 joined #nimrod
00:13:22bogenhttps://gist.github.com/anonymous/6c39fbc6569ac47b94c2
00:13:58*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
00:21:15bogenI got parseutils working in a compileTime proc, just not in that snippet
00:24:57Araqyeah
00:25:02Araqlooks easy to fix though
00:25:30AraqI'm looking at it right now
00:31:24fowldoes anybody have a recent windows build they can upload
00:31:47Araqfowl: nimbuild has packages
00:31:57Araqbogen: are you on the bigbreak branch?
00:35:29fowlgrr 'Error: unhandled exception: The system cannot find the file specified. [EOS]' it could say what file was
00:40:07*Jesin quit (Quit: Leaving)
00:45:01bogenAraq: I don't think so. Let me check.
00:45:42bogen$ git branch --> * devel
00:46:34NimBotAraq/Nimrod bigbreak 31db3ae Araq [+0 ±1 -0]: minor bugfix for void .compileTime procs
00:46:34NimBotAraq/Nimrod bigbreak 8925d0e Araq [+0 ±4 -0]: minor improvement for nim pretty
00:46:51Araqbogen: well I fixed it on bigbreak
00:47:07Araq"minor bugfix for void .compileTime procs"
00:47:15bogenAraq: ok, thanks, I'll take a look
00:47:20Araqit's easy to merge it into devel
00:47:28Araqbut I need to sleep now, good night
00:47:44bogeng'nite
00:57:24*Jesin joined #nimrod
01:01:42*renesac joined #nimrod
02:31:17*saml_ quit (Quit: Leaving)
02:46:12*q66 quit (Quit: Leaving)
03:08:14*EXetoC quit (Quit: WeeChat 1.0)
03:37:30*ARCADIVS joined #nimrod
04:42:04*bjz_ quit (Read error: Connection reset by peer)
04:42:18*bjz joined #nimrod
05:05:59*fowl quit (Ping timeout: 255 seconds)
05:54:45*renesac quit (Ping timeout: 240 seconds)
06:13:52*Varriount-Mobile joined #nimrod
06:45:33*BlaXpirit joined #nimrod
07:32:21*io2 joined #nimrod
07:32:49*io2 quit (Client Quit)
08:18:24*mal`` joined #nimrod
09:13:02dom96good morning
09:24:45Araqhi dom96
09:25:10dom96hey sup?
09:36:03Araqfixing tests
09:36:54Araqand I'm reading about the "working branching model"
09:37:07dom96filwit didn't show up :(
09:37:21Araqso that bugfixes are easier to push to devel/master
09:51:15Araqwell I have the hope filwit is secretly working on all the promised stuff
09:51:25Araqand will show up tonight with breaking news
09:51:40dom96yes
09:51:47*BlaXpirit quit (Quit: Quit Konversation)
09:53:26*BlaXpirit joined #nimrod
10:21:05*Matthias247 joined #nimrod
10:23:22*Varriount-Mobile quit (Ping timeout: 240 seconds)
10:23:44*Varriount-Mobile joined #nimrod
10:25:00Araqyay so tsets2 fails and I don't know since when
10:25:18Araqthat's a horrible regression
10:26:08Araqand btw I hate this sets.isValid bullshit
10:28:53dom96what does that do?
10:32:24*io2 joined #nimrod
10:36:45Araqsome bullshit 'nil' checking for the poor people who cannot remember whether they properly initialized things
10:38:53NimBotAraq/Nimrod bigbreak 8aca51a Araq [+0 ±1 -0]: nim pretty: default is now to overwrite files
10:38:53NimBotAraq/Nimrod bigbreak 2d1b9d1 Araq [+0 ±3 -0]: ENDB compiles again
10:38:53NimBotAraq/Nimrod bigbreak dd830d2 Araq [+0 ±1 -0]: added ENDB warning
10:38:53NimBotAraq/Nimrod bigbreak ae548a6 Araq [+0 ±8 -0]: made some tests green
10:38:53NimBot1 more commits.
10:39:02Araqbbl
10:41:37*Varriount-Mobile quit (Read error: Connection reset by peer)
10:43:15*EXetoC joined #nimrod
11:08:19*q66 joined #nimrod
11:39:32*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
11:42:39*io2 joined #nimrod
11:55:04NimBotAraq/Nimrod bigbreak eac71d3 Dominik Picheta [+0 ±1 -0]: s/storeFile/store/
11:55:04NimBotAraq/Nimrod bigbreak d26d42b Dominik Picheta [+0 ±2 -0]: Case sensitivity fixes for httpclient and sockets module.
11:55:04NimBotAraq/Nimrod bigbreak bb1e87c Dominik Picheta [+0 ±5 -0]: Async SSL support.
11:56:17*Trustable joined #nimrod
12:34:32*ARCADIVS quit (Quit: WeeChat 0.4.3)
12:37:14dom96Araq: Did you make all exceptions ref?
12:37:32Araqdom96: no, that would break too much code
12:37:46Araqor rather: pretty cannot handle that
12:38:10dom96But it would allow raise Exception(msg: "foobar") :(
12:42:24Araqhow did threads.nim ever compile? o.O
12:42:32Araqit's all wrong lol
12:50:36*exe joined #nimrod
12:51:06*[CBR]Unspoken joined #nimrod
12:53:52*darkf quit (Quit: Leaving)
12:57:03*EXetoC quit (*.net *.split)
12:57:05*[CBR]Unspoken1 quit (*.net *.split)
13:08:36NimBotAraq/Nimrod bigbreak 25e0c26 Dominik Picheta [+0 ±1 -0]: Added async implementation for smtp module.
13:10:30*zahary joined #nimrod
13:10:57*zahary1 quit (Read error: Connection reset by peer)
13:16:06NimBotAraq/Nimrod bigbreak 3ba34f1 Araq [+0 ±7 -0]: prettified re.nim; make some tests green
13:16:06NimBotAraq/Nimrod bigbreak 30823c1 Araq [+0 ±44 -0]: make tests green
13:16:06NimBotAraq/Nimrod bigbreak de29ce8 Araq [+0 ±7 -0]: Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak
13:26:18NimBotAraq/Nimrod bigbreak 93eb9c4 Araq [+0 ±4 -0]: more stdlib modules work
13:28:22Araqsee you later
13:54:51*kunev joined #nimrod
14:18:24*demilichsd joined #nimrod
14:18:47demilichsdhey
14:19:08demilichsdjust how feasible is using Nimrod for lower level systems programming, using the POSIX API wrapper and all that?
14:19:12*noam__ is now known as noam
14:19:15demilichsdI'm talking stuff like bootscript mechanisms
14:20:11demilichsdIf it's suitable, then I really could consider spending more time with it and potentially getting away from the mundanities of C
14:25:54dom96 hi demilichsd
14:26:04dom96I think it's very feasible.
14:26:44dom96However I don't know much about how bootscript mechanisms are created.
14:27:25dom96Most of posix is wrapped in lib/posix/posix.nim
14:29:27demilichsdYes, as I saw.
14:30:26*Jehan_ joined #nimrod
14:30:37*exe is now known as EXetoC
14:31:59EXetoCdom96: raise (ref Exception)(msg: "foobar")? :p
14:32:03EXetoCor whatever the syntax was
14:32:36dom96EXetoC: I'd rather just use newException in that case.
14:37:44EXetoCraiseException
14:38:00EXetoCthough I often have a module-specific 'fail' proc
14:40:21Jehan_I'm not a huge fan of having a hierarchy of exception types.
14:41:11Jehan_This is, as far as I've been able to determine, a C++ invention that was implemented because it looked nice on paper, but without any practical experience what it would mean for software engineering practice.
14:42:28dom96Jehan_: Do you have any examples of cases where it's a bad thing?
14:42:29EXetoCyou don't think it's important to be able to catch specific types?
14:42:50Jehan_EXetoC: I think that's part of what's fundamentally broken about it.
14:42:50EXetoCyou want at least the base class I assume
14:43:43EXetoCok..
14:43:44Jehan_If you have an exception handler that can make such fine-grained determination and assess appropriate error handling for each, then you probably don't need exceptions in the first place.
14:43:54Jehan_You're then using them as non-local gotos.
14:44:07Jehan_With difficult to validate semantics.
14:45:12OrionPKdom96 waitfor works well!
14:45:13OrionPKthanks :)
14:46:03dom96OrionPK: yay, that's good to hear.
14:47:00AraqJehan_: I used to agree with you, but nowadays I think it has some value
14:47:26Jehan_There are really only two important classes of exceptions: (1) Something unforeseen happened that I couldn't programmatically avoid and which would result in undefined behavior if I continued (e.g., file not found) and (2) something is badly screwed up and I don't know what's broken, HALP!
14:48:32Jehan_Araq: It can still be useful to encode complex diagnostic information for a number of reasons, so multiple types for exceptions can make sense (in a statically typed language, that is).
14:48:44Araqyup
14:48:48OrionPKdom96 you may want to switch your unit tests to use waitfor instead of runforever
14:48:54OrionPKso they end w/o interrupt
14:49:10Jehan_But generally, you want either a "fail" or "panic" type of exception, and that's that.
14:49:17Araqhowever, once you have an exception type that allows for a full stack trace, it's moot
14:49:44AraqI've yet to see an exception type that encodes more than *that*
14:50:02Araqso ... you can use this type everywhere and call it a day
14:50:23Araqit's however much dirtier than subtyping
14:50:59Jehan_Araq: The question is, does the elaborate type hierarchy give you anything?
14:51:04Jehan_In practice, I mean.
14:51:34Jehan_I'd argue that every time you have an exception handler that relies on a subtype of a subtype of the main exception type, something's broken about your system.
14:51:46Araqwell in the compiler we have ERecoverableError for non-local control flow ;-)
14:52:47AraqI'd argue that exceptions are for non-local control flow and if you pretend you don't need *that*, you don't have an inherently recursive problem
14:53:02dom96OrionPK: yeah, I already switched some.
14:53:10OrionPKdom96 although that looks like a hot loop
14:53:14Jehan_Araq: I'll both agree and disagree with you there.
14:53:48Jehan_Agreeing in that it's my preference to facilitate this, disagreeing with you in that it's not really necessary (just sometimes very convenient).
14:54:02Araqit's not a coincidence ML has exceptions
14:54:06dom96OrionPK: The loop in waitFor?
14:54:17OrionPKyeah
14:54:25Araqand even ML uses subtyping for exceptions
14:54:44Araqit's not just a broken C++ design
14:54:56OrionPKdom96 I'd expect CPU to shoot up to 100% while it waits
14:55:54Jehan_Araq: ML doesn't use subtyping in that sense. Exceptions in ML are basically an extensible algebraic data type.
14:56:28dom96OrionPK: You'd expect it?
14:56:33dom96OrionPK: why?
14:56:43dom96or do you mean that it does shoot up?
14:57:18dom96Anybody here experienced with SSL?
14:58:48Jehan_In Talis, I have a `fail` statement, a `try` expression, a `panic` statement, and a `try!` expression.
14:59:18dom96Jehan_: What's the difference between `try` and `try!`?
14:59:27Jehan_`fail` and `try` work in a sort of Prolog-like fashion, except that `fail` can have an optional payload, error message, and error code.
14:59:50Jehan_dom96: try! catches panic calls, try doesn't.
15:00:08dom96oh, interesting.
15:00:10Jehan_try is an expression that returns an option-like type (closer to Scala's Try[T]) type.
15:00:49Jehan_Mostly you'll just use it as a boolean, but you can optionally extract other information from it, if you need it (and assuming "fail" provided a payload).
15:01:34Jehan_dom96: It's so that normal try handlers don't have to deal with truly exceptional conditions, but just with normal deviations from expected behavior.
15:08:22*Sht0 joined #nimrod
15:10:04OrionPKdom96 because a loop that doesnt do anything will typically eat up cpu cycles
15:10:50dom96it calls poll
15:10:54dom96poll blocks
15:11:12OrionPKoh ok
15:11:33OrionPKdom96 perfect then :)
15:13:56OrionPKdom96 is there an await for a timer?
15:14:06OrionPKlike Task.Delay
15:14:08dom96sleepAsync
15:14:44OrionPKsome good sister functions of WaitFor would be WaitForAll/WaitForAny
15:15:54dom96You can do: waitFor fut1 or fut2
15:16:15dom96and similarly you can also use 'and'
15:17:00OrionPKah perfect
15:17:46OrionPKso you could implement a timeout of 100ms with that by doing waitfor taskA or sleepAsync(100)
15:20:39Jehan_dom96: What about about arbitrarily large sets?
15:21:11Jehan_dom96: Practical use cases for WaitForAny() involve a pretty large number of futures.
15:23:14dom96yes
15:23:40dom96Jehan_: Ok, we can add it then.
15:24:01NimBotAraq/Nimrod bigbreak d7d059a Araq [+0 ±16 -0]: more tests green
15:24:23Araqsee you later
15:24:34Jehan_A very typical use case is: You start N tasks with greatly varying runtimes, then use WaitForAny() or its equivalent to do postprocessing of results in order of termination.
15:25:47OrionPKlater araq
15:32:50*Sht0 quit ()
15:33:06EXetoCshould the install scripts include the compiler directory? the c2nim package fails because it can't find llstream
15:59:19*fowl joined #nimrod
15:59:19*fowl quit (Changing host)
15:59:19*fowl joined #nimrod
16:08:17*Varriount-Mobile joined #nimrod
16:13:48*Varriount-Mobile quit (Ping timeout: 255 seconds)
16:14:50*untitaker quit (Ping timeout: 250 seconds)
16:15:32*EXetoC quit (Quit: WeeChat 1.0)
16:20:11*untitaker joined #nimrod
16:26:28*EXetoC joined #nimrod
16:36:03*q66[lap] joined #nimrod
16:36:27*q66[lap] quit (Changing host)
16:36:27*q66[lap] joined #nimrod
16:41:44*vendethiel joined #nimrod
16:53:49*flaviu joined #nimrod
16:55:32*mahoganygiraffe quit (Quit: WeeChat 0.4.3)
16:55:47*woodgiraffe joined #nimrod
17:04:01*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
17:48:56AraqEXetoC: yes, they should for this reason
17:53:05*flaviu quit (Remote host closed the connection)
17:54:08*flaviu joined #nimrod
17:55:37*flaviu quit (Read error: No route to host)
17:55:45*flaviu joined #nimrod
18:01:19*gkoller joined #nimrod
18:18:01OrionPKdom96 i still cant compile jester
18:18:37DemosAraq, when I tried to build it I found that the compiler sources were in the config file but that did not work, I had to manually add the directory to the path
18:18:56EXetoCDemos: works for me
18:19:39EXetoCis said config file being read?
18:20:20EXetoCenter some random chars and see if you get any errors
18:23:27EXetoCor compile manually. jester's output doesn't include read config files
18:27:06OrionPKnot sure if this compiles: https://github.com/dom96/jester/blob/new-async/tests/asynctest.nim
18:28:02OrionPKah i see.. works with the 'match' parameter, but I'm not sure where the 'match' symbol comes from
18:28:45*mko quit (Ping timeout: 240 seconds)
18:34:37dom96OrionPK: compile newtest
18:46:48*Fr4n quit (Ping timeout: 255 seconds)
18:51:08dom96I should remove the other tests to remove confusioon
18:53:34*Fr4n joined #nimrod
18:53:38*Fr4n quit (Changing host)
18:53:38*Fr4n joined #nimrod
18:57:52*kunev quit (Ping timeout: 240 seconds)
19:01:17dom96Anyone wanna test Async SSL on Linux for me?
19:05:51def-dom96: you have a file to run or how?
19:07:17dom96def-: try this https://gist.github.com/dom96/d5e8cb3e816e8c80cab7
19:07:25dom96compile with -d:ssl
19:08:02def-on which branch?
19:08:44dom96bigbreak
19:09:14def-I would have to figure out how to get bigbreak compiled first
19:09:32def-probably have to bootstrap again?
19:09:33dom96the instructions are in the readme
19:09:36dom96yes
19:11:26*Ven joined #nimrod
19:13:18def-dom96: lib/pure/net.nim(186, 16) Error: value of type 'SslError' has to be discarded
19:13:33dom96argh
19:13:36dom96ok, let me fix that.
19:15:22NimBotAraq/Nimrod bigbreak ac01ed5 Dominik Picheta [+0 ±1 -0]: Fix net module on Linux.
19:15:26dom96def-: try it now
19:16:47def-Got response: 200 OK, but it takes 10 seconds
19:17:06def-(and my ping to github.com is not that high)
19:17:28dom96yeah. That's something I will have to fix...
19:19:54dom96But at least you get a response eventually.
19:53:45*kunev joined #nimrod
20:00:17*kunev quit (Ping timeout: 245 seconds)
20:07:00*kunev joined #nimrod
20:10:32*Jehan_ quit (Quit: Leaving)
20:17:10*kunev quit (Ping timeout: 250 seconds)
20:28:47wandom96: I mostly have between 0.2s and 2.0s if I change the url to https://www.google.com. Maybe github's homepage is sometimes slow?
20:29:01wanOr what do you have to fix?
20:41:40*filwit joined #nimrod
20:53:10*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:56:31NimBotAraq/Nimrod bigbreak 41c7cde Araq [+0 ±9 -0]: updated iup.nim; made tests green
20:56:31NimBotAraq/Nimrod bigbreak d1d7d9e Araq [+0 ±1 -0]: Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak
20:57:03Araqif some of you guys want to help me, please git bisect for sets/tsets2.nim
20:57:14AraqI'd like to know which commit broke this test
20:58:15*q66 quit (Quit: Leaving)
20:58:50*Varriount|Mobile joined #nimrod
21:00:11*q66 joined #nimrod
21:01:41*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:01:58filwitnim/lib/stdlib.nimble ? has babel been official renamed since last I was here?
21:02:26filwitor has .nimble always been around?
21:02:52Araqnot officially but it's only a fake package anyway
21:03:01Araqthe compiler accepts both .nimble and .babel
21:03:20filwitcool :)
21:04:10filwitAraq: I could help you remove the T/P prefixes in the stdlib if you want
21:04:26Araqlol
21:04:37filwitAraq: not sure about how to find the bug which broke your test tho
21:04:41Araqyou're too late
21:04:50Araqcheck out the bigbreak branch
21:05:08filwitwhat? i'm looking at bigbreak right now, and tons of packages still have TFoo everywhere
21:05:19Araqwe already got rid of most of them
21:05:24Araqlike what?
21:05:40filwithmm... yeah, i guess it was just the ones i clicked on
21:05:45filwitactors
21:06:13filwiti clicked on a couple others, but can't remember
21:06:33filwitbut yeah, i see now a lot has been changed... cool :) nice work
21:06:59wanWhat's wrong with tsets2, Araq? It compiles and run on my end (on bigbreak branch)
21:07:04filwit(ps, i'm retarded... i should be looking at the commits to the right...)
21:07:53filwitoh... i see, the entire actors module has been depreciated.. nice
21:12:24wan(I spoke too fast. I had d:release)
21:12:49Araqwan: well for me it produces wrong C code
21:14:04EXetoCit's ok no one will notice
21:23:17*Trustable quit (Quit: Leaving)
21:42:23*q66[lap] quit (Quit: Textual IRC Client: www.textualapp.com)
22:27:18NimBotAraq/Nimrod devel 05c1fb0 Erwan Ameil [+0 ±1 -0]: Escape ' and / when using escape in xmltree
22:27:18NimBotAraq/Nimrod devel 6bd7473 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1510 from idlewan/xml_escape... 2 more lines
22:27:37NimBotAraq/Nimrod devel 7dac395 Erwan Ameil [+0 ±0 -2]: Remove outdated ZeroMQ example (zmq has been moved out of the stdlib)
22:27:37NimBotAraq/Nimrod devel cb9f669 Andreas Rumpf [+0 ±0 -2]: Merge pull request #1508 from idlewan/zmq... 2 more lines
22:28:20NimBotAraq/Nimrod devel a249a12 Erwan Ameil [+0 ±1 -0]: Secure and HttpOnly cookies
22:28:20NimBotAraq/Nimrod devel 1c85a49 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1509 from idlewan/cookies... 2 more lines
22:28:22*q66[lap] joined #nimrod
22:28:42*q66[lap] quit (Changing host)
22:28:42*q66[lap] joined #nimrod
22:29:58*clone1018__ is now known as oldclone
22:31:42*clone1018 joined #nimrod
22:32:35wanI have your bisect answer
22:33:00wan90e3c99baec7204bd5d6aba423bc0ffa5a97392b is the first bad commit
22:33:13wan Adds TSet.isValid(). Jul 26
22:34:14Araqbut I commented out this and it still fails
22:34:26Araqmaybe it never worked on windows in the first place, for some reason?
22:38:32*untitaker quit (Ping timeout: 245 seconds)
22:39:07*woodgiraffe quit (Quit: WeeChat 0.4.3)
22:42:13wandunno about windows, but that's from where it begins misgeneratin the asserts
22:42:30wanI'; on linux
22:44:07Araqhmm ok then
22:44:26Araqwell it triggers a compiler bug, so I might as well fix that instead
22:45:00Araqmakes me wonder though if anybody actually tests his PRs
22:45:33Araqor if the people who apply PRs ever check nimbuild's test results
22:47:07TriplefoxSafe assumption is that nobody tests anything, or tests it well enough
22:47:08wanWell, in this case, nothing is triggered if you compile with -d:release
22:52:40Araqhu indeed, it does
22:53:07Araqso it really is the asserts, interesting
22:54:16Araqgood night
22:56:56wangood night
23:00:10*untitaker joined #nimrod
23:06:41*BlaXpirit quit (Quit: Quit Konversation)
23:19:39*Matthias247 quit (Read error: Connection reset by peer)
23:23:18*Demos quit (Read error: Connection reset by peer)
23:36:02*flaviu quit (Ping timeout: 245 seconds)
23:36:35*darkf joined #nimrod
23:55:06*q66 quit (Ping timeout: 260 seconds)
23:56:15*q66 joined #nimrod