<< 31-12-2018 >>

00:07:12FromGitter<zetashift> Anybody know why this if branch isn't being reached? https://gist.github.com/zetashift/65b6a89f8cf322682ab01e7aac1878b4#file-genmap-nim-L27
00:07:51FromGitter<zetashift> I should rectify my v1 statement the commit says: The API is reasonably stable and version 1 should arrive anytime soon ⏎ now.
00:07:58FromGitter<zetashift> mah bad
00:28:04FromGitter<zetashift> huh moving the if-statement out of the genMap block solved it I wonder why
00:30:01*vlad1777d quit (Ping timeout: 246 seconds)
00:37:10*d10n-work joined #nim
01:28:20*craigger quit (Ping timeout: 272 seconds)
01:29:46*craigger joined #nim
01:31:35*xet7 quit (Remote host closed the connection)
01:43:15*vivus quit (Remote host closed the connection)
02:12:24FromGitter<gogolxdong> Can ECMAScript6 module be imported into Karax?
02:13:31FromGitter<Varriount> Araq: It's a very interesting paper.
02:37:08*Ven`` quit (Ping timeout: 245 seconds)
02:40:28FromGitter<zacharycarter> @gogolxdong I don't see why not
02:40:36FromGitter<zacharycarter> you'd need to use babel or something
02:41:22*Tyresc quit (Quit: WeeChat 2.4-dev)
02:53:53FromGitter<gogolxdong> ah, thanks, I'm novice at web frontend. will check how babel works.
03:00:34*banc quit (Quit: Bye)
03:01:18*craigger quit (Ping timeout: 244 seconds)
03:01:23FromGitter<gogolxdong> Nim targets javascript1.5 which corresponding to EMACScript 5th , right?
03:01:33*craigger joined #nim
03:03:52FromGitter<zacharycarter> no
03:04:06FromGitter<zacharycarter> I think Nim targets ECMAScript 2 or 3
03:05:03FromGitter<gogolxdong> Components of Google material design is written in at least ES6 version according to its syntax, `babel index.js --presets es2015` converts it to ES5?
03:06:03FromGitter<zacharycarter> it's ES3
03:06:24FromGitter<zacharycarter> Nim's JS backend I mean
03:06:35FromGitter<zacharycarter> I'm not sure re: the babel question
03:06:47FromGitter<zacharycarter> I assume so though
03:07:15FromGitter<gogolxdong> yeah, it's ES3.
03:09:12FromGitter<gogolxdong> Does this mean higher version module than ES3 cannot be imported directly?
03:16:34*banc joined #nim
03:20:21FromGitter<zacharycarter> it can as long as you're using babel during your build process
03:25:48FromGitter<gogolxdong> ok
03:28:06FromGitter<zacharycarter> keep in mind - Nim, to my knowledge, has no `import "foo";` syntax aka ES6 import syntax
03:30:33FromGitter<zacharycarter> so you'll have to do something like - `proc importModule(moduleName: cstring): JsObject = {.importcpp: "import '#'")`
03:30:37FromGitter<zacharycarter> something like that...
03:32:23*dddddd quit (Remote host closed the connection)
03:34:06FromGitter<gogolxdong> How to check which tool is using during build process?
03:37:47*Ven`` joined #nim
03:38:10*Cthalupa quit (Ping timeout: 272 seconds)
03:39:09*Cthalupa joined #nim
04:33:58*kapil____ joined #nim
04:36:34*btbytes joined #nim
04:44:10*Cthalupa quit (Ping timeout: 250 seconds)
04:46:16*Cthalupa joined #nim
04:52:45*Cthalupa quit (Read error: No route to host)
04:52:57*Cthalupa joined #nim
04:56:09*d10n-work quit (Quit: Connection closed for inactivity)
05:08:52*Ven`` quit (Ping timeout: 250 seconds)
06:03:34*Vladar joined #nim
06:13:22*btbytes quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:47:52*nsf joined #nim
06:49:47FromGitter<Varriount> Araq: Are pointers in Nim tagged?
06:56:06*narimiran joined #nim
07:14:06*Cthalupa quit (Ping timeout: 250 seconds)
07:16:30*Cthalupa joined #nim
07:16:46*vlad1777d joined #nim
07:43:40*hoijui joined #nim
08:41:10FromGitter<gogolxdong> Is preset-es2015 the oldest babel can set?
08:44:45*ChristianWitts joined #nim
08:53:04Araqvarriount: no.
08:55:20FromGitter<timotheecour> hi @araq I’d really appreciate if you could either merge or provide feedback on my PR’s, so I can unblock the other ones I’m working on
08:56:32FromGitter<timotheecour> (only the green ones on which the last comment is from me)
08:57:22Araqfor 2 to 3 days now I wanted to release 0-19 but I'm constantly distracted by the PR queue
08:57:23FromGitter<timotheecour> I have new ones coming up and it’s really difficult to have to maintain so many different un-merged branches
08:58:01Araqnot too mention that I should work on the v1 stuff.
08:58:52Araqthis is not effective.
08:58:56FromGitter<timotheecour> honestly I don’t care much whether my PRs end up in 0.19 or some other version, all I’d wish for is that they can be merged so I can reduce my local unmerged branches
08:59:22Araqobviously they don't end up in 0.19
08:59:35FromGitter<timotheecour> i meant 0.19.X
09:01:20Araqtake this one for example: https://github.com/nim-lang/Nim/pull/10070
09:01:36AraqI don't understand what any of this has to do with 'static T in a tuple'
09:02:11Araqso now I need to follow some test case to understand why, essentially replicating your work.
09:02:14FromGitter<timotheecour> i can explain: `var t: T` made a test fail
09:04:18FromGitter<timotheecour> could post-commit audits (instead of pre-commit review) ever be an option? with assumption that: PR author that commits agrees to fix whatever was in post-commit review comments
09:05:06FromGitter<timotheecour> so as to make review process more efficient both for reviewers as well as PR author
09:06:44Araqwell it would also help if you would work on more important issues and watch your diffs. Sorry to be this blunt.
09:07:29AraqI don't appreciate code rewrites that suit the OP's style better, the compiler and stdlib set a style
09:08:32Araqmore on topic, so what if $ for tuples produces Field0 names, at this point $ has become a debugging tool
09:08:51*nc-x joined #nim
09:09:44Araqsystem.nim has the most exported and private symbol of all modules in the entire Nim compiler codebase
09:10:20Araqif that's not bloated, I dunno what is. and now we get isNamedTuple(). Who asked for this feature?
09:10:30FromGitter<timotheecour> well it’s been raised in prior posts. (not just by me) that `“Field0”` etc is implementation detail and shouldn’t be exposed; furthermore, IIRC you were the one that suggested that tuple to json should only work for named tuples, so that PR also helps with that thanks to isNamedTuple
09:10:48Araqyeah I know the history of this feature
09:11:36FromGitter<timotheecour> I also have ideas on how to un-bloat system.nim, that’s an orthogonal topic that can be done independently
09:12:31Araqhere is what others do:
09:12:37*nc-x quit (Client Quit)
09:12:49Araq- they report bugs.
09:13:00Araq- they create patches that fix bugs.
09:13:13Araqhere is what you do:
09:14:17Araq- you find a travis bug, report it to the Nim repo, dream up a feature for Nim that could perhaps deal with a somewhat related problem
09:14:48Araqand write a PR adding 100 lines of code to testament
09:15:18FromGitter<timotheecour> I’ve reported a number of actualy nim bugs, and fixed a number of actual nim bugs / regressions (whether these were proposed by someone else or myself)
09:15:33AraqCode lines have a real and ongoing cost.
09:15:42Araqfeatures have a real and ongoing costs.
09:17:47Araqand yes you also do highly appreciated work.
09:21:30Araqwe have 1495 open issues
09:21:54Araq242 opened by you, https://github.com/nim-lang/Nim/issues/created_by/timotheecour
09:24:14Araq16% of all open issues
09:25:57Araqthe oldest from you is "there is no Nim man".
09:26:07FromGitter<timotheecour> I’ve also 170 megred PRs (with 60 of them having ‘fixed’ in title)
09:27:38Araqsure but I think it's fair I ignore PRs from you that don't address any of 242 opened issues by you
09:32:39narimirangood morning guys. if i may:
09:33:28Araqand it never ceases to amaze me how every feature from C++ and C# is worth copying but for the love of god we can't copy from them what made successful, a development model that starts at version 1.
09:33:46narimiran1. releasing 0.19.2 should be priority (not sidetracked by other issues/PRs) as this would be the best new year present for the most of nim users
09:35:21narimiran2. @timotheecour your contributions are appreciated, i think everybody can agree on that. but we should really work on closing all those issues
09:37:14FromGitter<timotheecour> regarding opening issues: when I encounter an issue, reporting it (after dedupping) is IMO the right thing to do (yes, there’s a gray area here too). The number of open issues is not the ulimate metric I think matters most (some projects keep it to < 10 with a bot, I think that’s not a good idea), it's just being honest about state of a project. What matters is whether the issues (whether reported or not) are
09:37:14FromGitter... fixed, and how usable is the project
09:38:24Araqif you report 16% of bugs in a project that others used successfully to ship software with this says something about your workflow moreso than about the state of Nim
09:39:41*nc-x joined #nim
09:39:45Araqnot everybody is on a holy quest to eliminate all 'for' loops from his programs, others prefer to write code in order to ship a product.
09:40:04FromGitter<timotheecour> not sure I follow here either; nim is usable and has been for a long time; doens’t mean it can’t be improved; and ppl care about different things in their workflow.
09:41:05nc-xyeah bugs encountered in any workflow is a bug whatsoever.
09:41:18AraqI shifted the topic btw, I'm not talking about you personally
09:41:30nc-xand any and every contribution is appreciated
09:42:10nc-xthe problem wrt slow merging of PRs can only be solved IMO by having more number of trusted and knowledgeable contributors
09:42:37nc-xI think there has been a lot of discussion on this topic many times previously
09:42:41AraqI disagree, sorry.
09:43:04AraqWe need to ship something stable and PRs can affect stability.
09:43:31nc-xyeah for that we need a release schedule kind of thing
09:43:38nc-xnew release every 6 months
09:43:47nc-xlast two months no new feature
09:43:55nc-xonly bugs and regression fixes
09:43:57Araqand yes we have talked many times about this, in the end not much changed, new features are added, old bugs remain open
09:44:34nc-xi think golang has this kind of schedule
09:44:56nc-xrust instead gates every new feature and releases it first into nightly, then beta, then stable
09:46:06nc-x> new features are added, old bugs remain open
09:46:48nc-xmany times that happens because the new feature is a quality of life improvement for some workflows and it was relatively easy to implement
09:48:27FromGitter<timotheecour> Araq, you’ve broken the build a few times (by direct merge instead of runing CI suite via PR), and that’s an acceptable tradeoff because it speeds up development (such breakages typically fixed quickly); likewise, any new feature or bugfix is a potential regression, that’s just nature of software. I much prefer move fast and break things (and fix fast afterwards) than move slow and discourage PR contributions
09:49:46FromGitter<timotheecour> (within bounds of having green PR’s only, which is a big sanity check)
09:50:09Araqok, it's good that you disagree with me
09:50:22Araqhow about this:
09:50:48Araqwe push the priority of "test for regressions by testing nimble packages" to "asap"
09:51:24Araqso that the "CI is green" becomes more acceptable for quality ensurance
09:52:09FromGitter<timotheecour> are you talkign about my RFC https://github.com/nim-lang/Nim/issues/8638 ?
09:52:38Araqyes, but this idea came up from lots of people
09:54:10FromGitter<timotheecour> just changed it to `high priority`; I agree that issue is super important, and can help with addressing that if I have spare cycles
09:54:48Araqyeah and here is the thing ;-)
09:54:57Araqyou obviously have some spare cycles.
09:55:45Araqno offense, but that's what I said already, "please work on more pressing things"
09:56:32nc-xaraq, is removing need for forward declaration in the roadmap for 1.0?
09:56:52Araqobviously not but tbh
09:57:19Araqthe language would work better without this, it affects generic methods and also now destructors
09:57:44Araqgreat care must be taken that it keeps code like
09:57:56Araqwhen not declared(foo): proc foo ...
09:58:07*vlad1777d quit (Ping timeout: 240 seconds)
09:58:08Araqas it works now
09:58:19nc-xalso whats your opinion on removing include file and adding go/java like packages?
09:58:43Araqdon't remove 'include', I love it
09:59:04nc-xbecause the included file generally doesn't import a lot of things but depends on the file including it to do the imports.
09:59:07Araqbut a concept like "module is actually a dir of .nim files" could work out
09:59:11nc-xSo nimsuggest chokes badly
09:59:11FromGitter<timotheecour> on projects that I own, it’s a lot easier to make deeper contributions (eg that require refactorings etc); for Nim, it’s harder for ppl like me, that are outside of core team (you, dom66, krux) to make such deeper contributions; so I contribute the stuff that I need and that affects me most that are within reasonable complexity bounds.
09:59:46Araqnc-x, nimsuggest understands include files
09:59:48nc-xAlso, does anyone know where lemonboy went?
09:59:58nc-xI was loving his contributionsp
10:00:34nc-xaraq: not if you opened just the included file? because as i said it does not contain the required imports
10:00:49Araqnc-x, that is a nimsuggest configuration problem
10:00:50*stefanos82 joined #nim
10:00:56nc-xsimilarly nim check also fails for these files with symbol not defined
10:01:01nc-xIIRC
10:01:04Araqobviously.
10:01:09narimirannc-x: +1 for lemonboy
10:01:22Araqthe solution is to give your tools the real entry point, not the inlcude file
10:02:16nc-xI dunno. Opening the nim source code in vscode gives 90% of the source code in red color and mostly broken nimsuggest
10:02:27Araqfix the vscode plugin
10:02:54nc-xwhich editor do you use?
10:03:01Araqvscode
10:03:20nc-xyou don't have such issues with red?
10:03:32nc-xor do you not use the plugin
10:03:42AraqI disabled it
10:04:12FromDiscord_<exelotl> Ahh I was also wondering about this, so it's an issue with the plugin, not something that can be fixed with a config file?
10:04:24nc-xWell I tried debugging the plugin but on windows at least vscode gets stuck at building and never finishes
10:04:29nc-xAraq: okay
10:04:50*ChristianWitts quit (Ping timeout: 250 seconds)
10:05:26Araqon OSX I cannot change the color scheme because of file permission bullshit
10:05:49Araqsoftware never works ;-)
10:06:16FromDiscord_<exelotl> Gotta love software
10:06:23nc-xbtw on github the label osx is spelled wrongly as ox
10:07:29FromGitter<timotheecour> assuming something like https://github.com/nim-lang/Nim/issues/8638 is implemented, would that change in any way velocity of PR review cycle?
10:08:57Araqthat remains to be seen, probably, but it would change the quality of the Nim releases
10:09:15FromGitter<timotheecour> (assuming a PR is green for Nim’s CI + nimble - wide CI)
10:09:28nc-xthat would lead to a for sure CI timeout (if you run it for every commit)
10:09:34Araqit definitely helps in convincing me that it doesn't break code
10:09:46narimirannc-x: it would be run in a separate repo (by federico3?)
10:10:01nc-xrust guys usually run a similar tool manually on their own machines IIRC
10:10:54FromGitter<timotheecour> ya, travis/appveyor isn’t the only option (could be tested on AWS instances for eg)
10:11:41nc-xnarimiran: wrong commit got backported
10:12:04nc-xhttps://github.com/nim-lang/Nim/commits/version-0-19
10:12:10nc-x6th commit from top
10:12:25narimirannc-x: your?
10:12:29nc-xUndefine some symbols and globalOptions when processing nimscript (
10:12:29nc-xyes
10:12:45narimiranhmmm, let me see what/why happened
10:12:48Araqthese are essential for Nimscript
10:12:54nc-xinstead if you want to backport nimscript fixes, you need to do the commits by araq
10:12:54AraqI may have requested these
10:13:19nc-xAraq: but you fixed them later by manually adding when defined(nimscript) or similar
10:13:30nc-xso those commits need to be backported IMO
10:13:33nc-xnot my hacks
10:13:37nc-x;)
10:13:58narimiranit had [backport] tag
10:15:51Araqyeah, my bad
10:16:23narimiranshould i revert it then?
10:16:30Araqyup
10:17:04nc-xhttps://github.com/nim-lang/Nim/commits/devel?after=bcbe317d177e9a22856e8dd6c0ad1e20436b913a+69
10:17:25nc-xyou'll hve to look through here to find araq's commits fixing those issues properly
10:18:10nc-xAlso most probably some other commits need to be reverted or added because travis is red on that branch
10:18:24*FromGitter quit (Remote host closed the connection)
10:18:44*FromGitter joined #nim
10:19:00narimirantests/stdlib/tos.nim — this one fails
10:19:10narimiranexpression 'walkDirRec("walkdir_test", {pcFile}, {pcDir}, relative = true)' cannot be called
10:19:36nc-xmaybe revert the walkdir commit (its near the top) and try running the CI
10:20:27*nc-x quit (Quit: Page closed)
10:20:38narimirannc-x: yeah, i had some merge conflicts when i backported it. let us try without it and see what happens
10:39:47*rokups joined #nim
11:06:54narimiranwoohoo, 0.19 branch is passing CI (cc nc-x, Araq)
11:15:42*rect0x51 joined #nim
11:18:12*ChristianWitts joined #nim
11:22:31rect0x51Does Nim have tagged unions? Enums are ordinals so they seem different.
11:25:28rect0x51Maybe the an object with the {.union.} pragma? Is that type-checked to ensure the correct field is being used every time?
11:26:14FromGitter<alehander42> you are looking for case objects
11:27:22FromGitter<alehander42> probably
11:27:43FromGitter<alehander42> you can also use `{.union.}`
11:28:14FromGitter<alehander42> but people usually want algebraic types, if you really want exactly a union, `{.union.}` should generate it indeed
11:28:32FromGitter<alehander42> (case objects <=> algebraic types `{.union.}` union)
11:29:15*Ven`` joined #nim
11:34:33*rect0x51 quit (Ping timeout: 246 seconds)
11:34:55*rect0x51 joined #nim
11:48:24rect0x51alehander42: Hmm, it seems algebraic data types is not Nim's strong point... For example: https://forum.nim-lang.org/t/904 Do you think Nim could benefit from an alternative implementation? Or are case objects good enough?
12:00:10FromGitter<alehander42> they are widely used, often one needs to tweak the `==` anyway, so this is not usually a problem in practice
12:00:29FromGitter<alehander42> however I think it's possible to write a more general `==`
12:01:18FromGitter<alehander42> i wouldn't work on another implementation, they are *the* adt construct
12:02:47FromGitter<alehander42> if you really want, you can open an issue for `==` specifically (keep in mind, you can also use pattern matching/`case` in most cases)
12:04:49rect0x51It seems this is yet another case of <simple primitives> + <good macros>. But yes, maybe a good `==` is a good idea; maybe I'll work on it.
12:05:07*ChristianWitts quit (Ping timeout: 246 seconds)
12:17:14*Notkea quit (Read error: Connection reset by peer)
12:17:44*Notkea joined #nim
13:01:15*dddddd joined #nim
13:15:56*seni joined #nim
14:15:18FromGitter<alehander42> thanks!
14:15:55FromGitter<alehander42> make sure to check out https://github.com/andreaferretti/patty/ or https://github.com/alehander42/gara too: patty provides a `variantp` macro which generates a case object/==/$ etc
14:16:09FromGitter<alehander42> gara should eventually incorporate it too , but : TODO :(
14:18:04FromDiscord_<DarkArctic> hey, so i had a question about how overload resolution works. i have a parameter that is an exact type match in my overloaded proc, but it still wants to use a generic proc. is that they expected want overload resolution works? i have an example in case i don't make sense: https://gist.github.com/mjcaley/695207ec3cdc70ade84c7d7715d83a8f
14:24:07Araqthe spec agrees with you, it's a bug
14:24:58Araqbut it's also bad style, use your own procs
14:26:41*btbytes joined #nim
14:32:52*MyMind joined #nim
14:33:03*Sembei quit (Ping timeout: 246 seconds)
14:35:18*Tyresc joined #nim
14:37:46FromDiscord_<DarkArctic> ya that's what i decided to do in the end. i'll open an issue anyways. thanks!
14:39:00*Vladar quit (Remote host closed the connection)
14:42:12Araqthank you too
14:44:53FromGitter<alehander42> hm
14:46:33Araqalehander42: Code like 'if x < s.len and s[x]' doesn't work well with my approach, it's better to use a control flow graph
14:46:40Araqjust fyi
14:46:57FromGitter<alehander42> i forgot what i wanted to say
14:48:14FromGitter<alehander42> in my nilcheck branch I think I deal with it without cfg, but it might seem a little non-elegant
14:48:50Araqwith a cfg stuff like 'if x == nil: return' is more difficult to handle
14:50:20Araqand IMHO the algorithm should be smart enough so that the obvious cases "just work"
14:51:03Araqfeatures are better when they are not annoying to use ;-)
14:51:05FromGitter<alehander42> basically i have a checkCondition which returns a new env and e.g. for Infix mAnd invokes checkCondition(n[1] .. originalEnv) ⏎ checkCondition(n[2] .. envAftern1) and returns the env after n[2]
14:51:31FromGitter<alehander42> so e.g. if not x.isNil and x.b: works
14:54:23FromGitter<alehander42> (because we do ⏎ originalEnv ⏎ if (not x.isNil and x.b): code=> ⏎ in originalEnv: not x.isNil => Env1: x {Safe} ⏎ in Env1: x.b => no change ... [https://gitter.im/nim-lang/Nim?at=5c2a2d9f2863d8612bb8d7dd]
14:56:27FromGitter<alehander42> so I think this should kinda work with bounds too: right sides of infix and would be checked in the env after their left side so x would be in {0 ..< s.len} ?
14:57:43*endragor joined #nim
14:58:42Araqyou can always make it work without a cfg but with a cfg it's cleaner IMO
14:59:43FromGitter<alehander42> well it's several lines of mutual recursion, nothing too bad
14:59:59FromGitter<alehander42> i think the best thing about cfg is that usually you have less cases to deal with
15:00:31Araqyeah, you map all the syntactic artificial complexity to a condensed format
15:00:37FromGitter<alehander42> exactly
15:00:50*Ven` joined #nim
15:01:18Araqand I often wonder if macros would be better served with CFGs, not trees
15:02:48FromGitter<alehander42> CFG as input?
15:03:19Araqyeah as the IR everything uses
15:04:21FromGitter<alehander42> this would be a more confusing IR than the AST for the end user IMO
15:04:46Araqindeed
15:05:05Araqbut you can offer a super powerful API for it, like "ensure for all paths"
15:05:27FromGitter<alehander42> well, I see it more like a complementary "level" for macros
15:05:36FromGitter<alehander42> in the same way one can have reader/tokenlevel macros
15:05:44Araqor "call stopProfile() for every possible exit"
15:05:54FromGitter<Clyybber> with CFG you mean context free language?
15:06:03Araqno "control flow graph"
15:06:09FromGitter<Clyybber> oh :D
15:06:16FromGitter<Clyybber> feel dumb now.
15:07:12Araq"every usage of 'x' need to be dominated by a definition of 'x'", lots of things that are better with a CFG
15:07:16FromGitter<alehander42> so e.g. you can have `macro a(b: <NimNode>)` `tokenmacro a(b: <seq[NimToken]>)` `cfgmacro a(b: <NimCFG>)`
15:10:38Araq'tokenmacro' is a heresy
15:11:10FromGitter<alehander42> @Clyybber no, you're right, it's not nice that the abbreviations are the same, easy to confuse
15:11:18Araqand cfgmacro can actually be done in today's Nim but you need a toCfg and fromCfg operation
15:11:20FromGitter<alehander42> @Araq well, just giving it as a conceptual example
15:11:23Araqand fromCfg is hard
15:12:26FromGitter<alehander42> fromCfg(NimCfg) -> AST ?
15:12:31Araqyeah
15:13:42FromGitter<alehander42> why? isn't it possible to map it to a very simplistic ast with just if-s and simple statements
15:14:22*btbytes quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:14:23Araqdepends on what the CFG supports. remember that Nim has no 'goto'
15:14:34FromGitter<Clyybber> I guess a cfg would also make destructors more easy. One just checks that there is a post-dominator that destroys the variable.
15:16:00AraqClybber: we use a CFG internally for destructors and moves ;-)
15:16:06FromGitter<Clyybber> Oh, nice
15:16:19*btbytes joined #nim
15:16:52Araqit's a 4 instruction CFG, it makes me proud
15:17:10Araqonly has 'def, use, goto, fork' instructions
15:17:45FromGitter<Clyybber> what does fork do?
15:17:48FromGitter<alehander42> Araq, well, some goto-like patterns can be mapped to higher level loops
15:18:31Araqfork L1 # goto L1 or the instruction following this 'fork' instruction
15:19:09FromGitter<alehander42> i think locally all? can be mapped to while .. continue # instead of goto and break in the end if goto is local to the function
15:19:26FromGitter<alehander42> but several labels might be less obvious
15:19:30Araqyeah you can do that, alehander42 but it's messy
15:19:32FromGitter<Clyybber> @Araq Thats really elegant
15:19:42FromGitter<Clyybber> Your CFG
15:20:32Araqalehander42: and what's the point, recomputing what the programmer already gave you for free
15:20:47FromGitter<alehander42> Araq, well that's life, you need a tradeoff
15:21:05FromGitter<alehander42> the other option is to somehow have special CFGonly ast nodes
15:21:12FromGitter<alehander42> but this would complicate the other passes?
15:21:35Araqwe have these btw, they are undocumented and most passes ignore their existance
15:21:44AraqnkGotoState and friends
15:21:58Araqrequired for the iterator transformations
15:23:56*vivus joined #nim
15:24:09*Vladar joined #nim
15:27:21FromGitter<alehander42> that is true
15:27:37FromGitter<alehander42> but doesn't this break iterators? the fact that passes don't deal with them
15:33:15Araqusually the math works out, nkGotoState doesn't invalidate the facts you would derive from the AST's control flow otherwise
15:34:01Araqbut tbh that is mostly wishful thinking, need to think it through
15:34:30Araqbut most passes run before the lowerings to nkGotoState happen
15:37:58*ChristianWitts joined #nim
15:39:37FromGitter<alehander42> and btw why do you dislike reader macros so much
15:40:01Araqbecause in triple quoted strings they don't mess up the highlighters
15:40:26Araqand a lot of effort went into Nim's parser and syntax for better or worse
15:40:53AraqI don't want to use your lispy DSL that you felt like writing ;-)
15:43:17*hoijui quit (Read error: Connection reset by peer)
15:47:00rect0x51So is this CFG interesting mostly for destructors? Or does it serve an even greater purpose?
15:47:04FromGitter<alehander42> fair enough
15:49:37*d10n-work joined #nim
15:50:57*endragor quit (Remote host closed the connection)
15:51:43Araqrect0x51, no. I will refine it though and use it for different things
15:53:48rect0x51Araq: You seem pretty focused to the destructors idea, do you want to eventually make --newruntime the default?
15:53:56rect0x51That would be awesome!
15:54:28Araqyes. That plan hasn't changed for quite some time now
15:55:01rect0x51:)
15:55:11Araqthe compiler itself will likely to use the GC for years to come though, but that doesn't affect much other Nim code
15:56:17FromGitter<alehander42> well, the stdlib has to work with the new runtime, I guess this would take some work
15:58:56Araqthe stdlib doesn't use cyclic data structures
15:59:01rect0x51From what I understand it will be very novel though... I mean the only similar thing happens in Rust, but this is far better since the compiler adapts to your code instead of you adapting (and having to explain stuff) to the compiler. I also believe it's worth it, keep up the good work! Anyway, I won't take up any more of your time, see you!
15:59:18Araqthanks :-)
16:01:31*rect0x51 quit (Quit: WeeChat 2.3)
16:25:16*Ven` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:25:43*thomasross quit (Remote host closed the connection)
16:26:04*thomasross joined #nim
16:27:40*ChristianWitts quit (Ping timeout: 272 seconds)
16:29:22*rokups quit (Quit: Connection closed for inactivity)
16:49:35*shashlick joined #nim
16:52:05*ChristianWitts joined #nim
17:06:38*kapil____ quit (Quit: Connection closed for inactivity)
17:40:03*Ven`` quit (Ping timeout: 268 seconds)
17:40:42*xet7 joined #nim
17:44:23*NimBot joined #nim
17:48:02*seni quit (Quit: Leaving)
18:12:03FromGitter<Clyybber> Araq: Is your move optimizer ready?
18:15:36AraqClyybber: it's pretty stable afaik
18:16:07Araqhttp://nim-lang.org/download/nim-0.19.2.tar.xz please test
18:16:37Araqhttps://nim-lang.org/download/nim-0.19.2-x32.zip
18:16:41Araqhttps://nim-lang.org/download/nim-0.19.2-x64.zip
18:16:56FromGitter<Clyybber> I'm on devel.
18:17:02shashlickAwesome
18:17:08shashlickWill update and try out
18:17:23Araqstill dealing with the website updates
18:17:24FromGitter<Clyybber> Araq: So https://github.com/nim-lang/Nim/pull/9340 can be merged now?
18:17:39Araqnah :-)
18:18:09Araqyeah well, the thing is: The move "optimizer" currently only works for user defined =sink
18:18:38Araqbut it's REALLY not far away....
18:18:41Araq:P
18:18:50FromGitter<Clyybber> Nice :D
18:19:11Araqbtw it's not an optimizer, its required by the spec... C++17 style
18:20:36FromGitter<Clyybber> So https://github.com/nim-lang/Nim/issues/2314 is gonna be solved soon?
18:22:42Araqyup
18:23:09Araqyay, stuff that we add actually improves the language.
18:26:33narimiranoooh, 0.19.2 is here! nice!
18:26:56*Ven`` joined #nim
18:27:02narimiranAraq: if you don't mention that 0.19.2 is anagram for 2019, i will be very disappointed!! :)
18:28:26shashlickSo is it fair to stop testing 0.18.0 and treat stable - 1 as 0.19.0? Or should we test 0.18.0 and 0.19.2
18:29:09ldleworknarimiran: hehe
18:29:16AraqI would test 0.19.2 and 0.18.0 until 0.18 becomes a burden
18:29:36Araqno need to throw it out just yet, but also no need to keep maintaining it
18:30:05shashlicksounds good
18:30:21shashlickI'd go even older if testing was faster
18:30:48Calinouis there a stdlib method to get a file's basename (i.e. stripped from its directory path)?
18:31:05shashlickextractFilename I think
18:31:15CalinouI found it, thanks
18:31:19CalinouI was looking in the wrong module :)
18:33:37*vivus quit (Remote host closed the connection)
18:36:05Calinou"Splits a filename into (dir, filename, extension). dir does not end in DirSep. extension includes the leading dot."
18:36:16Calinoulooks like it should be "name", not "filename" (on 0.19.0)
18:36:27Calinouotherwise I get a build error as filename can't be found in the tuple
18:36:34shashlickok both nimgen and nimterop now test 0.19.2
18:36:35Araqinteresting
18:42:11*kapil____ joined #nim
18:43:57FromGitter<Clyybber> Araq: Do you have an idea on how to solve https://github.com/nim-lang/Nim/issues/4774 ?
18:47:26AraqClyybber: no idea, I would simply tinker with the compiler until it "sort of" works and let the CIs ensure correctness.
18:47:41Araqyeah, correctness by testing, sue me
18:48:03FromGitter<Clyybber> ** test driven development **
18:48:12FromGitter<Clyybber> at its best :P
18:49:04*nc-x joined #nim
18:49:48nc-xaraq: i can fix it by removing this early return https://github.com/nim-lang/Nim/blob/ab72d68ec80300ebd0629c5174a78c73f28fc729/compiler/semexprs.nim#L407-L409
18:50:06nc-xbut then the mentioned bug T is void will or
18:50:10nc-x*occur
18:50:13nc-xwhatever that ii
18:50:16nc-x*is
18:50:37nc-xthe only way i see forward is to fix the T is void bug differently
18:50:43Araqthe void type is motivated by this example:
18:51:15AraqTable[T, void] is usually a nice implementation of Set[T]
18:51:45Araqthat means void fields in objects should be valid but have no runtime representation, they should be optimized out
18:52:10Araqhow much you need to do
18:52:14FromGitter<zacharycarter> @Clyybber - the pbr rendering related code is getting quite large - https://github.com/zacharycarter/zeal/tree/master/src/zealpkg
18:52:32Araqwhen T isnot void: field: T in object decls I cannot remember
18:52:46Araqpbr?
18:52:49FromGitter<Clyybber> Araq: https://github.com/nim-lang/Nim/issues/9825 is not a showstopper anymore I guess. And I assume deech's observation is just due to the compiler being smart?
18:52:53nc-xokay so i get it now. but what is this doing https://github.com/nim-lang/Nim/blob/ab72d68ec80300ebd0629c5174a78c73f28fc729/compiler/semexprs.nim#L407-L409
18:52:56FromGitter<Clyybber> Araq: Physicall based rendering
18:53:38nc-xzacharycarter: nice
18:53:43FromGitter<zacharycarter> thanks
18:54:00FromGitter<zacharycarter> https://github.com/zacharycarter/zeal/blob/master/src/zealpkg/pipeline.nim#L40
18:54:26FromGitter<zacharycarter> is the pipeline building procedure - and this is where most of the work has been put into
18:54:53FromGitter<zacharycarter> all of these steps - but I imagine I still have several weeks of coding ahead of me before I will have something finished - maybe less, but there is a ton of implementation left to do still
18:54:54nc-xclyybber: that issue makes me remember that i wanted to ask Araq if the gc:v2 not working issue should be considered a priority for v1 or not
18:54:56FromGitter<Clyybber> @zacharycarter Nice, thats neatly organized
18:55:27FromGitter<zacharycarter> thanks - I hope to do a better job and not have a engine_types module - but for now it works
18:55:41*btbytes quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:56:13FromGitter<Clyybber> nc-x: gc:v2 is supposed to replace the current default in the future, right?
18:56:33Araqno, gc:v2 is abandoned
18:56:38nc-xidk, but it has not been working since a very long time
18:56:38FromGitter<Clyybber> Oh
18:56:59nc-xremove/deprecate the switch and close the issue then?
18:57:21Araqyeah. but don't remove gc2.nim please
18:58:26nc-xOkay. I will send the PR tomorrow if I get time. Or if someone else wants to do it, they can.
18:59:40*ChristianWitts quit (Ping timeout: 272 seconds)
19:00:36FromGitter<Clyybber> @zacharycarter meanwhile my pipline creation looks like this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ :P [https://gitter.im/nim-lang/Nim?at=5c2a675437975e7ca952a542]
19:01:06FromGitter<zacharycarter> hehe
19:01:38FromGitter<Clyybber> And I have to create a pipeline layout firsts :D
19:01:47FromGitter<Clyybber> and a renderpass
19:01:59FromGitter<Clyybber> tho tbf the code for that is fairly small
19:02:08FromGitter<Clyybber> but vulkan code really is verbose af
19:02:09FromGitter<zacharycarter> yeah - I have barely started on render pass code
19:02:17FromGitter<zacharycarter> Vulkan is, for sure
19:02:24FromGitter<Clyybber> me neither, but my renderpass is pretty simple
19:02:28narimirantime to do my relationship-duties and go to a new year "party". see you guys next year :)
19:02:37FromGitter<Clyybber> see ya
19:02:45FromGitter<zacharycarter> happy new year narimiran! have fun!
19:02:50FromGitter<Clyybber> happy new year
19:02:55FromGitter<zacharycarter> be safe!
19:03:57FromGitter<Clyybber> gotta search for my cat, because shes scared af from all the boom
19:04:48FromGitter<zacharycarter> oophh - that hasn't started here yet
19:04:53Calinouhow do I get the stdout from a process started with osproc.startProcess()?
19:04:55FromGitter<zacharycarter> but I know the dogs are going to go nutso
19:05:01Calinou(execProcess() starts a shell, so I'd rather avoid it if possible)
19:05:07*nc-x quit (Ping timeout: 256 seconds)
19:05:08FromGitter<Clyybber> its started two days ago in my neighbourhood :P
19:05:18FromGitter<Clyybber> but now its getting pretty loud
19:05:28CalinouI have yet to hear fireworks here
19:05:39FromGitter<Clyybber> but ill restrain myself from shooting fireworks till its midnight
19:07:04*narimiran quit (Remote host closed the connection)
19:07:08FromGitter<zacharycarter> well I know for a fact my dog is going to be hating life soon - because my mom brought a bunch down with her their house at the beach, which I'm staying at for the holiday
19:07:23FromGitter<zacharycarter> her dog doesn't like them either - not sure why she insists
19:07:34*zachk joined #nim
19:07:35FromGitter<zacharycarter> either way - it looks like we'll be blowing shit up tonight
19:07:41CalinouI found https://github.com/nim-lang/Nim/issues/7999 from a quick search
19:07:44FromGitter<zacharycarter> tis the American way
19:07:59Calinoushooting fireworks is an easy way to lose fingers, beware
19:08:05Araq"kref_put - decrement refcount for object."
19:08:08Calinouand keep in mind particles can be dangerous if you have asthma too
19:08:19FromGitter<zacharycarter> we rig them up with safety fuse first
19:08:35Araq„@release: pointer to the function that will clean up the object when the
19:08:35Araq last reference to the object is released.
19:08:35Araq This pointer is required, and it is not acceptable to pass kfree
19:08:37Araq in as this function. If the caller does pass kfree to this
19:08:39Araq function, you will be publicly mocked mercilessly by the kref
19:08:41Araq maintainer, and anyone else who happens to notice it. You have
19:08:43Araq been warned.“
19:09:03Araq^ put to decref an RC. But omg operator overloading is sooooooo baddddd
19:09:26Araqand **why** can't I pass kfree as the 'release' parameter.
19:10:47Araqwhy is the correlation between "Unix hacker" and "dyslexic" so high...
19:11:00FromGitter<Clyybber> hahaha :D
19:12:12FromGitter<Clyybber> Calinou: Those rome fires (dunno if thats how they are called), you can hold in your hand.
19:13:40FromGitter<Clyybber> you can do pretty cool fights with them.
19:14:00FromGitter<Clyybber> even better when alternative ammo is snow, but it didn't snow here
19:17:16*rect0x51 joined #nim
19:17:29FromGitter<zacharycarter> roman candles haha
19:17:44FromGitter<Clyybber> Ah yeah, thats how they are called
19:17:45FromGitter<zacharycarter> we used to strap them to the top of remote control trucks and have battles with them
19:17:50FromGitter<zacharycarter> try to shoot each other with them
19:17:57FromGitter<Clyybber> its f ing fun
19:18:01FromGitter<zacharycarter> agreed
19:18:23FromGitter<Clyybber> modern reenactment of harry potter
19:19:13*Ven`` quit (Ping timeout: 245 seconds)
19:20:27shashlick@zacharycarter: now that you are back with nim, what are you doing for an extension language
19:23:14Calinouanyway, I finished porting my small Python script to Nim
19:23:39*btbytes joined #nim
19:24:12CalinouPython: https://gist.github.com/Calinou/3fab908ea02439a3c7c469cc351a471d
19:24:12CalinouNim: https://gist.github.com/Calinou/51080f331d3d1836f01db1b686b1bac2
19:24:27Calinouany idea how it could be made shorter/better? It'll fail silently if ImageMagick reports an error due to how I used startProcess()
19:24:45Calinou(it seems using the poUsePath property uses a shell anyway, so my initial goal is moot)
19:25:09Calinou(how do I avoid shell injection in this case?)
19:27:08rect0x51does NimScript use a VM?
19:27:18FromGitter<Clyybber> Yes
19:27:26rect0x51Oh, that's awesome!!
19:27:34FromGitter<Clyybber> Araq: https://github.com/nim-lang/Nim/issues/9825 seems to be fixed
19:28:13Araqshashlick: I thought about it and I think we can give 'nim e' more operations like stdin.readline quite easily
19:28:32Araqwithout making it available for compile-time code
19:29:52shashlickthat will be cool, right now, all options to use nim as is come to a dead end
19:31:54*kungtotte quit (Remote host closed the connection)
19:32:08shashlicki can agree that compiler shouldn't sit and wait for stdin but i can think of many cool things that would be possible if we allowed more capabilities in the VM
19:32:37FromGitter<Varriount> Araq: Hm, I've been reading that GC paper. The theory looks correct, however the overhead is quite expensive - three counters and two booleans for each object, and two booleans for each reference.
19:32:54shashlickplus if you were considering ffi at some point, that means you are cool making the VM more capable in some sense
19:33:40Araqhey, "dead end" is a strong word, compiler as an API is pretty slick IMO
19:33:54Araqthough I can understand you want to avoid it
19:34:18rect0x51Araq: You really meant what you answered me in forum... about Nim adressing those who want to use 1 language for EVERYTHING. I love it!
19:34:41shashlicki think that's mainly cause I am a Nim dev and already have Nim installed
19:35:02shashlickbut in general, i want to build an infrastructure that allows any scripting language to interact with the editor
19:35:08shashlicklike weechat
19:35:43shashlickstdin/out is simple but ugly nonetheless
19:36:02shashlicki'd go with an ipc option but nimscript cannot do any such thing
19:36:35*kungtotte joined #nim
19:38:09FromGitter<zacharycarter> shashlick: I don't have one - I'm hedging my bets on HCR eventually arriving for Nim
19:38:35FromGitter<Varriount> @zacharycarter HCR?
19:38:39FromGitter<zacharycarter> hot code reloading
19:39:16FromGitter<zacharycarter> if HCR does not arrive - I suppose luajit is the best we will get
19:39:19AraqHCR is one thing, incremental compilation another
19:39:27FromGitter<Varriount> Oh, that thing that's really tricky to do in non-interpreted languages.
19:39:35Araqand IC is coming
19:39:41FromGitter<zacharycarter> well - there's a grant that's WIP for it
19:39:55Araqindeed but I don't know its current state
19:39:55FromGitter<zacharycarter> https://github.com/nim-lang/Nim/issues/8927
19:40:11FromGitter<zacharycarter> it seems like he's made a lot of progress
19:40:12Araqzahary said milestone one will be reached which iirc
19:40:25Araqmeans most of what people want will be there
19:40:33FromGitter<zacharycarter> works for me
19:43:07FromGitter<Clyybber> @zacharycarter Luajit is crazy
19:43:18FromGitter<zacharycarter> yeah it is - wonderful project
19:43:21FromGitter<Clyybber> crazy good, but also crazy impossible to understand
19:43:49FromGitter<Clyybber> also Mike Pall is not actively working on it anymore
19:43:59FromGitter<zacharycarter> yeah - heard about that
19:44:11FromGitter<Clyybber> @zacharycarter Raptorjit is promising though
19:44:15FromGitter<zacharycarter> still probably the best option
19:44:21FromGitter<Clyybber> Its basically luajit cleaned up
19:44:36FromGitter<Clyybber> and only for x86_64
19:44:44FromGitter<zacharycarter> ah
19:44:55FromGitter<Clyybber> The main dev is currently in the process of rewriting the VM in C
19:45:10FromGitter<Clyybber> and making it 96 bit in the process
19:45:22Araq96bit?
19:47:05FromGitter<Clyybber> https://github.com/raptorjit/raptorjit/pull/199
19:50:06rect0x51what is special about luajit/raptorjit, compared to other JIT-compilers? (if that's an easy question...)
19:50:26FromGitter<Clyybber> Araq: Its 32 bit type info, and 64 bit value
19:50:46FromGitter<Clyybber> rect0x51: Its fast as fuck
19:51:20FromGitter<Clyybber> Also luajit has parts that are incomprehensibe for normal mortal beings
19:51:26rect0x51Clyybber: :D that covers it in 4 words
19:51:38FromGitter<Clyybber> :D
19:52:07rect0x51btw thinking of new year, when is Nim's anniversary? also stupid question but... does the crown symbolizes something particular?
19:53:50AraqI looked at luajit fwiw
19:54:10Araqbut it's incomprehensible, mostly because I don't understand the entry points
19:55:34shashlickAraq: let me know how to do the stdin piece and i'll create a PR
19:56:42ZevvI've hear Mike Pall is actually a robot from outer space.
19:57:11AraqI've heard he is a team of people
19:57:12FromGitter<Clyybber> You are correct!
19:57:24FromGitter<Clyybber> Oh, I dunno about a team of people
19:57:32FromGitter<Clyybber> but he certainly is a robot
19:58:08Zevvhe came from the same solar system as Fabrice Bellard
19:58:12FromGitter<Clyybber> unfortunately a robot which ran out of sponsorships
19:58:18Zevvhhaha
19:59:45FromGitter<Clyybber> And this bad boy is responsible for `nim c -r`
20:01:48FromGitter<Clyybber> https://github.com/LuaJIT/LuaJIT/issues/45
20:03:11shashlickAraq: git ls-remote https://github.com/nim-lang/Nim version-0-19-2 is not working
20:03:51shashlickwas version-0-19 the 0.19.2 branch?
20:04:03shashlicki think that's what @kaushalmodi was testing in nightlies, along with devel
20:05:19rect0x51Clyybber: HAHAHHAHAHAHAHA!!
20:07:10deansherrect0x51: Presumably the crown is from Nim's original name, Nimrod -- a biblical king
20:08:58rect0x51deansher: ohh, I forgot to lookup the meaning of the old name, (facepalm) this was so obvious!
20:09:37deansher🙂
20:16:24rect0x51Have to go, happy new year to you all!
20:19:33shashlickwhy is nightlies PR not testing travis? https://github.com/nim-lang/nightlies/pull/11
20:19:51*rect0x51 quit (Quit: WeeChat 2.3)
20:20:04FromGitter<Clyybber> Happy new year
20:21:52shashlickmy fault, never mind
20:35:39*btbytes quit (Quit: Textual IRC Client: www.textualapp.com)
20:43:46shashlicklooks like appveyor is broken on nightlies - is there any intention of getting it working or is it unnecessary?
20:50:54Araqwe want to fix travis to build the windows zips
20:58:25*Jesin quit (Quit: Leaving)
21:08:00*natrys joined #nim
21:08:21*Senketsu joined #nim
21:11:44*Jesin joined #nim
21:23:11*Snircle joined #nim
21:31:11*kapil____ quit (Quit: Connection closed for inactivity)
21:51:49shashlicki am working on it
22:19:36shashlickjust installing 0.19.2 locally - great day today, first sustaining release for Nim
22:20:03shashlicktell all your friends who keep asking for stability or 1.0
22:20:37Araqwe had bugfix releases in the past though
22:20:38*kapil____ joined #nim
22:20:47Araqbut thank you for the kind words :-)
22:20:58shashlickbut those were still just devel right
22:21:43Araqright but it's unclear how far we will keep the 0-19 line
22:22:07Araqas I said, ideally the 0-20 line will become v1
22:22:20shashlickdoesn't matter - we now have a way to keep devel moving while providing stability
22:23:11Araqthe cherrypicking works ok, we'll ask Narimiran in a couple of months
22:23:25Araqwhat he thinks. he is doing the work, after all
22:23:38shashlickno doubt, big hat tip for his hard work
22:24:15Araqbut yeah, we didn't do this before, that's new.
22:24:27Araqand it's also what Python does.
22:25:13shashlickso do you still need appveyor in nightlies? now that travis has windows also
22:26:27Araqno, as I said
22:26:35Araqwe try to make travis win work instead
22:26:49Araqhowever, producing both 32 and 64 bit variants is a challenge, I guess
22:27:29shashlickcould be done with a matrix i guess
22:32:09shashlickok, the pcre64.dll issue is fixed i think
22:32:37shashlicklet's see if it goes all the way thru
22:37:26shashlickAraq: what's the deal with testing 0.19.2 in nightlies? can we turn that off now that it has been released? or will we continue on for 0.19.3
22:37:57Araq0.19 is a branch, maybe we'll have 0.19.4
22:38:06Araqleave it on please
22:38:16shashlickok cause the code doesn't do anything once it builds
22:38:36shashlickhttps://travis-ci.org/nim-lang/nightlies/jobs/473958567
22:38:53Araqideally we port much of this to Nim and make travis run a Nim program
22:39:11Araqbecause this is untestable and unmaintainable
22:39:30Araqbash commands in a yaml file, fuck me
22:39:36shashlick🙂
22:40:00shashlickwindows build failed for another reason - https://api.travis-ci.org/v3/job/473958564/log.txt
22:40:54shashlickprobably cause koch tools wasn't run so nimble never got checked out
22:43:23shashlickcan you accept my PR? then I can continue on to fix the next issue in a separate PR
22:43:30shashlickor perhaps give me access so that i can continue working on this
22:44:17*Vladar quit (Remote host closed the connection)
22:45:30Araqsure thing, one sec
22:46:04shashlickso what's the goal of nightlies? to do a full nim build + csources, docs and winrelease/xz
22:46:09shashlickthen upload to github
22:50:55Araqyeah but csources is not required
22:51:28Araqwhat's your github account again? genocide ?
22:51:31shashlickwell, you need csources to build nim
22:51:33shashlickhaha genotrance
22:51:39Araqlol
22:51:41Araqsorry
22:51:44shashlicknp
22:52:49AraqHAPPY NEW YEAR!
22:52:51Araqbbs
23:01:44*stefanos82 quit (Remote host closed the connection)
23:05:47FromGitter<alehander42> маожаожаож
23:29:01*nsf quit (Quit: WeeChat 2.3)
23:45:22*xet7 quit (Remote host closed the connection)
23:48:13*gangstacat quit (Remote host closed the connection)
23:56:00*natrys quit (Quit: natrys)
23:59:32Araqshashlick: still awake?