<< 01-02-2017 >>

00:03:37dom96dyce[m]: gcsafety applies only when you use multiple threads
00:03:42dom96'night
00:04:02dyce[m]i see thanks Araq and dom96
00:06:40*ftsf_ joined #nim
00:06:43*couven92 quit (Quit: Bye)
00:07:54*couven92 joined #nim
00:15:01*Jesin quit (Quit: Leaving)
00:15:10*devted joined #nim
00:47:52*arnetheduck joined #nim
00:49:44*pregressive joined #nim
01:04:04zachcarteranyone else using nimx?
01:13:39*couven92 quit (Quit: Client disconnecting)
01:26:32*yglukhov joined #nim
01:30:42*yglukhov quit (Ping timeout: 248 seconds)
02:00:49*chemist69 quit (Ping timeout: 240 seconds)
02:01:12*chemist69 joined #nim
02:52:47*brson quit (Quit: leaving)
03:01:31*chemist69 quit (Ping timeout: 255 seconds)
03:13:57*chemist69 joined #nim
03:31:16*krux02 quit (Quit: Leaving)
03:37:24*Jesin joined #nim
04:01:16*brail joined #nim
04:01:44*pregressive quit (Remote host closed the connection)
04:02:23*pregressive joined #nim
04:03:28*unlaudable joined #nim
04:04:39*pregressive quit (Read error: No route to host)
04:05:06*pregressive joined #nim
04:07:02*pregressive quit (Read error: Connection reset by peer)
04:07:15*pregressive joined #nim
04:10:49*unlaudable quit (Ping timeout: 260 seconds)
04:16:02*pregressive quit (Ping timeout: 248 seconds)
04:20:00*brail quit (Quit: Changing server)
04:31:02*kulelu88 quit (Quit: Leaving)
04:31:27*arnetheduck quit (Ping timeout: 276 seconds)
04:36:39*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:42:18FromGitter<Varriount> zachcarter: Do you need a C array?
04:42:52FromGitter<Varriount> You can always take the pointer of the first element of the sequence
04:43:01zachcarterthat’s exactly what I did :)
04:43:19zachcarterdidn’t realize that’s what I was doing
04:43:30zachcarterbut it makes sense now, thank you for the explanation
04:44:16FromGitter<Varriount> Of course, too many people make the mistake of just taking the pointer to the sequence object, with predictably bad results
05:03:12zachcarterI really want to use nimx / rod but I think I need to wait for development to progress further before using them in a project
05:03:54zachcarterfor now I’m going to focus on writing a libgdx comparable library in nim using sdl2 / opengl
05:04:34ftsf_zachcarter, whatcha making?
05:04:51zachcartera roguelike
05:05:00ftsf_cool, nice to have another nim gamedev =)
05:05:08zachcarter:) how about you?
05:05:34*devted quit (Quit: Sleeping.)
05:05:36ftsf_making a racing game, https://twitter.com/impbox/status/765102630280409088
05:05:49ftsf_made a pico8 style api for nim on top of sdl2
05:06:01zachcarterah sweet
05:06:10zachcarterare you using opengl or the sdl2 rendering api?
05:06:16zachcarternot that that doesn’t use opengl
05:06:27ftsf_sdl2 rendering api
05:06:37ftsf_but doesn't make a lot of difference for my use case
05:06:44zachcarterright
05:06:51ftsf_since i do everything in software then just use sdl to put it on the screen
05:07:32zachcarteryeah, I was using libgdx and quite a few shaders in my project previously so I’m going to have to roll some kind of framework up
05:07:52zachcarterI’ve gotten sprite rendering working with nim + opengl + sdl2
05:07:58zachcarterso I just need to write a sprite batcher now
05:08:13ftsf_cool
05:08:16ftsf_havem
05:08:24ftsf_haven't tried libgdx but heard good things
05:08:40zachcarterit’s a nice library, but the JVM ugh
05:09:00ftsf_write once, wrong everywhere ;)
05:09:20zachcarterso true
05:09:54ftsf_trying to get my nim game running on the 3DS at the moment
05:10:15zachcarterah cool :D
05:11:19ftsf_so need to add a layer between my api and SDL/3DS's API
05:14:31ftsf_2d tile based roguelike?
05:25:00*inf0t3ch joined #nim
05:25:13*inf0t3ch left #nim ("AndroIRC")
05:25:13zachcarterI don’t think it’s going to be tilebased
05:25:21zachcarterwell it will be cell based
05:25:29zachcarterbut non-graphical
05:25:34zachcarterso just text and colors most likely
05:25:38ftsf_oh ok
05:25:44zachcarterunless I find an artist
05:26:19ftsf_ahh you mean using glyphs as graphics?
05:26:28zachcarteryeah exactly
05:26:31ftsf_cool cool
05:26:32zachcarterhere’s a world map generator I wrote - http://imgur.com/a/Le6ip
05:26:37zachcartera gif of the results anyway
05:26:59ftsf_very nice
05:27:02zachcarterthanks
05:27:40ftsf_i was making a semi roguelike survival game for pico8, quite fun. might port it to nim once i finish my current game
05:28:25ftsf_http://static.impbox.net/tempest/washedup2.gif
05:28:26zachcarterhttps://giphy.com/gifs/3oz8xBhVpOvJPuB37G?utm_source=iframe&utm_medium=embed&utm_campaign=tag_click
05:28:58zachcarterah neat
05:31:06zachcarterI have quite a bit prototyped - procedurally generated spaceships with lock and key puzzles in them
05:31:13zachcarterall of this is in Java of course though
05:33:48ftsf_*nods*
05:34:02ftsf_should be pretty quick to move over to nim, it's very nice to work in
05:34:30zachcarterI agree
06:31:22*zachcarter quit (Ping timeout: 256 seconds)
06:39:15*zachcarter joined #nim
06:53:36*nsf joined #nim
07:04:44*ftsf_ quit (Quit: :q!)
07:19:37*unlaudable joined #nim
07:21:48*bjz joined #nim
07:21:54*bjz quit (Client Quit)
07:24:34*filcuc joined #nim
07:27:02*shodan45 joined #nim
07:27:36shodan45hi #nim
07:28:38shodan45haven't been keeping up, too much work :(
07:28:53shodan45how's progress to 1.0 coming?
07:29:17Araqit's a moving target
07:30:25Araqbut progress is fine, new people are trying the language and fixing bugs
07:30:29shodan45Araq: heh, yeah, it's always fun setting your own goals when developing software
07:32:18shodan45there's been a fair bit of negative buzz around rust lately, maybe nim could weasel its way into what people were hoping rust would be
07:33:08shodan45nim has always looked "cleaner" to me, compared to rust, c++, etc.
07:33:29FromGitter<Varriount> shodan45: What negative buzz?
07:33:53*FromGitter * Varriount is a bee
07:34:02pleiosaurreferring to esr's screed, presumably
07:34:05shodan45http://esr.ibiblio.org/?p=7294
07:34:09shodan45pleiosaur: yeah
07:35:02FromGitter<Varriount> Ah, yes.
07:36:01pleiosaurcan't say I agree with his points there, but it's true that go suits his needs better than rust does. he wouldn't consider nim unless it was stable
07:36:05FromGitter<Varriount> But rust is memory safe! And doesn't leak! Surely no other programming languages have done that before!
07:36:24FromGitter<Varriount> :p
07:37:51pleiosaurpleiosaur: memory-safety is hardly unprecedented in programming languages, but memory safety without a pervasive garbage collector really is a neat thing
07:38:01pleiosaurdurp, that's for Varriount
07:38:58Araqon top of that, previously it was "common wisdom" memory safety without GC is actually quite impossible
07:42:03FromGitter<Varriount> Don't forget "garbage collection is always slow and inefficient"
07:42:24pleiosaurI'm intrigued at the mathematical implications of rust. IMO the two biggest knots in math are infinity and self-reference, and whereas langs like Coq provide guarantees by removing infinity rust removed the ability for data to cyclically reference itself (without unsafe, anyway)
07:43:57pleiosaureven without unsafe code rust is still turing-complete, but it feels like there might be a useful subcategory of turing-completeness in which to lump linear langs...
07:44:10shodan45this brings back a memory (heh) from when I was a kid.... there were supposedly a few old computers in a computer lab that "didn't have memory".... I wonder if that was true
07:45:23pleiosaurguess it depends on what they meant by "memory"... you could easily have a computer with nothing but ram, but even a computer with nothing but cpu registers could still do useful work
07:46:33cheatfatecpu registers - memory
07:47:08cheatfatecpu registers uses memory but this memory is more faster then other `memory`.
07:47:26*rokups joined #nim
07:47:42pleiosaureven then you can have circuits without memory... look at how domino calculators work (as in, calculators made of dominos)
07:47:48shodan45this was well over 20 years ago, so I could be misremembering
07:49:48*Vladar joined #nim
07:55:58FromGitter<Varriount> Araq: Want to give us any hints as to your upcoming gc/memory plans?
07:58:15Araqno.
07:58:23FromGitter<Varriount> Aw.
07:58:37FromGitter<Varriount> You're breaking my heart
08:00:17FromGitter<endragor> Interestingly, I found Nim after learning about Rust and discarded Rust for similar reasons as written in the blog post. Though ~1 hour research was enough for me. I found Rust async IO sample that did a simple thing in ~30 lines of ugly C++-like code, and then found Nim do the same in 5 lines of clean code. The choice was simple.
08:05:36*yglukhov joined #nim
08:16:27*filcuc quit (Ping timeout: 252 seconds)
08:21:22*unlaudable quit (Ping timeout: 248 seconds)
08:24:19*unlaudable joined #nim
08:28:19FromGitter<Varriount> @tekjar What was the thing
08:28:32Araqhttps://github.com/nim-lang/Nim/wiki/Hunting-crashes:-The-ultimate-guide
08:28:38Araqstill WIP though
08:32:36cheatfateAraq, with sighashes this guide needs some updates
08:38:08*yglukhov quit (Remote host closed the connection)
08:46:16*gokr joined #nim
08:46:26*sz0 joined #nim
08:54:58*unlaudable quit (Ping timeout: 248 seconds)
08:55:35*yglukhov joined #nim
08:56:31Araq1. name mangling is being worked on right now.
08:56:43Araq2. the guide is appropriate. locals get a 0 appended.
08:56:47*unlaudable joined #nim
08:57:03Araqyou disagree on what "local variable" means though :P
09:06:37rokupsAraq: there is no pragma for defining alignment?
09:08:13Araqthere is
09:08:31rokupsits not in docs ;)
09:14:09rokupsAraq: how that pragma is supposed to be used? i tried to put it everywhere and it always results in invalid pragma error. i need object to be 16 byte aligned to make mingw happy
09:15:24Araqtype Foo {.align: 16.} = object
09:15:26Araqiirc
09:18:07rokupswhat about this? type Coroutine = ref object / ctx {.align: 16.}: JmpBuf
09:18:20rokupsyour example not compiling either btw
09:21:04rokupsJmpBuf is also importc'ed if that makes any difference
09:21:25*cheatfate left #nim ("Leaving")
09:24:02*Andris_zbx joined #nim
09:25:28*couven92 joined #nim
09:31:15*Parashurama joined #nim
09:31:18Parashuramahey.
09:31:41ParashuramaAraq: I'm tackling https://github.com/nim-lang/Nim/issues/4992.
09:32:26Parashuramawhere do you think i should start? i went backward from the error message to semexprs.nim
09:32:34Araqoh yeah let me guide you
09:33:14Parashuramaso I got a backtrace from compiler in debug mode , raising inside localError
09:33:25Parashuramaand went from there
09:35:00Araqoh yeah let me guide you
09:35:06Araqbefore the error message add
09:35:09Araqecho n.id
09:35:15Araqor whatever the node is called
09:35:24Parashuramain localError?
09:35:36Araqand compile with 'koch -d:useNodeIds temp c test'
09:35:42Araqbefore the localError, yes
09:35:49Araqthis then outputs a node id
09:35:54Araqthen edit ast.nim
09:36:28Araqwhen defined(useNodeIds):
09:36:28Araq const nodeIdToDebug* = -1 # 299750 # 300761 #300863 # 300879
09:36:44Araqchange the -1 to the node ID that was echo'ed
09:36:56Araqdo 'koch -d:useNodeIds temp c test' again
09:37:15Araqlook at the stack trace, it tells you were the node with missing line information was created
09:38:38Araqsometimes the output says "comes from xxx"
09:38:58Araqthen you change nodeIdToDebug to that xxx
09:39:05Araqand repeat until you see the cause
09:39:09Parashuramaokay koch doen't know -d:useNodeIds I just tried latest devel
09:39:17Araqnim c koch
09:39:26Araqoh my bad, it's
09:39:34Araqkoch temp -d:useNodeIds c
09:39:53Araqwhich is *very* different from 'koch temp c -d:useNodeIds'
09:39:59Araq(don't ask...)
09:40:30Araqyou can also modify compiler/nim.cfg and set the --define there
09:41:43Parashuramaokay that works.
09:42:27ParashuramaI will follow your inidcations and get back to you, thanks
09:43:23Araqyou can also grep for 'nkRange', these are pretty much the only nodes left without line info
09:47:00*yglukhov quit (Remote host closed the connection)
09:50:15*yglukhov joined #nim
09:53:03*yglukhov quit (Remote host closed the connection)
09:56:16*yglukhov joined #nim
10:11:27*vlad1777d joined #nim
10:23:49*bjz joined #nim
10:24:37*yglukhov quit (Remote host closed the connection)
10:25:12*yglukhov joined #nim
10:25:40*yglukhov quit (Remote host closed the connection)
10:25:53*yglukhov joined #nim
10:26:51ParashuramaAraq: the problem seems to be in quote do: `aLen` and `bLen` . message is KIND nkIntLit
10:27:35Parashuramaresplace `alen` or `bLen` by the integer value fixes the lineinfo problem
10:31:45Araqpost the stacktrace creating the node without info?
10:34:23Parashuramahttps://gist.github.com/Parashurama/e39e3766a9403c0a020e785a8b3cdb5f#file-nim-stacktrace
10:34:51Parashuramawhy the hell are newline messup?
10:35:11*yglukhov quit (Remote host closed the connection)
10:36:16Parashuramafixerd: apparently gist doen't like linux newlines.
10:38:11Parashuramabtw i was wrong, it may not be `aLen`i inavertantly comment out a ligne before the expression so made the debugNodeid invalid
10:40:09Araqah in the VM it's a bit tricky but c.debug[pc] gives you the line number of the currently running VM instruction (pc = program counter=
10:40:11Araq)
10:45:58*_yeeve joined #nim
10:48:02*bjz quit (Read error: Connection reset by peer)
10:49:28*yeeve quit (Ping timeout: 245 seconds)
10:50:20*gokr left #nim (#nim)
10:54:49*yglukhov joined #nim
10:55:58ParashuramaAraq: I kinda have a fix. I just use TLineInfo from c.debug[pc] into bugged node.info. It's the wrong line, but it's the original quote do: call.
10:59:48*sz0 quit (Quit: Connection closed for inactivity)
11:00:53Araqsounds better than no line information
11:02:11ParashuramaThat's what I thought. I will still investigate why don't have any kind of information for nkIntLit in this quote do block.
11:04:41*PMunch joined #nim
11:17:40*bjz joined #nim
11:20:54*Kingsquee joined #nim
11:22:35*bjz quit (Ping timeout: 264 seconds)
11:23:01*bjz_ joined #nim
11:49:31*Gilga joined #nim
12:04:05*Snircle joined #nim
12:04:07*Arrrr joined #nim
12:04:59*ekarlso_ quit (Ping timeout: 256 seconds)
12:09:31GilgaAnyone has a sec?
12:09:57rokupsjust ask
12:10:01GilgaNever mind
12:10:09GilgaI just found out :p
12:10:17GilgaThanks though ^
12:14:01*arnetheduck joined #nim
12:19:07GilgaAnyone know how to use cast tainted string to string?
12:19:24Gilgafoo.string is not working.
12:21:22Araqit does work.
12:21:54GilgaOk, in that case I'll look further into it.
12:32:22rokupsis there a way to turn simple `proc()` to a native callback?
12:34:30Araqrokups: () => p()
12:34:40Araqimport future
12:34:50Araqhmm my own code needs this https://github.com/nim-lang/Nim/pull/5001
12:35:16Araqdoes that mean it should be merged right away? :-9
12:35:19rokupsAraq: i am not sure what that means. what do i search documentation for?
12:35:31rokupso wait, i think i know\
12:35:51rokupsis there a way without importing future? i would like to not make coroutines depend on future :p
12:36:10Araqsure, (proc () = p())
12:36:53*jjido joined #nim
12:37:12rokupsaww yisss, almost works ^_^
12:37:26*arnetheduck quit (Ping timeout: 256 seconds)
12:44:44PMunchAraq, oh yeah. Feel free to merge it :)
12:49:13FromGitter<dom96> This is some impressive HTTP performance: https://news.ycombinator.com/item?id=13539767
12:49:25FromGitter<dom96> I'm still unsure whether I believe it.
12:51:40*bjz_ quit (Ping timeout: 240 seconds)
12:52:03*bjz joined #nim
13:06:10federico3dom96: from a 1km view sounds a little bit like overoptimization
13:11:53PMunchAs noted in the comments it uses pipelining which really isn't used all that much
13:12:03PMunchAnd which will instantly give a significant boost
13:17:33*MrAxilus[m] quit (Ping timeout: 255 seconds)
13:20:02FromGitter<endragor> they are not used by browsers (mainly because servers don't support it properly), but if a company builds backends based on microservices (very common these days) then they can enforce that each microservice makes use of pipelining
13:20:59FromGitter<endragor> they are not used -> pipelining is not used
13:24:36PMunchAh yes of course, but building a web-server on it wouldn't give you much of a performance boost
13:29:04*MrAxilus[m] joined #nim
14:15:19*rupil joined #nim
14:26:16*Parashurama left #nim (#nim)
14:28:10FromGitter<dom96> Good points.
14:29:01FromGitter<dom96> I wonder how GitLab's backup screw will affect them. A true test of "even bad PR is good PR".
14:45:18FromGitter<dom96> *screw up
14:46:06rokupsAraq i crash after returning from first coroutine on mingw64. im out of ideas. please make your edicated guess https://www.irccloud.com/pastebin/cdkTyxKB/
14:48:18rokupscoroutines work on all supported compilers and release/debug/optimization combinations on linux and windows and linux except for mingw64. so close, but so far..
14:51:25PMunchdom96, yeah I'm very curious as well. I think that their transparency might save them though
15:05:41*PMunch_ joined #nim
15:05:51*PMunch_ quit (Remote host closed the connection)
15:10:47Araqrokups: the default GC cannot work with coroutines ?
15:11:03Araquse the M&S GC for now
15:11:40rokupsthanks for the guess :) a year ago when i started with this you helped me to patch default gc ;) thought maybe this would be something obvious. turns out bug from older code creeped in, almost got it ;)
15:21:46Araqrokups: compile with -d:useSysAssert -d:useGcAssert
15:28:15*synshroud quit (Quit: ZNC 1.6.4 - http://znc.in)
15:30:17*zetashift joined #nim
15:32:10*devted joined #nim
15:37:50*ekarlso_ joined #nim
15:39:38AraqPMunch: thinking about it, it would be weird to allow this. so 'self' is your 2nd parameter but it's not injected at the 2nd position in calls?
15:39:59Araqvery confusing.
15:40:17Araqso only field accesses would work reliably I guess then.
15:40:18PMunchI'm not sure I follow
15:41:32PMunchThe reason I wanted it was to be able to do renderer.draw(myobject, 0,0) and have myobject as self
15:41:52demi-imo that calling convention is very weird
15:42:14demi-if anything `self` should be the first parameter
15:42:14AraqPMunch: but why? so that myobject.field works?
15:46:03PMunchWell, I have multiple files with various objects. They all implement their own draw function. But I want to be able to do renderer.draw so the renderer is my first argument. This means that I couldn't use {.pragma: self.}. So I proposed to allow self in any position so that I could use the function as if it was a function that belonged to myobject
15:47:08jjidoYou dislike myobject.draw(renderer,0,0)
15:47:15jjido?
15:47:57PMunchYes
15:48:02demi-I would argue that `draw` should be `drawWithRenderer`
15:48:29FromGitter<andreaferretti> @PMunch a very confusing use case indeed
15:48:37jjidodemi- are you an ObjC transfugee
15:48:55FromGitter<andreaferretti> having self in second position is just... unexpected
15:49:18demi-jjido: sorry, is that method too verbose for you?
15:49:19PMunchBut should it be disallowed?
15:49:40PMunchdemi-, well in my program it's actually called render
15:49:51PMunchSo it would be renderer.render(myObject,<arguments>)
15:50:21demi-PMunch: naming problems shouldn't translate to calling convention problems
15:50:56jjidodemi- no it is just making me smile. Seen so many methods with such name
15:51:14VladarI started with something like that, then moved the renderer reference to a global variable. How often do you even use more than one renderers?
15:51:48PMunchSelf doesn't really change anything though. It's just a helper for whoever writes the function. So the argument could be made that anything that would help the writer would be beneficial
15:51:57PMunchVladar, I do
15:52:05PMunchDouble buffering for transparency
15:52:36demi-PMunch: I think that is weak at best, since it only adds confusion in implmentation as yet another piece of tech debt that has to be held in memory when analyzing any code
15:52:40PMunchI draw the entire scene to a renderer. Then I render it twice, once for the actual scene, once as a flipped transparent version as a reflection.
15:52:55PMunchdemi-, that's a fair point..
15:53:24PMunchBut it is specified that self works this way. So if you already know about self then you would understand what's going on.
15:54:15demi-it makes assumptions on the knowledge the person reading the code has, which imo is a red flag for something not good going on.
15:54:25AraqPMunch: can you answer my question please? so your 'self' is explicit in your calls anyway
15:54:44Araqso you only want its implicitness for field accesses?
15:54:59*synshroud joined #nim
15:55:37PMunchYes
15:56:01PMunchI want to not have to prefix all field access to myObject in the renderer function for that object
15:56:40PMunchSo that when I write my files (which represent an object) I can use self for all functions and I won't have to use variableName.pos for example
15:56:41jjidoIs it in VB? There are With blocks
15:57:21Araqit may surprise you but I never looked at VB when designing Nim :-)
15:58:52demi-PMunch: so you want `self.pos` instead of `variableName.pos` instead of the scope of the function?
15:59:57PMunchNo, self makes them accessible as just pos
16:00:01PMunchWithin the functon
16:00:04PMunchfunction
16:00:17FromGitter<barcharcraz> I think there's a pragmatic for that
16:00:23FromGitter<barcharcraz> *pragma
16:00:27PMunchhttps://nim-lang.org/docs/manual.html#overloading-resolution-automatic-self-insertions
16:00:39yglukhovdistinct pointers cannot be compared with nil, neither checked for isNil. is this a bug?
16:00:51PMunchbarcharcraz, this is using the pragma
16:01:14PMunchWe're discussing if it should be allowed to use self in any position in a function call or just the first position
16:03:24demi-from an implementation perspective it sounds like you basically want to add boilerplate to shuffle all the input values to any call in any order so that they can be put back into an order to perform the call or to give them distinct variables as parameters once the call is made?
16:05:11Araqyglukhov: er, there was a PR to enable that
16:05:27rokupsAraq: now thats a piece of work: https://github.com/nim-lang/Nim/pull/5317
16:05:28Araqtnildistinct in tests/distinct or something
16:10:30*jjido quit (Ping timeout: 256 seconds)
16:12:08PMunchdemi-, not really..
16:12:19PMunchhttps://github.com/nim-lang/Nim/pull/5001
16:12:27PMunchThat's the only change I'm proposing
16:15:01AraqPMunch: I think the feature would be too confusing. so 'self' is injected as the first parameter even if used as the Nth?
16:16:35*unlaudable quit (Ping timeout: 264 seconds)
16:18:00PMunchNo, the object is just available as it would with self (and the pragma {.this: self.}) no matter where it is
16:18:05PMunchSo you could do:
16:18:13PMunch{.this: self.}
16:18:34PMunchproc hello(msg:string, self: myObject) =
16:18:43PMunch sayHi(msg)
16:19:21PMunchOr rather sayHi(msg+name) with name as a property of myObject.
16:19:50PMunchYou could of course use {.this: whatever.} as well
16:22:05demi-wouldn't that changeset cause a non-trivial amount of overhead to each function call based on the position of `self:`?
16:25:43PMunchWell, it's not nothing. But it's pretty small
16:26:01PMunchFor all non-self arguments it just checks if they are self or not
16:26:58demi-but it has to iterate over all arguments to any function call to resolve `self` correctly, no?
16:28:08PMunchYes
16:28:21PMunchBut this is all on compile-time
16:29:02demi-that seems like a non-trivial amount of overhead and complexity introduced?
16:29:47PMunchWell, I haven't tried it but that is entirely possible
16:29:59PMunchI didn't notice any change though when I tried it.
16:32:59PMunchBut then again this is only for the pragma {.this: self.}, so it shouldn't happen to all functions
16:33:10PMunchJust those marked with that pragma, or am I mistaken?
16:34:12*couven92 quit (Ping timeout: 252 seconds)
16:35:55*couven92 joined #nim
16:36:28Araqyes but .this: self will become the default
16:37:09Araqhowever this "search" though the param list is pretty much free, everything else in the compiler takes more time :-)
16:40:07PMunchAh right, optionally, if it takes too long (many drops makes an ocean) it could be an additional pragma. But then the case can be made that it might be confusing.
16:41:24demi-and as the ability to configure something increases the quality decreases as more and more edgecase behavior and bugs get introduced.
16:42:01*adeohluwa joined #nim
16:50:52*Andris_zbx quit (Remote host closed the connection)
17:02:38*Trustable joined #nim
17:03:56*yglukhov quit (Remote host closed the connection)
17:05:09*brson joined #nim
17:06:43*yglukhov joined #nim
17:08:13*yglukhov_ joined #nim
17:08:13*yglukhov quit (Read error: Connection reset by peer)
17:08:34*jjido joined #nim
17:08:43*PMunch quit (Quit: leaving)
17:12:26*yglukhov_ quit (Ping timeout: 255 seconds)
17:15:41*adeohluwa quit (Quit: Lost terminal)
17:33:01*nsf quit (Quit: WeeChat 1.7)
17:52:09*jjido quit (Ping timeout: 240 seconds)
17:58:09*yglukhov joined #nim
17:58:18*Kingsquee quit (Read error: Connection reset by peer)
17:58:36*Kingsquee joined #nim
17:59:24*vlad1777d quit (Quit: Leaving)
18:00:24FromGitter<konqoro> hey should this code compile? https://gist.github.com/konqoro/5b9249aa28f54e39dc0628e8e5d006a2
18:00:44FromGitter<konqoro> (it has no commas)
18:00:56*yglukhov quit (Remote host closed the connection)
18:01:08*yglukhov joined #nim
18:02:14*vlad1777d joined #nim
18:03:12rupilI'm assuming yes. The example found at https://nim-by-example.github.io/oop/ has the same syntax.
18:04:53FromGitter<konqoro> hm gonna edit it anyway, thanks rupil
18:07:15*adeohluwa joined #nim
18:07:23adeohluwahello
18:07:36adeohluwaafter compiling nimrepl
18:08:11adeohluwai get a gui with two panes and once i press enter it quits
18:10:07adeohluwathere is also nrpl but it seems to be outdated
18:13:19ArrrrBurn it with fire
18:14:51*nsf joined #nim
18:16:20*yglukhov quit (Remote host closed the connection)
18:19:07adeohluwalmao!
18:19:45FromGitter<konqoro> adeohluwa: there is "nim secret" try it
18:22:11adeohluwathank u konqoro
18:22:42adeohluwahow do i get that, nimble install doesnt work for me
18:22:58FromGitter<konqoro> np, although I think it is not officially supported and might be removed
18:23:15FromGitter<konqoro> just type "nime secret" in terminal
18:23:41*Trustable quit (Remote host closed the connection)
18:23:55*zetashift quit (Quit: Leaving)
18:24:36*yglukhov joined #nim
18:24:39*jjido joined #nim
18:24:50adeohluwajeez! now that works...
18:24:52adeohluwabless
18:40:27*xet7 joined #nim
18:41:14*adeohluwa quit (Quit: Lost terminal)
18:41:27*Matthias247 joined #nim
19:01:01*rupil quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
19:03:46*nsf quit (Quit: WeeChat 1.7)
19:09:02*byte512 joined #nim
19:15:55dom96nice to see that we have appveyor builds now. Thanks cheatfate :)
19:23:41*byte512 quit (Ping timeout: 240 seconds)
19:27:25*hendi_ joined #nim
19:39:47*xet7 quit (Quit: Leaving)
19:40:28*couven92 quit (Quit: Client disconnecting)
19:47:37FromGitter<Varriount> If you want make a macro
19:55:32*hendi_ quit (Quit: hendi_)
20:01:11*krux02 joined #nim
20:03:36krux02Araq: Is it possible, to create a Table[NimSym, NimNode]?
20:03:47krux02My fallback solution would be to use strings
20:03:55krux02Table[string, NimNode]
20:13:39*huonw quit (Ping timeout: 252 seconds)
20:15:57*huonw joined #nim
20:19:37Araqthere is no hash for NimSym and I dunno about ==
20:19:40Araqso no.
20:22:22*couven92 joined #nim
20:27:09*krux02 quit (Remote host closed the connection)
20:45:37*gangstacat quit (Quit: Ĝis)
20:51:42*gangstacat joined #nim
20:54:58*brson quit (Ping timeout: 248 seconds)
20:55:13*brson joined #nim
21:01:36*adeohluwa joined #nim
21:05:45*nsf joined #nim
21:05:54*kunev quit (Ping timeout: 258 seconds)
21:06:15*Trustable joined #nim
21:07:21*kunev joined #nim
21:12:07*rokups quit (Quit: Connection closed for inactivity)
21:16:16*Arrrr quit (Disconnected by services)
21:16:17*Arrrr1 joined #nim
21:17:05*Arrrr1 quit (Client Quit)
21:19:03*adeohluwa quit (Ping timeout: 245 seconds)
21:37:16*Vladar quit (Quit: Leaving)
21:38:50*zetashift joined #nim
21:40:07*jjido quit (Ping timeout: 240 seconds)
21:42:40*jjido joined #nim
22:05:22*PMunch joined #nim
22:09:23*Trustable quit (Remote host closed the connection)
22:38:46*kulelu88 joined #nim
22:39:49zachcarterhttp://imgur.com/a/0s24L I got index buffer objects working now as well as transformation matrices :D
22:44:13*vitalyx joined #nim
22:45:34*nsf quit (Quit: WeeChat 1.7)
22:54:51*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:56:49PMunchHmm, how do I get the string value of an Ident?
22:58:08*jjido quit (Ping timeout: 255 seconds)
23:02:54PMunchNever mind, figured it out $ to the rescue
23:06:08*devted quit (Quit: Sleeping.)
23:17:13*CcxWrk quit (Ping timeout: 256 seconds)
23:22:47*CcxWrk joined #nim
23:23:23PMunchHmm, I can do [] for an untyped and get the nth child, but I can't do [1..<something>]
23:23:31PMunchWhat I really want is everything but the first
23:24:56*Matthias247 quit (Read error: Connection reset by peer)
23:33:29*ftsf_ joined #nim
23:36:41*zetashift quit (Quit: Leaving)
23:38:17*yglukhov quit (Remote host closed the connection)
23:49:59*def-pri-pub joined #nim
23:54:09*brson quit (Ping timeout: 248 seconds)