<< 15-04-2016 >>

00:07:54*gokr quit (Ping timeout: 276 seconds)
00:16:19Varriount_federico3: Used a linked list possibly? Or create a ring buffer implementation.
00:21:54cheatfateVarriount_, linked lists producing leaks in current GC
01:09:17*alexsystemf_ quit (Quit: Connection closed for inactivity)
01:21:27*thotypous quit (Ping timeout: 264 seconds)
01:24:02*thotypous joined #nim
01:29:28*thotypous quit (Ping timeout: 252 seconds)
01:30:51*vendethiel joined #nim
01:33:46*piluex joined #nim
01:34:46*piluex left #nim (#nim)
01:34:51*piluex joined #nim
01:34:55*piluex left #nim (#nim)
01:38:44*thotypous joined #nim
01:50:42*brson_ quit (Quit: leaving)
01:52:49*thotypous quit (Ping timeout: 268 seconds)
01:55:03*vendethiel quit (Ping timeout: 264 seconds)
01:56:08*brson joined #nim
01:58:04*PMunch quit (Ping timeout: 252 seconds)
02:03:30*brson quit (Quit: leaving)
02:12:27*brson joined #nim
02:26:08*kingofoz quit (Ping timeout: 252 seconds)
02:26:08*chrisheller quit (Ping timeout: 252 seconds)
02:27:23*kingofoz joined #nim
02:37:27*ephja quit (Ping timeout: 260 seconds)
02:51:00*thotypous joined #nim
02:52:44*Jesin quit (Quit: Leaving)
03:03:24*darkf quit (Ping timeout: 276 seconds)
03:05:09*enthus1ast quit (Quit: Leaving.)
03:12:12*brson quit (Quit: leaving)
03:12:17*darkf joined #nim
03:12:22*thotypous quit (Ping timeout: 268 seconds)
03:22:18*chrisheller joined #nim
03:25:27*DecoPerson__ joined #nim
03:30:12*jck__ joined #nim
03:32:34*kingofoz quit (*.net *.split)
03:32:37*DecoPerson_ quit (*.net *.split)
03:32:39*jck quit (*.net *.split)
03:32:40*M-Quora1 quit (*.net *.split)
03:32:41*DecoPerson__ is now known as DecoPerson_
03:33:08*M-Quora joined #nim
03:33:48*kingofoz joined #nim
03:36:57*bbl quit (Ping timeout: 260 seconds)
03:37:12*zama quit (Ping timeout: 276 seconds)
03:38:27*zama joined #nim
03:52:38*thotypous joined #nim
03:54:49*bbl joined #nim
04:01:35*endragor joined #nim
04:52:47*izi quit (Ping timeout: 260 seconds)
04:53:33*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
04:53:57*izi joined #nim
04:55:53*space-wizard joined #nim
05:20:42*gokr joined #nim
05:20:52*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
05:22:18*space-wizard joined #nim
05:22:53*space-wizard quit (Max SendQ exceeded)
05:23:32*space-wizard joined #nim
05:25:19*desophos_ joined #nim
05:25:30*pregressive joined #nim
05:25:32*endragor_ joined #nim
05:26:16*vqrs quit (Ping timeout: 264 seconds)
05:28:04*endragor quit (Ping timeout: 264 seconds)
05:28:04*thotypous quit (Ping timeout: 264 seconds)
05:28:04*zama quit (Ping timeout: 264 seconds)
05:28:06*Demon_Fox quit (Ping timeout: 264 seconds)
05:28:07*pregress_ quit (Ping timeout: 264 seconds)
05:28:38*thotypous joined #nim
05:28:40*bbl quit (Ping timeout: 264 seconds)
05:28:40*desophos quit (Ping timeout: 264 seconds)
05:29:52*zama joined #nim
05:32:57*vqrs joined #nim
05:39:52*Demon_Fox joined #nim
05:40:37*bbl joined #nim
05:41:59*McSpiros joined #nim
05:47:12*thotypous quit (Ping timeout: 276 seconds)
06:01:33*gokr quit (Ping timeout: 244 seconds)
06:15:10*thotypous joined #nim
06:15:31*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
06:19:53*vendethiel joined #nim
06:20:58*endragor joined #nim
06:24:15*endragor_ quit (Ping timeout: 276 seconds)
06:30:09*endragor quit (Remote host closed the connection)
06:30:37*endragor joined #nim
06:42:53*silven quit (Ping timeout: 244 seconds)
06:44:04*vendethiel quit (Ping timeout: 250 seconds)
06:54:42*endragor quit (Read error: Connection reset by peer)
06:56:55*yglukhov joined #nim
07:02:13*yglukhov quit (Ping timeout: 252 seconds)
07:04:05*bbl quit (*.net *.split)
07:04:05*vqrs quit (*.net *.split)
07:04:06*izi quit (*.net *.split)
07:04:15*vqrs_ joined #nim
07:10:11*gokr joined #nim
07:10:35*bbl joined #nim
07:16:48*izi joined #nim
07:32:57*vendethiel joined #nim
07:49:01*yglukhov joined #nim
07:52:21*Trustable joined #nim
07:54:36*thotypous quit (Ping timeout: 276 seconds)
08:06:34*chrisheller quit (Ping timeout: 252 seconds)
08:08:04*dorei joined #nim
08:09:00*kier quit (Ping timeout: 250 seconds)
08:09:07*kier joined #nim
08:11:36*_stowa quit (Ping timeout: 250 seconds)
08:14:20*_stowa joined #nim
08:14:24*ics quit (Quit: Connection closed for inactivity)
08:17:26*vendethiel quit (Ping timeout: 244 seconds)
08:21:34*nsf quit (Ping timeout: 250 seconds)
08:22:59*nsf joined #nim
08:31:32*vqrs_ quit (Ping timeout: 250 seconds)
08:32:50*wuehlmaus quit (Ping timeout: 250 seconds)
08:34:05*vqrs joined #nim
08:34:09*chrisheller joined #nim
08:38:09*wuehlmaus joined #nim
08:38:32*wuehlmaus is now known as Guest67019
08:39:20*vqrs quit (Ping timeout: 250 seconds)
08:47:28*vqrs joined #nim
08:49:52*Demon_Fox quit (Quit: Leaving)
08:56:21veganskyglukhov, hi!
08:57:04*coffeepot joined #nim
08:58:33veganskyglukhov, I can't import methods that returns arrays using jnim. Is it unsupported or am I doing something wrong?
09:11:47yglukhovvegansk: hey
09:11:52yglukhovlet me take a look...
09:16:52*desophos_ quit (Read error: Connection reset by peer)
09:16:53yglukhovyup. not supported. but should be pretty easy to do. jnim.nim:575 and jnim.nim:599: "elif T is seq:" and then convert jobject to seq.
09:17:41*vendethiel joined #nim
09:17:46yglukhovvegask, i could do it if you're not into it. but a bit later.
09:18:01veganskOk, I'll try to do it
09:18:34yglukhovkk thanks
09:23:05*alexsystemf_ joined #nim
09:35:16*alexsystemf_ quit (*.net *.split)
09:36:12coffeepothey dom96, you about?
09:36:23coffeepotgot an error updating to the latest nimble
09:36:42coffeepotat line 970 "undeclared identified '--'"
09:37:02coffeepotline 970 being "--path:"$lib/packages/docutils""
09:37:18coffeepotany ideas?
09:40:33*vendethiel quit (Ping timeout: 276 seconds)
09:44:11*alexsystemf_ joined #nim
09:46:10coffeepoter, ignore the above... I don't know how those lines got into nimble.nim source... just deleted and re-gitted and everything's ok now. Odd, I literally did the same thing twice and it was fine second time *scratches head*
09:51:10*vendethiel joined #nim
10:03:29*arnetheduck joined #nim
10:08:04*filcuc joined #nim
10:12:09Varriount_Araq_: Have you ever given thought to using copy-on-write memory mapped files for really long strings and/or sequences?
10:14:48*thotypous joined #nim
10:14:51*vendethiel quit (Ping timeout: 264 seconds)
10:14:53*ephja joined #nim
10:15:20*arnetheduck quit (Quit: Leaving)
10:19:23*arnetheduck joined #nim
10:25:42veganskyglukhov, do you mind if I migrate test hello_world.nim to unittest?
10:29:58arnetheduckhey Araq_, any chance you can have a look at https://github.com/nim-lang/Nim/pull/4002?
10:47:58*IcyFoxy joined #nim
10:49:05yglukhovvegansk, sure why not
10:49:30IcyFoxyHello world. Was reading some nim code and stumbled accross 'block: ..' and wondering if this is a one-shot loop like 'let i = 1; while (i--)' or a label after the block, where the 'break' is goto that label?
10:49:43IcyFoxy(Or some other magic)
10:53:43*PMunch joined #nim
10:54:42ephjait also introduces a new scope (think {...} in C)
10:55:15ephjaas does if, while, for etc but which have more "features"
10:55:25IcyFoxyYea
10:55:32IcyFoxyBTW: I'm more familiar with Rust than C. :P
10:55:49ephjapretty much the same there IIRC
10:55:55IcyFoxyIndeed.
10:56:35IcyFoxyJust curious as to how the block statement is implemented here. The one-shot loop would work, and so would a { .. goto label .. } label
10:58:40*tstm quit (Ping timeout: 264 seconds)
10:59:42*IcyFoxy is reading through some nim code and is happy with the language and may actually use it some day. :)
10:59:56ephjaI'm not sure what goto has to do with it
11:00:36IcyFoxyskip ahead, exit the loops, etc.
11:00:45IcyFoxyblock x: break x;
11:01:06IcyFoxyif that had code after the break, it'll be skipped as the break ends the runtime of the block.
11:01:38ephjaright
11:01:39*tstm joined #nim
11:02:27ephjayou can't have code after it (in the same block)
11:02:28IcyFoxyMy guess for the one-shot loop is so the break keyword doesn't need to be overloaded, while if it is; then the goto method could be used.
11:02:47*elrood joined #nim
11:02:49coffeepotIcyFoxy, in case you haven't seen the offical docs: http://nim-lang.org/docs/manual.html#statements-and-expressions-block-statement
11:02:49ephjaso it mostly makes sense to do it conditionally "if condition: break x"
11:02:51IcyFoxyYou can if the break is conditionally accessed through an if, maybe in a loop looking for something.
11:02:57IcyFoxycoffeepot: I found that, but not the source.
11:03:03coffeepotah ok :)
11:03:16IcyFoxycoffeepot: Thanks anyway.
11:03:49IcyFoxygoing by the syntax. I guess it is a template in the one-shot loop case, or a macro if overloading the break.
11:03:52coffeepotnp!
11:04:05IcyFoxyOr builtin
11:04:55ephjabuiltin yes, but I wonder if it could be replaced with a template
11:05:17IcyFoxyDepends how builtin, and to what C it actually compiles to.
11:05:36ephja{...} I think, but I'll check the generated C code
11:05:51IcyFoxyCheck block: x; break x;
11:08:06ephja{ goto LA1; } LA1: ;
11:08:24IcyFoxySo it is the goto method :P
11:08:28IcyFoxyThanks ephja
11:09:05IcyFoxy(BTW. was moments away from finding myself. nix-shell -p nim; figured out nim and now looking at source)
11:09:08IcyFoxy:)
11:09:12ephjanp.. human?
11:09:35ephjayou never know. bots are really clever these days
11:09:41ephjayeah it's easy to check
11:09:45*IcyFoxy is a fox. Neither :P
11:10:04ephja--opt:none -d:release helps
11:10:14IcyFoxyThanks
11:11:29IcyFoxyWhy so much boilerplate for nim?
11:11:37IcyFoxyOr maybe little in contrast for generated. :P
11:14:03ephjacode can be made to be very general
11:14:22*vendethiel joined #nim
11:14:54IcyFoxySure.
11:15:29IcyFoxyAlso.. If you disable the GC. Does this mean that memory leaks or does everything get freed at teh end of scopes or... what's happening here?
11:15:39*IcyFoxy now used to rust's lifetimes ^
11:22:54ephjaI think collections will be postponed until the GC is enabled again
11:23:45IcyFoxyI mean, there is an option to not include the gc.
11:23:53IcyFoxyWhat happens when it is not even included?
11:24:10ephjaso the GC heap is suitable for pre-allocations too
11:24:57IcyFoxyAgain. What happens when the GC isn't even used?
11:25:33IcyFoxyJust fills ram, and allocates more?
11:29:20ephjaI think so
11:29:27IcyFoxyOuch
11:31:05ephjayou can still do manual memory management
11:31:29IcyFoxySure. But I'm used to having rustc yell at me for lifetimes ;)
11:32:06IcyFoxyOr rather, it's beaten those errors mostly out of me. Luckily.
11:32:13IcyFoxy:D
11:36:23ephjafortunately there's no need to disable the GC in the majority of cases
11:36:23*enthus1ast joined #nim
11:37:00ephjabut destructors (experimental)and overloading of `=` might help in such cases
11:37:04IcyFoxyephja: It is nicer to have more predictable code.
11:37:15IcyFoxytime wise
11:38:41IcyFoxyDead link. http://nim-lang.org/docs/manual.html#limitations-of-the-method-call-syntax
11:38:55IcyFoxy"See also: Limitations of the method call syntax." in #procedures-method-call-syntax
11:44:39ephjain what sense? GCs can sometimes outperform manual memory management IIRC
11:44:42IcyFoxyIs there any way to see if any nim packages depend on a library?
11:45:04ephjabut if you want any guarantees regarding the order of destruction, then you really should use the aforementioned constructs in conjunction with stack allocation
11:45:57IcyFoxyephja: Sure. And I'm not sure about GC research. I do know however that it was removed from Rust because of otherwise 'unnecessary overheads' (still an available external crate)
11:46:20IcyFoxys/not sure about/not experienced with/
11:47:00IcyFoxyRe my question about nimble / packages. Specifically looking for nim examples using the lmdb bindings. Cannot immediately find any such samples.
11:48:18ephjaIcyFoxy: the most obvious way would be to look at the nimble file
11:48:30ephja"nimble dump" does require a local nimble file
11:51:01IcyFoxyHuh? That is just information about the package. I'm after anything that either depends on the lmdb package or any examples that use it.
11:51:22IcyFoxyIf I have *every* nimble file, maybe I could solve the first question (if anything depends on it publicly)
11:54:45ephjaI don't think there are any other ways
11:55:04IcyFoxyOkay. Thanks
11:55:07ephjaactually, does that nimble search engine support it?
11:55:24ephjaI've never used it, and I only heard about it yesterday. dom96?
11:55:42IcyFoxynimble search engine?
11:56:58IcyFoxynimble search lmdb yields only lmdb, and the packages.json doesn't include required packages (oddly enough)
11:57:11ephjaI think there was a website for that
11:57:13IcyFoxySo, it cannot search based on this information alone.
11:57:23IcyFoxyI see
11:58:40ephjano it doesn't. it's all in the nimble file. it was probably done for the sake of simplicity. more advanced features could be added, but there's a lack of manpower
11:59:03IcyFoxySure
11:59:05ephjaideally it would be possible to fetch only the nimble file
11:59:12*vendethiel quit (Ping timeout: 260 seconds)
11:59:23IcyFoxygit doesn't help with that ideal requirement :P
12:14:07ephjaspeaking of nimble, it's really annoying when you forget to install new version of a lib that you're developing
12:14:38ephjasometimes it's a good idea to take a break in order to avoid going mad
12:15:18ephjaa better approach would be to include the path in a cfg during development
12:23:35veganskyglukhov, have a look please, when you have a time: https://github.com/yglukhov/jnim/pull/8
12:25:40*vegansk is now known as veganskaway
12:27:59*pafmaf joined #nim
12:29:52*Trustable quit (Ping timeout: 264 seconds)
12:30:28*alexsystemf_ quit (Ping timeout: 264 seconds)
12:30:28*coffeepot quit (Ping timeout: 264 seconds)
12:30:28*nsf quit (Ping timeout: 264 seconds)
12:31:04*elrood quit (Ping timeout: 264 seconds)
12:31:05*_stowa quit (Ping timeout: 264 seconds)
12:31:05*kier quit (Ping timeout: 264 seconds)
12:31:05*izi quit (Ping timeout: 264 seconds)
12:32:09*coffeepot joined #nim
12:32:55*kier joined #nim
12:34:42*alexsystemf_ joined #nim
12:35:29IcyFoxyephja: That would quickly get annoying indeed.
12:37:41*_stowa joined #nim
12:41:43*BitPuffin joined #nim
12:46:04*izi joined #nim
12:47:28*elrood joined #nim
12:50:45*filcuc quit (Ping timeout: 244 seconds)
12:53:16*Trustable joined #nim
12:54:05*nsf joined #nim
13:12:22*pafmaf quit (Quit: This computer has gone to sleep)
13:12:40*cheatfate_ joined #nim
13:12:52*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:14:46*cheatfate quit (Read error: Connection reset by peer)
13:24:02*yglukhov quit (Read error: Connection reset by peer)
13:24:14*yglukhov joined #nim
13:29:02*yglukhov quit (Ping timeout: 260 seconds)
13:31:05dom96IcyFoxy: there is no way to do that I'm afraid.
13:31:25dom96we don't have a centralised package website like Rust's crates.io
13:31:43*yglukhov joined #nim
13:32:09dom96regarding --gc:none, the compiler will give you warnings (or probably even errors) if you use procedures which allocate memory.
13:32:32dom96(At least IIRC it will)
13:32:44dom96Which is useful if you want to manage memory yourself.
13:33:23*vendethiel joined #nim
13:33:46dom96But like ephja said, you may as well use the GC, especially since you can manually invoke it or set it so that it only ever collects memory for some specified amount of time.
13:36:10ephjaI didn't get any errors, but I'll see if I get any warnings
13:36:38ephjayep
13:41:51*cheatfate_ is now known as cheatfate
13:51:25*gokr quit (Ping timeout: 252 seconds)
13:53:41*beatmox quit (Remote host closed the connection)
13:54:18*vendethiel quit (Ping timeout: 244 seconds)
14:03:02*elrood quit (Ping timeout: 250 seconds)
14:07:22*Trustable quit (Ping timeout: 250 seconds)
14:15:39*elrood joined #nim
14:18:49*doering joined #nim
14:21:42*Trustable joined #nim
14:26:26*Trustable quit (Ping timeout: 250 seconds)
14:34:13*darkf quit (Quit: gn)
14:37:34*McSpiros quit (Quit: Page closed)
14:39:56*Jesin joined #nim
14:42:09*Trustable joined #nim
14:43:17IcyFoxydom96: Thanks. Although *yes* nimble does. The git packages.json is exactly the same as that for crates (which is also hosted on git). It just doesn't contain the dependency meta (which is good for any package manager to have on hand anyway)
14:44:10IcyFoxycrates.io is just a website. It's not so relevant. The actual listing is on git (although uploads, etc occur through the website; which IMHO is poor).
14:46:08IcyFoxyAlthough crates.io does have a few benefits, specifically hosting every published version (indefinately; and arguably not a good thing as this job is for VCS), reverse dependency seaches (requires in this case the nimble config).
14:46:57*space-wizard joined #nim
14:47:46dom96"Although *yes* nimble does.", what does it have?
14:48:09IcyFoxyActually just noticed the listing on crates' git repo doesn't include the dependency meta.
14:48:16dom96I only ever said that Nimble doesn't have a centralised package website like Rust's crates.io
14:48:32dom96Which is correct.
14:48:53IcyFoxyBoth nimble and crates.io-index have listing of existance of packages. Neither track dependencies which IMHO is a horrible design.
14:49:10dom96a crates.io-like website for Nimble would track dependencies.
14:49:12IcyFoxydom96: I meant that nimble does (like crates) have a centralised index. Yes, no code.
14:49:46IcyFoxycrates.io tracks dependencies by holding complete archives... Which is bad. IT should just have the package meta.
14:50:11dom96Updating Nimble's packages.json file with each package's reverse deps would cause far too much noise.
14:50:19IcyFoxySuch meta, could be realistically stored in the index and everyone could see all the dependencies.
14:50:37IcyFoxyDon't include reverse, just forward dependencies.
14:51:07*vendethiel joined #nim
14:51:17IcyFoxyThen user wants library X. nimble then knows that it also needs Y, which needs Z. It can then download X, Y, and Z at the same time and then attempt to build Z, then Y, then X.
14:51:18dom96those can change between versions
14:51:34dom96packages.json doesn't include any version information on purpose.
14:51:44dom96it's just a list of package URLs
14:51:44IcyFoxySure, and so these listings should get updated accordingly.
14:51:48IcyFoxyI know
14:52:08IcyFoxyNo version information limits things :P
14:52:29dom96It works well enough :P
14:52:43IcyFoxy"works" and yet I cannot do my desired query. :P
14:52:45dom96I don't recall seeing many package managers downloading packages and dependencies in parallel.
14:53:14dom96That's something that would be provided by a Nimble website
14:53:20IcyFoxyHmm? Gentoo's emerge, FreeBSD's ports, arch' abs, etc.
14:53:30dom96Can cargo perform such a query without cargo.io?
14:53:32IcyFoxyJust a few examples
14:53:39IcyFoxyIt *should* be able to
14:53:46IcyFoxyBut it doesn't, because cargo too sucks :D
14:54:25IcyFoxyI may happen to have a mockup for an alternative to cargo for rust and will eventually start code for that.. But working on a database for a larger project first.
14:55:24dom96Have you talked with Cargo's developers about it?
14:56:15IcyFoxyMentioned a few things in the community, but no. And a joint effort although may be good... I expect my changes to be 'too much'. Although when I get things better defined, I'll speak with them more directly to see their view.
14:57:32IcyFoxy"too much" includes as being a piece of a p2p network that I am working on. Also far from being ready.
14:57:51IcyFoxypiece/integrated quite heavily.
15:01:30IcyFoxydom96: My focus for package management is to have sources come as officially from their developers - complete signed history and have packages dependencies be reflected structurely. (Which all fits perfectly into my larger project in which I can discuss further if you're interested).
15:02:02federico3packages dependencies be reflected structurely?
15:05:05IcyFoxyfederico3: Yes. Specifically, to depend on another library. You depend on a package and specify the point in time that is known to work well; and additionally with static analysis/tracing of functions/types used between crates/libraries - it can be determined if a change *will* cause a failure to compile. (I.e. library X expects library Y to provide a function f of type u8 -> u8. And if that changes. Then it
15:05:11IcyFoxycannot compile.)
15:06:18federico3...ooook
15:06:30IcyFoxyfederico3: Follow? :)
15:07:19federico3good luck predicting failures, it's a huge task and can only be partially successful
15:07:52*BitPuffin quit (Ping timeout: 252 seconds)
15:08:06IcyFoxyI know it'll only partially succeed. But that was just for known requirements / used types, which if ever changed will cause compilation to fail.
15:08:18IcyFoxyIt doesn't catch everything, but it catches some serious low hanging fruit.
15:09:24IcyFoxyAnd having known good versions and configurations, if the latest doesn't work, and the traces cannot just be walked back to a state which works.. It can just fallback to the known good versions.
15:10:37IcyFoxyfederico3: You asy huge task. What I described is not very difficult although it does require some hooks into the compilers to dump the types used from each crate.
15:10:44federico3even when it works, it can only predics *build* failure, not bugs at runtime
15:10:50IcyFoxySure
15:11:29*huonw_ quit (Ping timeout: 260 seconds)
15:11:31*lokien quit (Ping timeout: 260 seconds)
15:11:31*pigmej quit (Ping timeout: 260 seconds)
15:11:32*OnO quit (Ping timeout: 260 seconds)
15:11:47*vendethiel quit (Remote host closed the connection)
15:11:55IcyFoxyEven better, digression tests can be automated with this concept and you can see which versions cause test cases to change in affect, or if benchmarks change drastically.
15:11:56*vendethiel joined #nim
15:12:04*AckZ quit (Ping timeout: 260 seconds)
15:12:05*NhanH quit (Ping timeout: 260 seconds)
15:12:06*CARAM__ quit (Ping timeout: 260 seconds)
15:12:34IcyFoxyWhich significantly assists in figuring out where *exactly* changed logic in another crate breaks (or patches) your own code.
15:12:40*\u quit (Ping timeout: 260 seconds)
15:13:17*Xe quit (Ping timeout: 260 seconds)
15:13:38IcyFoxyfederico3: This does assume that tests are in place... But they *should* be for any project large enough regardless.
15:14:56IcyFoxyNot meant to be perfect.. But integration between compiler and revision control system has some serious benefits for static analysis and continuious testing/debugging.
15:16:08IcyFoxyAlso the tracings can be used to enforce semantic versioning as changing types in public functions and structs is a breaking change that should be reflected accordingly in the version.
15:16:13IcyFoxyfederico3: Follow?
15:16:19*pregress_ joined #nim
15:17:15*alexsystemf_ quit (Ping timeout: 276 seconds)
15:17:19IcyFoxyAlso... My *main* focus here isn't for the additional analysis (although good), but is really focused on ensuring that the code the developer uses, is the same code that the end users attempt to use when compiling. So integrity and security is my priority.
15:17:43federico3sounds like a use case for a large CI system
15:18:14federico3that depends on the scenario, you seem to be talking about development, not deployment
15:19:22IcyFoxyfederico3: Indeed it would be useful for one such system, but I'm focusing on each project being able to make sure they don't break their things, and other people's projects by trivial mistakes.
15:19:24*Xe joined #nim
15:20:28*Matias joined #nim
15:20:56federico3when it comes to real world deployment the chain development -> building deployable packages -> deploying involves different people across potentially long times
15:21:00IcyFoxyfederico3: Deployment includes users testing, and actually using the software in development. And it is critical that the code the developer expects the end user gets is the same for debugging any issues. With a decent packaging system, the end user can submit their exact versions and configurations and the developer can then replicate this and reproduce any issues.
15:21:03*alexsystemf_ joined #nim
15:21:21IcyFoxySure.
15:21:24*asdf__ joined #nim
15:21:32federico3and you want to relax the dependencies on versions as much as reasonably possible
15:22:17IcyFoxyNot necesarally. I want to relax them to the point that issues can be detected between versions. Official releases should use stable versions of everything when available.
15:23:25*pigmej joined #nim
15:23:25*OnO joined #nim
15:23:39IcyFoxyWhen compiling from source, you generally want either an old version, a stable version, or the bleeding edge. And all should be easy to reproduce at any time.
15:23:49federico3yep
15:24:38IcyFoxyfederico3: :)
15:25:52*thotypous quit (*.net *.split)
15:25:55*pregressive quit (*.net *.split)
15:25:55*M-Quora quit (*.net *.split)
15:25:57*Amun_Ra quit (*.net *.split)
15:26:02*asdf quit (*.net *.split)
15:26:27*ray joined #nim
15:26:51*ray is now known as Guest14462
15:28:02IcyFoxyMy larger project that this all fits in is effectively a decentralised p2p git, purposed for a lot more than revision control over source code. Alternative Internet infrastructure and framework for writing decentralised applications that rely on no backend servers, may use ACL lists for permissions within groups, etc. All data to be structured, including relationships between objects.
15:28:08*M-Quora joined #nim
15:30:51*Amun_Ra joined #nim
15:31:25IcyFoxyfederico3: I'm aware that I've set myself a large task and I intend to be publishing my specifications and documentation somewhat soon (aiming for several months), along with the core primary components.
15:31:31*Amun_Ra is now known as Guest47345
15:32:54IcyFoxyAlthough for now... I need to call the night. Good night all. IF anyone is interested, feel free to send me a /query anytime.
15:33:02IcyFoxyHappy hacking and good night to all. o/
15:33:09*AckZ joined #nim
15:33:28*zielmicha quit (Read error: Connection reset by peer)
15:33:36*vendethiel quit (Ping timeout: 250 seconds)
15:34:15yglukhovdom96: can there be any reason why jester would stackoverflow on windows? it reproduces pretty often, upon loading tons of resources.
15:34:29*dorei quit (Quit: Page closed)
15:35:26dom96yglukhov: possibly this? https://github.com/nim-lang/Nim/issues/3919
15:36:08*NhanH joined #nim
15:42:57*Guest14462 quit (Changing host)
15:42:57*Guest14462 joined #nim
15:42:59*Guest14462 is now known as \u
15:43:04*tstm quit (Ping timeout: 264 seconds)
15:44:05*zielmicha joined #nim
15:44:07*huonw joined #nim
15:44:26*vendethiel joined #nim
15:47:13*tstm joined #nim
15:48:49*lokien joined #nim
15:48:54*CARAM__ joined #nim
15:57:13yglukhovdom96: hmm... maybe..
16:05:08CcxCZIcyFoxy: capabilities > ACLs http://waterken.sourceforge.net/aclsdont/current.pdf
16:06:06*vendethiel quit (Ping timeout: 250 seconds)
16:06:29CcxCZYou could even make object-capability checker for Nim in the vein of Emily: http://wiki.erights.org/wiki/Emily
16:11:07*yglukhov quit (Ping timeout: 252 seconds)
16:14:40*vendethiel joined #nim
16:19:39*vendethiel quit (Ping timeout: 276 seconds)
16:20:23*vendethiel joined #nim
16:22:15*themagician quit ()
16:25:53*BitPuffin joined #nim
16:28:06*NhanH quit (Ping timeout: 276 seconds)
16:28:07*enthus1ast quit (Ping timeout: 260 seconds)
16:32:18*NhanH joined #nim
16:38:04*vendethiel quit (Ping timeout: 252 seconds)
16:39:36*beatmox joined #nim
16:47:20*vendethiel joined #nim
17:03:55*PMunch quit (Ping timeout: 252 seconds)
17:10:37*doering quit (Remote host closed the connection)
17:11:39*vendethiel quit (Ping timeout: 268 seconds)
17:17:30*ldlework quit (Ping timeout: 276 seconds)
17:18:55*alexsystemf_ quit (Ping timeout: 250 seconds)
17:19:46*huonw quit (Ping timeout: 250 seconds)
17:21:29*zielmicha_ joined #nim
17:21:38*ldlework joined #nim
17:21:53*Jesin quit (Quit: Leaving)
17:22:22*CARAM__ quit (Ping timeout: 250 seconds)
17:22:52*vendethiel joined #nim
17:22:59*jck joined #nim
17:23:58*alexsystemf_ joined #nim
17:26:36*zielmicha_ quit (Ping timeout: 276 seconds)
17:26:53*NhanH quit (*.net *.split)
17:27:48*zielmicha quit (*.net *.split)
17:27:51*asdf__ quit (*.net *.split)
17:27:51*Matias quit (*.net *.split)
17:27:52*Xe quit (*.net *.split)
17:27:53*space-wizard quit (*.net *.split)
17:27:53*elrood quit (*.net *.split)
17:27:55*arnetheduck quit (*.net *.split)
17:27:55*ephja quit (*.net *.split)
17:27:56*chrisheller quit (*.net *.split)
17:27:59*jck__ quit (*.net *.split)
17:30:49*Jesin joined #nim
17:32:27*M-Quora quit (Ping timeout: 276 seconds)
17:34:19*huonw joined #nim
17:34:39*arnetheduck joined #nim
17:35:27*Demon_Fox joined #nim
17:37:09*krux02 joined #nim
17:39:52*elrood joined #nim
17:45:05*M-Quora joined #nim
17:45:45*Xe joined #nim
17:46:26*Matias joined #nim
17:49:03*asdf__ joined #nim
17:53:12*space-wizard joined #nim
17:57:36*NhanH joined #nim
17:57:39*CARAM__ joined #nim
17:58:37*Guest47345 is now known as Amun_Ra
18:01:55*zielmicha_ joined #nim
18:10:42*PMunch joined #nim
18:11:13*yglukhov joined #nim
18:13:14*enthus1ast joined #nim
18:15:14*cnu- quit (Ping timeout: 250 seconds)
18:15:15*enthus1ast quit (Read error: Connection reset by peer)
18:16:00*yglukhov quit (Ping timeout: 276 seconds)
18:16:14*enthus1ast joined #nim
18:16:30*desophos joined #nim
18:20:07*chrisheller joined #nim
18:23:36*boopisaway is now known as boop
18:25:06*vendethiel quit (Ping timeout: 276 seconds)
18:29:47*Arrrr joined #nim
18:29:47*Arrrr quit (Changing host)
18:29:47*Arrrr joined #nim
18:30:02*\u quit (Ping timeout: 260 seconds)
18:30:59*ray joined #nim
18:31:22*ray is now known as Guest80700
18:34:02*vendethiel joined #nim
18:37:22IcyFoxyCcxCZ: Correct. And I did intend for capabilities. Sorry for my mis-type re ACL. (Tired D:)
18:37:36IcyFoxyCcxCZ: I am not familiar with Emily however.
18:48:41IcyFoxyCcxCZ: For the record, my project is likely to be 100% Rust so 'unlikely' that nim will assist in any static validation. I am interested however for safe + abstraction access guarding in compilers though; which appears to be what you're suggesting. #![deny(unsafe)] is a no-brainer requirement that I'll have for applications, although my database depends on some unsafe transmutions from pointers to primitives
18:48:47IcyFoxy. Other than that, perfectly happy to restrict the stdlib/etc further which is convient as I'm aiming for a secure framework.
18:49:10IcyFoxyCcxCZ: I'd like to discuss this further if you have any suggestions for going about this. :)
18:50:39*yglukhov joined #nim
18:50:41IcyFoxy100% rust at least for the core. The official set of applications I'll be providing also likely Rust although would happily include nim bindings if anyone (or if maybe I) wish to write applications in nim for the network.
18:51:03*desophos quit (Remote host closed the connection)
18:57:02*cnu- joined #nim
18:57:14*vendethiel quit (Ping timeout: 260 seconds)
19:01:39*cnu- quit (Ping timeout: 264 seconds)
19:05:48*cnu- joined #nim
19:07:01*vendethiel joined #nim
19:07:41*krux02 quit (Quit: Verlassend)
19:13:14*desophos joined #nim
19:17:39*desophos quit (Ping timeout: 260 seconds)
19:20:17*space-wi_ joined #nim
19:20:18*BitPuffin quit (Disconnected by services)
19:20:23*itPuffinB joined #nim
19:21:41*itPuffinB is now known as BitPuffin
19:22:19*huonw_ joined #nim
19:22:44*Jessin joined #nim
19:22:48*M-Quora quit (Ping timeout: 276 seconds)
19:22:49*huonw quit (Ping timeout: 276 seconds)
19:22:50*M-Quora joined #nim
19:22:53*space-wizard quit (Ping timeout: 276 seconds)
19:22:54*Jesin quit (Ping timeout: 276 seconds)
19:22:55*jck quit (Ping timeout: 276 seconds)
19:22:56*Amun_Ra quit (Ping timeout: 276 seconds)
19:22:57*Amun_Ra_ joined #nim
19:23:12*M-Quora quit (Changing host)
19:23:12*M-Quora joined #nim
19:24:27*BitPuffin quit (Read error: Connection reset by peer)
19:24:39*jck joined #nim
19:28:09*vendethiel quit (Ping timeout: 260 seconds)
19:34:13*Arrrr quit (Quit: WeeChat 1.4)
19:35:44*gokr joined #nim
19:38:55*zielmicha_ is now known as zielmicha
19:39:24*zielmicha is now known as Guest89517
19:41:36*Guest89517 quit ()
19:43:16*zielmicha_ joined #nim
19:46:17*ephja joined #nim
19:47:14*desophos joined #nim
19:54:56*Matias is now known as thotypous
19:54:59*enthus1ast quit (Quit: Leaving.)
20:05:31gokrIcyFoxy: Regarding lmdb, I instead chose Sophia, made a first trivial wrap - it's on nimble.
20:05:57gokrIcyFoxy: https://github.com/gokr/nim-sophia
20:06:02IcyFoxygokr: Thanks. Sample code too?
20:06:25IcyFoxyI'm also not familiar with Sophia. Is this similar to LMDB?
20:06:29gokryeah, there is one - but note that... the wrapper is very thin so the sample code is messy.
20:06:35gokrBut the API is very small.
20:06:42IcyFoxyI see
20:07:00gokrYeah, IMHO Sophia seems a more powerful choice: http://sophia.systems
20:07:10IcyFoxyThanks
20:07:35IcyFoxy(I've actually not chosen LMDB for my own things... Writing an alternative from scratch in Rust.. Might find something from sophia to learn too!)
20:07:52gokrYeah, and the guy behind Sophia seems awfully nice too.
20:08:11gokrAnd... it's being developed further. But already very impressive.
20:08:36IcyFoxy:)
20:08:38gokrIt's the basis for Tarantool: http://tarantool.org
20:08:41IcyFoxyThanks for the link
20:08:45IcyFoxylinks
20:09:07IcyFoxyHappen to know any benchmarks?
20:09:11gokrYeah
20:09:32gokrhttp://sophia.systems/performance.html
20:10:47IcyFoxygokr: Doesn't compare against LMDB. Odd
20:11:06gokrMmm, I think there are other comparisons... just don't have them handy.
20:11:16IcyFoxyNoted.
20:11:56gokrDmitry (the guy behind Sophia) also has this: https://github.com/pmwkaa/ioarena
20:12:00gokrHe is pmwkaa.
20:12:17IcyFoxyNoted, once again. :D
20:12:44gokrSo he is very open and serious about the comparisons... which... well, let's just say I got a different impression from other authors of ... mentioned dbs.
20:13:00IcyFoxyHehe
20:13:24gokrBut mainly Sophia seems to have a much broader feature set. Good docs. Trivial API.
20:13:38gokrLMDB I am not even sure has its own homepage, it's simply inside LDAP, right?
20:13:51IcyFoxySomething like that
20:14:17gokrSo anyway, I am integrating Sophia with my little lang written in Nim, that's why I made the binding.
20:14:57*yglukhov quit (Remote host closed the connection)
20:15:15IcyFoxy:)
20:16:01IcyFoxyCoW?
20:16:07gokrCow?
20:16:07IcyFoxymemmap?
20:16:12IcyFoxyCopy on write
20:16:13*brson joined #nim
20:16:20gokrOh, you mean in Sophia?
20:16:33IcyFoxyLike memmap private pages, flush on commit as the write.
20:16:34IcyFoxyYea
20:16:51IcyFoxyI read a few instances of WAL
20:17:14gokrCheck the docs, http://sophia.systems/v2.1/index.html
20:17:19IcyFoxyI'm there
20:18:17IcyFoxyHmm
20:18:31IcyFoxysophia.systems/v2.1/tutorial/api.html this have content for you?
20:18:52gokryeah
20:19:01IcyFoxyOdd
20:19:08IcyFoxyWorks now
20:21:17IcyFoxyI'll have to look into the finer details. Looks good. :)
20:21:19IcyFoxyThanks again
20:21:48gokrIf you decide to use it - please help out with the wrapper :)
20:22:17IcyFoxygokr: If I use it, I'll be using rust ;)
20:22:25gokrAh, sorry, forgot :)
20:22:26IcyFoxyOr at least, much more likely.
20:22:41gokrHave you used Nim?
20:22:59IcyFoxyNegative. I've taken occasional peeks at the language and I plan to XD
20:23:00gokrCurious to hear what people think of them both - from serious devs who actually have used both langs.
20:23:29gokrI really like Nim and... well, I don't see my "liking" the extra burden of memory management ;)
20:23:38gokrok, gotta... go. later
20:23:49IcyFoxygokr: Take care. o/
20:39:22*pafmaf joined #nim
20:39:46*yglukhov joined #nim
20:44:13*pregress_ quit (Remote host closed the connection)
20:51:22*pafmaf quit (Quit: This computer has gone to sleep)
20:58:43*pregressive joined #nim
21:14:39*boop is now known as boopisaway
21:15:59*pregressive quit (Remote host closed the connection)
21:45:58cheatfateAraq_, is it possible to use custom compiler options, like "--mycustomoption:on"?
21:47:09*saml quit (Quit: Leaving)
21:49:57*vendethiel joined #nim
21:55:09*gokr quit (Ping timeout: 260 seconds)
21:56:36*cheatfate quit (Read error: Connection reset by peer)
21:56:53*cheatfate joined #nim
22:15:51*vendethiel quit (Ping timeout: 276 seconds)
22:16:46*enthus1ast joined #nim
22:23:14*zama quit (Ping timeout: 244 seconds)
22:24:11*yglukhov quit (Remote host closed the connection)
22:25:25*zama joined #nim
22:25:58federico3Nim is now whitelisted for Travis CI
22:45:09dom96federico3: ooh, does that mean we won't have to build Nim ourselves on Travis?
22:45:16federico3dom96: correct!
22:52:09*zaquest quit (Read error: Connection reset by peer)
23:03:08federico3...or maybe not yet :(
23:09:41*zaquest joined #nim
23:09:42*space-wi_ quit (Ping timeout: 244 seconds)
23:11:40*elrood quit (Quit: Leaving)
23:12:08*desophos quit ()
23:13:20*izi quit (Ping timeout: 244 seconds)
23:16:18*Matthias247 joined #nim
23:33:14*darkf joined #nim
23:33:15*desophos joined #nim
23:47:30*Trustable quit (Remote host closed the connection)
23:48:05*izi joined #nim
23:57:58*Matthias247 quit (Read error: Connection reset by peer)