<< 17-12-2013 >>

00:01:20*DAddYE__ quit (Remote host closed the connection)
01:02:12*DAddYE joined #nimrod
01:08:27*DAddYE quit (Ping timeout: 250 seconds)
01:10:55*DAddYE joined #nimrod
01:40:32*Zuchto joined #nimrod
01:48:17*Zuchto left #nimrod ("Leaving")
02:14:08*shodan45 quit (Read error: Connection reset by peer)
02:14:17*shodan45 joined #nimrod
02:16:21*shodan45 quit (Read error: Connection reset by peer)
02:16:30*shodan45 joined #nimrod
02:24:18*shodan45 quit (Ping timeout: 245 seconds)
02:25:15*DAddYE quit (Remote host closed the connection)
02:25:41*DAddYE joined #nimrod
02:29:50*DAddYE quit (Ping timeout: 240 seconds)
02:35:02*Zuchto joined #nimrod
02:37:10*DAddYE joined #nimrod
02:45:26*chat1 quit (Quit: WeeChat 0.4.0)
03:00:40*DAddYE quit (Remote host closed the connection)
03:01:20*dymk quit (Ping timeout: 260 seconds)
03:07:28*dymk joined #nimrod
03:08:46*DAddYE joined #nimrod
03:08:55*DAddYE quit (Remote host closed the connection)
03:09:03*DAddYE joined #nimrod
03:11:51*dymk quit (Ping timeout: 240 seconds)
03:20:28*dymk joined #nimrod
03:25:07*dymk quit (Ping timeout: 260 seconds)
03:26:28*dymk joined #nimrod
03:30:45*dymk quit (Ping timeout: 245 seconds)
03:32:59*dymk joined #nimrod
03:37:26*dymk quit (Ping timeout: 264 seconds)
03:37:58*dymk joined #nimrod
03:42:23*dymk quit (Ping timeout: 260 seconds)
03:43:58*dymk joined #nimrod
03:48:15*dymk quit (Ping timeout: 245 seconds)
03:49:28*dymk joined #nimrod
03:54:03*dymk quit (Ping timeout: 260 seconds)
03:58:16*DAddYE quit (Remote host closed the connection)
03:58:43*DAddYE joined #nimrod
04:03:17*DAddYE quit (Ping timeout: 248 seconds)
04:03:28*dymk joined #nimrod
04:20:40*dymk quit (Ping timeout: 260 seconds)
04:28:06*DAddYE joined #nimrod
04:31:31*dymk joined #nimrod
04:54:32*Demos joined #nimrod
04:55:50*dymk quit (Ping timeout: 240 seconds)
05:05:03*dymk joined #nimrod
05:09:39*dymk quit (Ping timeout: 260 seconds)
05:16:03*dymk joined #nimrod
05:31:39*aftershave quit (Quit: Textual IRC Client: www.textualapp.com)
05:46:51*xenagi joined #nimrod
05:50:25*xenagi quit (Client Quit)
05:53:06*ddl_smurf quit (Quit: ddl_smurf)
06:03:35*hoverbear joined #nimrod
06:03:39*DAddYE quit (Remote host closed the connection)
06:04:06*DAddYE joined #nimrod
06:08:39*DAddYE quit (Ping timeout: 264 seconds)
06:10:14*Zuchto quit (Ping timeout: 240 seconds)
06:13:03*Zuchto joined #nimrod
06:20:39*dymk quit (Ping timeout: 264 seconds)
06:30:30*Demos quit (Quit: Leaving)
06:30:33*dymk joined #nimrod
06:32:30*mal`` quit (Ping timeout: 245 seconds)
06:34:31*mal`` joined #nimrod
06:35:02*dymk quit (Client Quit)
06:35:37*dymk joined #nimrod
06:40:26*dymk quit (Ping timeout: 264 seconds)
06:42:54*DAddYE joined #nimrod
06:44:02*dymk joined #nimrod
06:48:15*dymk quit (Ping timeout: 240 seconds)
06:49:04*dymk joined #nimrod
06:53:44*dymk quit (Ping timeout: 260 seconds)
06:53:57*Mordecai joined #nimrod
06:54:43*psquid quit (Ping timeout: 245 seconds)
06:55:58*Mordecai is now known as psquid
07:02:03*DAddYE quit (Read error: Connection reset by peer)
07:02:27*DAddYE joined #nimrod
07:17:04*dymk joined #nimrod
07:27:06*dymk quit (Ping timeout: 252 seconds)
07:28:03*dymk joined #nimrod
07:34:40*dymk quit (Ping timeout: 240 seconds)
07:38:33*dymk joined #nimrod
07:45:50*dymk quit (Ping timeout: 264 seconds)
07:49:32*hoverbear quit (Quit: Hibernating, be back soon.)
07:54:39*dymk joined #nimrod
07:59:05*dymk quit (Ping timeout: 245 seconds)
08:00:34*dymk joined #nimrod
08:04:45*achim joined #nimrod
08:06:33*_dymk joined #nimrod
08:06:45*dymk quit (Read error: Connection reset by peer)
08:11:06*dymk joined #nimrod
08:11:11*_dymk quit (Ping timeout: 260 seconds)
08:15:52*dymk quit (Ping timeout: 260 seconds)
08:29:40*dymk joined #nimrod
08:34:26*dymk quit (Ping timeout: 264 seconds)
08:35:04*dymk joined #nimrod
08:36:17*DAddYE quit (Remote host closed the connection)
08:37:29*DAddYE joined #nimrod
08:39:40*dymk quit (Ping timeout: 260 seconds)
08:41:04*dymk joined #nimrod
08:44:36*achim quit (Quit: Computer has gone to sleep.)
08:45:35*dymk quit (Client Quit)
08:47:04*dymk joined #nimrod
08:51:19*DAddYE quit ()
08:51:21*achim joined #nimrod
08:51:50*dymk quit (Ping timeout: 264 seconds)
08:52:34*dymk joined #nimrod
08:57:15*achim quit (Quit: Computer has gone to sleep.)
08:59:16*dymk quit (Ping timeout: 267 seconds)
08:59:33*zahary_ quit (Read error: Connection reset by peer)
09:09:11*dymk joined #nimrod
09:13:26*dymk quit (Ping timeout: 240 seconds)
09:21:58*psquid quit (Quit: brb)
09:23:11*psquid joined #nimrod
09:23:11*psquid quit (Changing host)
09:23:11*psquid joined #nimrod
09:32:06*dymk joined #nimrod
09:36:50*dymk quit (Ping timeout: 264 seconds)
09:38:05*dymk joined #nimrod
09:38:37*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:42:10*dymk quit (Client Quit)
09:43:06*dymk joined #nimrod
09:47:38*dymk quit (Ping timeout: 264 seconds)
09:49:36*dymk joined #nimrod
09:51:35*faassen joined #nimrod
09:52:13*CarpNet joined #nimrod
09:57:48*dymk quit (Ping timeout: 251 seconds)
09:59:42*ics joined #nimrod
10:00:47*joelmo left #nimrod (#nimrod)
10:00:51*joelmo joined #nimrod
10:05:38*dymk joined #nimrod
10:15:42*dymk quit (Quit: ZNC Bouncer Quitting)
10:17:07*dymk joined #nimrod
10:18:30*BitPuffin joined #nimrod
10:27:10*dymk quit (Read error: Connection reset by peer)
10:28:02*BitPuffin quit (Quit: WeeChat 0.4.2)
10:28:08*dymk joined #nimrod
10:42:14*dymk quit (Ping timeout: 264 seconds)
10:42:37*dymk joined #nimrod
10:48:43*dymk quit (Read error: Connection reset by peer)
10:49:07*_dymk joined #nimrod
10:51:15*Mordecai joined #nimrod
10:51:31*psquid quit (Disconnected by services)
10:51:35*Mordecai is now known as psquid
10:53:15*_dymk quit (Ping timeout: 245 seconds)
10:56:47*BitPuffin joined #nimrod
10:57:07*dymk joined #nimrod
11:09:24*Araq_ joined #nimrod
11:15:14*dirkk0 joined #nimrod
11:15:26NimBotAraq/Nimrod master 4b26b3c Michał Zieliński [+0 ±1 -0]: Expand gitignore to include all binaries built by ./koch test.
11:15:26NimBotAraq/Nimrod master bc95cc4 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #752 from zielmicha/expand-gitignore... 2 more lines
11:16:04NimBotAraq/Nimrod master 8f854bb Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions static alternatives to quit().
11:16:04NimBotAraq/Nimrod master 01b5cc7 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds example to fatal pragma.
11:16:04NimBotAraq/Nimrod master 208e2f1 Grzegorz Adam Hankiewicz [+0 ±2 -0]: Merge pull request #739 from gradha/pr_adds_to_quit_docs... 2 more lines
11:28:40*dymk quit (Ping timeout: 245 seconds)
11:28:49*dirkk0 quit (Quit: This computer has gone to sleep)
11:30:51*dirkk0 joined #nimrod
11:31:37*dymk joined #nimrod
11:36:04*dymk quit (Ping timeout: 260 seconds)
11:40:58*achim joined #nimrod
11:41:46*dymk joined #nimrod
11:41:47*dymk quit (Excess Flood)
11:42:37*dymk joined #nimrod
11:44:06*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0.1/20131112160018])
11:45:27*BitPuffin quit (Ping timeout: 240 seconds)
11:47:15*dymk quit (Ping timeout: 260 seconds)
11:54:50faassenAraq: that mitems issue yesterday, should I add something to the issue tracker?
11:55:50*BitPuffin joined #nimrod
12:00:39*dymk joined #nimrod
12:05:27*dymk quit (Ping timeout: 260 seconds)
12:06:13*dymk joined #nimrod
12:10:35*dymk quit (Ping timeout: 260 seconds)
12:12:57*achim quit (Quit: Computer has gone to sleep.)
12:16:18*dymk joined #nimrod
12:16:19*dymk quit (Excess Flood)
12:16:42fowlmouthfaassen, whats the issue
12:17:13*dymk joined #nimrod
12:30:42*achim joined #nimrod
12:36:06*q66 quit (Quit: Leaving)
12:41:50*achim quit (Quit: Computer has gone to sleep.)
12:44:33*achim joined #nimrod
12:46:05faassenfowlmouth: C compiler errors out when you try to compile this: https://gist.github.com/faassen/7994609
12:47:47*dymk quit (Read error: Connection reset by peer)
12:47:55*q66 joined #nimrod
12:48:10*dymk joined #nimrod
12:53:02*dymk quit (Ping timeout: 264 seconds)
12:54:40*dymk joined #nimrod
12:59:02*eigenlicht quit (Ping timeout: 264 seconds)
13:00:40*eigenlicht joined #nimrod
13:07:25*dymk quit (Ping timeout: 245 seconds)
13:16:11*dymk joined #nimrod
13:24:03*achim quit (Quit: Computer has gone to sleep.)
13:25:12*dymk quit (Quit: ZNC Bouncer Quitting)
13:25:41*dymk joined #nimrod
13:33:11*dymk quit (Ping timeout: 260 seconds)
13:37:41*dymk joined #nimrod
13:42:00*dymk quit (Ping timeout: 245 seconds)
13:43:46*dymk joined #nimrod
13:52:00*q66 quit (Quit: Leaving)
13:54:36*darkf quit (Quit: Leaving)
14:04:23*tylere joined #nimrod
14:05:51*q66 joined #nimrod
14:12:04EXetoCporting big structures that conditionally includes fields can't be good
14:18:27BitPuffinEXetoC: lol :D
14:18:35fowlmouthfaassen, this is weird
14:18:59BitPuffinfaassen: it only happens when fowlmouth tries to compile it?
14:20:07*achim joined #nimrod
14:20:58faassenfowlmouth: the C compiler spits out errors when you do it by hand.
14:21:09faassenBitPuffin: it happens when I try to compile it too. :)
14:21:44faassenBitPuffin: oh you mean to reinterpret my 'you' as addressing fowlmouth exclusively instead of the generic 'you'. ha ha!
14:22:04BitPuffinfaassen: yeah hehe
14:23:55*Araq_ joined #nimrod
14:23:58EXetoCBitPuffin: all it takes is such a field that doesn't appear at the very end
14:24:12BitPuffinEXetoC: yep
14:24:20BitPuffinguess you are gonna have to conditionally compile it
14:24:37BitPuffinalthough I believe the only way you can do that is lots of copying and pasting
14:24:56BitPuffinwhen statements inline within type declarations are not allowed right?
14:31:25Araq_it's allowed in 'object'
14:31:26EXetoCthat's complicated. I think I'll have to wrap the fields in C functions
14:31:45Araq_the problem is you don't know which are active
14:32:05Araq_usually you need to check the generated config.h
14:32:22Araq_and then you can get rid of the #if in the struct declaration by hand
14:36:52EXetoCaren't you then assuming that it's installed the same way everywhere?
14:39:40Araq_yeah
14:40:09Araq_so use a 'when' in nimrod instead and figure out when what where it is true
14:48:39*eigenlicht quit (Ping timeout: 240 seconds)
14:50:12*eigenlicht joined #nimrod
14:54:14*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0.1/20131112160018])
15:16:53*hoverbear joined #nimrod
15:19:58EXetoCAraq: but they're features that can be toggled. I'll just wrap the fields in C
15:22:22*hoverbear quit (Quit: Hibernating, be back soon.)
15:33:02*Hannibal_Smith joined #nimrod
15:39:27*aftershave joined #nimrod
15:40:33*aftershave quit (Client Quit)
15:40:57*aftershave joined #nimrod
15:41:01*aftershave quit (Client Quit)
15:42:44*aftershave joined #nimrod
15:48:48*zielmicha joined #nimrod
15:54:10*dirkk_ joined #nimrod
15:56:02*dirkk0 quit (Ping timeout: 264 seconds)
16:09:08tylereAraq...let me throw an idea at you
16:09:20tylerewhat about allowing expressions in object definitions
16:09:25tylereas a sort of constructor
16:09:59tylerewhere the expression for each field would have access to all previously defined fields
16:11:12tylereand any field with an associated expression could be ommited from the ctor
16:29:21*Hannibal_Smith quit (Quit: Sto andando via)
16:36:25*ddl_smurf joined #nimrod
16:46:25*gradha joined #nimrod
16:59:57*achim quit (Quit: Textual IRC Client: http://www.textualapp.com/)
17:13:30*hoverbear joined #nimrod
17:13:41*hoverbear quit (Max SendQ exceeded)
17:23:36*MFlamer joined #nimrod
17:23:48Varriounttylere, that presents problems for c-api compatibility
17:26:41EXetoCwhy?
17:29:28VarriountBecause the structure of the object could change drastically at compile time?
17:29:54Varriountafaik, currrently, conditional structures are such are implemented as unions
17:31:52VarriountStill, maybe I'm wrong. The idea isn't any more far fetched than my idea of turning the generic instantiation subscript operator into a partial function application operator.
17:32:04*shodan45 joined #nimrod
17:33:59shodan45hello, #nimrod
17:34:22gradhahi shodan45
17:35:00Varriountgradha, I don't know if I've mentioned this, but your forum avatar both amazes and terrifies me.
17:35:15gradhacertainly that's the point
17:35:41gradhawhy would anybody want a bland avatar
17:36:18Varriountgradha, -> http://osrc.dfm.io/Varriount
17:36:19gradhabesides, it's me, so it's not like I'm putting an animated gif or something
17:37:03Varriount"In particular, Varriount seems to be a pretty serious Nimrod expert with a surprisingly broad knowledge of Python as well."
17:37:15gradhayeah, they know all about us, the NSA knows my favourite kpop too
17:37:21VarriountI have a warm fuzzy feeling inside.
17:37:43gradhamy profile stats would change if they could analyze private repos
17:37:55Varriount>_>
17:38:15gradhaI guess it's ok, since those aren't open source anyway
17:38:35VarriountAnyways, got to go, I have my final, final exam for the semester in an hour. Wish me luck!
17:38:43gradhagood luck
17:44:01*DAddYE joined #nimrod
17:44:06dom96"In particular, Dominik seems to be a pretty serious Nimrod expert."
17:44:08dom96yeahhh
17:44:58gradhadom96: so how are your finals, do you need luck? today I feel generous
17:45:44dom96I ain't got no finals
17:45:45*dymk quit (Ping timeout: 245 seconds)
17:46:09dom96Until January I guess.
17:47:58gradhaok, I went to the kitchen and saved some luck for you, I'll put it in the freezer
17:48:08dom96thx
17:49:50*dirkk_ quit (Ping timeout: 240 seconds)
17:52:14*dymk joined #nimrod
17:59:41EXetoCVarriount: it sounded to me like he meant something like this: "type x = object\nx: int = 5"
18:03:25*io2 joined #nimrod
18:07:13*BitPuffin quit (Ping timeout: 245 seconds)
18:13:36*MFlamer_ joined #nimrod
18:15:07*MFlamer quit (Ping timeout: 240 seconds)
18:23:44*shodan45_ joined #nimrod
18:23:57*shodan45 quit (Read error: Connection reset by peer)
18:24:40*shodan45_ is now known as shodan45
18:24:45*shodan45 quit (Client Quit)
18:29:46tylereEXetoC: something like that
18:29:53tylereEXetoC: although I was actually thinking of a lambda expression
18:30:52tylereor an anonymous proc
18:31:56tyleremore like type x = object\ny: int\nx: int = y * 2
18:32:05tylereso you could actually base later properties on earlier ones
18:32:16tylerelike say you had (tortured example) a rectangle class
18:32:35tylereyou could add a default expression to the width, that sets width = height if you only pass one number
18:34:27tyleremy initial use case was for initializing a seq
18:34:35*CarpNet quit (Quit: Leaving)
18:34:43*brson joined #nimrod
18:51:45EXetoCtylere: some might argue that the actual invocation syntax should be verbose
18:52:05EXetoCand that any shortcuts should be privided by procs
18:53:58EXetoC*provided
18:54:22tylereEXetoC: I don't disagree with
18:54:30EXetoCit's still a little verbose because of the init/new prefixes, though I often omit 'init'
18:54:37tylerebut if that's the tack takne, there should be a way to define a custom ctor
18:54:46tylereinstead of the current hell of mismatches
18:54:56tylerewhere it's sometimes makeFoo and sometimes initFoo, etc
18:55:32EXetoCI think init for value types and new for pointer types is the de facto standard
18:55:55EXetoCwhere's the make prefix used?
18:57:01tylereI can't recall it off hand
18:57:11tyleremight have been some 3rd party code somewhere
19:30:51tylereEXetoC: Another example.... initTable but newSeq
19:33:15EXetoCtylere: like I said, init is for value types, and new is for pointer types
19:33:56gradhano ref string then?
19:35:36EXetoC?
19:36:18gradhaa string is not a pointer type, so should be initSeq, a ref string would be newSeq
19:38:01EXetoCok
19:40:46*BitPuffin joined #nimrod
19:44:36psquidVarriount: I like how that OSRC thing says I'm probably friends with my boyfriend. Seems about right. :V
19:44:43fowlmouthEXetoC, it should probably be initSeq since seqs have value semantics
19:47:41psquidThough interestingly my old and new accounts (in most places this name is my old handle, new account reflects the new one) have very different stats in everything except languages (Pythonista - clearly I haven't put enough Nimrod up there yet xD)
19:48:02psquidI guess I've shifted my habits a fair bit over the last year or two. xD
19:48:21EXetoCI just pointed out that there's a reason why we have both
19:48:27EXetoCbut maybe that's what he was referring to
20:07:13tylereyea, sort of
20:07:18tylereit just feels like extra mental load
20:07:35tyleree.g. why not just have a bit of sugar so I can call Seq[int]()
20:07:55tylereor even something like new[seq[int]]()
20:08:08tylerejust some sort of 100% consistent default-ish constructor
20:11:47*dirkk0 joined #nimrod
20:12:04*dirkk0 quit (Client Quit)
20:16:15*io2 quit ()
20:21:55*faassen left #nimrod (#nimrod)
20:35:06*Demos joined #nimrod
20:37:35Demosdid nimrod's web address change or did we always have nimrod-lang and nimrod-code
20:38:16gradhait did change recently
20:47:02*MFlamer_ quit (Ping timeout: 264 seconds)
20:51:09*MFlamer joined #nimrod
20:59:28Demosis there information on the nimrod compiler as a service (sounds webscale :D) work?
20:59:51gradhasure, it was writen by Britney Spears
21:00:27Demossounds webscale
21:00:32gradhayou have to go to the nimrod compiler user guide, then search for idetools integration
21:00:36gradhaor you can view http://build.nimrod-lang.org/docs/idetools.html
21:00:45Demosright, but that is just some command line options
21:00:52Demosnever mind
21:00:54*dymk quit (Ping timeout: 241 seconds)
21:01:04Demosdocs must have been updated at some point
21:01:18gradhaif you are looking for "internals" zahary is your man
21:01:33gradhahe knows how the stuff work, and the changes that were made in the compiler
21:04:44Demosso it is still communication by strings, no C API
21:05:39gradhaI believe most editors don't want to include a compiler to get some info about source code
21:06:30Demoswell they could use a shared library.... but sure
21:07:43zaharyI actually planned to build it as a C api, but the text interface was chosen in order to have shared code between the single-invocation idetools mode and the long-running compiler mode
21:08:08zaharysuch shared code exists both for the compiler and the editors that use it
21:08:26zaharyotherwise, it's very easy to expose a C API if you need something
21:08:58Demosyeah I have been exporting some of the lexer functions for use in c#
21:09:45zaharyhttps://gist.github.com/zah/8012667
21:10:15zaharyplace that file in the compiler directory, compile it and you have a DLL exposing parts of the compiler code
21:10:52Demosyeah that is what I did, what is the return value, just one of the toekn enums?
21:10:53*io2 joined #nimrod
21:11:09Araqtylere: you summoned me and here I am
21:11:43zaharythis is a silly example that checks whether a string parses correctly
21:11:50zaharyreturns 1/0
21:12:04Demosah, alright. Derp
21:12:23Demosanyhow it is good to know that what I am doing is sorta correct
21:17:39gradhagood night, honey badgers
21:17:43*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again)
21:20:37EXetoCis there no ptrdiff_t equivalent? should I use int?
21:20:55fowlmouthwhats ptrdiff_t
21:21:24fowlmouthuse TPtrDiffT {.importc:"ptrdiff_t".} = int probably
21:21:53Araqjust use int, yeah
21:25:05*shodan45 joined #nimrod
21:32:15*zupermann joined #nimrod
21:33:00Araqhi zupermann welcome
21:33:13shodan45new web framework benchmarks out: http://www.techempower.com/benchmarks/#section=data-r8
21:33:27shodan45nimrod still doing not-so-great :/
21:34:27fowlmouthi did control+f for nimrod and not found on the page
21:34:30fowlmouthshodan45,
21:34:59Araqwell we didn't submit anything this time afaict
21:36:15EXetoCfowlmouth: nim
21:36:17shodan45it's there - look for "jester" or "Nim" under "Lng"
21:37:12fowlmouthoh
21:37:25dom96shodan45: we didn't change anything
21:37:38dom96because I still didn't have enough time
21:37:55Demosnot doing bad for one guy though
21:39:26Demosand we beat PHP... so there is that
21:40:43brihatand also bear Ruby on Rails and Django
21:40:46EXetoCdom96: will you spend a week on adding optimized asm if we donate $50?
21:41:17dom96EXetoC: Going to have to be a lot more for a week. :P
21:41:51dom96Yeah, keep in mind that benchmark is totally unoptimised.
21:41:53EXetoCyou and your luxurious life
21:42:18dom96It uses select which is very terrible.
21:42:29*zupermann quit (K-Lined)
21:43:19fowlmouthdom when is your xmas break
21:43:20*MFlamer quit (Read error: Connection reset by peer)
21:43:33Demosthat website brings my browser to its knees though
21:43:36EXetoCohloh claims that I'm using emacs. interesting
21:44:28dom96fowlmouth: It starts on Friday
21:46:03*65MAAFL6X quit (Ping timeout: 250 seconds)
21:48:27*fowlmouth is now known as fowl
21:55:13Araqdom96: I did 'babel update'; 'babel search opengl' and it shows nothing
21:56:49dom96works for me
21:57:12AraqI guess I need to recompile babel
21:57:18AraqI'm using some old version
21:57:43dom96just run 'babel install babel'
21:57:58Araqthat still feels wrong :P
21:59:16*dymk joined #nimrod
22:00:46Araqwell babel install babel works
22:00:53Araqand search finds some packages
22:01:01Araqnone of which is the opengl package though!
22:01:52dom96again
22:01:52dom96works for me
22:02:36fowlbabel update ?
22:02:42Araqdid that
22:03:06Araqwhat's the url you get?
22:03:45fowlhttps://github.com/nimrod-code/packages/raw/master/packages.json
22:04:16shodan45what about non-jester nimrod? just an http server + logic?
22:04:37dom96httpserver is worse than scgi+nginx I would bet.
22:04:45shodan45oh? :/
22:05:04shodan45why is that? I'd expect it to be pretty good
22:05:15dom96Because of it's crappy async implementation
22:06:43Araqwell I still have babel v0.1.0 from 2013-10-5
22:06:50Araqso I guess babel install didn't work
22:07:16dom96remove your .babel and reinstall it then
22:07:38dom96you probably still have a lib/ and pkgs/ is ignored or something
22:08:48Araqwell I invoked the compiler myself and now it works
22:08:58Araqwho would have guessed? :P
22:10:00Araqping comex
22:12:04dom96well what's the problem then?
22:12:47Araqnothing, everything is smooth
22:23:25*io2 quit ()
22:24:49VarriountYay! My final exam of the semester is finished!
22:37:26Araqhey I did explain why I hate stderr, zielmicha ...
22:38:32Araqand useStdoutAsStdmsg is not only for me but also for cgi applications ...
22:39:08Araqand why did you remove my rant in the docs? :-(
22:43:06Demoswhy do you hate stderr Araq?
22:44:59Araqgcc foo >errors.txt
22:45:06Araqargh, doesn't work, thanks
22:45:26Araqbut it doesn't output the binary blob to stdout either, so what's the point?
22:45:42psquid`gcc foo 2>error.txt` doesn't work?
22:46:07AraqI never can remember that syntax :P
22:46:10psquid(Granted, knowing to do that is hardly obvious, heh.)
22:46:15psquidHeh, fair do's. xD
22:46:29dom96nice to see Nimrod mentioned in the Framework benchmark HN thread
22:47:12Araqarguably the error messages of a compiler are its *output*
22:47:26Araqthink about IDE integration, for instance
22:48:21Araqalso having both stdout and stderr means process redirection is some trial and error game or you simply request that both should be redirected to the same stream
22:48:47Araqit simply doesn't work, the distinction is arbitrary
22:49:23DemosI agree, it seems stderr ends up just being a dumping ground for all the output nobody knew what to do with
22:50:01psquidI don't agree that there's no point to stderr, but yeah, I'd say stderr should be used only when the program has encountered a non-normal situation. Even if it's reporting an error, that's still an expected situation for a compiler. It's only if the compiler itself has a problem, like if it's saying "you told me to compile foo.c, bar.c, and baz.c, but foo.c doesn't exist", that it should use stderr.
22:50:44dom96Araq: I would actually say that outputting errors to stderr would make IDE integration easier.
22:50:54psquidOf course, the other problem is that not everyone actually does anything close to that, so it's pretty much random chance what you'll have to redirect from when dealing with an arbitrary program.
22:51:10dom96In Aporia's case it would remove the ambiguities about what is a warning and what is an error.
22:51:17dom96in the output.
22:51:30zielmichaAraq: docs are not for rants, especially if most people think otherwise
22:51:56Araqdom96: well nimrod can also suggest stuff
22:52:02Araqwhere to put those?
22:52:16Araqso suggest goes to stdout, messages to stderr
22:52:27Araqand we're back to conflating warnings and errors
22:52:31dom96no, errors go to stderr.
22:52:37dom96It's simple.
22:52:47*Demos quit (Read error: Connection reset by peer)
22:52:49dom96An error is something which stops the successful compilation of code.
22:52:49Araqand warnings are part of the suggest stuff? o.O
22:52:56psquidSeparating them is still useful when a program outputs its normal output to stdout, though - like grub2-mkconfig, where stdout emits the new grub config, while stderr emits the status messages (and honestly I think stdmsg would be a better name, if not for historical precedent).
22:53:01dom96Everything else goes to stdout.
22:53:04*Demos joined #nimrod
22:53:07ddl_smurfstderr only makes sense if stdout is useful separately
22:53:35ddl_smurf(once in a blue moon i agree with araq, might as well add my 2c =D )
22:53:49Araqwell if anything, this discussion shows it's rather arbitrary and so won't ever be consistent
22:53:49dom96and yes, type mismatch suggestions are part of the error and therefore go to stderr
22:54:17*Amrykid quit (Excess Flood)
22:54:28Araqand a non-consistent interface is far worse than conflating output with errors
22:54:30ddl_smurfstderr is really a misnomer, it's really for tools you can use in a pipeline
22:54:39ddl_smurfso i vote for json output =D
22:54:47*Amrykid_ joined #nimrod
22:54:58dom96hah yes. JSON output would be perfect.
22:55:00OrionPKMdom96 i bet if you didnt use the asyncio stuff for framework benchmarks it'd be faster :P https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/jester/hello.nim
22:55:05Demosis there a way to write a macro that will generate "getters and setters" for a structure?
22:55:20AraqDemos: sure
22:55:39dom96OrionPKM: IIRC I tested that.
22:55:56zielmichabut there is also "nimrod c -r", which could be used in a pipe
22:55:56dom96OrionPKM: It simply blocked, it didn't even respond to all the requests it was hit with.
22:55:58*Amrykid_ is now known as Amrykid
22:56:04*Amrykid quit (Changing host)
22:56:04*Amrykid joined #nimrod
22:56:10dom96OrionPKM: Remember the requests are concurrent, async is definitely better.
22:56:34OrionPKMdom96 yeah thats true.. but httpserver asyncio is very buggy
22:56:47OrionPKMit'll randomly block calls for a number of seconds at times
22:56:50dom96OrionPKM: The benchmark doesn't use httpserver
22:56:57OrionPKMah
22:57:07OrionPKMI see, http=false
22:57:14dom96mmhm
22:57:49OrionPKMwelp, afk
22:59:14Araqzielmicha: meh, the rant in the documentation is a classic
23:01:25*darkf joined #nimrod
23:04:50VarriountAraq, sent a pull request for (another) removeFile fix.
23:05:07Araqgah, what was wrong?
23:05:52VarriountThe procedure error'd when trying to delete a read only wile
23:05:54Varriount*file
23:06:23VarriountOdd, because I thought I had sent out a pull request that fixed that bug, and that the pull request was accepted.
23:06:44VarriountMaybe I was just dreaming.
23:06:54Araqwell I dreamed the same
23:07:23Araqcremove? can you use the winapi instead please? gets rid of the errno brain damage
23:08:12VarriountUh, yeah. I'm actually in the process of (hopefully) improving bits of os.nim, so it would be no problem
23:10:20Araqand indeed I'd prefer if you use the low level api for setFilePermissions
23:10:27Araq*instead of
23:11:09EXetoCshould it be possible to have unsigned enumerators?
23:11:33Araqmeh, I dunno
23:12:58EXetoC"Error: ordinal type expected" I guess that means yes
23:17:11EXetoCassuming that you consider that error message to be correct
23:17:23EXetoCand what about anything that supports `<` and `==`?
23:17:38Araqstrings support < and ==
23:17:54Araqso do floats
23:18:19Araqhow do you generate code for an array[float, T] again?
23:18:39Araqbut I guess we can look at the enum's base type to decide if the enum is an ordinal
23:19:33EXetoCyeah but user-defined objects for example
23:19:34EXetoCok
23:21:19VarriountAraq, just to explain, by 'low level api' I meant, copying specific parts of setFilePermissions
23:24:42Araqyeah copy and specialize
23:32:09dom96hrm, BitPuffin hasn't asked me to join VNUG in a while.
23:32:21VarriountI'm on VNUG
23:32:31*dom96 wonders if BitPuffin is still alive
23:32:34VarriountI've been on for the past hour and a half
23:32:39dom96Varriount: alone?
23:32:44VarriountYes.
23:33:22VarriountAll alone.
23:33:35dom96Forever alone.
23:42:26VarriountHow do programs do non-blocking file operations on Linux platforms?
23:43:17ddl_smurfyou use libuv
23:43:45VarriountAnd if you don't want to use libuv?
23:44:00ddl_smurfyou wallow in pain for a few months
23:44:15Araqyou use a linux specific api
23:45:41ddl_smurfyou can read man epoll/select/kevent depending on your specific version, but really, you don't want to do that, libevent, libuv, there's a bunch of em for a reason
23:46:07VarriountWhich, I'm guessing, Araq would rather not use.
23:46:16AraqVarriount: you're spot on sir
23:46:39ddl_smurfasync reading, memory management and thread management have intimate relations
23:46:43Araqthese libs mostly consist of "if (error) goto errorHandler;" anyway
23:47:00Araqin nimrod land we have exceptions for that
23:47:28VarriountThough, shouldn't exception-reaction code be avoided anyways?
23:47:40Araqmost C code doesn't do anything, it's all a big mud of error handling code for efficiency
23:48:38Araqyou should always check malloc's result of course. linux won't return NULL, but you should check anyway
23:48:55Araqextra points if you check on function entry if a stack overflowed occured
23:49:10Araqand then let us know how you can do that in Ansi C
23:49:12ddl_smurfyou should only check that stuff if you have a better reaction to it than a coredump
23:49:18Varriount^ Why higher level languages exist
23:49:33Demosddl_smurf, but may times C's default is /not/ a coredump
23:49:57ddl_smurfok, sigsev then
23:50:09VarriountAraq, are there any plans on splitting up parts of os.nim? I'm not suggesting anything, just wondering.
23:51:07Araqthe idea that many small files are somehow easier to handle than fewer larger ones escapes me
23:51:39ddl_smurfclearly - after some quality time with gc.nim and system.nim =)
23:52:10VarriountAraq, I think it's a carryover from the idea that documentation organized into sections is easier to read than randomly ordered sentences
23:52:26Araqcurrently I have 13 files open and it's barely managable
23:52:48VarriountSame here. But then, I also have multiple views to one file.
23:52:48Araqmake that 26 files and I might quit and play some game instead
23:53:02BitPuffindom96: :D
23:53:04BitPuffinSorry
23:53:15BitPuffinhaven't installed teamspeak on the hipster thing yet
23:55:15Varriounthipster thing?
23:56:15AraqVarriount: so whose documentation is better?
23:56:35Araqpython's? not in my opinion. C#'s? no. Java's? hell no.
23:57:50VarriountAraq, I wasn't criticizing anything. Just pointing out a theory.
23:58:04Araqyeah sure