<< 30-07-2017 >>

00:00:46*smt_ joined #nim
00:02:24*smt__ joined #nim
00:03:30smsHas anybody used Gstreamer with Nim yet?
00:05:02*smt quit (Ping timeout: 260 seconds)
00:06:12*smt_ quit (Ping timeout: 260 seconds)
00:17:43*Nobabs27 joined #nim
00:22:13*litewave808 joined #nim
00:31:27FromGitter<zacharycarter> @sms never heard of gstreamer
00:38:43smsIt's a C lib for playing audio and video
00:45:12FromGitter<zacharycarter> looks interesting but I haven't played with it
00:45:20FromGitter<zacharycarter> are you thinking of binding to it?
00:46:59FromGitter<zetashift> Just started some small stuff with kotlin and gradle. I find nimble so much better than gradle it hurts
00:47:14FromGitter<zetashift> Might just be the initial overhead tho
00:48:23FromGitter<zacharycarter> Kotlin is nice, gradle not so much
01:04:11smsWhat is this 'FromGitter' thing
01:04:17smsWhy can't I just see messages directly
01:04:18smssms test
01:04:53smsBut yeah, I'm considering binding
01:07:12FromGitter<zacharycarter> because I'm on gitter :P
01:07:26FromGitter<zacharycarter> cool! I'm sure there could be other people who would find the bindings useful
01:27:35*litewave808 quit (Remote host closed the connection)
01:29:50*chemist69 quit (Ping timeout: 240 seconds)
01:42:31*Sentreen quit (Quit: WeeChat 1.4)
01:42:41*Sentreen joined #nim
01:43:55smsOhhh
01:43:56*chemist69 joined #nim
01:44:01smsDidn't know that was a thing
01:44:06smsLot of people in here on gitter apparently
01:50:30*eizua joined #nim
02:05:31*BitPuffin quit (Remote host closed the connection)
02:07:01*vendethiel joined #nim
02:15:58*bjz joined #nim
02:23:46*Serenitor joined #nim
02:24:03Serenitorany idea what that could mean?
02:24:05SerenitorError: system module needs 'reprAny'
02:28:12*yingjun joined #nim
02:32:17*yingjun quit (Ping timeout: 240 seconds)
03:01:53*mwbrown quit (Ping timeout: 248 seconds)
03:12:06*mahmudov quit (Remote host closed the connection)
03:25:12*def-pri-pub quit (Quit: leaving)
03:27:20*dankrad quit (Ping timeout: 260 seconds)
03:32:51*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:35:57*flaviu joined #nim
03:39:50*bjz joined #nim
03:40:06flaviuI'm a little late, but congrats on releasing 0.17! The new website looks great too.
03:56:37*mwbrown joined #nim
04:07:30*mwbrown quit (Quit: Exiting)
04:09:56*mwbrown joined #nim
04:27:03Serenitornvm the thing with repr, better question:
04:27:03Serenitorfrom the manual: "In order to simplify structural type checking, recursive tuples are not valid:"
04:27:03Serenitorwhat if I do want that though? like a node referencing child nodes of the same type for example.
04:27:03Serenitoror a tuple referencing a proc of which one of the arguments has said tuple as type.
04:27:03Serenitorany solutions for that other than pointer and cast?
04:31:39*gokr joined #nim
04:32:23Serenitoroh nevermind... I just have to use objects instead
04:33:04*eizua quit (Remote host closed the connection)
04:48:02*sms quit (Quit: WeeChat 1.9)
04:57:37*Nobabs27 quit (Quit: Leaving)
05:30:15*yingjun joined #nim
05:34:44*yingjun quit (Ping timeout: 260 seconds)
05:43:13*pilne quit (Quit: Quitting!)
05:49:39*smt__ is now known as smt
05:50:20*Serenitor quit (Quit: Leaving)
05:54:48*endragor joined #nim
06:33:15*endragor_ joined #nim
06:35:06*gokr quit (Quit: Leaving.)
06:36:20*endragor quit (Ping timeout: 260 seconds)
06:38:30*dddddd quit (Ping timeout: 255 seconds)
06:42:33*spkpp quit (Remote host closed the connection)
06:45:32FromGitter<timmyjose> Hey guys, just curious. Is there any tentative date for when 1.0 will be reached? I couldn't find it on the nim lang website
07:03:17*nsf joined #nim
07:04:41*planhths joined #nim
07:05:05FromGitter<zacharycarter> @timmyjose nope I don't believe there's a date
07:19:54FromGitter<timmyjose> @zacharycarter Awww :(
07:25:45*rokups joined #nim
07:32:00*yingjun joined #nim
07:33:37FromGitter<zacharycarter> @timmyjose the project is being actively worked on though which is a good thing, just I think the creator wants certain things to happen with the language before 1.0
07:36:46*yingjun quit (Ping timeout: 276 seconds)
07:41:15FromGitter<timmyjose> @zacharycarter That make sense. That being said, it would be easier to convince management when a language has hit 1.0!
07:41:30FromGitter<zacharycarter> I agree but I think certain things need to happen prior to 1.0
07:43:11FromGitter<zacharycarter> std lib needs a comb through, documentation needs some love, GC needs to go or be made optional or something, I guess that's about it
07:43:40FromGitter<zacharycarter> not sure when the GC thing will happen - pre 1.0 or post
07:43:50FromGitter<zacharycarter> but araq and dom will decide that
08:08:33FromGitter<TiberiumN> Yuken: nah, I'm in central russia
08:11:15*planhths quit (Remote host closed the connection)
08:11:49FromGitter<timmyjose> > C needs to go
08:12:00FromGitter<timmyjose> That sounds awesome (if possible)
08:12:25FromGitter<timmyjose> A lot of people have a psychological thing about GC
08:13:38*planhths joined #nim
08:13:41FromGitter<TiberiumN> Well or gc can be made thread safe (maybe another gc)
08:14:03FromGitter<TiberiumN> For gc to go we need "not nil" by default
08:14:08FromGitter<TiberiumN> At least
08:14:22FromGitter<timmyjose> That brings me to the question - does Nim have `null`?
08:15:25FromGitter<TiberiumN> Yes, "nil"
08:16:10FromGitter<timmyjose> Ah, interesting!
08:17:04FromGitter<TiberiumN> But "not nil" aims to become default some time
08:17:25FromGitter<TiberiumN> So types will be not able to be "nil"
08:17:27FromGitter<timmyjose> What do you mean? Can you elaborate?
08:17:41FromGitter<timmyjose> Do you mean no null exceptions ever?
08:18:20FromGitter<TiberiumN> Well, better to ask Araq or dom96, I'm not the professional in this stuff
08:18:54*ShalokShalom joined #nim
08:19:33FromGitter<timmyjose> Okay, fair enough!
08:20:12*planhths quit (Remote host closed the connection)
08:22:40*planhths joined #nim
08:23:03*endragor_ quit (Remote host closed the connection)
08:23:34*endragor joined #nim
08:31:51*SusWombat joined #nim
08:33:29*sakalli joined #nim
08:39:06*yglukhov joined #nim
08:41:24*planhths quit (Ping timeout: 260 seconds)
08:42:46*Matthias247 joined #nim
08:43:29yglukhovAraq: hi, mind merging pls? https://github.com/nim-lang/Nim/pull/6153
08:43:42yglukhovand https://github.com/nim-lang/Nim/pull/6157
08:50:50*Sentreen quit (Ping timeout: 240 seconds)
09:04:03*Sentreen joined #nim
09:04:27*gangstacat quit (Ping timeout: 240 seconds)
09:10:30*yingjun joined #nim
09:18:17*yingjun quit (Ping timeout: 240 seconds)
09:19:32*yglukhov quit (Remote host closed the connection)
09:19:58*v17d joined #nim
09:20:28*gangstacat joined #nim
09:21:49FromGitter<TiberiumN> just curious, is there any shortcut to get value by key from table, and if key doesn't exist, return default value (like "")
09:22:39FromGitter<TiberiumN> ah, there is such thing for string tables
09:22:42FromGitter<TiberiumN> nice
09:23:42FromGitter<TiberiumN> sadly there's no such thing for usual tables :(
09:24:07*yglukhov joined #nim
09:29:17*djellemah joined #nim
09:29:20*andrzejku joined #nim
09:30:47*v17d quit (Ping timeout: 240 seconds)
09:33:28AraqgetOrDefault() ?
09:34:02FromGitter<TiberiumN> well I want to have custom default value
09:35:02FromGitter<TiberiumN> well it's not a big issue
09:35:09*yglukhov quit (Remote host closed the connection)
09:36:12FromGitter<TiberiumN> maybe I've asked this question some time ago - can I exit from async proc inside a template? ⏎ e.g. my async proc calls a template, and I want to exit from this procedure from inside of template
09:41:35FromGitter<TiberiumN> well if I use "return" inside a template it throws an error like "you're awating a nil future"
09:41:57FromGitter<TiberiumN> well, only hacky solution - catch this exception and ignore it? :P
09:43:12*dankrad joined #nim
09:43:29*v17d joined #nim
09:44:09AraqI don't understand the question
09:44:34FromGitter<TiberiumN> one sec
09:46:28FromGitter<TiberiumN> something like this - https://gist.github.com/TiberiumN/8c5664871ec8d631da25519c80d2f264
09:58:18*andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…)
10:05:17*endragor quit (Remote host closed the connection)
10:05:50*endragor joined #nim
10:10:10*endragor quit (Ping timeout: 240 seconds)
10:14:51*yingjun joined #nim
10:18:57*yingjun quit (Ping timeout: 240 seconds)
10:25:46*gmpreussner quit (Read error: Connection reset by peer)
10:27:02*yglukhov joined #nim
10:28:58*gmpreussner joined #nim
10:31:48*yglukhov quit (Remote host closed the connection)
10:32:24*yglukhov joined #nim
10:34:25*yglukhov quit (Remote host closed the connection)
10:44:28*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:45:26*ShalokShalom_ joined #nim
10:45:32*ShalokShalom quit (Ping timeout: 260 seconds)
10:48:14*bjz joined #nim
10:49:15*ShalokShalom_ quit (Client Quit)
10:50:39*ShalokShalom joined #nim
10:50:58*yglukhov joined #nim
10:51:48*yglukhov quit (Remote host closed the connection)
10:57:26*ShalokShalom quit (Quit: No Ping reply in 180 seconds.)
10:58:58*ShalokShalom joined #nim
11:08:16*ShalokShalom quit (Quit: No Ping reply in 180 seconds.)
11:09:25*ShalokShalom joined #nim
11:10:55*nsf quit (Quit: WeeChat 1.9)
11:12:57*djellemah quit (Ping timeout: 260 seconds)
11:30:00*yglukhov joined #nim
11:32:21yglukhovAraq: fixed https://github.com/nim-lang/Nim/pull/6153
11:34:33*andrzejku joined #nim
11:40:27*ShalokShalom quit (Ping timeout: 240 seconds)
11:41:17*ShalokShalom joined #nim
11:43:18FromGitter<TiberiumN> Hmm, can I get float or int from json?
11:43:28FromGitter<TiberiumN> because this openweather api can send either float or int :(
11:46:31*bjz_ joined #nim
11:48:17*bjz quit (Ping timeout: 240 seconds)
11:55:01*dddddd joined #nim
11:56:56*BitPuffin|osx joined #nim
12:02:10*Matthias247 quit (Read error: Connection reset by peer)
12:03:00*dankrad quit (Ping timeout: 260 seconds)
12:07:26*nattefrost joined #nim
12:09:48*dankrad joined #nim
12:11:50*dankrad quit (Read error: Connection reset by peer)
12:17:09*dankrad joined #nim
12:26:30*andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…)
12:32:24*andrzejku joined #nim
12:38:28*dankrad quit (Read error: Connection reset by peer)
12:38:58*dankrad joined #nim
12:46:53def-@TiberiumN: Write your own getNumAsFloat that handles both float and int? Anyway, json should only have numbers, there are no ints/floats in json
12:50:12yglukhovTiberiumN: getFNum
12:51:58FromGitter<TiberiumN> does it work for ints too?
12:52:06FromGitter<TiberiumN> oh i see it does
12:53:20*andrzejku quit (Read error: Connection reset by peer)
13:02:24*madmalik joined #nim
13:09:02*endragor joined #nim
13:13:17*endragor quit (Ping timeout: 240 seconds)
13:25:59*gokr joined #nim
13:27:11yukenHm. For making games, I was told that an Event Control System would pretty much be necessary.
13:27:12yukenhmmmmm.
13:27:16yukenif only I knew what that was :^)
13:27:35FromGitter<zetashift> you mean an entity component system?
13:27:41yukenah that, yeah, sorry.
13:29:17FromGitter<zetashift> Just a way to structure your game, it's nice cause it promotes composition over inheritance
13:29:20nivwhat's the nim equivalent of __FILE__ and __LINE__?
13:29:30FromGitter<zetashift> https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80%93system
13:29:49FromGitter<TiberiumN> niv: what is LINE?
13:30:03nivreturns the line number where the macro expands
13:30:40nivi'm mostly interested in the filename of the current compilation unit though, for expansion in logging templates
13:30:57FromGitter<TiberiumN> https://nim-lang.org/docs/macros.html#lineinfo,NimNode ⏎ ⏎ this seems to be like LINE
13:31:13FromGitter<TiberiumN> and it returns filename too
13:31:20FromGitter<TiberiumN> returns the position the node appears in the original source file in the form filename(line, col)
13:31:27nivalright, good, thanks
13:36:45SusWombatanyone in here tried the nim bindings for godot yet?
13:37:54*rauss joined #nim
13:39:10FromGitter<TiberiumN> yeah I've tried sample - works
13:39:14FromGitter<TiberiumN> but crashed to me after some time
13:39:31FromGitter<TiberiumN> I'll wait until it works with godot repo
13:39:40FromGitter<TiberiumN> (author said that 1 PR only left)
13:41:10SusWombatNice! yeah im very intrested in trying it out soon aswell
13:41:22SusWombatIs the setupt hard? TiberiumN
13:41:26SusWombatsetup*
13:41:40FromGitter<TiberiumN> well firstly - you need to compile forked godot yourself
13:41:50FromGitter<TiberiumN> and then there's a nakefile in sample project
13:43:00*eizua joined #nim
13:43:27*Serenitor joined #nim
14:15:27*BitPuffin|osx quit (Ping timeout: 240 seconds)
14:16:38*Trustable joined #nim
14:18:00*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:18:55*yingjun joined #nim
14:22:19*bjz joined #nim
14:23:27*yingjun quit (Ping timeout: 240 seconds)
14:25:30FromGitter<zacharycarter> yuken: I would avoid ECS's like the plague especially when you're new to game development
14:29:42FromGitter<zetashift> ^ just start writing/creating assets best way to get into it
14:30:34dom96Nope, Entity Component System != Event Control System
14:33:22yukenOh, do variables have to be attached to an object in Nim?
14:33:32yukenwait
14:33:32FromGitter<zacharycarter> no
14:33:35yukenwait no sorry i'm just stupid
14:33:41yukenI was doing "var time" instead of "var time: int"
14:37:27yukenWell, right now, I'm going to try and figure out how SDL2 timers work with Nim, good luck to me <3
14:40:08FromGitter<zacharycarter> @krux02 just linked a stopwatch.nim which used the high precision sdl2 timer
14:40:16FromGitter<zacharycarter> the other day
14:41:09*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:47:17*dankrad quit (Ping timeout: 240 seconds)
14:48:20*dankrad joined #nim
14:53:04*ShalokShalom_ joined #nim
14:53:23*ShalokShalom quit (Ping timeout: 255 seconds)
14:58:06yukenIf I want to use multiple files, I'd just use "import <file.nim>"
14:58:07yukencorrect?
14:59:17*ShalokShalom_ quit (Ping timeout: 240 seconds)
15:01:23SusWombathow can i build nimrtl when using choosenim O:?
15:02:19SusWombatyuken, import is for modules maybe you want to use include?
15:02:27SusWombator do you export the things in the files?
15:02:34yukenah, I probably do, SusWombat. Thanks.
15:02:53dom96yuken: without the .nim extension
15:03:31dom96don't use include
15:03:39dom96(unless you have a very good reason for it)
15:03:59*derlafff quit (Remote host closed the connection)
15:04:46SusWombatdom96, can you help me with my question?
15:05:01*derlafff joined #nim
15:05:50dom96SusWombat: How do you build nimrtl usually?
15:05:50*user0 quit (Remote host closed the connection)
15:06:06*user0 joined #nim
15:06:07SusWombatdom96, havent done it so far O:
15:06:24SusWombatsec
15:06:26dom96https://nim-lang.org/docs/nimc.html#dll-generation
15:17:53SusWombatthanks
15:27:56FromGitter<TiberiumN> interesting, is there a faster way to split strings than "split"?
15:32:24dom96TiberiumN: I'm guessing you're parsing math expressions?
15:32:33dom96If so you shouldn't be using split
15:33:01FromGitter<TiberiumN> nah, this is another thing :)
15:33:17*Arrrr joined #nim
15:33:17*Arrrr quit (Changing host)
15:33:17*Arrrr joined #nim
15:33:41Arrrrptr[cchar] -> string ???
15:33:41FromGitter<TiberiumN> I have many entries like "a|b|c|d,|a|b|c|d" and I want to split them by "," ⏎ I don't know if "split" is the most efficient way to do this
15:33:57FromGitter<TiberiumN> ?
15:33:58ArrrrDo i have to use memcpy or something?
15:34:05FromGitter<TiberiumN> well
15:34:13FromGitter<TiberiumN> I have "ptr cuchar"
15:34:15FromGitter<TiberiumN> and just use
15:34:18FromGitter<TiberiumN> $outData
15:34:24FromGitter<TiberiumN> and outData is var outData: ptr cuchar
15:34:27FromGitter<TiberiumN> just try $ first
15:35:35ArrrrMmm, you are right
15:35:49FromGitter<TiberiumN> magic :)
15:35:59FromGitter<TiberiumN> yes it's indeed magic
15:36:01FromGitter<TiberiumN> look: ⏎ proc `$` *(x: cstring): string {.magic: "CStrToStr", noSideEffect.} ⏎ ## The stringify operator for a CString argument. Returns `x` ⏎ ## converted to a string. [https://gitter.im/nim-lang/Nim?at=597dfce076a757f8085cc8b9]
15:36:20FromGitter<TiberiumN> so it automatically recognizes "cuchar" as cstring
15:36:47FromGitter<TiberiumN> are these magic statements are implemented using assembler or pure C code?
15:40:57FromGitter<timmyjose> Anybody here use Aporia on macOS? I'm having some problems with it
15:41:33FromGitter<timmyjose> I installed Nim from source and set up PATH correctly, but if I try and run Aporia, I get errors:
15:41:35FromGitter<timmyjose> First, I get an error stating that the Nim executable could not be found, and to select it before continuing. ⏎ Even after I manually point to to my built binary (nim), it hangs forever in "Executing".
15:42:22FromGitter<TiberiumN> Well aporia wasn't updated for a long time
15:42:23FromGitter<TiberiumN> https://github.com/nim-lang/Aporia
15:43:01FromGitter<TiberiumN> Why not Visual Studio Code? it has macOS support
15:43:05FromGitter<timmyjose> Yeah, the README says that all issues on mac are now fixed (I used this installer - https://github.com/nim-lang/Aporia/releases/download/v0.4.0/Aporia_0.4.0_MacOSX.zip
15:43:27FromGitter<TiberiumN> well
15:43:29FromGitter<TiberiumN> it's a bit old
15:43:30FromGitter<timmyjose> Haha... yeah, not a big fan of VSCode :D ... right now, am using ST3 with NimLite and Vim :-)
15:43:32FromGitter<TiberiumN> even 0.4.1 is old
15:43:33FromGitter<TiberiumN> v0.4.1 ⏎ @dom96 dom96 released this on 26 Jun 2016 · 43 commits to master since this release
15:43:53FromGitter<TiberiumN> well, I'm not the fan of VSCode
15:43:53FromGitter<timmyjose> Whoa... so the readme hasn't been updated? Hmmm... let me dig deeper and get back!
15:43:54FromGitter<TiberiumN> but it works
15:44:33dom96Yeah, I made an attempt to get Aporia working on Mac well.
15:44:38dom96But GTK on OS X is a bitch
15:44:45dom96So now I just use VS Code.
15:44:55dom96I do still use Aporia to compile and run code quickly though
15:45:05FromGitter<TiberiumN> do you use "vscode-icons"? it has nim icon :)
15:45:11FromGitter<TiberiumN> it's an extension for vscode
15:45:20FromGitter<timmyjose> Yeah, I like its interface a lot. I had used it on Windows(?) some time back, it was lightweight and fast!
15:46:26FromGitter<timmyjose> Yup.. tried it. The latest one (0.4.1) crashes with some GTK error! :D ... so back to Vim it is then for me
15:46:49FromGitter<timmyjose> Do you guys face any lag with VSCode? On my mac, it seems to hog a lot of memory and CPU
15:47:06FromGitter<TiberiumN> well I don't
15:47:09FromGitter<TiberiumN> but I have a PC
15:47:18FromGitter<timmyjose> Ah, I see
15:47:28FromGitter<TiberiumN> GTX 750 + i5 4460 + Windows 10 (and Antergos arch-based distro)
15:48:27FromGitter<timmyjose> Sublime Text works smoothly, but somehow VSCode and IntelliJ seem quite slow on my mac :(
15:49:13FromGitter<TiberiumN> well VSCode and Atom are based on webkit
15:49:20FromGitter<TiberiumN> you can even open chrome developer tools in them
15:49:30FromGitter<TiberiumN> and IntelliJ based products are even heavier than that
15:49:34FromGitter<TiberiumN> because they use java
15:50:14FromGitter<TiberiumN> (well mostly because IntelliJ has much more features)
15:50:17FromGitter<timmyjose> That's the rub - Eclipse runs smoothly even with default settings! :D
15:51:07FromGitter<zetashift> VSCode with the nim plugin runs great on my windows laptop
15:51:19FromGitter<TiberiumN> what's your mac model?
15:51:40FromGitter<timmyjose> MacBook Pro (Retina, 15-inch, Mid 2014)
15:51:49FromGitter<timmyjose> 16GB + SSD
15:52:35FromGitter<TiberiumN> hmm, it should be pretty fast
15:52:38FromGitter<TiberiumN> I have only 8gb of ram
15:52:54FromGitter<timmyjose> Yeah... I should have stuck with Windows :D
15:52:57FromGitter<zetashift> As do I and VSCode only uses like 15 mb
15:53:11FromGitter<TiberiumN> 150mb?
15:53:25FromGitter<TiberiumN> well vscode has multiple processes
15:53:38FromGitter<zetashift> shows only 1 process yea
15:53:45FromGitter<zetashift> pretty sure it;s lying here
15:53:49FromGitter<timmyjose> Hahaha
15:53:54FromGitter<TiberiumN> well it has multiple processes
15:54:11FromGitter<TiberiumN> (https://files.gitter.im/nim-lang/Nim/Ps0t/image.png)
15:54:25FromGitter<TiberiumN> similar to chrome and chromium (multiple containers)
15:54:26FromGitter<zetashift> yea a few are listed in background processes
15:54:37FromGitter<TiberiumN> also
15:54:42FromGitter<TiberiumN> nimsuggest uses much more memory
15:54:47FromGitter<timmyjose> Man, still nothing compares to Atom in my experience - I had tried it some time back, but it was amazingly slow
15:55:17FromGitter<zetashift> I liked spacemacs a lot; however on windows it had like 20-30 secs startup time
15:55:24FromGitter<timmyjose> Whoa
15:55:37FromGitter<timmyjose> We do have nim-mode for Emacs, right?
15:55:40FromGitter<zetashift> I use it my linux distro tho works great and startups in like 2-5 secs
15:56:01FromGitter<TiberiumN> NimSuggest can use 300-600mb
15:56:05FromGitter<zetashift> we do! https://github.com/nim-lang/nim-mode
15:56:18FromGitter<timmyjose> Excellent... I'd rather use Emacs than Vim :P
15:56:20dom96VS Code runs fine on my MBP
15:56:21FromGitter<TiberiumN> because it opens new process for every file (or maybe that's the problem of vscode nim plugin)
15:56:35FromGitter<TiberiumN> well it runs smooth
15:56:42*sakalli quit (Quit: leaving)
15:56:43FromGitter<timmyjose> @dom96 I see a discernible lag even with the default setup :(
15:56:46FromGitter<TiberiumN> but vscode + nimsuggest can use like 300-700mb ram
15:56:57FromGitter<timmyjose> nimsuggest is the code completion for Nim?
15:57:03*sakalli joined #nim
15:57:05dom96timmyjose: lag when doing what?
15:57:12FromGitter<timmyjose> while typing, for instance
15:57:20dom96does default setup mean with Nim plugin or stock VS Code?
15:57:25FromGitter<timmyjose> maybe I need to clean my mac.... though I don't see the same lag on XCode etc.
15:57:25FromGitter<TiberiumN> @timmyjose yes it is
15:57:33FromGitter<timmyjose> @TiberiumN Nice!
15:57:41FromGitter<TiberiumN> so editors don't need to implement their own intelli sense
15:57:42dom96I've disabled the nimsuggest auto completion FWIW
15:57:45FromGitter<TiberiumN> they can just use nimsuggest
15:57:50FromGitter<TiberiumN> dom96: oh :)
15:57:53FromGitter<timmyjose> @dom96 I mean the default base install of VSCode (without any extra plugins)
15:58:12FromGitter<TiberiumN> it seems strange even for me
15:58:48FromGitter<timmyjose> Yeah, it is. On IntelliJ I even increased the settings to use 4G, but same lag... couldnt' get what was so great about the IDE, so sticking to good ol' Eclipse for now... haha!
15:59:01FromGitter<timmyjose> Maybe it's just a question of getting used to it, I don't know...
15:59:47*dankrad quit (Ping timeout: 258 seconds)
16:00:32FromGitter<zetashift> Isn't Aporia dead cause of NimEdit?
16:00:47FromGitter<TiberiumN> https://github.com/Araq/nimedit
16:00:59FromGitter<TiberiumN> last commit on october?
16:00:59FromGitter<TiberiumN> ah
16:01:05FromGitter<TiberiumN> there's nimx branch
16:01:07FromGitter<TiberiumN> 6 months old
16:02:32yukenzacharycarter, does zengine need a nightly build of nim?
16:02:37yukenit's complaining that I don't have 0.17.1
16:03:01FromGitter<TiberiumN> try to edit it
16:03:05FromGitter<TiberiumN> and set it to 0.17.0
16:03:10FromGitter<zetashift> cheeky
16:03:17FromGitter<TiberiumN> it can really work :)
16:03:34FromGitter<TiberiumN> e.g.: I develop my app using 0.17.1, but yesterday tested it with 0.16.1 - it works
16:06:51*BitPuffin|osx joined #nim
16:07:02*Matthias247 joined #nim
16:09:11FromGitter<zetashift> that
16:09:30FromGitter<zetashift> 's cool tho*
16:09:56FromGitter<TiberiumN> are you using mobile client?
16:09:57*andrzejku joined #nim
16:12:52FromGitter<zetashift> Sadly no I just spasmed out haha
16:13:11FromGitter<TiberiumN> well just because in gitter mobile client YOU CAN'T DO NEWLINES
16:13:15FromGitter<TiberiumN> it's really a shame
16:13:19FromGitter<TiberiumN> 1) you can't edit your message
16:13:46FromGitter<zetashift> Oh weird; Didn't they opensource gitter tho? Has there been no PR?
16:14:34FromGitter<TiberiumN> Hmm, I don't know
16:14:43FromGitter<TiberiumN> but I found unofficial gitter mobile client :)
16:14:48FromGitter<TiberiumN> https://play.google.com/store/apps/details?id=im.gitter.gitter look at this 3.8 rating
16:15:14FromGitter<TiberiumN> I'll try https://github.com/JSSolutions/GitterMobile today
16:15:44FromGitter<zacharycarter> yuken: ideally you're using the latest version of Nim with zengine
16:15:52FromGitter<zacharycarter> but I could probably remove that dependency
16:16:58*ShalokShalom joined #nim
16:17:01yukenRight now, latest version that's already built is 0.17.0 on Nim's site, hence why I was asking :p
16:17:06yukenI can just go grab the nightly build though.
16:17:28FromGitter<TiberiumN> well even builds are stable
16:17:31FromGitter<TiberiumN> and odd are not :)
16:17:36FromGitter<TiberiumN> for example 0.17.2 would be stable
16:17:41FromGitter<TiberiumN> and 0.17.3 would be nightly
16:17:59FromGitter<TiberiumN> also is this 0.17 is a year?
16:20:42yukenzacharycarter, how should I get started with Zengine for a 2D game rather than 3D? The example there is only 2D :o
16:20:45yukener, 3D
16:23:42*dankrad joined #nim
16:25:33FromGitter<zacharycarter> hrm unfortunately nothing is documented yet
16:25:42FromGitter<zacharycarter> but the API mirrors raylib
16:26:03FromGitter<zacharycarter> unfortunately I'm still a few weeks out from things being totally usable for anything yuken
16:26:07FromGitter<zacharycarter> http://imgur.com/a/2vesd
16:26:10yukenAh.
16:26:16FromGitter<zacharycarter> right now I'm trying to get lighting working
16:26:17yukenI might as well just faff around with SDL until then, then.
16:27:15FromGitter<TiberiumN> well there's nimgame2
16:27:32FromGitter<TiberiumN> https://github.com/Vladar4/nimgame2 based on sdl2
16:27:42FromGitter<zetashift> it even has a small tutorial!
16:27:57FromGitter<TiberiumN> it has docs
16:27:58FromGitter<TiberiumN> https://vladar4.github.io/nimgame2/docs.html
16:27:59FromGitter<TiberiumN> and demos
16:28:57FromGitter<TiberiumN> also https://vladar4.github.io/nimgame2/
16:29:17FromGitter<TiberiumN> even some snippets! https://vladar4.github.io/nimgame2/snippets.html
16:30:39FromGitter<TiberiumN> well there'a lot of interesting nim repos :)
16:30:42FromGitter<TiberiumN> https://github.com/search?l=&o=asc&p=2&q=created%3A%3E2017-05-01+language%3ANim&ref=advsearch&s=updated&type=Repositories&utf8=%E2%9C%93
16:30:46*bjz joined #nim
16:31:34*gokr quit (Ping timeout: 255 seconds)
16:38:17*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:41:44*SusWombat quit (Remote host closed the connection)
16:44:46*madmalik quit (Quit: Connection closed for inactivity)
16:46:05*nattefrost quit (Remote host closed the connection)
16:48:43*nsf joined #nim
16:52:14*bjz joined #nim
16:52:23yukenHm. Is it not possible to attach procs to objects?
16:56:06FromGitter<zetashift> iirc you use methods for that
16:56:29yukenit's basically how I handled skills in my previous game, https://gist.github.com/YukenK/fc05dbba22840d6518291b9c924fe824
16:56:44yukenSkills were just procs attached to objects that had requirements (like energy, health, etc)
16:57:35FromGitter<zacharycarter> I think concepts could form the backbone of a good skill system
16:58:00yukenConcepts?
16:58:01FromGitter<zacharycarter> based on my naive understanding of them
16:58:16FromGitter<zacharycarter> https://nim-lang.org/docs/manual.html#generics-concepts
16:58:47*v17d quit (Ping timeout: 240 seconds)
16:59:01*xet7 quit (Quit: Leaving)
17:00:09yukenI have absolutely zero clue what any of that means x-x
17:00:35FromGitter<zacharycarter> let me try to come up with an example of what I'm thinking
17:04:24*ShalokShalom quit (Ping timeout: 268 seconds)
17:09:14*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:20:08FromGitter<zacharycarter> maybe skills are a bad example
17:20:35FromGitter<zacharycarter> I'll have something shortly yuken, but it's not going to be for skills, maybe it will give you some ideas
17:20:55yukenThanks, zacharycarter. If you look at the code I pasted above, it should give you an idea of what it looked like before
17:20:59yukenin mr previous engine.
17:21:28yukenand hopefully, I'd like to emulate it as closely as possible.
17:22:13*yingjun joined #nim
17:26:52*yingjun quit (Ping timeout: 260 seconds)
17:27:26*bjz joined #nim
17:28:52*andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…)
17:37:19*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
17:39:10*andrzejku joined #nim
17:41:07*dom96 quit (Changing host)
17:41:08*dom96 joined #nim
17:48:13*andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…)
17:52:22*Arrrr quit (Read error: Connection reset by peer)
18:00:51FromGitter<zacharycarter> oof
18:00:54FromGitter<zacharycarter> my understanding of concepts sucks
18:01:39FromGitter<zacharycarter> https://play.nim-lang.org/?gist=18ed08e25bfdce6812e528679d926833
18:01:47FromGitter<zacharycarter> hopefully someone can straighten me out
18:03:14*nhywyll joined #nim
18:06:11FromGitter<Varriount> A concept type is a compile time mechanism that matches against another type that confirms to an abstract set of characteristics
18:06:23FromGitter<Varriount> *conforms
18:07:42FromGitter<zacharycarter> I think I get what I'm doing wrong
18:10:18yukenegh.
18:10:26yukenDoesn't look like something I'd want to deal with. I mean
18:10:34yukenhttps://github.com/YukenK/HunterNin/tree/master/Code/Skills
18:10:38yukenlook there to see how my current stuff works.
18:14:23FromGitter<zacharycarter> sounds like you want inheritance
18:14:30FromGitter<zacharycarter> or need rather
18:14:51yukenThat's basically what I need, yeah. In that code
18:15:12yuken/skill has procs for using the skills, then you can just override those with every new skill, which is just another object
18:15:25yuken(making use of ..() in BYOND, which calls the parent proc before continuing on)
18:16:22*xet7 joined #nim
18:19:06FromGitter<zacharycarter> I tend to not like using inheritance
18:19:14FromGitter<zacharycarter> but it's up to you
18:19:22FromGitter<zacharycarter> here's one option
18:19:26yukenAny particular reason why it would objectively be bad, or is it more of your own opinion?
18:19:41yukenWOndering if there is actually anything wrong with it :o
18:21:26FromGitter<zacharycarter> https://play.nim-lang.org/?gist=6d31b3196ce6ae94c3c503696440bfd3
18:21:41FromGitter<zacharycarter> single level inheritance isn't bad
18:21:55FromGitter<zacharycarter> but I think it's generally something that is relied upon too heavily
18:22:01FromGitter<zacharycarter> and code is simpler without it
18:22:13FromGitter<zacharycarter> this is using an object variant
18:22:56FromGitter<zacharycarter> alternatively you could do something like this, with inheritance
18:23:59FromGitter<zacharycarter> https://play.nim-lang.org/?gist=050c0f6f8093e58952498bba0661900a
18:24:09FromGitter<zacharycarter> you're making me want to write a game btw :P
18:26:19*yglukhov quit (Remote host closed the connection)
18:29:33*v17d joined #nim
18:30:34*deep-book-gk_ joined #nim
18:31:11*deep-book-gk_ left #nim (#nim)
18:32:15*def-pri-pub joined #nim
18:34:47*v17d quit (Ping timeout: 240 seconds)
18:37:54FromGitter<zetashift> Just do it!
18:38:21*rokups quit (Quit: Connection closed for inactivity)
18:40:34*yglukhov joined #nim
18:41:12FromGitter<zetashift> I just started actually doing that roguelike tutorial with your bearlib binding so thanks for that <3
18:45:05FromGitter<zacharycarter> sure! :D
18:45:24FromGitter<zacharycarter> thanks for using it!
18:45:31FromGitter<zacharycarter> and I plan to as soon as I do a bit more with the new project
18:47:19*v17d joined #nim
18:48:25*tankfeeder joined #nim
18:52:19*yglukhov quit (Remote host closed the connection)
18:55:32*Serenitor quit (Ping timeout: 260 seconds)
19:03:18yukenzacharycarter, problem is... would I be able to actually do different stuff other than setting up variables with what you linked?
19:03:31yuken"Bite" would target all Y within X pixels
19:03:36yuken"Fireball" would spawn in a projectile at X
19:06:48FromGitter<zetashift> on a free day try reading this: http://gameprogrammingpatterns.com/ it might help
19:06:53FromGitter<zetashift> (it helped me alot)
19:10:03FromGitter<zacharycarter> yuken: sure you could, with both methods
19:10:28yukenMmkay, was just curious. I just like the idea of skills being separate objects (or things similar to objects) that have what they do attached to them, rather than checking elsewhere <3
19:10:59*djellemah_ joined #nim
19:14:17*djellemah__ quit (Ping timeout: 240 seconds)
19:16:26FromGitter<cyberlis> guys, i've made nimble package. It is a library. This lib have to be compiled with `-d:ssl`. How i can config `.nimble` file, to force it add `-d:ssl` flag when some one uses my lib ? Or user who will be using my library have to add `-d:ssl` himself ?
19:25:23*yingjun joined #nim
19:25:41*andrzejku joined #nim
19:26:33dom96cyberlis: create a projectName.nim.cfg file and add `-d:ssl` in there
19:26:58dom96That /might/ work
19:27:10dom96But actually, not that I think about, the user should do that.
19:27:15dom96*now
19:27:15*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:27:27FromGitter<cyberlis> ok. thankyou
19:29:27*yingjun quit (Ping timeout: 240 seconds)
19:29:29*tanguy joined #nim
19:29:36*tanguy quit (Remote host closed the connection)
19:47:19*skrylar joined #nim
19:49:48*CcxWrk quit (Ping timeout: 240 seconds)
19:59:06*skrylar quit (Remote host closed the connection)
19:59:54*skrylar joined #nim
20:04:28*Matthias247 quit (Read error: Connection reset by peer)
20:09:08*Trustable quit (Remote host closed the connection)
20:18:04FromGitter<TiberiumN> @zacharycarter you probably did something wrong, because you're posting gists yourself:
20:18:11FromGitter<TiberiumN> (https://files.gitter.im/nim-lang/Nim/Ndrd/image.png)
20:18:22FromGitter<TiberiumN> someone could abuse this :(
20:19:19*xet7 quit (Quit: Leaving)
20:25:20*xet7 joined #nim
20:28:31*Jesin quit (Ping timeout: 268 seconds)
20:33:12*andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…)
20:43:12*Jesin joined #nim
20:50:46*bjz joined #nim
20:51:46FromGitter<zacharycarter> hrm
20:52:11FromGitter<zacharycarter> thank you for the heads up @TiberiumN I'll try to fix
20:57:31FromGitter<zacharycarter> I'm not sure what we want to do is possible
20:57:38FromGitter<zacharycarter> @dom96 @TiberiumN
20:57:44FromGitter<zacharycarter> I'm going to contact github I guess and ask
20:58:04dom96I'm certain there is a way to create anon gists even if you're logged in
20:59:18FromGitter<zacharycarter> hrm
20:59:25FromGitter<zacharycarter> let me try to see if I can figure it out
20:59:31dom96okay, I'm not certain, but do look into it :)
21:00:08FromGitter<zacharycarter> yeah I only see secret / public
21:00:11FromGitter<zacharycarter> but I emailed github
21:00:31*deep-book-gk_ joined #nim
21:02:04*deep-book-gk_ left #nim (#nim)
21:07:31shmup_really impressie lookin game for LD, ftsf
21:07:38shmup_really impressive lookin game for LD, ftsf
21:07:40ftsfshmup_, thanks ^_^
21:07:47ftsf4 hours left ~___~
21:07:48ftsfso tired
21:08:04*shmup_ is now known as shmup
21:08:13def-pri-pubGot a link to it?
21:08:23shmuphttps://www.youtube.com/watch?v=WmRV89TXMpM
21:08:32ftsfhttps://twitter.com/impbox lots of gifs on here
21:08:44ftsfwill be published in <4 hours I guess =p
21:08:51ftsfunless i fall asleep
21:10:10FromGitter<zacharycarter> def-pri-pub: I got lighting working on 3d models now
21:12:15FromGitter<zacharycarter> ftsf: looks nice
21:12:48ftsfthanks!
21:12:49def-pri-pubzacharycarter: nice
21:12:57FromGitter<TiberiumN> I hope you win!
21:12:59def-pri-pubI keep on breaking raylib more and more
21:13:16FromGitter<TiberiumN> Seems to have some inspiration from NimSynth :)
21:13:57ftsfTiberiumN, yep! I was thinking of something like this when I was making nimsynth, especially if it had a library mode.
21:15:11*skrylar quit (Remote host closed the connection)
21:15:16ftsfI think i'll expand on it further after the jam
21:15:40FromGitter<TiberiumN> Oh, cables look like they have some real physics!
21:15:58ftsfyep, some very simple damped spring physics with gravity
21:16:50FromGitter<TiberiumN> But it looks very cool
21:17:39ftsfin the future maybe you can swing on the cables? ;)
21:18:37FromGitter<TiberiumN> cut the ropes stuff :P
21:19:10FromGitter<TiberiumN> But really, I don't understand how people like you can make games very fast
21:19:24FromGitter<TiberiumN> I mean it's a big talent
21:20:03ftsfjust gotta try it, i was surprised when I first did it. amazing what you can do under pressure.
21:20:04dom96ftsf: I really like the atmospheric sound in the background :)
21:22:01ftsfthanks dom96, a few presses from my keyboard on loop.
21:22:22ftsfsadly the background music isn't synthesised in realtime
21:23:55yukenoh it's ftsf! I've been waiting for you. How in the name of jeebus do I compile nimsynth on Windows o-o
21:28:03FromGitter<TiberiumN> finally I've installed unofficial gitter client ⏎ it can do newlines, yay!
21:28:29FromGitter<TiberiumN> and it support editing messages too
21:28:58*gokr joined #nim
21:29:19FromGitter<TiberiumN> https://github.com/JSSolutions/GitterMobile
21:29:25ftsfyuken, ahh good question... you'll need to ask me another time, bit in the middle of a gamejam right now.
21:29:38yukenmmkay <3
21:29:42ftsfbut if it doesn't compile, please create a github issue
21:29:45yukenI just liked nimsynth above everything else because...
21:29:51yukenit looks like a workflow I'd love
21:29:56yukenrather than just putting in little bars in a sequencer
21:30:57yukenIt appears that Nim... quite literally can
21:31:04yukencan't do methods attached to classes, can it?
21:32:35FromGitter<zetashift> nope Nim methods are multi-methods
21:32:45yukenThat really puts a dent into what I want to do lol
21:32:47FromGitter<zetashift> reasoning for this is here: https://nim-lang.org/docs/tut2.html#object-oriented-programming-methods
21:34:03FromGitter<zetashift> yea I'm also having some trouble changing from monogame/libgdx to nim's approach at solving certain problems; mainly cause it's not that great documentated with examples etc. But practice makes perfect
21:34:53yukenBasically, all my skills in my previous games were just objects with a function attached
21:35:04yuken/skill had the Used() function, which I'd just override for each skill to do different things
21:35:25ftsfyuken, you can still do that
21:35:54yuken:o. enlighten me, but not if you're working on game jam stuff
21:36:23ftsfmethod Used(self: Entity) {.base.} = ... do thing... method Used(self: Subclass) =
21:36:52yukenw
21:37:20ftsfhttps://nim-lang.org/docs/manual.html#multi-methods
21:37:42yukenWell
21:37:45yukenthat's an absolute pain in the ass.
21:37:55ftsfhow so?
21:38:51*mahmudov joined #nim
21:38:54dom96yuken: this is just a syntax thing
21:39:07yukenIn my previous language, I could've just done: https://gist.github.com/YukenK/01168fe6298b6844a11d89c12a730689
21:39:09yukeno-o
21:39:11dom96It still works practically the same way as in other languages in Nim
21:40:22yukenbut I mean, I guess it works
21:40:25yukenjust a bit odd to me.
21:40:50ftsfit's odd, but it's better =)
21:40:52yukenDo arrays in Nim start at 0 or 1?
21:41:00ftsf0
21:41:08yukenThanks <3.
21:43:05yukenSo I'd just... create a separate method for each skill o-o?
21:43:28FromGitter<zetashift> you write a base one and overwrite it
21:46:32yukenNo clue what's going on here :o https://i.imgur.com/AjpsyOg.png
21:47:05yukenOh.
21:47:13yukenI need to have a type before {.base.}, oops.
21:48:36*krux02 joined #nim
21:48:52dom96btw method/proc names should start with a lowercase letter
21:49:38*Serenitor joined #nim
21:50:21*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:51:49*eizua quit (Quit: Leaving)
21:52:38ftsfyuken, if it doesn't return a type, leave off the :
21:53:00*dankrad quit (Ping timeout: 268 seconds)
22:00:27*andrzejku joined #nim
22:03:14*andrzejku quit (Client Quit)
22:04:56*dankrad joined #nim
22:05:22FromGitter<cyberlis> i've made pull request for packages.json
22:27:34*nhywyll quit (Quit: nhywyll)
22:28:38*yingjun joined #nim
22:30:08dom96cyberlis: Nice! Merged :)
22:30:13dom96Pretty sure TiberiumN created one too.
22:33:00FromGitter<cyberlis> thank you ^^
22:33:07*yingjun quit (Ping timeout: 260 seconds)
22:39:47*sakalli quit (Ping timeout: 240 seconds)
22:50:20FromGitter<TiberiumN> dom96: well I've created a bot, not a library :)
22:51:17*gokr quit (Ping timeout: 240 seconds)
23:01:54def-pri-pubzacharycarter: do you have an outline planned for zengine?
23:07:29yukenhttps://gist.github.com/YukenK/3006c231f0f03ee5b74dbb09da9ea7db
23:07:35yukengetting "redefinition of Used" o-o
23:08:22FromGitter<TiberiumN> you're not using inheritance here
23:08:49yukenAh. Well, I have no clue how to o-o
23:09:06yukenUnless...
23:09:08FromGitter<TiberiumN> try: ⏎ skill = object of RootObj ⏎ fireball = object of skill
23:09:17FromGitter<TiberiumN> maybe this works :)
23:09:29*ehmry quit (Ping timeout: 240 seconds)
23:09:30*Demos[m] quit (Ping timeout: 240 seconds)
23:09:39yukenYep, that works fine - thanks. Any reason why that would work?
23:09:45*MrAxilus[m] quit (Ping timeout: 255 seconds)
23:09:53*jivank[m] quit (Ping timeout: 258 seconds)
23:10:11*TheManiac quit (Ping timeout: 240 seconds)
23:10:23FromGitter<TiberiumN> well, because it uses inheritance
23:10:27*hohlerde quit (Ping timeout: 246 seconds)
23:10:27*mindB quit (Ping timeout: 246 seconds)
23:10:27*gangstacat quit (Ping timeout: 240 seconds)
23:10:34*dyce[m] quit (Ping timeout: 264 seconds)
23:10:39FromGitter<TiberiumN> all inheritable objects must inherit from RootObj
23:12:34*gangstacat joined #nim
23:12:47*krux02 quit (Ping timeout: 260 seconds)
23:13:23FromGitter<TiberiumN> well i can't fully describe it as I don't use oop at all :)
23:20:13*nsf quit (Quit: WeeChat 1.9)
23:37:55*MrAxilus[m] joined #nim
23:42:48*ehmry joined #nim
23:42:48*Demos[m] joined #nim
23:42:49*dyce[m] joined #nim
23:42:55*hohlerde joined #nim
23:42:55*jivank[m] joined #nim
23:42:55*TheManiac joined #nim
23:42:56*mindB joined #nim
23:53:01SerenitorI can't put the command for the compiler into the nim.cfg can I?
23:53:04Serenitorlike
23:53:09Serenitorcompile = source.nim
23:53:47Serenitor(my app has different entry points based on build type)
23:55:40*v17d quit (Ping timeout: 276 seconds)
23:58:26mahmudovjoin #puppylinux
23:58:54FromGitter<zetashift> ouch hehe
23:59:19mahmudovsorry :)