<< 19-10-2013 >>

00:25:08*dsrw_ joined #nimrod
00:25:36*dsrw_ quit (Remote host closed the connection)
00:26:44*dsrw quit (Remote host closed the connection)
00:33:31*dsrw joined #nimrod
00:39:06VarriountDoes nimrod have anything akin to a ternary operator? I can/could implement one with a template but would like to know if there is something similar/better available.
00:39:44OrionPKif: else:
00:40:09OrionPKlet x = if y > 0: 5 else: -5
00:44:35VarriountThanks. Also, I just got an opportunity to use the swap() function. :D
00:51:27OrionPKoh yah?
00:51:29OrionPKwhat for
00:52:51*NewGuy joined #nimrod
00:53:24NewGuyHowdy fellas.
00:54:33OrionPKhol
00:54:33OrionPKa
00:56:16NewGuyReal quick, how do modules relate to directories?
00:56:56OrionPKthey're kind of like a namespace, I guess
00:57:11OrionPKso folder.module would point to folder/module.nim
00:57:38NewGuyAnd then folder/folder.nim or folder.nim would be the folder module?
00:58:03OrionPKeh... you'd have to import folder/folder if it's folder/folder.nim
00:58:43NewGuyOh okay, so you'd do foo.nim for the foo module, then foo/bar.nim for the foo.bar module? Simple enough.
00:59:00OrionPKyeah
00:59:19NewGuyI couldn't find this in the tutorial/manual, but it's definitely something that should go in there.
00:59:42NewGuyHell, looking at the compiler and Aporia's code I couldn't get an answer, since they don't use any subdirectories or anything.
01:00:01OrionPKyeah I'm not a fan of the way aporia's code is structured
01:00:22OrionPKnot sure if I've ever seen a good example of how to structure a large nimrod project
01:01:17NewGuyYeah, but it seems like it would work nicely in theory.
01:01:59NewGuyBut thank you very much for the quick answer.
01:03:29OrionPKit'd be nice if there was maybe a {.module.} pragma or something
01:03:29NewGuyAh yes, and how would you reference backwards?
01:03:37OrionPKmaybe there is and I dont know about it
01:03:57OrionPKyou put it at the top of a .nim file, and the compiler scans the directory for that the module entry point
01:04:02NewGuyYes, that would be great. Or simple a module keyword.
01:04:10OrionPKreference backwards?
01:04:31NewGuyi.e. foo/bar.nim importing foo.nim
01:05:16NewGuywould it be `import foo` like in the main directory?
01:05:27NewGuyor something a little less pretty like `import ../foo`
01:05:45OrionPKI wouldn't do that
01:06:47NewGuyHm? I mean, that's pretty necessary IMHO?
01:07:11OrionPKfor a module to reference something that's a directory up?
01:08:01*ltbarcly joined #nimrod
01:08:05NewGuyWell in this case, I'm just writing unit tests for a few functions. But I don't want the unit tests cluttering the module & it's file.
01:08:31NewGuySo I wanted to make foo/tests.nim, where I'd put the unit tests. But these unit tests would need to call the functions in foo.nim
01:11:30OrionPKI think thats generally how you do the unit tests
01:11:41OrionPKinside the module, using when isMainModule:
01:11:50OrionPKput some tests at the bottom of the file
01:11:52NewGuyI'd say that's pretty essential stuff right there... Almost all submodules have some dependencies within the main module...
01:12:06OrionPKin what language?
01:12:28NewGuyC++, Rust, D, a lot more?
01:12:54VarriountNewGuy, I currently have a git branch open for improving documentation.
01:13:09*ltbarcly quit (Ping timeout: 272 seconds)
01:13:17VarriountI was planning to submit a pull request to Araq later today
01:13:23NewGuyVarriount, mind a link? I'd happily add it if you want.
01:13:50VarriountDo you have Nimrod's source?
01:14:02NewGuyNope.
01:14:18OrionPKgenerally importing one file in another and then vice versa would create a circular dependency, right?
01:14:34VarriountAh, then I'll post the manual file on github, and you can give me back the edits.
01:15:15NewGuyOrionPK, Why would a main module import a submodule? That's why they're separated, isn't it? The submodule has extras to add to the main.
01:15:39NewGuyVarriount, If you want, I could just type up a small summary to add to the modules section? Save the need to do any complicated Github stuff
01:15:53OrionPKyou mean to export things from the submodule to the main module?
01:16:12OrionPKor do you mean for the sub module to REFERENCE things defined in the main module
01:16:16VarriountNewGuy, that would be fine.
01:16:35NewGuyThe latter, have the submodule use functions/globals defined in the main module.
01:17:04NewGuyVarriount, Cool beans. Let me just figure out this last piece out with Orion here and I'll write a little something up.
01:17:30OrionPKyou would generally do something like that in a common file
01:17:34OrionPKor common module
01:17:39OrionPKthat both other files share
01:17:54VarriountNewGuy, once you give it to me, it might take a day or two for me to submit it. It has to be formatted in reStructured Text, and then pushed.
01:18:16VarriountAnd then submitted as a pull request. And then accepted.
01:18:27NewGuyVarriount, Sure thing. Once I understand what's going on, no rush!
01:20:46VarriountOrionPK, I used the swap function here -> https://gist.github.com/Varriount/7050608
01:21:44OrionPKexciting
01:21:49NewGuyOrionPK: That's the main module...? It has all the functions necessary.
01:22:16VarriountNewGuy, generally you split up a project into various sub-modules
01:22:18OrionPKthe main module sits at the top, referencing everything else but nothing should reference it
01:22:25Varriount^
01:24:20NewGuyGimme a sec real quick
01:24:51VarriountThis isn't a nimrod-specific detail. Typically, in a project longer than 2000 lines of code, you split things into submodules, each module reflecting a different component of the project.
01:25:24OrionPKwhat language do you generally use, NewGuy?
01:26:05NewGuyhttp://pastebin.com/NURdPatG
01:26:14NewGuyC++ && Ada
01:26:23NewGuyThat's what I'm trying to accomplish.
01:26:30VarriountOrionPK, I've shuddered at the times I've seen python projects, where the only file is a single 5000 line __init__.py in a folder
01:26:52OrionPKyeah, I've seen some nim files like that unfortunately
01:27:20OrionPKnewguy, if you want to break your tests into a diff file
01:27:22NewGuyI want a module Foo, with a submodule Tests. The module Foo makes no reference to Tests, but the module Tests calls functions within module Foo.
01:27:25OrionPKuse include
01:27:48VarriountInclude just includes the source, same as C's #include
01:27:58VarriountWhy can't he use import?
01:28:09OrionPKhe can
01:28:15OrionPKbut then the tests module should reference the main module, not vice versa
01:28:22OrionPKand also it can only reference exported symbols
01:28:23NewGuyThe main module isn't the main module.
01:28:42NewGuyI have a main module, and modules that are used by that main module
01:28:45NewGuyFoo is just one of them
01:29:02NewGuyI have a test condition on the main module, which runs the unit tests.
01:29:14NewGuyAnd then prints out the results of the tests in a nice and pretty way.
01:29:52OrionPKhttps://gist.github.com/onionhammer/7050672
01:31:35OrionPKif you want to run the tests in that module, you run it as the main module
01:32:04NewGuyI'll be right back, fellas.
01:39:10NewGuyHere is my directory structure: http://pastebin.com/auHEejcm ; Here is Nimtest: http://pastebin.com/f6wpFgr1 ; here is Foo: http://pastebin.com/cSTZ8XE0 ; and here is it's testing submodule, Bar: http://pastebin.com/QavnqFUs
01:40:26NewGuyIf unit testing is enabled, calls are made that bring all the testing modules of the used libraries and send them to nimtests run_test function, which runs them all and prints the results cleanly.
01:44:44NewGuySo I don't want to do when Is_Main_Module for all my modules
01:45:04OrionPKthen do it in your test module
01:45:18OrionPKand compile that instead of your main module
01:46:20NewGuyWhich is why I need my test module for each module, to be able to call the function I'm testing...
01:47:29NewGuyIn Ada or C++, this is pretty simple stuff, since packages/namespaces aren't bound to files... But I don't know how to do this in Nimrod.
01:47:55OrionPKit's essentially the same way you would do it in C++
01:48:49NewGuyIn C++, I would import Foo from within Foo's testing file/namespace, the directory up. So would `import Foo` within Foo/Bar.nim in this example import Foo?
01:49:06*dsrw quit (Remote host closed the connection)
01:50:34OrionPKyou can import things the directory up
01:50:43OrionPK(not that you should)
01:50:45OrionPKwith quotes
01:52:44OrionPKbut you cant import a file that's importing "you"
01:53:25NewGuyThat one makes sense.
01:55:20OrionPKthats pretty much all we've been telling you
01:55:42NewGuyWell all I wanted to do was import from a directory up, not import cyclically!
01:55:49NewGuyHaha, miscommunication, I suppose.
01:57:15OrionPKgotcha..
01:57:30OrionPKI wouldnt import a directory up, but you can by doing "../modulename"
01:58:24NewGuyActually I didn't even need to do that, apparently. import foo worked just fine, it looked the directory up automatically.
01:59:10NewGuy(thinking back, it would have been a lot easier to have just tested it myself than explain this entire thing)
01:59:22*NewGuy feels like an idiot.
01:59:33OrionPKheh, alright well, afk a bit
02:01:15NewGuyThanks so much guys,
02:27:33*dsrw joined #nimrod
02:33:43*dsrw quit (Remote host closed the connection)
02:52:24*dsrw joined #nimrod
02:57:13*dsrw quit (Remote host closed the connection)
02:57:38*dsrw joined #nimrod
02:58:43*dsrw quit (Remote host closed the connection)
03:08:36*DAddYE quit (Remote host closed the connection)
03:18:09*DAddYE joined #nimrod
03:24:12*dsrw joined #nimrod
03:25:31*ltbarcly joined #nimrod
03:25:31*ltbarcly quit (Client Quit)
03:46:05*dsrw quit (Remote host closed the connection)
03:52:14VarriountNewGuy, do you still plan on writing that bit on importing?
03:55:04*OrionPK quit (Quit: Leaving)
04:16:39*dsrw joined #nimrod
04:19:23*brson quit (Quit: leaving)
04:20:56*dsrw quit (Ping timeout: 240 seconds)
04:35:21*NewGuy quit (Ping timeout: 250 seconds)
05:18:59*dsrw joined #nimrod
05:23:39*dsrw quit (Ping timeout: 248 seconds)
05:25:36*Endy joined #nimrod
05:28:23*BitPuffin quit (Ping timeout: 272 seconds)
05:37:16*ltbarcly joined #nimrod
05:41:38*ltbarcly quit (Ping timeout: 240 seconds)
05:52:22*dyu quit (Quit: Leaving)
06:20:16*dsrw joined #nimrod
06:24:27*dsrw quit (Read error: Connection reset by peer)
06:24:47*dsrw joined #nimrod
06:26:36*dsrw_ joined #nimrod
06:26:36*dsrw quit (Read error: Connection reset by peer)
06:30:48*dsrw_ quit (Ping timeout: 240 seconds)
06:35:47VarriountO_o I just found out that my keyboard has a "light up keys" button. I've had this laptop for about half a year now.
06:45:08*kryton9 joined #nimrod
06:47:45kryton9.
06:48:04*kryton9 waves hello
06:50:00Araqhoho
06:50:21kryton9Hi Araq, just trying IRC commands, very few seem to work
06:50:36kryton9I am using a webclient
06:50:41kryton9probably why
07:02:55*kryton9 quit ()
07:28:01*dsrw joined #nimrod
07:32:24*dsrw quit (Ping timeout: 256 seconds)
08:03:21*profmakx waves from san francisco
08:17:55*Varriount lights up his keyboard
08:29:16*dsrw joined #nimrod
08:34:13*dsrw quit (Ping timeout: 272 seconds)
08:41:48*Endy quit (Ping timeout: 240 seconds)
09:31:10*dsrw joined #nimrod
09:35:47*dsrw quit (Ping timeout: 265 seconds)
09:38:47*wlhlm joined #nimrod
09:45:59*q66 joined #nimrod
10:00:56*ltbarcly joined #nimrod
10:05:28*ltbarcly quit (Ping timeout: 240 seconds)
10:11:07*DAddYE quit (Remote host closed the connection)
10:11:37*DAddYE joined #nimrod
10:14:51*Endy joined #nimrod
10:15:55*DAddYE quit (Ping timeout: 248 seconds)
10:16:08*DAddYE joined #nimrod
10:25:38*DAddYE quit (Remote host closed the connection)
10:30:26dom96'morning
10:32:25*dsrw joined #nimrod
10:37:27*dsrw quit (Ping timeout: 272 seconds)
10:52:01*silven quit (Remote host closed the connection)
11:26:46*DAddYE joined #nimrod
11:33:02*DAddYE quit (Ping timeout: 240 seconds)
11:33:54*dsrw joined #nimrod
11:38:20*dsrw quit (Ping timeout: 256 seconds)
12:06:12*dsrw_ joined #nimrod
12:10:57*dsrw_ quit (Ping timeout: 265 seconds)
12:29:36*DAddYE joined #nimrod
12:34:37*DAddYE quit (Ping timeout: 272 seconds)
12:39:39*silven joined #nimrod
12:56:15*Amrykid quit (Changing host)
12:56:15*Amrykid joined #nimrod
12:59:30*dsrw joined #nimrod
13:07:29*dsrw quit (Remote host closed the connection)
13:30:06*DAddYE joined #nimrod
13:36:27*DAddYE quit (Ping timeout: 248 seconds)
13:57:33dom96Debugging a stack corruption sure is lots of fun :(
14:16:28*OrionPK joined #nimrod
14:24:37*ltbarcly joined #nimrod
14:29:40*ltbarcly quit (Ping timeout: 265 seconds)
15:33:43*DAddYE joined #nimrod
15:40:49*DAddYE quit (Ping timeout: 272 seconds)
15:52:14*Associat0r quit (Quit: Associat0r)
16:04:58*BitPuffin joined #nimrod
16:38:14*wlhlm quit (Ping timeout: 240 seconds)
17:10:52*NewGuy joined #nimrod
17:13:56NewGuyHow do I use nimrod's doc2 tool to generate for the entire project? Right now it just generates for the file I explicitly gave it
17:14:11NewGuyOr must I do it for each file?
17:18:53*DAddYE joined #nimrod
17:30:24*DAddYE quit (Remote host closed the connection)
17:30:54*DAddYE joined #nimrod
17:35:02*DAddYE quit (Ping timeout: 240 seconds)
17:39:39AraqNewGuy: there is some command flag for this
17:40:15Araq--project
17:41:33NewGuyAlready tried that one. Same result.
17:42:32Araqsubmit a bug report then
17:43:06NewGuyWill do.
17:44:10Araqor even better debug this issue
17:44:18Araqcompiler/docgen2.nim proc close()
18:14:41*xenagi joined #nimrod
18:14:59*Ricky_Ricardo joined #nimrod
18:22:22Araqhi xenagi, welcome
18:22:57*Ricky_Ricardo left #nimrod (#nimrod)
18:24:14xenagihi!
18:24:37xenagiI'm gonna try writing a module for nimrod this weekend
18:24:54xenagifirst time trying nimrod. we'll see how well this goes
18:25:28Araqwhat kind of module?
18:25:53xenagireading/parsing TOML files
18:26:04xenagiIt's like a cleaner JSON :)
18:29:14dom96Looks a lot like the .ini format.
18:29:46xenagihuh so it does
18:29:54*xenagi doesn't really develop for windows :/
18:30:06dom96Nice though, create a babel package out of it once you're done :)
18:30:20xenagisure thing
18:30:49*NewGuy quit (Ping timeout: 250 seconds)
18:31:30*DAddYE joined #nimrod
18:38:31*DAddYE quit (Ping timeout: 272 seconds)
18:52:24*BitPuffin quit (Ping timeout: 256 seconds)
19:03:00*BitPuffin joined #nimrod
19:17:15*NewGuy joined #nimrod
19:17:40AraqNewGuy: do you write blog posts?
19:18:05NewGuyNot that I know of? Why?
19:18:42Araqyou should write about how nimrod is faster than c++ and takes half the lines of code
19:19:11Araqor make some benchmark showing nimrod's gc is independent of the heap size where Go's, D's and Java's isn't
19:19:23AraqI wanted to do that
19:19:29Araqbut I never find the time for it
19:20:05Araqit might give nimrod a big boost
19:20:31NewGuyAraq: I'm still in uni, so it might take a while (my schedule is so buggered up), but I'll see what I can do!
19:20:51NewGuyDidn't dom write a raytracer that outperformed it's C++ counterpart, too?
19:21:25dom96I think that was AdrianV.
19:21:28Araqthat was Adrianv, yes
19:21:43NewGuyAh yeah, my bad.
19:21:49OrionPKdont think nimrod outperforms C++ is a true statement, at least not always :p
19:23:44NewGuyMy usual case is about -10-20%. Rare cases can go as low as -50%.
19:23:58NewGuyThen the other 1/4 of the time, the numbers are almost identical.
19:24:30NewGuyNote: I use Clang for all my stuff.
19:26:55NewGuyAh, well I've got to get to work on a couple essays. Talk to you fella's later!
19:26:59*NewGuy quit (Quit: Page closed)
19:31:17*BitPuffin quit (Ping timeout: 248 seconds)
19:34:21*DAddYE joined #nimrod
19:38:04AraqOrionPK: "always outperforming" is meaningless though, sometimes Java can be faster than C++ for instance
19:38:08xenagiI'd read that blog
19:38:38*DAddYE quit (Ping timeout: 240 seconds)
19:38:42dom96We should really be comparing idiomatic Nimrod to idiomatic C++.
19:38:57OrionPKAraq i agree
19:39:05dom96Optimisations can be done endlessly for both languages.
19:39:33OrionPKright.. the the point of unreadability
19:39:41Araqyeah true
19:40:10Araqbut then the ability to optimize the heck out of things is common for both
19:40:25Araqso I don't know ...
19:40:41OrionPKI would just say that nimrod performs similarly to C++
19:40:47Araqoptimizing Nimrod or C++ is kind of the point of these languages
19:40:49OrionPKlet the numbers speak for themselves
19:42:27*BitPuffin joined #nimrod
19:43:36xenagiIn a recent Go blog post, Rob said that they tried to target Go towards the C++ crowd, but, surprisingly, they didn't take the bait
19:43:51xenagiC++ users were more/less set in their ways.
19:43:56xenagimasochists, if you will.
19:44:29xenagiSo, why not compare to Go and Rust, the new kids on the block? Try to lure some of them users who are looking to experiment with a new lang
19:45:24OrionPKthe best way to attract people is to write good apps IMO
19:45:33OrionPKopen source ones, obviously
19:46:20Araqit's not at all surprising that C++ users don't migrate to Go and if Rob is surprised by that then ...
19:51:47*shevy joined #nimrod
19:52:04shevycan NimBot eval code on IRC?
19:52:14Araqnope
19:52:43Araqxenagi: how exactly is using a language without exceptions or generics not masochistic anyway, xenagi?
19:58:09xenagilol, as for exceptions, to each his own
19:59:18xenagibut i agree with generics
20:00:27*BitPuffin quit (Ping timeout: 248 seconds)
20:02:55Araqxenagi: http://axisofeval.blogspot.de/2012/07/when-somebody-says-he-doesnt-like.html
20:04:19xenagilol
20:04:24NimBotAraq/Nimrod master 7f0e8ef Dominik Picheta [+0 ±3 -0]: Fixed regression on ARM caused by the changed behaviour of noStackFrame in commit 725dab4bedd.
20:04:46xenagii knew exceptions were a hot button...
20:09:26Araqalso good: http://axisofeval.blogspot.de/2012/07/when-code-base-uses-directory-structure.html
20:12:17xenagi*cough*Java*cough*
20:13:31NimBotAraq/Nimrod master 0d90796 Dominik Picheta [+0 ±1 -0]: Fixed definition of seqShallowFlag.
20:14:14*io2 joined #nimrod
20:16:58*Ricky_Ricardo joined #nimrod
20:17:16*Ricky_Ricardo left #nimrod (#nimrod)
20:30:49*Associat0r joined #nimrod
20:30:49*Associat0r quit (Changing host)
20:30:49*Associat0r joined #nimrod
20:34:51*DAddYE joined #nimrod
20:38:46*BitPuffin joined #nimrod
20:41:02*DAddYE quit (Ping timeout: 240 seconds)
20:44:00*Endy quit (Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet)
20:44:59OrionPKwheres the source for nimbot
20:51:11dom96nimbuild repo
20:52:48*silven quit (Remote host closed the connection)
20:54:56*DAddYE joined #nimrod
20:57:55shevyaren't exceptions basically nothing more than sugar for failsafe if/else decisions to do?
20:58:43xenagiidk if if/else decisions can propogate through a stack like exceptions
21:04:06*XAMPP-8 joined #nimrod
21:14:29*xenagi quit (Quit: Leaving)
21:14:47*xenagi joined #nimrod
21:40:05*brson joined #nimrod
21:40:06*Associat0r quit (Read error: Connection reset by peer)
21:41:14*Associat0r joined #nimrod
21:41:14*Associat0r quit (Changing host)
21:41:14*Associat0r joined #nimrod
21:58:01dom96!seen gradha
21:58:01NimBotgradha was last seen on Wed Aug 28 23:07:47 2013 quitting with message: Quit: bbl, need to watch https://www.youtube.com/watch?v=fS9CcTpA9i0 again
21:58:23*dom96 misses gradha
22:02:16Araqyeah
22:02:29*Araq wonders what happened to him
22:03:04dom96Well he's still blogging at least: http://gradha.github.io/
22:08:45*XAMPP-8 quit (Ping timeout: 245 seconds)
22:12:28*XAMPP-8 joined #nimrod
22:20:49shevyhe could be zombie-blogging
22:22:20*xenagi|2 joined #nimrod
22:25:47*xenagi quit (Ping timeout: 272 seconds)
22:32:02*xenagi|2 quit (Ping timeout: 265 seconds)
22:35:15OrionPKseen:gradha
22:35:19OrionPKhows this work
22:36:20OrionPK!ping
22:36:20NimBotpong
22:36:24OrionPK!seen:gradha
22:36:35OrionPK!seen:OrionPK
22:36:48dom96come on, you've just seen me use it.
22:36:57dom96it's a space not a :
22:37:02OrionPKoh didnt even notice you do it
22:37:06OrionPKI was going over the source
22:37:12OrionPKcoincidence :)
22:37:19dom96oh lol
22:37:26OrionPKwas going off this line "if d.r.exists("seen:" & nick): "
22:40:23dom96that's a redis query
22:41:41*xenagi joined #nimrod
22:41:56OrionPKwasnt looking too closely, just saw "seen:"
22:56:13OrionPKcan you importc variables/consts?
22:57:23*io2 quit ()
22:59:36OrionPKah I figured it out for var, but doesnt work for const/let
23:03:49AraqI think it should work for 'let'
23:04:11OrionPKactually, cant get it to work at all from a nimrod dll
23:05:25xenagilol
23:06:18xenagiis it coincidence that the syntax is python-esqe?
23:08:51profmakxyes
23:09:47*XAMPP-8 quit (Ping timeout: 248 seconds)
23:10:19Araqno
23:10:52AraqI copied what makes sense of Python's syntax. imho of course
23:11:51*ltbarcly joined #nimrod
23:11:51*ltbarcly quit (Client Quit)
23:12:41OrionPKso araq, if I wanted to export a variable from a dll
23:12:48OrionPKvar some_number = 5
23:13:02OrionPKvar some_number* {.exportc, dynlib.} = 5
23:13:19AraqI don't think that's supported
23:13:55OrionPKcant export/import variables?
23:13:56xenagiwhy var?
23:14:20OrionPKxenagi why not?
23:14:36xenagiif i understand correctly, variables are just that...variable/mutable. exporting that would be a function of time
23:14:42OrionPKI tried const first
23:15:07xenagibut what do i know? *shrugs*
23:15:32xenagibrb
23:15:40Araq"const" is a compile time thing, there is no point in exporting or importing it
23:15:56Araqimporting vars from DLLs is supported
23:16:05Araqexporting is not
23:16:28OrionPKok.. so you can import vars, just not from nimrod dlls
23:16:48Araqsome say features start as being "unimplemented" and then people request them and some kind soul changes the status to "implemented"
23:16:58Araq;-)
23:17:08*ltbarcly joined #nimrod
23:17:29OrionPKwell I dont know if you have some philosophical objection to these things araq :P
23:17:40OrionPKyou like being obdurate sometimes
23:18:13Araqthat's my job
23:19:50OrionPKmy feature request would be.. better support generally for linking together separate shared nimrod libraries :D
23:26:30Araqok
23:28:48shevymy feature request is docu-explosion! :D
23:32:13xenagioh? is it random-feature request time?!
23:33:15xenagimy feature request is nimgrep should search amazon! :D
23:33:20xenagihttps://bugs.launchpad.net/ubuntu/+source/command-not-found/+bug/1055766
23:41:48Araqmeh, nimgrep is already much better than grep :P
23:47:37OrionPKAraq what do you think about the ?? operator
23:47:42OrionPKin C#
23:48:19*ltbarcly quit (Quit: Computer has gone to sleep.)
23:48:39Araqtemplate `??` (a, b: expr): expr = (let x = a; if x.isNil: b else: x)
23:49:10OrionPKsomething like that, yeah
23:49:16OrionPKis it in the standard library?
23:49:44OrionPKhttps://gist.github.com/onionhammer/7062992
23:50:32OrionPKactually both can be templates, updated
23:51:49*dsrw joined #nimrod
23:54:12Araqnot something like that, that's C#'s ??
23:54:36OrionPKhmm?
23:55:11dsrwIs there any way to get the name of an object type as a string from a proc, or will I need to use a macro? typetraits#name() is just giving me "object"
23:56:50OrionPKC#'s ?? was what I was aiming for
23:58:07AraqOrionPK: well now you know what C#'s ?? does
23:58:21Araqhint: it doesn't deref
23:58:38OrionPKno, it doesnt.. but I wanted the same effect
23:59:03OrionPKin a way it does deref
23:59:12OrionPKif you pass in a nullable<int> it returns an int
23:59:30OrionPKthe .Value from the passed in item