<< 01-10-2017 >>

00:09:24*libman quit (Quit: Connection closed for inactivity)
00:22:51*def-pri-pub joined #nim
00:22:58*zachk quit (Quit: zzzzZZZZzzzzz)
00:23:35*nhywyll quit (Ping timeout: 240 seconds)
00:29:08*Serenitor joined #nim
00:33:05*dhalinar quit (Ping timeout: 248 seconds)
00:49:35*def-pri-pub quit (Quit: Leaving.)
01:02:38*Ven`` quit (Ping timeout: 240 seconds)
01:07:18*Etheco quit (Quit: Leaving)
01:09:32*walri left #nim ("WeeChat 0.4.2")
01:12:08*def-pri-pub joined #nim
01:12:44*Ven`` joined #nim
01:12:48*chemist69 quit (Ping timeout: 246 seconds)
01:17:21*Ven`` quit (Ping timeout: 248 seconds)
01:25:24*chemist69 joined #nim
01:42:53def-pri-pubis the `nimrtl` only mean for windows?
01:42:58def-pri-pubmeant*
01:47:03*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:50:23*couven92 quit (Ping timeout: 248 seconds)
01:53:08*yglukhov joined #nim
01:57:48*yglukhov quit (Ping timeout: 258 seconds)
02:18:21*TjYoco quit (Quit: Leaving)
02:21:59*crem joined #nim
02:41:36*dddddd quit (Remote host closed the connection)
02:43:49*Serenit0r joined #nim
02:47:15*Serenitor quit (Ping timeout: 258 seconds)
03:10:40*francisl joined #nim
03:14:43FromGitter<zacharycarter> o/
03:15:32*enthus1a1t- joined #nim
03:18:38*enthus1ast- quit (Ping timeout: 240 seconds)
03:50:33*def-pri-pub quit (Quit: Leaving.)
03:54:48*yglukhov joined #nim
04:00:05*yglukhov quit (Ping timeout: 240 seconds)
04:11:10*relax joined #nim
04:54:46FromGitter<Varriount> NESM?
04:56:03*francisl quit (Ping timeout: 258 seconds)
05:14:04Araqvarriount: how can I develop NimLime? what does the iteration process look like?
05:44:31*miran joined #nim
05:47:41*relax quit (Ping timeout: 240 seconds)
05:48:06*claudiuinberlin joined #nim
05:57:36*yglukhov joined #nim
06:02:07*yglukhov quit (Ping timeout: 248 seconds)
06:20:54*solitudesf joined #nim
06:26:08*enthus1a1t- quit (Ping timeout: 258 seconds)
06:27:51*enthus1ast- joined #nim
06:30:19*azur_kind joined #nim
06:33:48*Sentreen quit (Ping timeout: 258 seconds)
06:40:45*gokr joined #nim
06:46:52*Sentreen joined #nim
06:57:23*Arrrr joined #nim
07:11:53*Pisuke joined #nim
07:13:07*MyMind quit (Ping timeout: 240 seconds)
07:14:35*Arrrr quit (Ping timeout: 240 seconds)
07:20:53*nsf joined #nim
07:23:16*Arrrr joined #nim
07:23:16*Arrrr quit (Changing host)
07:23:16*Arrrr joined #nim
07:43:32FromGitter<Varriount> Araq: What do you mean?
07:43:59*solitudesf quit (Ping timeout: 248 seconds)
07:44:02FromGitter<Varriount> Also, since I'm on gitter, it's best to use @Varriount so I actually get pinged.
07:49:58FromGitter<Varriount> Araq: Generally I just manually check if a proposed pull request works, then merge it in.
07:55:50*gokr quit (Ping timeout: 258 seconds)
08:00:13*yglukhov joined #nim
08:05:07*yglukhov quit (Ping timeout: 260 seconds)
08:25:47*Kingsquee joined #nim
08:37:39*solitudesf joined #nim
08:38:38*Vladar joined #nim
08:45:41*ofelas joined #nim
08:57:54*couven92 joined #nim
09:11:55*PMunch joined #nim
09:15:44*Serenit0r quit (Quit: Leaving)
09:21:06*Ven`` joined #nim
09:28:58*yglukhov joined #nim
09:36:05*salewski joined #nim
09:36:46salewskiIs there already a solution for sets containing many pure enums like:
09:36:51salewskiif gArgInfoGetDirection(arg) notin {GIDirection.OUT, GIDirection.INOUT}:
09:37:46salewskiThat can become ugly when number of enums in set is large and prefix is long.
09:41:18FromGitter<Yardanico> what do you mean by "solution" ?
09:42:10salewskiA way to have to write "GIDirection" only once for this example.
09:45:50salewskiif gArgInfoGetDirection(arg) notin GIDirection{OUT, INOUT}:
09:52:42salewskiif gArgInfoGetDirection(arg) notin {GIDirection.OUT, INOUT}:
09:57:31FromGitter<mratsim> you can use OUT, INOUT directly
09:57:50FromGitter<mratsim> the prefix is optional if there is no ambiguity
10:00:56salewskiThat is interesting, must be a new feature? But often there will be ambiguity in large modules.
10:01:41FromGitter<ephja> even with pure enums?
10:02:51FromGitter<ephja> anyway, are you not a fan of short prefixes for the members themselves?
10:02:51salewskiAnd non pure enums like giDout, giDin are not that nice in my opinion. May be ok for in module use, when they are not exported.
10:04:45FromGitter<mratsim> It’s not a new feature, it was there already at the start of the year and probably even before
10:05:29FromGitter<ephja> "An enum type can be marked as pure. Then access of its fields always requires full qualification."
10:06:13FromGitter<Yardanico> @mratsim you're probably mistaken
10:06:21FromGitter<Yardanico> pure enums can't be accessed without prefix
10:06:34FromGitter<ephja> he might be referring to enums not marked as 'pure'
10:07:06FromGitter<Yardanico> oh wait
10:07:20FromGitter<mratsim> I use the enum from nimblas like colMajor or rowMajor without prefixing
10:07:21Arrrrcase on pure enums should work like in java, you are not required to specify the full qualification
10:07:23FromGitter<ephja> since you may or may not qualify the members if the enum is not pure
10:07:41FromGitter<Yardanico> is this a bug?
10:07:47FromGitter<Yardanico> ```code paste, see link``` ⏎ ⏎ works now lol [https://gitter.im/nim-lang/Nim?at=59d0be73b20c642429ab95cd]
10:07:57FromGitter<Yardanico> took it from manual
10:08:11FromGitter<Yardanico> "An enum can be marked with the pure pragma so that it's fields are not added to the current scope, so they always need to be accessed via MyEnum.value:"
10:08:15FromGitter<Yardanico> but valueA works too
10:10:21FromGitter<Yardanico> (latest devel)
10:11:23FromGitter<ephja> when in doubt, consider it a feature ;)
10:12:51FromGitter<Yardanico> when in doubt, ping Araq :P
10:13:53salewskiOK, will test it later. Bye.
10:13:57*salewski quit (Quit: WeeChat 1.9)
10:14:46FromGitter<Yardanico> well I don't really think it's a feature, it's probably a regression :)
10:18:36AraqVardanico: it's a feature
10:19:19FromGitter<Yardanico> oh
10:19:20Araqno more .pure vs non-pure enum distinctions in the future, if the identifier is otherwise not bound, it's looked up in the enum's scope
10:19:21FromGitter<Yardanico> ok then
10:19:35FromGitter<Yardanico> it seems manual can be outdated too :P
10:19:49Araqfix it ...
10:21:12FromGitter<Yardanico> ok
10:21:17FromGitter<Yardanico> just remove info about pure enums?
10:26:17Araqdocument how it works :P
10:26:36Araqit's a hidden top level scope that is asked for the enum value if value is not resolved otherwise
10:27:26FromGitter<GULPF> what does `file: "..."` mean in the discard section of the tests?
10:28:28Araqgulpf: it's the file the error should be reported in
10:47:11*skrylar joined #nim
10:47:20skrylarso i found out fltk was apparently used by the film industry back in the day
10:47:32skrylarand almost ended up being the main linux toolkit instead of gtk once. lol
10:50:06FromGitter<Yardanico> are you still making a wrapper for it?
10:53:32skrylaryea. maybe 35% done
10:53:50skrylarfltk doesn't do anything stupid so its really simple to wrap
10:54:36FromGitter<Yardanico> can it be statically linked and does it support windows ?: )
10:54:45skrylarwindows yes
10:54:55FromGitter<Yardanico> "FLTK is designed to be small and modular enough to be statically linked," nice
10:55:01FromGitter<Yardanico> yay "FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes."
10:55:04skrylaryes they have the link exception for lgpl
10:55:05FromGitter<Yardanico> or it's only for c++ ?
10:55:21skrylarits only for c++ unless you parsed the fluid files
10:55:38skrylaronly downside is it draws its own widgets and so its uhh
10:55:44skrylarwell it could be prettier
10:55:46skrylarbut it 100% works
10:57:43skrylari'm going to guess that since this paper doesn't bother saying what goes in this matrix, that it should just be an identity matrix /shrug
10:58:34dom96Araq: So I can't force people to prefix enums anymore?
10:58:45skrylardid pure get removed
10:59:33Araqdom96: No.
11:01:34AraqI considered only allowing to skip the prefix in 'case' statements but then what about set literals or [value: "a", valueB: "b"] lookup tables?
11:02:55skrylarhmm. well i was tagging states in a state machine with a 'pure enum' so that could result in symbol pollution without it /shrug
11:03:24Araqthere is no pollution, it gets its own dedicated scope
11:03:51*dom96 isn't sure what you've changed
11:08:22*yglukhov quit (Remote host closed the connection)
11:16:32FromGitter<Bennyelg> Today nimPresto Is running in Production :)
11:17:53*solitudesf quit (Ping timeout: 248 seconds)
11:19:06skrylarsome kind of database connector? neat
11:20:08skrylari kinda liked rethinkdb but i have no idea how hard that is to communicate with
11:26:26*Snircle joined #nim
11:38:21FromGitter<Bennyelg> Hey, I have a Seq[seq[string]] I want (using jester) to parse it into simple html table using nim htmlgen
11:38:25FromGitter<Bennyelg> any tutorial
11:41:16FromGitter<Yardanico> no tutorials :)
11:41:36FromGitter<Bennyelg> the documentation is very lake of info
11:41:46FromGitter<Yardanico> well why?
11:41:52FromGitter<Yardanico> htmlgen module is pretty simple
11:41:56FromGitter<Yardanico> nothing complicated
11:42:15FromGitter<Yardanico> I think it would be better to use stdtmpl for you
11:42:43FromGitter<Yardanico> https://nim-lang.org/docs/filters.html#available-filters-stdtmpl-filter
11:43:33*yglukhov joined #nim
11:45:51skrylaryardanico i dunno sometimes a readme is still handy
11:46:07FromGitter<Yardanico> well it has example
11:49:09FromGitter<Yardanico> it would be easy with stdtmpl btw
12:12:41FromGitter<Bennyelg> I tried resp html(head(body(table(dset))))
12:12:49FromGitter<Bennyelg> dset = many td()
12:18:44FromGitter<Yardanico> it wouldn't work since you can't call macros at run-time
12:19:20FromGitter<Bennyelg> it almost works the only problem is that he push the tds on tr so everything is on 1 lone
12:19:21FromGitter<Bennyelg> line
12:19:25FromGitter<Bennyelg> resp html(head(), ⏎ ⏎ ``` title("Test page"), ⏎ body(table(dset)) ⏎ )``` [https://gitter.im/nim-lang/Nim?at=59d0dd4cbac826f0541f4271]
12:21:10*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
12:24:32FromGitter<Yardanico> well my suggestion - use stdtmpl
12:25:35FromGitter<Bennyelg> I'll try it now
12:26:17*dddddd joined #nim
12:30:16FromGitter<ephja> one of the third pardy template engines seemed nice
12:30:29FromGitter<ephja> party*
12:31:04FromGitter<Bennyelg> this syntax is so confusing
12:31:05FromGitter<Bennyelg> lol
12:31:15FromGitter<Bennyelg> why we can't have something simple like jinja2
12:31:37FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59d0e028b59d55b8235c819b]
12:33:40Araqbennyelg: there are alternative Nimble packages
12:33:52FromGitter<Bennyelg> names :)
12:34:12Araqbut htmlgen should be replaced by a native karax version
12:34:45FromGitter<Bennyelg> ```code paste, see link``` ⏎ ⏎ no idea why this isnt working [https://gitter.im/nim-lang/Nim?at=59d0e0e5bac826f0541f5075]
12:36:52FromGitter<ephja> https://github.com/enthus1ast/nimWebTemplates that's not what I was thinking of, but it's jinja like
12:39:01FromGitter<Yardanico> @Bennyelg as I said - they're macros
12:39:04FromGitter<Yardanico> they work only at compile-time
12:39:19FromGitter<Yardanico> @Bennyelg it's not confusing
12:39:21FromGitter<Yardanico> why it is?
12:40:42*TjYoco joined #nim
12:41:38TjYocono way to use random in a macro huh?
12:43:08FromGitter<ephja> maybe because of the module-level state
12:43:22FromGitter<Yardanico> TjYoco: yes, there's a way
12:43:29FromGitter<Yardanico> use randomize(yourOwnSeed)
12:43:33FromGitter<Yardanico> instead of randomize()
12:43:47TjYocoahh, I'll give it a shot thanks
12:44:09*ShalokShalom_ joined #nim
12:45:46FromGitter<Bennyelg> I think my problem is when I returning the resp with jester
12:45:52FromGitter<Bennyelg> how Do I return HTML page?
12:46:52FromGitter<ephja> RNG at compile time. interesting
12:47:04FromGitter<ephja> what for?
12:47:28*ShalokShalom quit (Ping timeout: 255 seconds)
12:48:06FromGitter<Yardanico> @Bennyelg resp yourHtmlPageAsString
12:48:11FromGitter<ephja> @Bennyelg don't you just need to pass a string to "resp"?
12:48:23FromGitter<Yardanico> yeah you just pass a string to resp
12:48:24FromGitter<Bennyelg> nop
12:48:33FromGitter<Bennyelg> it's not working and my html is prefectly fine
12:48:34TjYocoephja, this silly thing https://imgur.com/a/AHLLY
12:49:05TjYocoBefunge: https://en.wikipedia.org/wiki/Befunge macro in Nim just to see if I could
12:52:25FromGitter<Bennyelg> here is my prefectly html generated: ⏎ ⏎ `````` [https://gitter.im/nim-lang/Nim?at=59d0e509210ac2692093ac9b]
12:52:35FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59d0e512c171ee8b299dd50b]
12:52:53FromGitter<Bennyelg> I am now resp htmlString
12:52:56FromGitter<Bennyelg> I get shitty resp
12:54:23Araqyou need to generate some HTTP header that tells the browser HTML is following
12:54:46FromGitter<Bennyelg> this is what I thought What Do I need to pass basicly :/
12:55:43FromGitter<Yardanico> well jester does that already
12:55:47FromGitter<Yardanico> you don't need to do that AFAIK
12:55:55FromGitter<Bennyelg> in fact it's not
12:55:59FromGitter<Bennyelg> maybe I need to upgrade jester?
12:56:04FromGitter<Yardanico> are you sure it doesn't?
12:56:11FromGitter<zacharycarter> hrm I was hoping to use msgpack as a serialization protocol but it msgpack4nim seems to have issues :/
12:56:19FromGitter<Bennyelg> of course Im sure. ⏎ I dont see my html correctly
12:56:43FromGitter<Yardanico> what do you mean "I don't see my html correctly"?
12:56:45FromGitter<Yardanico> how is it displayed?
12:56:57FromGitter<Bennyelg> one row data
12:57:04FromGitter<ephja> pfft msgpack. my serialization thing will be much less bloated because of homogenous containers :p
12:57:16FromGitter<Bennyelg> the header looks ok i think
12:57:16FromGitter<Bennyelg> {Content-Length: 467, Content-Type: text/html;charset=utf-8}
12:57:25FromGitter<zacharycarter> @ephja when will this be done? I'd like to try it out
12:58:29FromGitter<ephja> @zacharycarter I need to finish it though, but I'm sure there are similar existing formats
12:58:49FromGitter<zacharycarter> hrm I just need SOMETHING at this point that plays nicely with ENet
12:59:03FromGitter<zacharycarter> msgpack was working great until object variants with nil sequences entered the picture
12:59:23FromGitter<zacharycarter> I guess I could use JSON but ugh
12:59:44FromGitter<ephja> it's a start
13:00:50FromGitter<Bennyelg> The funny thing is that the rendered page is bad rendered I dont know why he put everything under <tr> tag when I already gave him the full html to reload.
13:02:23*miran quit (Ping timeout: 248 seconds)
13:03:03FromGitter<Yardanico> @Bennyelg maybe you've constructed bad HMTL ? :)
13:03:18FromGitter<ephja> it'll have heterogenous containers as well. maybe you can save some space by grouping types together ((type, len, objects...)...)
13:03:26FromGitter<Yardanico> ah yes
13:03:32FromGitter<Yardanico> you don't have "tr" in your table lol
13:03:36FromGitter<Bennyelg> you can see the html up
13:03:48FromGitter<Bennyelg> `````` [https://gitter.im/nim-lang/Nim?at=59d0e7b4614889d4755fb965]
13:04:06FromGitter<Bennyelg> do you see something bad in this simple example ?
13:04:20FromGitter<zacharycarter> yeah like @Yardanico no table rows
13:04:32FromGitter<Bennyelg> no need
13:04:39FromGitter<Bennyelg> it can be rendered without tr
13:04:47FromGitter<zacharycarter> you said one row of data
13:04:50FromGitter<Bennyelg> I also, added one
13:04:59FromGitter<zacharycarter> that's why it's in one row of data
13:05:05FromGitter<Yardanico> yeah
13:05:08FromGitter<Bennyelg> but it add another one and push everything inside
13:05:09FromGitter<Bennyelg> lol
13:05:13FromGitter<Yardanico> don't blame nim for everything :D
13:05:19FromGitter<Bennyelg> believe me there is something odd
13:05:34FromGitter<zacharycarter> post your full code so we can try it out
13:05:44FromGitter<zacharycarter> if you're just using jester and htmlgen then 95% of us will be able to compile it
13:06:09FromGitter<ephja> what does the response (including the header) look like?
13:06:20FromGitter<Bennyelg> Lets see I returned to the old version now
13:07:13FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59d0e881c171ee8b299de4c8]
13:07:20FromGitter<zacharycarter> Anyone have any experience with nimrod-enet? I'm using it but I can't seem to get complex packets with a lot of data working correctly
13:07:26FromGitter<Bennyelg> I dont know if this is something which can help you guys.
13:08:37*skrylar quit (Ping timeout: 255 seconds)
13:14:28FromGitter<Bennyelg> fixed
13:15:23FromGitter<Bennyelg> My freaking newbiesh mistake
13:16:07*miran joined #nim
13:18:53FromGitter<ephja> what was the problem?
13:19:57FromGitter<ephja> you're not the only one. I'm still a terrible programmer :D
13:29:30ArrrrTerrible programmers are not able to deal with compiler internals
13:30:15TjYocoI will attest to that
13:33:31*gokr joined #nim
13:36:12FromGitter<ephja> I've mostly been looking at the internals and wondered wth I'm supposed to do lol
13:40:36FromGitter<ephja> signature matching might be more complicated than other things though (I hope) :p
14:03:20*fastrom joined #nim
14:18:36Araqephja: what do you want to know?
14:26:10FromGitter<ephja> Araq: it's tricky, but maybe I'll be able to figure it out myself. I was trying to fix this https://github.com/nim-lang/Nim/issues/1201 the last time I looked at the compiler code
14:26:28planetis[m]hi
14:27:46planetis[m]would it be hard to port karaxdsl?
14:28:17FromGitter<ephja> I learned a few things about the candidate comparisons at least
14:32:01Araqplanetis[m]: port to native Nim?
14:32:37planetis[m]yes
14:32:56Araqno, it's mostly copy&paste
14:33:04*yglukhov quit (Remote host closed the connection)
14:33:18planetis[m]but what about its dependencies?
14:33:21Araqthe hard part is to decide whether to produce a tree or strings
14:33:30planetis[m](I am interested in doing that)
14:33:35planetis[m]ok
14:33:59Araqthe dependencies are what you need to switch
14:36:15planetis[m]i guess strings would be easier
14:36:17Araqthinking about it ... maybe it's only a karax patch really
14:37:36planetis[m]patch karax to output html?
14:38:17*rauss quit (Read error: Connection reset by peer)
14:39:05planetis[m]it wouldn't work in native backend though, would it?
14:39:29Araqkaraxdsl produces nodes from vdom.nim
14:40:36Araqwe need a `$` for VNode and something like when defined(js): type kstring = cstring else: type kstring = string
14:40:50*rauss joined #nim
14:40:51*Guest19662 joined #nim
14:41:17Araqmaybe other changes but vdom.nim could compile as native code
14:41:45planetis[m]so only vdom.nim is direct dependency to karaxdsl?
14:42:28planetis[m]dont know what i meant with that
14:42:40planetis[m]i mean is needed?
14:43:31AraqI don't know, read its code
14:43:52planetis[m]i can understand the breeze macro but karaxdsl is more complex
14:44:40planetis[m]ok Araq will do
14:44:55planetis[m]and ask questions
14:44:58planetis[m]:)
14:49:51Araqexcellent.
14:53:30*yglukhov joined #nim
14:56:01*mahsav quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org)
14:57:56*dhalinar joined #nim
14:57:57*Trustable joined #nim
15:08:37*dhalinar quit (Ping timeout: 258 seconds)
15:17:49FromGitter<Yardanico> Araq: can https://github.com/nim-lang/Nim/commit/ddc131cf07972decc206e033b2dd85a42eb1c98d be called "Strong-spaces are now enforced by the compiler" ?
15:17:58FromGitter<Yardanico> I'm editing changelog :P
15:18:25Araqno, strong spaces is a term that refers to operator precedences
15:21:42FromGitter<genotrance> hey guys, struggling to get a C++ class instantiated - any help? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59d108057f323fc375f37a1c]
15:21:57FromGitter<genotrance> C++ files are here: https://github.com/acoustid/chromaprint/tree/master/src
15:23:50FromGitter<Yardanico> @dom96: what do you plan to add to changelog? all changes (including some changes like https://github.com/nim-lang/Nim/commit/e5cb1a2dd547827ee750abbb21039d1cf0a30988), or big changes like adding new keywords?
15:24:04dom96everything
15:24:11dom96(as much as possible)
15:24:28dom96don't worry about previous versions though
15:24:59FromGitter<Yardanico> well I assume everything between 0.17.2 and 0.18.0 should be there?
15:27:03Araqgenotrance: it's in the namespace chromaprint
15:27:21Araqso your importcpp needs to be "chromaprint::ClassName"
15:27:27Araqc2nim produces that :P
15:28:44FromGitter<genotrance> okay so I tried running fingerprinter_configuration.h through c2nim and it doesn't show that - guess I am still not sure how to use c2nim
15:28:54FromGitter<Yardanico> you should use it in cpp mode :)
15:29:03FromGitter<Yardanico> c2nim --cpp file.h
15:29:54FromGitter<genotrance> i did and it spits out the file.nim but then it has imports for other modules it includes, so I have to run c2nim on a bunch of files
15:30:26FromGitter<genotrance> is it convention to do this within nimble or generate the c2nim output and check that into source control?
15:31:15FromGitter<Yardanico> generate c2nim output
15:31:20FromGitter<Yardanico> because it's not fully automatic
15:31:34FromGitter<Yardanico> sometimes you need to edit it by hand
15:32:25FromGitter<Yardanico> @dom96: I want to add some things to changelog - https://gist.github.com/Yardanico/8faf0bffbf28928b8d1a69f60f5b4d96 , but I don't want to create a PR because I'm not a native English speaker :P
15:32:54FromGitter<genotrance> so why is c2nim preferred versus using {.compile.} on the C/C++ files directly? I only want a subset of the functionality.
15:33:17dom96Yardanico: why would that prevent you creating a PR? Are you afraid people will make fun of you? (That won't happen)
15:33:18FromGitter<Yardanico> @genotrance because it knows almost everything about generating bindings
15:33:32FromGitter<Yardanico> well no, it would be easier to you to make your edits and then push it :)
15:33:45FromGitter<Yardanico> @genotrance and it's faster than writing bindings by hand
15:33:58FromGitter<Yardanico> you use c2nim, and after that remove all stuff that you don't need
15:34:48FromGitter<genotrance> @Araq - thanks, namespace chromaprint worked in a snap!
15:36:04FromGitter<genotrance> I was living in the ideal world of using git submodule on this code and doing it at build time. But I guess that's not realistic
15:36:41FromGitter<Yardanico> well if you would generate c2nim output by yourself, you wouldn't need to ask users to install c2nim
15:37:38FromGitter<mratsim> you can use c2nim to know how to bind and then use compile on the cpp files
15:39:20FromGitter<genotrance> @mratsim : that's basically how I've been using it so far, I guess it works on simple stuff
15:41:38*sz0 joined #nim
15:41:52FromGitter<genotrance> here's another question - can c2nim convert #include files as well as it goes?
15:43:36Araqno, but there are workarounds
15:46:06*def-pri-pub joined #nim
15:50:11FromGitter<Yardanico> https://hacktoberfest.digitalocean.com/https://github.com/pragmagic/vscode-nim/pull/64https://github.com/pragmagic/vscode-nim/pull/63 ⏎ :P [https://gitter.im/nim-lang/Nim?at=59d10eb3c171ee8b299e8f7f]
15:50:32FromGitter<Yardanico> (I think PRs should be separated anyway)
15:51:11FromGitter<ephja> that seems like a good `getAst` change
16:19:18FromGitter<Bennyelg> @dom96 Chapter #9 - Nim iN Action is A killer!
16:19:20FromGitter<Bennyelg> :D
16:25:45*onionhammer quit (Quit: WeeChat 1.9)
16:26:07*onionhammer joined #nim
16:27:16dom96That's great :)
16:27:39FromGitter<Bennyelg> I wish the concept section was bigger :D but it's ok
16:28:31FromGitter<Yardanico> well it's not fully stable yet
16:28:39FromGitter<Bennyelg> Yea I know
16:28:47FromGitter<Yardanico> but "using" is already stable :P
16:29:10FromGitter<Bennyelg> Its ok, chapter 9 is what what i was missed to be more comfortable using nim.
16:29:28FromGitter<Bennyelg> now Im just playing around and practice with those :D
16:43:04*def-pri-pub quit (Quit: Leaving.)
16:47:05planetis[m]Araq: what should I do with Vnode.events ? Remove this field?
16:49:17*rokups joined #nim
16:50:21Araqplanetis[m]: it doesn't harm, does it?
16:50:42planetis[m]so how tcall2 should handle events?
16:51:29*TjYoco quit (Quit: Leaving)
16:51:35Araqjust leave that code as it is, we'll ignore it in the $ for VNode
16:52:28planetis[m]ok
16:54:03miranAraq: a question about `deques` module - would you be interested in implementation of `rotate` method?
16:57:26mirancurrently, i have implemented it like this for my needs: https://www.pastery.net/gaxuwb/
16:58:12planetis[m]Wait a minute: the macro generates calls to addEventHandler which is defined in karax.nim. Should I just comment that out?
16:59:56*Demos joined #nim
17:00:05FromGitter<ephja> ..< is an iterator? damn :p
17:00:43FromGitter<Yardanico> miran: if you're editing a queue, why do you return it?
17:01:00*Guest19662 quit (Remote host closed the connection)
17:01:16FromGitter<Yardanico> I mean you're changing the queue itself, why do you also return it from your proc?
17:03:05miranYardanico: in this example, it is a part of a sequence so i guessed this might be a way to go (see here: https://github.com/narimiran/advent_of_nim_2016/blob/master/day08.nim)
17:03:28miranbut it might be that i'm just a beginner and i could have done this without return :)
17:03:40FromGitter<Yardanico> yeah
17:03:45FromGitter<Yardanico> you don't need return and assignment here
17:03:50FromGitter<Yardanico> your procedure changes your sequence itself
17:04:08miranok, i'll try to refactor. thanks!
17:05:05FromGitter<Bennyelg> ```code paste, see link``` ⏎ ⏎ python like :P [https://gitter.im/nim-lang/Nim?at=59d12040210ac26920949f69]
17:05:59FromGitter<Yardanico> well if you write Nim code, I don't think it's good to use templates like this
17:06:09FromGitter<Bennyelg> why ? because of the inject ?
17:06:12FromGitter<Yardanico> if you port some code from python to nim - maybe, but you'll need to rewrite it later anyway
17:06:23FromGitter<Yardanico> well, I mean "python-like" :)
17:06:54FromGitter<Bennyelg> Im not going to use it , I just learned in the book how to use templates and generics so I'M practicing
17:07:12FromGitter<Bennyelg> With examples like this I get better understanding of `how to`
17:07:14FromGitter<Yardanico> ah, ok
17:10:28FromGitter<Yardanico> also, about your post here: https://forum.nim-lang.org/t/3205/2 ⏎ ⏎ the question was about general "with" statement, which is not limited to files :) ⏎ and implementing "with..." template would be an overkill IMO [https://gitter.im/nim-lang/Nim?at=59d12184b20c642429ad4bca]
17:11:00FromGitter<Yardanico> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59d121a3b59d55b8235da2a1]
17:11:15FromGitter<Yardanico> this is an example of "with" macro :)
17:11:37FromGitter<Bennyelg> ya I didnt get to macros yet
17:11:38FromGitter<Bennyelg> :|
17:19:29FromGitter<genotrance> > @Araq: no, but there are workarounds ⏎ ⏎ I presume you mean c2nim can convert #include files as it goes? Can you please share how this can be done?
17:19:44FromGitter<Yardanico> you can just pass a list of files to it
17:19:48FromGitter<Yardanico> (to c2nim)
17:20:24FromGitter<genotrance> right but that way, I need to know which ones - if I just pick one file and it includes another local file, c2nim could do it automatically
17:21:10FromGitter<Yardanico> add this feature :P
17:22:23FromGitter<genotrance> I can try - but is it useful or simplistic again?
17:24:42*Demos quit (Ping timeout: 258 seconds)
17:25:26miranYardanico: i managed to refactor the code, as per your suggestion. much nicer, thanks!
17:37:29planetis[m]Araq: wouldn't calling setAttr make more sense? Sorry for buggying you by the way.
17:37:52*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:38:00ArrrrWhat do you prefer, Option[Enum] or reserve one enum value to represent nothing?
17:41:00*Vladar quit (Quit: Leaving)
17:50:19FromGitter<Yardanico> miran: it also should be faster
17:53:53*Arrrr quit (Read error: Connection reset by peer)
17:54:51miranYardanico: with my current input, both versions give 0.000 user time :)
17:54:53*azur_kind quit (Remote host closed the connection)
17:56:55miranbut yeah, when i increase the input, the new version is ~2x faster! nice!
17:58:35planetis[m]miran: the one with the none enum value I presume?
18:01:07Araqgenotrance: it would be useful. in the meantime the pegs module has a code snippet to extract #include directives
18:01:52FromGitter<genotrance> okay Araq, I'll look into it
18:01:56Araqplanetis[m]: you can disable this via 'when not defined(js)'
18:04:20FromGitter<genotrance> meanwhile, stuck again
18:04:22FromGitter<genotrance> https://gist.github.com/genotrance/ae0823850886f4bc27214c7cfa1500dc
18:04:42*libman joined #nim
18:05:11planetis[m]ok will do. one question though we are aiming for a stdlib module right? Not the
18:05:28planetis[m]patch to karax you mentioned?
18:07:02FromGitter<genotrance> my constructor requires an argument and I've defined that in constructFingerprintMatcher() but Nim still generates a call to a constructor without an argument
18:07:07miranplanetis[m]: none enum value? are we talking about the same thing? :) (i was talking about this: https://github.com/narimiran/advent_of_nim_2016/commit/4b06a98ef31646309a9ab96531c64222abfb3ea4?diff=unified)
18:07:55libmanHacker movie code dumps used to like assembly in the 80s, but neat blocks of code no longer look slick. Curly braces stimulate the subconscious.
18:08:22planetis[m]oh thought you were talking about Option[enum]
18:09:08Araqplanetis[m]: no, I'd like the karax patch, no need to make it part of the stdlib then
18:09:24libman(re Rust codepr0n decor in Prey game, discussion yesterday)
18:09:55planetis[m]ahh
18:10:04planetis[m]ok
18:11:39planetis[m]will try to do that instead
18:12:14planetis[m]Anyway it didn't go complitly to waste at least I understand the code better now
18:23:09*def-pri-pub joined #nim
18:27:54planetis[m]this code: https://pastebin.com/FDrJR6Fg shouldn't cause an error? At least the manual https://nim-lang.org/docs/manual.html#types-object-variants says about the kind field "The new value must not lead to a change of the active object branch"
18:28:38Araqyou do change the active object branch
18:28:52Araqfrom the intVal branch to the floatVal branch
18:32:23*solitudesf joined #nim
18:33:05*TjYoco joined #nim
18:36:52planetis[m]yes I do. and it shouldn't run right?
18:41:19*couven92 quit (Quit: Client Disconnecting)
18:42:52*deavmiLaptop joined #nim
18:43:20*deavmiLaptop left #nim (#nim)
18:50:09FromGitter<zacharycarter> anyone have any experience with ENet?
18:50:58FromGitter<genotrance> c2nim complains on this line: ⏎ ⏎ ```const auto new_duration = duration + other.duration;``` [https://gitter.im/nim-lang/Nim?at=59d13912177fb9fe7e270748]
18:51:34FromGitter<genotrance> c2nim complains on this line: ⏎ ⏎ ```const auto new_duration = duration + other.duration;``` ⏎ ⏎ fingerprint_matcher.h(40, 28) Error: identifier expected, but found '= (pxAsgn)' [https://gitter.im/nim-lang/Nim?at=59d139357f323fc375f45f60]
18:52:11*couven92 joined #nim
18:53:49def-pri-pubzacharycarter: heyas. Are you looking to use Enet as the underlying network stuff for zengine?
18:54:26def-pri-pubAs for your PR, sorry for not sifting through it thouroghly, I've been a tad bust with some more personal things lately. Is there a timeframe when you'd like me to have it in by?
18:57:03def-pri-pubAlso, I'm kind of confused about the OpenGL ES vs OpenGL 1.0 shading language stuff. Is it that we can *only* use GLSL 100 for the WebGL compatability? I was under the assumption that using GLSL 200 es
18:57:10def-pri-pubwould be okay.
18:59:40FromGitter<zacharycarter> def-pri-pub: yeah
18:59:51def-pri-pubyeah to what?
18:59:56FromGitter<zacharycarter> to both
18:59:57FromGitter<zacharycarter> :P
19:00:19FromGitter<zacharycarter> I'm just experimenting with enet at the moment - but I'm noob at network programming so I'm not exactly sure how to construct my packets
19:00:43FromGitter<ephja> I recall seeing something about enum inheritance
19:00:56FromGitter<zacharycarter> I'm not in a rush to get the emscripten / wasm stuff in but I'd rather not use OpenGLES at this point
19:01:22FromGitter<zacharycarter> it adds another dependency and it's a pain in the ass honestly to use - the bindings are not very friendly, and it introduces a ton more boilerplate code
19:02:08FromGitter<zacharycarter> and yes we can only use GLSL 100 for wasm
19:02:16FromGitter<zacharycarter> it's a limitation of Webgl 1.0
19:02:30def-pri-pubtrue. I can understand that. I do feel as if the WASM branch isn't the best thing to focus on right now. (I've logged a ton of other issues in the tracker that I think need higher priority). But I can understand if you want to say that zengine could work in the browser.
19:02:33FromGitter<zacharycarter> we can basically use any GLES 2.0 function / extension
19:02:54def-pri-pubAre there any steps for getting started with WASM? I don't have emscripten or WASM setup on my machine.
19:03:06FromGitter<zacharycarter> well getting emscripten installed is step #1
19:03:40def-pri-pubAlso, if you're looking for a tutorial on network programming, here is a shameless self plug:
19:03:40def-pri-pubhttps://16bpp.net/tutorials/csharp-networking/
19:03:58def-pri-pubWell, it's less of "how to do networking programming," but "how to do it in C#."
19:04:33FromGitter<zacharycarter> yeah :/ I need a how to do it in Nim tutorial
19:04:37def-pri-pubBut I go over other concepts in the tutorial series too. I want to get a Nim port of it, but there are some more important things I'm working on now.
19:04:45FromGitter<zacharycarter> gotcha
19:05:29def-pri-pubC# isn't that bad. Acutally, I think it's quite good for writing networked apps. I'd recommend going through it. Just bite the C# bullet right now.
19:06:07FromGitter<zacharycarter> I just need to understand how to best construct a network packet to be sent with enet
19:06:50FromGitter<zacharycarter> I guess I should use createShared for this and just pack data into memory
19:09:28FromGitter<zacharycarter> ah found a good example
19:09:30FromGitter<zacharycarter> :D
19:09:54*rokups quit (Quit: Connection closed for inactivity)
19:10:17*sz0 quit (Quit: Connection closed for inactivity)
19:13:46*Jesin quit (Quit: Leaving)
19:13:53*solitudesf quit (Remote host closed the connection)
19:20:47*Jesin joined #nim
19:51:11*def-pri-pub quit (Quit: Leaving.)
19:51:54*def-pri-pub joined #nim
19:55:28*ofelas quit (Quit: shutdown -h now)
19:57:02*def-pri-pub quit (Quit: Leaving.)
19:58:16*Sembei joined #nim
19:58:55*Pisuke quit (Ping timeout: 248 seconds)
20:15:10*jsgrant left #nim (#nim)
20:17:22FromGitter<zacharycarter> Araq: what did r used to be when defining macros?
20:18:22FromGitter<zacharycarter> I'm looking at code from fowl: https://github.com/fowlmouth/roids/blob/master/private/packets.nim#L197-L214
20:20:58FromGitter<zacharycarter> nevermind I figured out what he's doing
20:21:15*solitudesf joined #nim
20:22:50*jsgrant joined #nim
20:24:15*libman quit (Quit: Connection closed for inactivity)
20:24:48*skrylar joined #nim
20:26:02*libman joined #nim
20:31:54*miran quit (Quit: Leaving)
20:38:25*Serenitor joined #nim
20:39:16*claudiuinberlin joined #nim
20:52:12FromGitter<Bennyelg> Hey, ⏎ Any example how to use proxy to authenticate? ⏎ I need set user, password and cert file ⏎ is it possible ? [https://gitter.im/nim-lang/Nim?at=59d1557b614889d47561b0fb]
20:53:47TjYocoBennyelg I hope you get an answer, I was trying to figure this out today too
20:54:14FromGitter<Bennyelg> Oh, I must get an answer :D no documentation of usage
20:54:25FromGitter<Bennyelg> @Araq
20:55:42Araqsorry I don't know
20:56:12FromGitter<Bennyelg> The file sign by you too :P ⏎ ⏎ ```(c) Copyright 2016 Dominik Picheta, Andreas Rumpf``` [https://gitter.im/nim-lang/Nim?at=59d1566c614889d47561b4a6]
20:56:16FromGitter<Bennyelg> @dom96
20:57:12PMunchPhew, just uploaded my Masters thesis, written entirely in Nim :)
20:57:21PMunchWell, Nim and LaTeX :P
20:57:26FromGitter<Bennyelg> Congratz!!
20:57:40FromGitter<Bennyelg> Very very proud of you :D Nim!!
20:59:20PMunchThanks, now let's just hope it gets approved :P
20:59:40FromGitter<Bennyelg> I sure you will ;]
20:59:51FromGitter<Bennyelg> I am too afraid to continue to Ms.c
21:00:03PMunchToo afraid?
21:00:20PMunchIt's mostly just been fun
21:00:49FromGitter<Bennyelg> I don't like the presure
21:00:59FromGitter<Bennyelg> I am very stressful man, :d
21:01:20*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
21:01:27PMunchHaha, I think I'm immune to stress myself :P
21:01:35FromGitter<Bennyelg> I barely done my Bs.c with score of 81.5 :|
21:01:37PMunchWoke up today and still had two chapters to write
21:02:33FromGitter<Bennyelg> :D, When you have to do it you do it heheh
21:03:56PMunchYeah, pretty much
21:04:05PMunchOh well, I'm off to do something else now
21:04:13*PMunch quit (Quit: leaving)
21:04:30FromGitter<Bennyelg> Good luck, keep us posted :]
21:13:01dom96https://nim-lang.org/blog/2017/10/01/community-survey-results-2017.html
21:14:51FromGitter<zacharycarter> nice
21:14:58FromGitter<zacharycarter> thanks dom96 for doing that
21:15:12dom96that was a pain to write :)
21:15:21enthus1ast-Varriount NESM https://github.com/xomachine/NESM
21:16:32FromGitter<zacharycarter> I can imagine
21:16:36FromGitter<zacharycarter> or maybe I can't :P
21:20:05*solitudesf quit (Ping timeout: 240 seconds)
21:21:33FromGitter<ephja> lack of new users around christmas? ;)
21:21:48FromGitter<ephja> we need some kind of christmas event
21:23:21FromGitter<ephja> "24.6% of Nim users’ work with Nim either full-time or part-time."
21:24:50FromGitter<ephja> How could we help make Nim more accepted at your company? “change cocky logo”
21:24:57FromGitter<ephja> the what now?
21:33:48TjYocoIts extremely simple and very recognizable what more can you ask for!
21:34:02*Trustable quit (Remote host closed the connection)
21:36:16Araqladies and gentlemen, we now have (experimental)
21:36:19Araqimport $stdlib / [macros, strutils, math]
21:36:51Araqthe $ here actually means to resolve the path with tools/nimresolver.nim ... I have no idea if it's a good idea
21:37:35Araqbut to get the ball rolling I think it's good
21:39:01Araqwe can also think about allowing import $"git clone https://github.com/package" :-)
21:42:50dom96ephja: yeah, that made me go "lol wtf" so I decided to include it :)
21:45:34dom96Araq: Oh god, won't this end up with lots of lookup issues: "nimresolver not found"?
21:48:05Araqwho knows, it's a test balloon
21:48:37Araqnimresolver is easy enough for everybody to tinker with
21:49:11Araqand we can then hard code the rules once we decided what $ should mean
21:50:55Araqyou can do crazy things, for example "only for these 3 files on my HD $stdlib means standalone/lib"
21:52:44Araqor company specific lookup rules
21:54:25dom96$stdlib should be hardcoded anyway...
21:55:16Araqfwiw Python does this https://docs.python.org/3/reference/import.html#import-hooks
21:55:46dom96also, shouldn't this be configured in a .nims file?
21:58:11Araqunfortunately I couldn't yet figure out how to do that, internally the dependencies in the compiler become messy when I do that
22:01:38SerenitorI just updated to nim 0.17.2 on windows and now I am getting "could not import: nosjoinPath".. any idea?
22:02:51AraqSerenitor: rebuild your DLLs?
22:06:52*nsf quit (Quit: WeeChat 1.9)
22:08:11Serenitorhm looks like it doesn't even get to the point where it tries to load the DLL in question, as when I delete it, I just get the same error
22:08:11Serenitorso rebuilding it didn't help either
22:08:41Serenitorbut it is true that when I make a build that doesn't rely on DLLs, it runs fine
22:09:03*skrylar quit (Ping timeout: 248 seconds)
22:17:42*TjYoco quit (Quit: Leaving)
22:18:20AraqSerenitor: 32 vs 64bit issue?
22:24:27Serenitormmh unlikely it's all compiled with the same nim.cfg that enforces the rules for that, 64bit in this case. I'll try reproduce it outside of my script
22:25:41*skrylar joined #nim
22:28:39*dhalinar joined #nim
22:31:02*couven92 quit (Quit: Client Disconnecting)
22:36:58*gokr quit (Ping timeout: 264 seconds)
22:38:12*def-pri-pub joined #nim
22:41:02*ShalokShalom_ quit (Remote host closed the connection)
22:44:15*libman quit (Quit: Connection closed for inactivity)
22:59:34*def-pri-pub quit (Quit: Leaving.)
23:13:48*dhalinar quit (Ping timeout: 240 seconds)
23:23:07skrylarwell, got a pile of fltk widgets done
23:35:48*skrylar quit (Ping timeout: 240 seconds)
23:43:46*Serenit0r joined #nim
23:46:20*Serenitor quit (Ping timeout: 246 seconds)
23:48:27*Demos joined #nim
23:55:51*skrylar joined #nim