<<30-05-2017>>

00:09:30*yingjun joined #nim
00:09:45*smt joined #nim
00:13:27*yingjun quit (Ping timeout: 240 seconds)
00:16:50*PMunch quit (Quit: leaving)
00:32:09*smt quit (Read error: Connection reset by peer)
00:34:32*smt joined #nim
01:14:07*chemist69 quit (Ping timeout: 246 seconds)
01:27:43*chemist69 joined #nim
01:47:34*skrylar joined #nim
01:54:27*yglukhov joined #nim
01:58:05FromGitter<zacharycarter> 3d musings in frag today so far http://imgur.com/a/iLQbw
01:58:35*yglukhov quit (Ping timeout: 240 seconds)
01:59:47*Hekaton joined #nim
02:02:08*Hekatonkiros quit (Ping timeout: 258 seconds)
02:11:56*yingjun joined #nim
02:16:27*yingjun quit (Ping timeout: 240 seconds)
02:22:21skrylarare those actual mac borders or a weird linux skin
02:22:40ftsf\o/ 3d!
02:22:45skrylaralthough i think their new ui guy flattened all the buttons so, meh
02:22:47skrylar\o/ 3d
02:22:53ftsfdef-pri-pub, looks good, i'll give it a test
02:23:12skrylarneed to update my opengl skillset actually :<
02:23:22skrylaronly ever did a small amount of gl2. sadly GL2 is still relevant
02:24:00FromGitter<zacharycarter> those are actual mac borders
02:24:09skrylarshiny
02:24:54def-pri-pubftsf: Please do it quick if you can. I'd like to get the new version of the package out within the next 20 minutes
02:28:06*daaf joined #nim
02:30:12ftsftrying to figure out how to get a patch out of gitlab
02:32:06ftsfdef-pri-pub, cool, looks good. raises the exception on missing image, works correctly when the image is present.
02:32:10ftsfdefinitely an improvement.
02:32:33skrylaroh. poop. i finally realized why people don't always do hardware skinning
02:32:44skrylarworks great for the gpu. doesn't work at all for the collision detector
02:34:28ftsfdo you use skinning in your collision detection?
02:35:09skrylarwell i don't do any of that 'cause i don't sell games.
02:35:15skrylarbut yes a lot of people do
02:35:58ftsfhmm Shadow of the Colossus I guess
02:36:38skrylarfps games and action rpgs
02:36:55ftsfhmm mostly they use bounding box style hitboxes for collision detection.
02:36:58skrylarthey animate hitboxes yeah
02:37:03ftsfand the animation skinning is just for show
02:37:18skrylarwell you might have a cube attached to the limbs
02:37:26skrylaryou'd still have to cpu skin *those*
02:37:31skrylarunless you have compute shaders
02:37:39skrylarwhich 8 year old computers don't iirc
02:37:40ftsfyeah you can get the output of the shader
02:37:46ftsfdon't need compute shaders
02:38:00ftsfyou can fake it with fragment shaders
02:38:17ftsfbut on 8 year old computers you'd do software skinning anyway
02:51:44def-pri-pubftsf: v1.3 should be on nimble now
03:01:33*daaf quit (Ping timeout: 258 seconds)
03:03:53*LeNsTR quit (Ping timeout: 246 seconds)
03:13:19*yingjun joined #nim
03:14:44*chemist69 quit (Ping timeout: 240 seconds)
03:15:23ftsfdef-pri-pub, awesome, thanks
03:17:25*yingjun quit (Ping timeout: 240 seconds)
03:19:41*chemist69 joined #nim
03:42:46*pilne quit (Quit: Quitting!)
03:56:23*yglukhov joined #nim
04:00:35*yglukhov quit (Ping timeout: 246 seconds)
04:16:39*def-pri-pub quit (Quit: leaving)
04:47:52*vlad1777d joined #nim
05:02:29*Parashurama joined #nim
05:18:49*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
05:43:45ftsfseems nim syntax parsers all fail at 100'u32 type expressions.
05:43:49ftsferr highlighters
05:44:01ftsfnoticed it on github too
05:50:44*yingjun joined #nim
05:54:57*yingjun quit (Ping timeout: 240 seconds)
05:58:28*yglukhov joined #nim
06:03:27*yglukhov quit (Ping timeout: 272 seconds)
06:12:19*Hekaton quit (Ping timeout: 272 seconds)
06:29:09*rauss quit (Quit: WeeChat 1.8)
06:41:48ftsfhmm nim-lang/sdl2 appears to be mostly autogenerated, would be good to include the code/commands to autogenerate it in the repo for updating.
06:53:33skrylarmight just be c2nim
06:54:06skrylari have a hand binding of nanovg. although i don't know if its better than fowl's
06:54:18skrylaralso one of jack. but well.
06:54:22skrylardunno how to get things in to nimble
06:54:41skrylarlooks like we need gtk3 too ._.
06:55:04ftsfnimble publish
06:55:08*yingjun joined #nim
06:57:47*rokups joined #nim
06:59:23*yingjun quit (Ping timeout: 240 seconds)
07:12:43*arnetheduck joined #nim
07:19:56*Arrrr joined #nim
07:19:56*Arrrr quit (Changing host)
07:19:56*Arrrr joined #nim
07:23:06*yglukhov joined #nim
07:24:30*yglukhov quit (Remote host closed the connection)
07:24:46*yglukhov joined #nim
07:27:02skrylaralright, put the jack bindings on nimble
07:27:30*Andris_zbx joined #nim
07:28:56*couven92 joined #nim
07:37:32*yglukhov quit (Remote host closed the connection)
07:45:55*yglukhov joined #nim
07:46:47rokupsbest of both worlds constructors: https://gist.github.com/rokups/19f82c6ed8c55780e1c39837bd416182
07:57:41*yglukhov quit (Remote host closed the connection)
07:59:54*yglukhov joined #nim
08:01:15*yglukhov quit (Remote host closed the connection)
08:15:02skrylarhmm. i don't see .ctor. in the nim docs
08:15:59skrylaroh. nvm.
08:16:01skrylarmacro as a pragma.
08:17:00*benny_ joined #nim
08:17:23rokupsbe nice if it was in docs and in stdlib yeah..
08:17:43skrylari didn't read it very closely the first time
08:20:12*skrylar reads over the plist binding
08:20:32skrylari know why people do this, but i wish they dropped the type prefixes on procs
08:21:11rokupsyou mean first typedesc parameter..?
08:21:17skrylarno i mean
08:21:25skrylarproc plist_dict_get_item*(node: plist_t...)
08:21:44rokupsoh totally
08:22:00skrylarwhen i do them i drop the prefix because then nim will happilly do node.dict_get_item
08:22:13skrylarwhich you can then templatize with an operator, because nim is awesome
08:22:16skrylar*to an
08:22:45skrylari've heard the case made you should keep bindings as close to C as possible so that the original docs and examples hold
08:23:45rokupsalso it kind of makes sense when its called like plist_dict_get_item(node, ...). Not so much in case of node.plist_dict_get_item(...). So one or the other suffers
08:24:24skrylari guess one could always just put templates over them as aliases
08:25:18skrylarported my cruddy tensors to nim finally. was happy that template was powerful enough to create some of the filler functions i was using m4 in c with
08:27:23*xet7 quit (Ping timeout: 240 seconds)
08:38:14FromGitter<Varriount> Hrm. The JSON module treats all object keys as strings... This is something of a deficiency
08:40:37*xet7 joined #nim
08:46:26*yglukhov joined #nim
08:48:11*yglukhov_ joined #nim
08:48:11*yglukhov quit (Read error: Connection reset by peer)
08:52:41*yglukhov_ quit (Read error: Connection reset by peer)
08:53:14*yglukhov joined #nim
08:53:35*yglukhov quit (Read error: Connection reset by peer)
08:54:00*gokr joined #nim
08:54:06*yglukhov joined #nim
08:54:44*yglukhov_ joined #nim
08:56:55*yingjun joined #nim
08:57:01*krux02 joined #nim
08:58:53*yglukhov quit (Ping timeout: 272 seconds)
09:01:26*krux02 quit (Remote host closed the connection)
09:02:03*yingjun quit (Ping timeout: 272 seconds)
09:14:15*Vladar joined #nim
09:15:37*krux02 joined #nim
09:18:32*krux02 quit (Remote host closed the connection)
09:25:56*krux02 joined #nim
09:27:28*athie quit (*.net *.split)
09:27:29*skrylar quit (*.net *.split)
09:27:29*dom96 quit (*.net *.split)
09:27:30*htnjns quit (*.net *.split)
09:27:30*def- quit (*.net *.split)
09:29:55*jonafato quit (Ping timeout: 240 seconds)
09:30:35*krux02 quit (Remote host closed the connection)
09:32:39*jonafato joined #nim
09:50:04*athie joined #nim
09:56:54*dom96 joined #nim
10:13:33*skrylar joined #nim
10:13:33*htnjns joined #nim
10:13:33*def- joined #nim
10:14:01*sh4m3 joined #nim
10:16:19*sh4m3 quit (Quit: leaving)
10:21:51*PMunch joined #nim
10:23:40FromGitter<ephja> ```proc `()`*(T: typedesc[Foo]): T = T(x: 1)``` ⏎ ⏎ ? :p [https://gitter.im/nim-lang/Nim?at=592d482c5e34568d5ea50b15]
10:26:02FromGitter<ephja> nah that won't work of course
10:40:22FromGitter<ephja> it would be nice to have a shortcut for something as common as this, but there are more important things to worry about
10:40:46ArrrrWhy don't directly `proc `()`*(t: typedesc[Foo]): Foo = Foo(x: 1)` ?
10:41:42Arrrr`proc `()`*[T](t: typedesc[T]): T = T(x: 1)` also works, at least for 0.16
10:44:28FromGitter<ephja> Arrrr: works, how? T() will still invoke the object constructor
10:48:04ArrrrMm, you are right, it is actually calling the default const
10:48:59ArrrrOn the other hand `()`(Foo) ...
10:50:08*skrylar quit (Ping timeout: 260 seconds)
10:50:56*Neomex joined #nim
10:55:15FromGitter<ephja> yes that works, but it's ugly
11:02:47*Snircle joined #nim
11:05:50ArrrrBeauty is in the eye of the beholder
11:06:18ArrrrGood lord, save me from `recursive module dependency`
11:08:05FromGitter<ephja> "echo ()(T, 1)" for example would not work because of operator precedence
11:09:52FromGitter<mratsim> You can do `proc xyzT: Foo (t: typedesc[T]): Foo`
11:12:20FromGitter<ephja> I would prefer that convention over what we have now
11:13:27FromGitter<mratsim> nothing prevents you from using it ;)
11:14:16FromGitter<ephja> I'll adhere to the official conventions for now
11:14:50*aziz joined #nim
11:16:19FromGitter<ephja> Anyway, that macro could also act as metadata for documentation generators and other things
11:16:29FromGitter<mratsim> Where did you find them? By the way, you are forced to use my alternative if Foo is an abstract type. You can’t do proc xyz(t: typedesc[int or float]): auto =
11:28:43FromGitter<ephja> well I've come close. I'm not sure if the limitations I've run into are bugs though
11:38:31FromGitter<ephja> @mratsim what limitations did you have in mind? how about this pattern: ⏎ ⏎ ```proc init[U](t: typedesc[T[U]], x: U): t = t(x: x)``` ⏎ ⏎ ? [https://gitter.im/nim-lang/Nim?at=592d59b738b37b98283b64e8]
11:39:48FromGitter<mratsim> I didn’t have any limitations though, you need to declare T as a Generic here by the way.
11:40:18FromGitter<ephja> T[U] = object
11:40:19FromGitter<mratsim> It seems like a pattern `classy`could cover
11:41:23FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=592d5a635e34568d5ea55bae]
11:41:51FromGitter<ephja> but it gets more complicated if you want to use a macro like the one posted earlier: https://gist.github.com/rokups/19f82c6ed8c55780e1c39837bd416182
11:42:40FromGitter<ephja> rokups: do you want to discuss it on the forum?
11:43:06FromGitter<ephja> or maybe on github
11:43:15*krux02 joined #nim
11:43:25FromGitter<rokups> i need to catch up with the discussion
11:45:35FromGitter<rokups> this must be a continuation of earlier discussion eh?
11:47:27FromGitter<ephja> you're right
11:47:51FromGitter<rokups> no wonder i dont quite follow :) i am sure interested in constructor discussion though
11:48:01*chrisheller quit (Remote host closed the connection)
11:48:12FromGitter<mratsim> I was pulled in randomly as well ;)
11:50:58FromGitter<ephja> @rokups I found your post
11:57:53FromGitter<rokups> btw macro appears to work with `proc init(): int or float {.ctor.} = 1`
11:59:27*yingjun joined #nim
12:00:21*couven92 quit (Quit: Client disconnecting)
12:04:14*yingjun quit (Ping timeout: 268 seconds)
12:21:35*pilne joined #nim
12:23:58*xet7 quit (Ping timeout: 268 seconds)
12:35:21*xet7 joined #nim
12:36:53krux02wasn't it that repr at runtime is supposed to be deprecated in the future?
12:37:15*Neomex quit (Quit: Leaving)
12:37:48*CcxWrk quit (Ping timeout: 240 seconds)